Скажите разницу между Vista и XP [C] - PullRequest
1 голос
/ 10 июля 2009

Это их путь в C, чтобы различать Vista и XP. Причина в том, что путь, которым я пользуюсь, отличается в обоих.

Ответы [ 2 ]

3 голосов
/ 10 июля 2009

Вы можете получить версию своей ОС Windows, позвонив по номеру GetVersionEx.

OSVERSIONINFO vi;
vi.dwOSVersionInfoSize = sizeof vi;
GetVersionEx(&vi);

if (vi.dwMajorVersion >= 6)
    // Windows Vista or newer
else
    // Windows XP or older
2 голосов
/ 10 июля 2009

У вас не должно быть жестко запрограммированных путей для конкретной платформы в вашем приложении. Для этих вещей есть переменные окружения.

Откройте командную строку и введите «set», чтобы просмотреть их список. Некоторые из них были стандартными начиная с Windows 95. Важные переменные среды, на которые следует обратить внимание ...

  • HOME
  • APPDATA
  • ProgramFiles
  • SystemRoot
  • ALLUSERSPROFILE

Так, например ...

    char * path;
    path = getenv("HOME");
    printf(path);

Просмотрите ваши целевые версии окон, чтобы увидеть, какие переменные являются общими между ними.

edit: python сделал меня ленивым из-за манипуляции со строками, исправил пример кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...