Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ProcessId anhand des Prozessnamens herausfinden (https://www.delphipraxis.net/20415-processid-anhand-des-prozessnamens-herausfinden.html)

Meflin 17. Apr 2004 16:12


ProcessId anhand des Prozessnamens herausfinden
 
Ist und wenn dann wie ist das möglich?

Christian Seehase 17. Apr 2004 16:21

Re: ProcessId anhand des Prozessnamens herausfinden
 
Moin Meflin,

100%ig wird es nicht gehen können, da ja der Name des Prozesses nicht eindeutig ist.
Du könntest Dir natürlich eine Prozessliste erstellen (dazu dürfte es hier ja genügend Beispiele geben), und dann die gefundenen Prozessnamen mit dem gesuchten vergleichen.

Meflin 17. Apr 2004 16:27

Re: ProcessId anhand des Prozessnamens herausfinden
 
thx ich hab in der code library das hier gefunden:
Delphi-Quellcode:
function GetProcID(sProcName: String): Integer;
var
  hProcSnap: THandle;
  pe32: TProcessEntry32;
begin
  result := -1;
  hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
  if hProcSnap = INVALID_HANDLE_VALUE then exit;

  pe32.dwSize := SizeOf(ProcessEntry32);

  { wenn es geklappt hat } 
  if Process32First(hProcSnap, pe32) = true then
    { und los geht's: Prozess suchen} 
    while Process32Next(hProcSnap, pe32) = true do
    begin
      if pos(sProcName, pe32.szExeFile) <> 0then
        result := pe32.th32ProcessID;
    end;
end;
das taugt!

toms 17. Apr 2004 16:38

Re: ProcessId anhand des Prozessnamens herausfinden
 
Du solltest noch das SnapShot-Handle mit CloseHandle() wieder freigeben.

Delphi-Quellcode:
function GetProcID(sProcName: string): Integer;
 // ...

 CloseHandle(hProcSnap);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz