zamykanie procesow w borland c++

0

Potrzebuje jakiejs informacji (tresciwej) odnoscie zamykania procesow. np gdy wiem nazwe aplikacji to "gg.exe". patrzylem na forum i znalazlem to do delphi probowalem cos z tym zrobic ale niektorych funkcji mi nie przyjmuje borland. szukalem na googlach sa tam informacje, ale nie tresciwe tzn. za duzo zbednego (albo nie :P ) kodu. tak wiec prosze o pomoc.dziekuje z gory za odpowiedz.

0

Hallo aroso!

Nie wiem czy o to ci konkretnie chodzilo, ale moze po prostu:

kill gg.exe (w okienku dos)

albo

ShellExecute(0,"open","kill.exe","mirc.exe",0,0) (w programie)

O ile sie nie myle, to kill.exe jest programem narzedziowym w kazdej wersji windowsa.

Pozdrawiam
Markus
[???]

0

niestety ale cos niechce chodzic [???]
wiem ze trzeba znalezc danej aplikacji pid?(nr. procesu), "siegnac po niego".
prosze was o jakies porady, kody. :) :)

0

Hmm, z tego co zrozumialem to chodzi Ci o zamkniecie aplikacji?

W takim razie jak masz uchwyt do niej to CloseWindow a dla bardziej topornych DestroyWindow

aroso napisał(a)

niestety ale cos niechce chodzic [???]
wiem ze trzeba znalezc danej aplikacji pid?(nr. procesu), "siegnac po niego".
prosze was o jakies porady, kody. :) :)

ja uzywam tego ;] btw. znalezione na google :>

long GetProcessID(char *processName)
{
 HANDLE hSnapshot;
 PROCESSENTRY32 pe32={0};
 BOOL fRet;

 hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
 if(hSnapshot==NULL)
  return -1;

 pe32.dwSize=sizeof(PROCESSENTRY32);
 fRet=Process32First(hSnapshot,&pe32);
 if(!fRet)
  return -1;

 int g=0;
 char drive[_MAX_DRIVE]={0};
 char dir[_MAX_DIR]={0};
 char fname[_MAX_FNAME]={0};
 char ext[_MAX_EXT]={0};
 do
 {
  _splitpath(pe32.szExeFile,drive,dir,fname,ext);
  if(_stricmp(processName,fname)==0)
  {
   g=1;
   break;
  }
 }while(Process32Next(hSnapshot,&pe32));
 if(g!=1)
  return -1;

 return pe32.th32ProcessID;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1