Autor Thema: ShellExecute  (Gelesen 1946 mal)

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
ShellExecute
« am: 15.01.13 - 13:16:18 »
Hallo,
ich starte ein Programm über ShellExecute. Kann man über ShellExecute ein Handle darauf bekommen um das dann per API weiterzusteuern.

Für einen Tipp wäre ich dankbar.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: ShellExecute
« Antwort #1 am: 15.01.13 - 14:27:20 »
Ich weiß nicht ob es das ist was du willst, aber mit ShellID kannst du ein Programm starten und du bekommst die Taskid zurück.

Grüße

Ralf


Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re: ShellExecute
« Antwort #2 am: 16.01.13 - 09:54:41 »
@Ralf
Danke für die Info.

Aber wie kann ich dann einen Wert setzen.
Beispiel: Ich starte von Notes aus die calc.exe und möchte einfach die Zahl 1 ins Eingabefeld des Rechners setzen.

Hierfür feht mir der Ansatzpunkt wenn ich die ShellID habe.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: ShellExecute
« Antwort #3 am: 16.01.13 - 10:03:37 »
Hallo,

API-Programmierung (Windows-API) und dann duerfte Dir die SendKey-Funktion weiterhelfen.


Andreas

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: ShellExecute
« Antwort #4 am: 16.01.13 - 10:27:33 »
Einen Hinweis wie man Keyevents sendet findest du in folgender Technote:

http://www-01.ibm.com/support/docview.wss?uid=swg21089151
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline mezz

  • Junior Mitglied
  • **
  • Beiträge: 69
Re: ShellExecute
« Antwort #5 am: 16.01.13 - 10:35:18 »
Bin da schon bissel eingerostet aber die korrekte Vorgehenweise dürfte sein da Programm zu starten (ggf. besser mit CreateProcess) und dann mit FindWindow/Getwindow das entsprechende Handle holen und damit weiterarbeiten (Sendmessage), anschliessend mit TerminateProcess den Prozess wieder beenden.

Laut Dokumentation gib Shellexecute übrigends ein Instance-Handle zurück, ggf. könntest du damit auch weiterarbeiten und darüber z.b. eine Liste der zugehörigen Window-Handle holen, dabei natürlich die Fehlerbehandung nicht vergessen und Rückgabewerte prüfen (das ist so ~ 10 Jahre her bei mir, also alle Angaben ohne Gewähr ;-)).

http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686714%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633515%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx

perl -e 's,,q#$:%*?:!&=(:!>@.#.$/,e;y;!-./:-@[-]{-~; a-uJP;;print;'

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz