안녕하세요.. 현재 어떤 프로그램이 실행중인지 판단하는 방법은 이렇습니다.
늘 질문만 하다가 답변도 하게 되는 군요..
void __fastcall TForm1::FormCreate(TObject *Sender)
{
// Find each process and display it.
HANDLE snapshot ;
PROCESSENTRY32 processinfo ;
processinfo.dwSize = sizeof (processinfo) ;
snapshot = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0) ;
if (snapshot == NULL)
return ;
bool status = Process32First (snapshot, &processinfo) ;
while (status)
{
TListItem *li = ListView1->Items->Add () ;
String buffer ;
int length ;
buffer.SetLength (512) ;
length = sprintf (buffer.c_str (), "%08X", processinfo.th32ProcessID) ;
buffer.SetLength (length) ;
li->Caption = buffer;
buffer.SetLength (512) ;
length = sprintf (buffer.c_str (), "%08X", processinfo.th32ParentProcessID) ;
buffer.SetLength (length) ;
li->SubItems->Add (buffer) ;
li->SubItems->Add (processinfo.szExeFile) ;
status = Process32Next (snapshot, &processinfo) ;
}
}
이것이 바로 현재 실행되고 있는 프로그램을 알아내는 프로그램입니다.
응용해서 사용할 수 있겠죠..
그럼 이만.. How To 에서 발췌했습니다.
벌써 아래 답변을 해 주셨는데... 그분이 답변해 주신 것은...
현재 실행중인 프로그램 중에서 그 프로그램 고유 문자열 (? 딴 용어가 있는데..머드?
을 이용해서 찾는 것인것 같습니다.
하지만 위의 소스는 현재 실행 중인 프로그램의 실행파일을 출력해 주며
그외 정보도 출력해 줄수 있습니다.
그리고 이것두 선언해 주십시요
#include <tlhelp32.h>
그럼 이만
|