Автор
|
Тема: Не работает :-(((
|
Chainick |
опубликован 27-09-2001 14:55 MSK
Как на bcb закрыть активную программу, зная заголовок окна. Пишу: TerminateProcess(GetForegroundWindow(), 0); А ни фига не пашет... Может кто объяснит в чего я неправильно делаю?
|
server_mouse
|
опубликован 27-09-2001 15:27 MSK
HWND GetForegroundWindow(VOID);BOOL TerminateProcess( HANDLE hProcess, // handle to the process UINT uExitCode // exit code for the process ); Ты ж передаёшь HWND а не HANDLE ! Нужно так: DWORD PID; GetWindowThreadProcessId(GetForegroundWindow(),&PID); TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,PID),0); |
server_mouse
|
опубликован 27-09-2001 15:29 MSK
Да, и для NT тебе понадобятся доп. привелегии. |
Chainick
|
опубликован 27-09-2001 15:53 MSK
Мля, работает! Спасибо за помощь. А как перезагрузить винду 9х, только чтоб наплевать на всякие диалоги типа "К компу подключены пользователи... " Я пробовал ExitWindowsEx(4, 0) - не работает :-((( |
Kostik
|
опубликован 27-09-2001 15:58 MSK
Читай форум. |
Chainick
|
опубликован 27-09-2001 16:05 MSK
Форум я весь перечитал за год :)) Там есть только перезагрузка для VC, а мне нужен билдер... |
server_mouse
|
опубликован 27-09-2001 16:23 MSK
>Там есть только перезагрузка для VC, а мне нужен билдер... Функции ExitWindowsEx() & InitiateSystemShutdown() -- API-функции! Нет разницы билдер это или визуал! Должны работать везде. Анализируй возвращаемый результат. |