他ウィンドウのボタンをSendMessageで押したいのですが・・・
- 題名: 他ウィンドウのボタンをSendMessageで押したいのですが・・・
- 著者: kouplus
- 日時: 2005/08/20 18:58:09
- ID: 12272
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 他ウィンドウのボタンをSendMessageで押したいのですが・・・
- 著者: ant
- URL: http://ant0x.udap.jp/
- 日時: 2005/08/20 21:52:33
- ID: 12274
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 他ウィンドウのボタンをSendMessageで押したいのですが・・・
- 著者: kouplus
- 日時: 2005/08/20 22:22:28
- ID: 12276
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 他ウィンドウのボタンをSendMessageで押したいのですが・・・
- 著者: ant
- URL: http://ant0x.udap.jp/
- 日時: 2005/08/20 23:05:21
- ID: 12277
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 他ウィンドウのボタンをSendMessageで押したいのですが・・・
- 著者: kouplus
- 日時: 2005/08/20 23:22:32
- ID: 12278
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。いつも参考にさせていただいております。
早速ですが、質問をさせて頂きます。
VB.NETで作成したプログラムから、windowメッセージを使用して
他のウィンドウにあるボタンを押下したのですがうまくいきません。
実現するためにはそのボタン(コントロール)のハンドルを取得して、WM_LBUTTONDOWN→WM_LBUTTONUPすればよいのかと思っているのですが、
うまく押すことができません。
ご存知の方いらっしゃればお教え下さい。
よろしくお願いします。
------------------------------------------------------
Public Const CONTROLID As Integer = 1
Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Public Declare Function GetDlgItem Lib "user32.dll" Alias "GetDlgItem" ( _
ByVal hDlg As Integer, ByVal nIDDlgItem As Integer) As Integer
Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Integer) As Integer
Public Const WM_LBUTTONDOWN As Short = &H201
Public Const WM_LBUTTONUP As Short = &H202
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim nCallWnd As Integer = FindWindow("WindowsForms10.app1", "Form1")
Dim nAcceptBtn As Integer = GetDlgItem(nCallWnd, CONTROLID)
Call SendMessage(nAcceptBtn, WM_LBUTTONDOWN, 0, 0)
Call SendMessage(nAcceptBtn, WM_LBUTTONUP, 0, 0)
End Sub