C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[38872] Re:프로그램 목록을 가져오고 싶습니다.
만복대.산수유 [origin] 1330 읽음    2005-01-22 07:45
이성제 님이 쓰신 글 :
: 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할 수 있는  권한을 얻어야 합니다.

+ -

관련 글 리스트
38865 프로그램 목록을 가져오고 싶습니다. 이성제 862 2005/01/21
38872     Re:프로그램 목록을 가져오고 싶습니다. 만복대.산수유 1330 2005/01/22
38886         Re:Re:애러가 나길래 고쳐서 사용할려 했는데 안되서 질문 올립니다 ㅠ 이성제 928 2005/01/24
38887             Re:Re:Re: 아마도 헤더파일 문제인듯합니다. 프로세서 찾기 종료 smleelms 1175 2005/01/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.