ich wollte mittels Visual Basic mit einem Button einen anderen Button in einem fremden Programm klicken bzw. drücken. Hab also gegoogled usw. und das hier gefunden:
Code:
Public Class Form1
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As IntPtr
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Private Const BM_CLICK As Integer = &HF5
Private iHwndForm As IntPtr 'Fensterhanlde ermitteln
Private iHwndButton As IntPtr 'Buttonhandle ermitteln
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Fenster Handle ermitteln
iHwndForm = FindWindow(vbNullString, "testForm")
'Button Handle ermitteln
iHwndButton = FindWindowEx(iHwndForm, 0, "ButtonID", vbNullString)
'Click auf Button in zweite EXE senden
SendMessage(iHwndButton, BM_CLICK, 0, 0) 'Button drücken
End Sub
End Class
Nun verstehe ich nicht, was bei "FindWindow" rein soll.
FindWindowEx hab ich mit Spy ++ oder so die Button ID schon rausgefunden, hab sie hier jetzt nur rausgenommen.
Public Class Form1
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As IntPtr
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Private Const BM_CLICK As Integer = &HF5
Private iHwndForm As IntPtr
Private iHwndButton As IntPtr
Dim Hauptfenster As IntPtr = FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r38_ad1", "Fenstername")
Dim TabControl As IntPtr = FindWindowEx(Hauptfenster, IntPtr.Zero, "WindowsForms10.SysTabControl32.app.0.2bf8098_r38_ad1", Nothing)
Dim TabPage1 As IntPtr = FindWindowEx(TabControl, IntPtr.Zero, "WindowsForms10.Window.8.app.0.2bf8098_r38_ad1", "TabName")
Dim ButtonHandle As IntPtr = FindWindowEx(TabControl, IntPtr.Zero, "WindowsForms10.BUTTON.app.0.2bf8098_r38_ad1", "ButtonName")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub
End Class
Wenn das alles richtig wäre, was müsste dann ins Click Event vom Button? Konnte das aus dem Tutorial nicht so richtig entnehmen.
Der Aufruf der SendMessage-API? Ist doch logisch. Du kannst es von mir aus auch ins Load-Ereignis reinklatschen. Die FindWindow-Aufrufe kannst du ebenfalls darein packen.
[Frage]Button klicken vb.net 11/30/2011 - .NET Languages - 7 Replies Hallo E*PvP'ler
Ich bin gerade dabei VB.NET zu lernen und habe schon meine grosse Frage.
Wie kann ich in Programm machen das einen Button anklickt?
Ich nehme mal hier als beispiel den Quelltext von Epvp:
<li><a rel="nofollow" href="login.php?do=logout&logouthash=1322 422473-4****************" onclick="return log_out('Möchtest du dich wirklich abmelden?')">Abmelden</a></li>
[Javascript] Button klicken 11/22/2011 - Web Development - 1 Replies Hey Leute,
auf ner Homepage ist so ein "Button" der ein DIV ist...
Dieses DIV kann ich auf dem iPhone anklicken, aber auf dem pc nicht.
Wo liegt denn hier der Wurm ?
Kann man das GGF mit JScript ansprechen ?
MfG
[Javascript] Button klicken 11/21/2011 - General Coding - 4 Replies Hey Leute,
auf ner Website gibts nen button den ich am iPhone klicken kann, aber am PC nicht klicken kann :(
Wisst ihr wie ?
MfG
[C#] Button von einem anderen Fenster klicken 08/07/2011 - .NET Languages - 2 Replies Huhu,
ich möchte mit meinem Programm ein Button eines Fensters im Hintergrund anklicken.
Zum Beispiel die "0" beim Taschenrechner. Ich weiß, dass das mit der winapi möglich ist, jedoch fand ich keine funktionsfähige Lösung im Internet.
Wenn mir jemand bei diesem Problem helfen könnte, wäre das echt toll.