[VC++.NET] Mit Process::Start() auch steuern

the incredible Leitman

Erfahrenes Mitglied
Hallo Leute ^^

Erstmals sry, falls das Thema hier nicht passt, war mir aber irgendwie am nächsten ^^

Also, ich öffne mittels "System::Diagnostics::process::Start" ein .exe - file,
das funktioniert auch toll,
so kann ich z.B.: ein Firefox Fenster öffnen und gleich eine Page anwählen...
Wenn denselben Befehl öfters ausführe,
also z.B:
C++:
System::Diagnostics::Process::Start(pfad, "www.Google.at");
System::Diagnostics::Process::Start(pfad, "www.hcpcrew.at");
öffnet Firefox auch ganz toll ein neues Tab, anstatt ein neues Browserfenster aufzumachen, wie ich es möchte ^^

(BTW, wie "würde" das funktionieren, wenn ich aber ein neues Fenster öffnen möchte? o_O)

Meine eigentliche Frage ist, kann ich irgendwie auch das geöffnete Fenster (oder die exe) steuern? Also Knöpfe drücken, Aktionen durchführen usw...

Ich würde mir gerne ein Programm schreiben, dass beim Systemstart alles startet, was ich für den Gebrauch benötige.
Da ich mobiles Internet besitze, muss ich jedesmal diese Anwendung starten, den PinCode eingeben und mich zum Internet connecten,
erst dann kann ich nen Browser öffnen -.-

Nun würde ich das Ganze gerne optimieren, also ein Programm schreiben, dass per Autostart beim Hochfahren gestartet wird, sich anmeldet und einige Browserfenster öffnet und andere Programme startet

Muss ich dazu den Quellcode der Programmes kennen und eventuell verändern :suspekt:
Oder kann ich nur mittels hooking arbeiten? o_O

Wie könnte ich das realisieren?

Bitte, hoffentlich kann mir jemand Erste Hilfe leisten ^^
beziehungsweise einfach Ideen geben, ich tappe da komplett im dunkeln -.-

herzlichen Dank
mfG
Leitman
 
Das ist eigentlich nicht sehr schwer, sofern man weiß was man machen muss. :D
Ich hab das mal vor ner Weile gemacht. Du benötigst Spytools unter anderem MS Spy++. Das findest in deinen VS Tools. Damit musst die Klassennamen der Entsprechenden Forms/Controls heraus finden.
C#:
[DllImport( "user32.dll" )]
[CLSCompliant(false)]
public static extern int FindWindow(
	string lpClassName, // class name
	string lpWindowName // window name
);
Damit bekommst die Handles der Objekte. Nun kannst Windows Messages zu den Forms/Controls senden...
Auch sollte mit Hooking gearbeitet werden können, da habe ich aber zu wenig Erfahrung um präzise Aussagen machen zu können, sorry. Interessieren würde es mich aber brennend. ;)

Weiterhin gibt da noch Ranorex - GUI Automation & Automated Testing Tool. Die Domain ist im Moment down. Du findest aber sicherlich noch weitere Downloads im Netz. Schau da hinein und weißt alles was Du brauchst.

Dann hab ich das hier grad noch gefunden http://www.hook-api.com/ :)

:google: = http://www.google.com/search?hl=de&q=control+other+programs+by+win+api&btnG=Google-Suche

Lass Krachen! :D
 
Zurück