Laden...

Durch c#-Button eines anderen Programms klicken

Erstellt von c#starter vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.110 Views
C
c#starter Themenstarter:in
20 Beiträge seit 2009
vor 14 Jahren
Durch c#-Button eines anderen Programms klicken

[EDIT=herbivore]Abgeteilt von shellexecuting mit c#. Bitte nur ein Thema pro Thread. Bitte keine Crossposts. Bitte auf das richtige Unterforum achten.[EDIT]

Danke für diese Hilfe.

Jetzt möchte ich aber auch, dass c# praktisch virtuell automatisch einen Button eines anderen Programms klickt, was von mir nicht erstellt wurde, klingt zwar n bissl komisch, aber geht das überhaupt? Wenn ja, wie?

gruß

946 Beiträge seit 2008
vor 14 Jahren

Entweder kannst du das ganz simpel über eine Mausklicksimulation auf einem bestimmten Punkt lösen, oder aber du informierst dich über das UI Automation Framework.
Ein paar Links:*MSDN: Übersicht über die Benutzeroberflächenautomatisierung *CodeProject: UI Automation Framework using WPF *Forumssuche *Google 😉

mfg
SeeQuark

B
77 Beiträge seit 2008
vor 14 Jahren

Hallo c#starter,

hier findest Du einige Hinweise wie es funktioniert den Button einer anderen Anwendung zu klicken.

http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/345d85e8-cc5f-4508-b3f2-74ee43521169

Dazu mußt Du allerding die Handles der Anwendung und des Buttons kennen. Es gibt Tools mit denen man das ermitteln kann: SpyWindows, WinSpector o.ä.

byte_schubser

C
c#starter Themenstarter:in
20 Beiträge seit 2009
vor 14 Jahren
Mausevent_erzwingen

[EDIT=herbivore]Threads zusammengefügt[/EDIT]

Hy...Kann mir jemand hier simpelst erklären wie ichn mausclickevent erzwingen kann?

Gruß

C
c#starter Themenstarter:in
20 Beiträge seit 2009
vor 14 Jahren

Ah ja: sollte in der Lage sein ein Button aus einer anderem Programm zu klicken (Beispielsweise: Öffnen von Windows Word+Klick auf Speichern?)

Wäre toll wenn ihr Codeschnipsel mir senden könntet
gruß

1.130 Beiträge seit 2007
vor 14 Jahren

Höchstwahrscheinlich willst du garkein mausevent erzwingen, sondern nur deinen eigenen Code von woanders aus nochmal aufrufen. Dazu brauchst du ihn nur ein eine möglichst mit sinvollem namen versehene Methode packen und diese im eventhandler und wo du den Code sonstnoch brauchst die methode aufrufen:


buttonX_Click(object sender, MouseEventArgs e)
{
    Machwas();
}

void Machwas()
{
//hier kommt dein code hin
}

Da, wo du dein event erzwingen willst, schreibst du statdessen einfach


    Machwas();

EDIT:){red}für fernsteuern anderer programme: [erledigt] Tastatur simmulieren mit vorherigem cursor.Position=....

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!