AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Frage zum Source: läuft Anwendung?
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zum Source: läuft Anwendung?

Ein Thema von rantanplan99 · begonnen am 30. Jul 2004 · letzter Beitrag vom 30. Jul 2004
Antwort Antwort
rantanplan99
(Gast)

n/a Beiträge
 
#1

Re: Prüfen, ob eine Anwendung läuft

  Alt 30. Jul 2004, 08:59
Ich hätte da ein paar Fragen bzw. Anmerkungen zu deinem Code

Delphi-Quellcode:
function GetProcessID(Exename: string): DWORD;
var
  hProcSnap: THandle;
  pe32: TProcessEntry32;
begin
  result := 0;
  hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
  if hProcSnap <> INVALID_HANDLE_VALUE then
  begin
    pe32.dwSize := SizeOf(ProcessEntry32);
    if Process32First(hProcSnap, pe32) = true then
    begin
      while Process32Next(hProcSnap, pe32) = true do // <--- Hier (1)
      begin
        if pos(Exename, pe32.szExeFile) <> 0 then // <--- Hier (2)
          result := pe32.th32ProcessID;
      end;
    end;
    CloseHandle(hProcSnap);
  end;
end;

...
zu (1): überspringst du bei der While-Schleife nicht den ersten Eintrag der mit Process32First gefunden wurde? Beim Aufruf von Process32Next, müsste doch der Wert den dir Process32First geliefert hat gleich wieder verloren gehen, oder?
Ok, ich hab die Hilfe für die 2 Funktionen noch nicht gelesen, aber sieht verdächtig aus.

zu (2): wäre es nicht sicherer die Strings in pos vorher in Upper/LowerCase umzuwandeln? weil so ist es ein Unterschied ob du nach 'notepad.exe' oder 'NoTePaD.eXe' suchst, oder?

Ich habe deinen Source nicht ausprobiert, falls alles so funktioniert ... sorry für die Anmerkungen, und Schande über mich.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Prüfen, ob eine Anwendung läuft

  Alt 30. Jul 2004, 09:12
Zitat von rantanplan99:
Ich hätte da ein paar Fragen bzw. Anmerkungen zu deinem Code

zu (2): wäre es nicht sicherer die Strings in pos vorher in Upper/LowerCase umzuwandeln? weil so ist es ein Unterschied ob du nach 'notepad.exe' oder 'NoTePaD.eXe' suchst, oder?
Hoi,

Groß/Kleinschreibung wird von Pos() nicht berücksichtigt, also ist das schon so O.K.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Prüfen, ob eine Anwendung läuft

  Alt 30. Jul 2004, 11:59
Zu eins: Stimmt, den Überspringe ich. Das macht aber nichts, da der erste Prozess der Leerlauf ist. Die Routine kommt aus einem Programm, wo ich den Leerlaufprozess nicht brauchen konnte.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: Prüfen, ob eine Anwendung läuft

  Alt 30. Jul 2004, 12:05
Zitat von mirage228:
Groß/Kleinschreibung wird von Pos() nicht berücksichtigt, also ist das schon so O.K.
Groß-/Kleinschreibung macht schon einen Unterschied. So wird zum Beispiel der Text 'Hilfe' im Wort 'Delphihilfe' durch Pos nicht gefunden.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#5

Re: Prüfen, ob eine Anwendung läuft

  Alt 30. Jul 2004, 12:34
[ot]
Zitat von Delphi-Hilfe:
Die Groß/Kleinschreibung wird von Pos nicht berücksichtigt.
..Trotzdem hat skura recht:
Zitat von sakura:
Groß-/Kleinschreibung macht schon einen Unterschied. So wird zum Beispiel der Text 'Hilfe' im Wort 'Delphihilfe' durch Pos nicht gefunden.
Lügt die Hilfe? oder wie oder wat?
[/ot]
Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#6

Re: Prüfen, ob eine Anwendung läuft

  Alt 30. Jul 2004, 12:38
Keine Ahnung, aber die Originalhilfe schreibt:
Delphi englisch
Pos searches for Substr within S and returns an integer value that is the index of the first character of Substr within S. Pos is case-sensitive.


......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Prüfen, ob eine Anwendung läuft

  Alt 30. Jul 2004, 12:40
Und ich glaube, es wurde schon des öfteren festgestellt, das die Hilfe an dieser Stelle falsch ist. Kann es leider nicht ausprobieren, da ich weg muss. Bis nachher dann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 19:12 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