SendMessageTimeOut 을 이용한 방법도 괜찮은데요
IsHungAppWindow 이라는 api는 윈도우의 응답없음 체크 목적으로 만들어진 api입니다.
http://msdn.microsoft.com/en-us/library/ms633526(VS.85).aspx
winuser.h에 정의되어있지 않는 함수이므로 GetProcAddress를 이용해야 할것입니다.
다음과 같이..
void __fastcall TForm1::Button1Click(TObject *Sender)
{
typedef BOOL (*TIsHungAppWindow)(HWND);
TIsHungAppWindow func;
HWND hUser32=GetModuleHandleA("user32.dll");
func=(TIsHungAppWindow)GetProcAddress(hUser32,"IsHungAppWindow");
if(func(this->Handle))
ShowMessage("응답없음 상태 ");
else
ShowMessage("정상 실행중 ");
}
참 Win2000이상에서만 됩니다.
그럼..
Lyn 님이 쓰신 글 :
: http://lunapiece.net/?mid=Tips&page=2&document_srl=322
:
: 암흑사제 님이 쓰신 글 :
: : 다름이 아니라 작업 관리자에서 응용 프로그램을 보면 상태 정보가 나오는데
: : 거기에서 프로그램이 "실행 중"인지 아니면 "응답 없음"인지 알고 싶은데 어떤 방법이 있는지 알려주세요
|