|
실행을 하면 create 부분에서부터 쭉 애러가 나요 ㅠ
처음 보는것들이라 어떻게 건드리지도 못하겠고
ㅠ 애러 처리 방법좀 알려주세요 ㅎ
만복대.산수유 님이 쓰신 글 :
: 이성제 님이 쓰신 글 :
: : spy처럼 프로그램제목을 가져오고 싶습니다
: :
: : 그래서 그 프로그램 제목을 가지고 해당 프로그램을 종료 하고 싶은데요.
: :
: : 종료 소스는 대충 아는데 프로그램의 이름을 가져오는게 힘드네요.
: :
: : 따른 답변 기다리겠습니다.
:
: 1. Process 목록
:
: lstvProcess->Items->Clear();
: TListItem *lstvItem;
: HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
: PROCESSENTRY32 pe32;
: pe32.dwSize = sizeof(PROCESSENTRY32);
: BOOL bcontiue = Process32First(hSnapshot,&pe32);
: String pathname;
: while(bcontiue)
: {
: lstvItem = lstvProcess->Items->Add();
: lstvItem->Data = new PROCESSENTRY32(pe32);
: lstvItem->Caption = IntToHexStr(pe32.th32ProcessID); //IntToHexStr: User-defined function
: lstvItem->SubItems->Add(IntToHexStr(pe32.th32ParentProcessID));
: lstvItem->SubItems->Add(pe32.cntThreads);
: lstvItem->SubItems->Add(pe32.cntUsage);
: pathname = GetModuleFilePathByProcessID(pe32.th32ProcessID); //GetModuleFilePathByProcessID: User-defined function
: if(pathname.IsEmpty()){
: lstvItem->SubItems->Add(pe32.szExeFile);
: }else{
: lstvItem->SubItems->Add(ExtractFileName(pathname)+"("+ExtractFilePath(pathname)+")");
: }
: bcontiue = Process32Next(hSnapshot,&pe32);
: }
: CloseHandle(hSnapshot);
:
: 2. NT 계열의 OS에서는 KillProcess하려면 해당 Process에 대해 해당 권한이 포함된 권한으로 Process를 Open해야 합니다. 경우에 따라서는 해당권한으로 Process를 Open하지 못할 수도 있습니다. 이때는 AdjustTokenPrivileges WinAPI를 사용하여 OpenProcess할 수 있는 권한을 얻어야 합니다.
|