AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ProcessId anhand des Prozessnamens herausfinden
Thema durchsuchen
Ansicht
Themen-Optionen

ProcessId anhand des Prozessnamens herausfinden

Ein Thema von Meflin · begonnen am 17. Apr 2004 · letzter Beitrag vom 17. Apr 2004
Antwort Antwort
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

ProcessId anhand des Prozessnamens herausfinden

  Alt 17. Apr 2004, 16:12
Ist und wenn dann wie ist das möglich?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ProcessId anhand des Prozessnamens herausfinden

  Alt 17. Apr 2004, 16:21
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: ProcessId anhand des Prozessnamens herausfinden

  Alt 17. Apr 2004, 16:27
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!
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: ProcessId anhand des Prozessnamens herausfinden

  Alt 17. Apr 2004, 16:38
Du solltest noch das SnapShot-Handle mit CloseHandle() wieder freigeben.

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

 CloseHandle(hProcSnap);
end;
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 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