C++Builder
|
Delphi
|
FireMonkey
|
C/C++
|
Free Pascal
|
Firebird
경고!
게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
C++빌더 Q&A
C++Builder Programming Q&A
[57307]
Re:실행화일상태 확인에 대한 질문!!
[
nasilso
]
1221 읽음
2009-06-18
16:51
실행상태는 Process를 검색해보는것이 비교적 정확합니다.
Applicaiton이라면 FindWindow등도 괜찮지만..
1. 프로세서 검색은
프로램의 실행여부는
TlHelp32.h 를 이용해서 다음과 같이 찾으시면 됩니다.
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=55034
2. 응답없음 상태 확인
응답없음 상태확인은 몇가지 있는데요
1) SendMessageTimeout 함수를 이용해서 WM_NULL 메세지 등으로 보내
시간안에 응답이 없는경우를 이용할수도 있구요
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=6860
2) Win32 API이용하여
* Win98 , Win-Me에서는 IsHungThread 라는 API가 있구
* XP이후로는 IsHungAppWindow 라는 User32.dll에 있는 문서화 되지 않는 API가 있습니다.
이놈을 이용해 쉽게 체크 가능합니다.
http://74.125.153.132/search?q=cache:A9d1ItfHL54J:msdn.microsoft.com/en-us/library/ms633526.aspx+IsHungAppWindow&cd=1&hl=ko&ct=clnk&gl=kr
HMODULE hm=LoadLibrary("User32.dll");
functype functionptr=(functype) GetProcAddress(hm,"IsHungAppWindow");
3. 프로그램을 죽이려면
마지막으로 프로그램을 죽이려면
PROCRESS_ALL_ACCESS 권한으로 OpenProcess한뒤에
TerminateProcess 하시면 됩니다.
그럼..
부산촌님 님이 쓰신 글 :
: 안녕하십니까?
: 부산 촌님 입니다.
:
: A.exe 가 실행되고 있읍니다.
:
: B.exe가 A.exe의 실행상태를 알수 있나요?
: 즉 A.exe가 장애상태(응답없음) 상태이라면 B.exe에서 A.exe의 실행을 정지시키고 싶읍니다.
: 방법이 없을까요?
Trackback :
http://cbuilder.borlandforum.com/impboard/impboard.dll/trackback?sn=112231
+
-
관련 글 리스트
57306
실행화일상태 확인에 대한 질문!!
부산촌님
856
2009/06/18
57307
Re:실행화일상태 확인에 대한 질문!!
1221
2009/06/18
57309
Re:Re:실행화일상태 확인에 대한 질문!!
부산촌님
1207
2009/06/18
제목
내용
이름
Copyright © 1999-2015, borlandforum.com. All right reserved.