C++ Builder 의 기본 Demo Source 인
Demos\CPP\Apps\ProcView
를 살펴보세요.
Process 리스트들을 구하여 나열합니다.
이것을 이용하여 찾아보세요..
C++ Builder 설치하셨으면 Demo 폴더에 있습니다.
2009일경우 아래와 같군요.
C:\Users\Public\Documents\RAD Studio\6.0\Demos\CPP\Apps\ProcView
수고하세요.
시온스 님이 쓰신 글 :
: 지금 프로그램 업데이트 런처를 만들고있는데요;
:
: 우선 프로그램이 윈도우폼으로 생성되는게아니라 (ctrl alt del)누르면 [응용프로그램] 말고 [프로세스]있잖아요. 여기에만 나타나요. 프로그램이름이
:
: dzb.exe
:
:
: 에요. 그래서 우선 실행 돼 있는 프로그램을 종료시키기 위해서
:
:
: //HWND HWnd = FindWindow(NULL, "dzb.exe");
: HWND HWnd = FindWindow("dzb.exe", NULL);
: if(HWnd)
: {
: DWORD ProcessId;
: GetWindowThreadProcessId(HWnd, &ProcessId); // hWnd로 프로세스 ID를 얻음..
: HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);
: if(hProcess)
: {
: TerminateProcess(hProcess,0);//또는 ExitProcess 사용해서 죽임..
: }
: cout << "찾음 " << IntToStr(ProcessId);
: }else{
: cout << "못찾음";
: }
:
:
: 소스 처음에보면 앞에다가도 검색해보고 뒤에다가도 검색해봤거든요 근데 안되더라고요.
:
: HWND HWnd = FindWindow(NULL, "dzb"); 이렇게하니까 explorer pid가 잡히더라고요;
:
: HWND HWnd = FindWindow(NULL, "dzb.exe");
: HWND HWnd = FindWindow("dzb", NULL);
: HWND HWnd = FindWindow("dzb.exe", NULL); // 이렇게들 하면 안잡히구요.
:
:
:
: 제가 쓰는 방법이 잘못된건지 아니면 다른 함수가 있는건지좀 가르쳐주세요;;
|