Zitat:
if ... = true then
Das hätt ich jetzt nicht von dir erwartet.
Autsch, das passiert, wenn man alten Code per Copy and paste übernimmt.
Luckie, das wäre nicht nötig gewesen. Darob unterhielten wir uns schon wiederholt, erst vor Jahren (als ich zum ersten Mal darüber stolperte und sogar eine Diskussion dazu eröffnete, die recht lebhaft wurde), und dann vor einigen Monaten noch einmal im (gleichnamigen) Delphiforum.
Auch Dein
Delphi-Quellcode:
if Process32First(ProcessSnapShot, pe32) = true then
begin
while Process32Next(ProcessSnapShot, pe32) = true do
begin
if pos(LowerCase(FProcessFile), LowerCase(pe32.szExeFile)) <> 0 then
FProcessID := pe32.th32ProcessID;
end;
end
ist ein Quentchen eleganter möglich (auch das schrieb ich Dir schon):
Delphi-Quellcode:
if Process32First(ProcessSnapShot, pe32) then
repeat
if pos(LowerCase(FProcessFile), LowerCase(pe32.szExeFile)) <> 0 then
FProcessID := pe32.th32ProcessID
until not Process32Next(ProcessSnapShot, pe32)
Das nur so als Ergänzung zu dem ansonsten guten und bewährten (und deshalb auch von mir ursprünglich so übernommenen Code).
Gruß Delph-Laie