Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 19:14

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Auf Button klicken

Discussion on Auf Button klicken within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
justinjoel's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 98
Received Thanks: 24
Auf Button klicken

Hey,

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.

Würde mich über eine schnelle Antwort freuen.

MfG
justinjoel is offline  
Old 02/20/2013, 12:12   #2
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810

Teil 1 & 3 könnte für dich hilfreich sein.
Kraizy​ is offline  
Thanks
1 User
Old 02/20/2013, 13:10   #3
 
justinjoel's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 98
Received Thanks: 24
Ok, das hat mir schon etwas geholfen ^^

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
    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.

mfg
justinjoel is offline  
Old 02/20/2013, 13:12   #4
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
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.
Kraizy​ is offline  
Reply


Similar Threads Similar Threads
[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.



All times are GMT +2. The time now is 19:14.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.