|
강재호 님이 쓰신 글 :
: : :
: : 유엔아이 현입니다.~~
: :
: : Class 네임을 모르면 NULL 을 입력 하시면 됩니다.
: :
: : 그럼
:
: 자꾸 질문 해서 죄송하네요~
:
: 보통 프로그램은 종료가 되는데요
:
: notepad나 아니면~
:
: 익스플로어
:
: 탐색기 등등의 프로그램은 종료가 안되요~
:
: 어떻게 해야 하는지 모르겠네요
:
: 좀 알려 주세요
:
: 소스 올려 드립니다.
: BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
: { 중략...
: GetWindowText(hwnd, szBuffer, 256);
:
: DWORD pid;
: GetWindowThreadProcessId(hwnd, &pid);
: ExePathFromProcID(pid, szFileName);
:
: if (strlen(szFileName) && strlen(szBuffer))
: {
: Form1->StringGrid1->Cells[2][Count] = szFileName;
: Form1->StringGrid1->Cells[1][Count] = szBuffer;
: 중략..
: }
:
: void killprocess()
: {
: AnsiString str;
: HWND hWnd;
: DWORD pid;
: HWND ProcessHandle;
:
: hWnd = FindWindow(NULL,StringGrid1->Cells[1][Select_Col].c_str());
: ::SendMessage(hWnd,WM_CLOSE,NULL,NULL);
:
: // pid = (DWORD)StringGrid1->Cells[0][Select_Col].ToDouble();
:
: // GetWindowThreadProcessId((WNDENUMPROC)EnumWindowsProc, &pid);
: // ProcessHandle = (HWND)OpenProcess(PROCESS_TERMINATE, FALSE, pid);
: // TerminateProcess(ProcessHandle,4);
:
: Count = 0;
: EnumWindows((WNDENUMPROC)EnumWindowsProc, 0);
: }
: 스트링 그리드의 1번에는 원도우텍스트 값이 저장되어 있습니다.
:
: 도움 바랍니다.
:
핫하하~
위의 postmessage 함수를 sendmessage로 바꾸니깐 되네요
소스 같이 보냅니다 필요하신분들 참고로 하세요
프로세스 뷰와 프로세스 죽이는 간단한 프로그램입니다.
|