Run/Shellexecute | ProzessID?

  • Hi,

    Meine 1. Frage: Was der Unterschied zwischen Run und Shellexecute ist? :)

    2. Frage: Wie kann ich die ProzessID ( ich nehme mal an, dass es so etwas gibt ) herausfinden.
    Also z.B.: ich starte mit AutoIt 2x Notepad.exe, beide haben jetzt den gleichen Prozessnamen. Jetzt möchte ich ein bestimmtes von den beiden jedoch in den Vordergrund bringen.
    Wie sollte man so etwas machen?


    Simple Fragen, aber die haben mich jetzt interessiert. Und kann mir jemand möglichst vereinfacht erklären was "API" bedeutet? :)

    Einmal editiert, zuletzt von life2play (28. Januar 2012 um 14:11)

  • Also

    1. Run ist nur für .exe Dateien und führt diese aus. ShellExecute ist für alle Dateien und schaut erst nach mit welchem Programm es die Datei öffnen soll. Ich empfele immer ShellExecute zu verwenden.

    2. Wenn du die Prozess ID willst musst du aber Run benutzen, da dir diese Funktion die Prozess ID zurückgibt, anders als ShellExecute.

    3. Eine API ist im Grunde genommen nicht anderes als Funktionen welche dir ein System zur verfügung stellt. Bei der Windows-API z.B. sind das alle Funktionen welche du benutzen kannst um mit dem Betriebssystem zu interagieren. (Und das sind eigentlich so gut wie alle Funktionen, denn ohne Betriebssystem läuft ja nichts)

    Ich hoffe das war verständlich genug.

    Gruss Shadowigor

  • Zitat

    ShellExecute ist für alle Dateien und schaut erst nach mit welchem Programm es die Datei öffnen soll. Ich empfele immer ShellExecute zu verwenden.


    Das liegt daran, dass das über den Shellexecute Befehl der Shell32.dll läuft. Im Grunde ist es das selbe als würde man die Datei vom Explorer aus öffnen. Außerdem kann man bei Shellexecute auch spezifizieren was mit der Datei gemacht werden soll (öffnen, ausführen etc.).
    Mit Run kannst du auch auf den Standard Input/Ouput Stream des Programms zugreifen (nützlich für die Kommunikation zwischen Programmen).