Как определить ОС Windows XP или Windows 2000 для запуска исполняемого файла CVI

Я использую NI LabWindows CVI 8.1 для компиляции и создания исполняемой программы, которую мне нужно запустить в ОС Windows XP или Windows 2000. Я использую Windows XP для компиляции и сборки исполняемого файла. Информация, которую я имею до сих пор, заключается в том, что мне нужно разместить следующее утверждение:

#ifdef (windows xp)
//then specify path as C:\WINDOWS\system32
#elif (windows NT)
//then specify path as C:\WINNT\system32
#endif

Мне нужно знать, каков точный синтаксис и где его разместить (например, какой заголовок или исходный файл его разместить).


person dm.    schedule 07.12.2009    source источник
comment
XP может иметь системный путь C:\winnt (я думаю, это случай по умолчанию для обновлений с Win2k). И C: может не быть системным диском. И сумасшедший пользователь, вероятно, мог бы перенаправить Windows куда-нибудь еще.   -  person Michael    schedule 07.12.2009


Ответы (1)


Вот как вызывать API:

http://zone.ni.com/reference/en-XX/help/371361F-01/lvexcodeconcepts/ex_3_call_the_win32_api/

Затем попробуйте GetSystemDirectory:

http://msdn.microsoft.com/en-us/library/ms724373(VS.85).aspx

person Stu    schedule 07.12.2009
comment
В самом деле — ничего жестко не программируйте C:! У меня нет ни одной системы с каталогом по умолчанию. Например, наиболее часто используемая система имеет системный каталог E:\WINNT55SP2\SYS32. - person wallyk; 07.12.2009