Entwickler-Ecke

Windows API - ShellExecute rückgabewert??


unworldly - Do 02.09.04 22:43
Titel: ShellExecute rückgabewert??
hallo!

ich hoffe, das ist das richtige forum für meine frage...

ich habe ein programm geschrieben, das mittels dem altbekannten "net send" nachrichten im netzwerk versendet.
ich rufe mittles ShellExecute 'net.exe' auf und übergebe z.b. 'send pc2 nachricht' ...
das prigramm funktioniert so auch.

jetzt zu meiner frage:

wenn ich mit cmd eine nachricht versende ("net send pc2 nachricht"), wird mir gesagt, ob meine nachricht versendet werden konnte oder nicht...
kann ich das mit meinem programm auch irgendwie prüfen?
mit dem rückgabewert von ShellExecute oder so??


lg, michi


Sprint - Do 02.09.04 23:09
Titel: Re: ShellExecute rückgabewert??
unworldly hat folgendes geschrieben:
kann ich das mit meinem programm auch irgendwie prüfen?

Ja.
Zitat:
mit dem rückgabewert von ShellExecute oder so??

Nein.

Du könntest das Programm mit CreateProcess starten. Den Standard-Output-Handle umleiten und das Ergebnis auswerten.


Delete - Do 02.09.04 23:26

Wie wäre es Suche im MSDN NETMESSAGEBUFFERSEND direkt zu benutzen? Eine Klasse dafür findest du hier: http://www.luckie-online.de/Downloads/Sonstiges/ und eine fertige GUI, die diese Klasse benutzt hier: http://www.luckie-online.de/Downloads/


unworldly - Fr 03.09.04 09:56

wow!

hätte mir nicht gedacht, dass da so schnell jemand antwortet!
danke!

Zitat:
Du könntest das Programm mit CreateProcess starten. Den Standard-Output-Handle umleiten und das Ergebnis auswerten


hört sich sehr interessant an... köntest du mir ein beispiel oder so geben? ich weiß nicht wie ich deinen ratschlag anwenden soll...

achja: @Luckie: hab ich mir noch nicht genauer angesehen, aber sieht super aus (ich mein auch die anderen sachen, die du da zum download anbietest...)

danke nochmal, lg, michi


unworldly - Sa 04.09.04 21:55

ok, also mit CreateProcess hab ichs zwar geschaft nachrichten zu versenden
und eine fehlermeldung auszugeben, falls das programm 'net' nicht gefunden wird.
aber ich habs nicht geschaft, eine fehlermeldung auszugeben,
falls die nachricht nicht versendet werden konnte...
könntest du mir ein beispiel oder einen tipp geben?


mit NETMESSAGEBUFFERSEND komm ich nicht ganz zurecht...
es sieht zwar echt vielversprechend aus (glaub das würde mein problem lösen)
aber ich krieg auch nichts vernünftiges hin...

könntest du mir ein beispiel geben,
wenn ich ein formular hab mit dem button "ok"
und wenn ich dann dafür eine funktion erstell
soll er einfach nur "test" an "pc2" senden (mit fehler-meldung bei fehler)...

so einfach wie möglich halt...
das würde mir helfen, das wesentliche zu verstehen...


danke, lg, michi


Delete - So 05.09.04 04:24

Ich habe doch eine ganze Klasse dafür geschrieben, die brauchst du doch nur anwenden. Eine Demo ist glaube ich auch dabei.


Sprint - So 05.09.04 05:48

@unworldly: Wenn es nur darum geht mit net send was zu verschicken, dann mach' es so wie es dir Luckie geraten hat.
Wenn du aber eine Möglichkeit suchst, Konsolenanwendungen umzuleiten, dann schau dir mal dieses C Beispiel an...
http://www.vmlinux.org/jakov/community.borland.com/10387.html

Hab das Ding mal vor zwei Jahren umgeschrieben. Das Resultat findest du hier...
http://www.softgames.de/forum/viewtopic.php?t=24225#123746


unworldly - Mi 08.09.04 12:29

so, jetzt hab ichs geschaft.

ich habs mit luckie's vorschlag (NETMESSAGEBUFFERSEND) probiert und es funktioniert einwandfrei... :D

danke nochmal an alle, lg, michi


unworldly - Mi 08.09.04 21:50

also ein problem hab ich...

es funktioniert ja alles einwandfrei- aber nur wenn ich nachrichten an mich schicke...

an andere user im netzwerk funzt das senden nicht...

habs mit deinem beispiel auch probiert und da gehts auch nicht...