RegisterServiceProcess

Mafon 04.05.2004 - 12:52 | // сначала вызываю вот это: Function RegisterServiceProcess(dwProcessID, dwType : DWord): DWord; stdcall external 'Kernel32.dll' name 'RegisterServiceProcess'; //потом в FormCreate пишу: var lpVersionInformation : TOSVersionInfo; BRes: boolean; begin lpVersionInformation.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); BRes := GetVersionEx(lpVersionInformation); if BRes then with lpVersionInformation do case dwPlatformId of VER_PLATFORM_WIN32_WINDOWS : // win 9x RegisterServiceProcess(GetCurrentProcessId(), 1); VER_PLATFORM_WIN32_NT : // winnt ; // тут ничего делать не надо end; Вот в чём проблема. При запуске в win9x всё идёт нормально, а при запуске в nt пытается вызвать RegisterServiceProcess. Что делать??? Помогите!!!
Sabrian 1 - 04.05.2004 - 17:32 | LoadLibrary и GetProcAddress тебе делать
Delphist 2 - 05.05.2004 - 10:32 | Пройди в программе этот участок под дебагером под WinNT. Сравни 3 значения: VER_PLATFORM_WIN32_NT dwPlatformId lpVersionInformation.dwPlatformId . Может, у тебя где-то перекрытие имен? Если lpVersionInformation.dwPlatformId <> VER_PLATFORM_WIN32_NT, то это уже сбой в GetVersionEx. Смотри GetLastError.
UE 3 - 05.05.2004 - 11:24 | В посте #1 сказано верно. Дело в том, что в NT нет такой функции вообще ;)
Mafon 4 - 05.05.2004 - 11:28 | Всё, всем ответившим огромное спасибо, вопрос решил. Тема закрыта.
Mafon 5 - 05.05.2004 - 11:30 | 2 UE Кстати, в NT ведь есть сервисы. Так. Значит должен же быть аналог RegisterServiceProcess
UE 6 - 05.05.2004 - 12:07 | 2Mafon, сервисы есть. Аналог... ну в каком-то смысле тоже есть ;)
Delphist 7 - 05.05.2004 - 13:52 | 2 UE > Дело в том, что в NT нет такой функции вообще ;) Э-э-э... Так что, Borland врет? Открываю Win32 хелп, читаю QuickInfo для GetVersionEx. Там написано WinNT - Yes, Win95 - Yes, Win32s - Yes . Так где правда? Я под XP эту функцию пользовал, а под NT - еще не доводилось Ж:(
Mafon 8 - 05.05.2004 - 14:50 | 2 Delphist GetVersionEx? В НТ он есть. Сам проверял. Но я всё это уже решил. Так что тема закрыта. Ещё раз спасибо всем.
UE 9 - 05.05.2004 - 14:59 | 2Delphist, пользовал под XP? Хм. Я сейчас сижу на машине под xp, только что глянул на экспортируемые из KERNEL32.DLL функции. Что-то не видать там RegisterServiceProcess. Я что-то путаю?
UE 10 - 05.05.2004 - 15:00 | Note: я имел в виду функцию RegisterServiceProcess :)))))
Deflorator 11 - 05.05.2004 - 18:35 | что верно, то верно - немае ее. а я вчер ахотел написать, да потом смотрю - по коду не должна вызываться... только счас увидел, что он ее сначала вызывает, а потом проверяет версию...
Delphist 12 - 05.05.2004 - 18:55 | 2 UE А, так ты про RegisterServiceProcess :) А я про GetVersionEx

>>