Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Warum Project1.exe al sProzess in Großbuchstaben?

  Alt 22. Feb 2006, 18:21
wäre machbar. Sinnvoller wäre es jedoch so (damit uppercase nicht so oft aufgerufen wird):
Delphi-Quellcode:
function TForm1.GetProcessID(sProcName: String): Integer;
var
  hProcSnap: THandle;
  pe32: TProcessEntry32;
begin
  sProcName := AnsiUpperCase(sProcName);
  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, AnsiUpperCase(pe32.szExeFile)) <> 0 then
        result := pe32.th32ProcessID;
    end;
  CloseHandle(hProcSnap);
end;
also für "sProcName" nur ein einziges mal Uppercase (bzw. AnsiUpperCase) verwenden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat