Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Вниз

Как правильно закрыть чужое приложение?   Найти похожие ветки 

 
Shc   (2003-01-21 20:21) [0]

Как правильно закрыть чужое (которое создаю не я) приложение?
Как дождаться его завершения?


 
OxOTHuK   (2003-01-21 22:04) [1]

========== Вырезано из хелпа =============
The TerminateProcess function terminates the specified process and all of its threads.

BOOL TerminateProcess(

HANDLE hProcess, // handle to the process
UINT uExitCode // exit code for the process
);


Parameters

hProcess

Identifies the process to terminate.
Windows NT: The handle must have PROCESS_TERMINATE access. For more information, see Process Objects.

uExitCode

Specifies the exit code for the process and for all threads terminated as a result of this call. Use the GetExitCodeProcess
function to retrieve the process"s exit value. Use the GetExitCodeThread function to retrieve a thread"s exit value.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.


 
Shc   (2003-01-22 21:31) [2]

Спасибо, конечно. Но функцию TerminateProcess я встречал, и хелп читать умею.
Вопрос то в том, как наиболее корректно закрыть чужое приложение.


 
Shc   (2003-01-23 19:00) [3]

Я так понимаю использовать TerminateProcess самый корректный способ закрытия чужого окна ???

Тогда пойдем дальше, как проще всего получить HANDLE этого окна (точнее процесса) не имея полных значений его параметров (например, зная лишь часть имени файла и т.д.).

З.Ы. Это вопрос неинтересный, или все сходятся во мнениях?


 
OxOTHuK   (2003-01-23 22:12) [4]

The FindWindow function retrieves the handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.

HWND FindWindow(

LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);

Ну и F1 естественно... я в английском не силен настолько чтобы весь хелп переводить

Ищет по тексту в верхней строке окна... где кнопки [_][[]][X]
Возвращает то что нужно... поищи на этом форуме - уже задавали вопрос или сдесь или в API


 
Builder   (2003-01-24 00:50) [5]

По моему правильно - это послать просто окну WM_CLOSE. Если оно не реагирует, значит ему так нужно :)

А про дождаться - можно либо проверять - закрыл ты или нет по таймеру, либо покопать в сторону WaitForSingleObject - хелп, как ты говорил читать умеешь :)


 
Song   (2003-01-24 00:59) [6]

Оконные - WM_CLOSE, WM_QUIT, WM_SYSCOMMAND
Дождаться завершения - WaitForSingleObject() например или вручную циклом.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.013 c
14-5214
Сатир
2003-01-15 18:04
2003.02.03
есть ли в вин2к аналог линуксовой команды smbstat?


4-5357
bobo
2002-12-18 21:25
2003.02.03
Как


3-4788
xn0bys
2003-01-09 09:45
2003.02.03
Уважаемые, помогите...


1-4868
harismatik
2003-01-24 18:43
2003.02.03
Сравнение списков


1-5039
NN_Nikita
2003-01-23 19:09
2003.02.03
Печать в MS Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский