|
: :
: 유엔아이 현입니다.~~
:
: 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번에는 원도우텍스트 값이 저장되어 있습니다.
도움 바랍니다.
|