RaynorPao
版主
![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif) ![](./myimg/board/mystar.gif)
![](http://delphi.ktop.com.tw/download.php?download=upload/48c9d66ac5033_KTOP-%E5%8C%85%E5%AD%90%28%E7%9C%BC%E9%8F%A1%29-Q-100x100.jpg) 發表:139 回覆:3622 積分:7025 註冊:2002-08-12
發送簡訊給我
|
引言:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40155
我在這篇文章已經得到了可行的解決方法,很感謝RaynorPao版主的幫忙
只是還有一個疑問,除了>>< face="Verdana, Arial, Helvetica"> MasterGuo 你好:
小弟我還知道另外一個方法,不妨參考看看
(不過只適用於 Windows 2000 之後的作業系統)
< class="code">
typedef BOOL (*ISHUNGAPPWINDOW)(HWND);
void __fastcall TForm1::Button2Click(TObject *Sender)
{
HWND hWnd=NULL; hWnd=FindWindow(NULL, "NoResponse");
if(hWnd!=NULL)
{
HINSTANCE hDll=NULL;
ISHUNGAPPWINDOW IsHungAppWindow=NULL;
hDll=LoadLibraryEx("user32.dll", NULL, 0);
if(hDll)
{
IsHungAppWindow=(ISHUNGAPPWINDOW)GetProcAddress(hDll, "IsHungAppWindow");
if(IsHungAppWindow)
{
if((IsHungAppWindow)(hWnd))
{
DWORD dwProcessId=0;
GetWindowThreadProcessId(hWnd, &dwProcessId);
HANDLE hProcess=NULL;
hProcess=OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
if(hProcess)
{
TerminateProcess(hProcess, 0);
CloseHandle(hProcess);
}
}
}
FreeLibrary(hDll);
}
}
}
備註:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/ishungappwindow.asp -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/11/07 23:57:19
------ -- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
|