|
分類:[VB6 以前]
初めて投稿します。 VB2013Proにて、ソフト作成中です。
VB6で作成したソフトがあり、そのソフトのボタンをクリックし、動作実行させたいの ですが、うまくいきません。 FindWindow、FindwindowExにてウインドウ、ボタンのハンドルを取得し、SendMessageにて、 ボタンを押させるだけのものですが、応答しない状態です。 別のVB.NETで作成したソフトに同様の操作をすると、動作するので、 メッセージの受け渡し方が違っていると思われます。
コードとしては、
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _ (ByVal hwndParent As Integer, ByVal hwndChildAfter As Integer, _ ByVal lpszClass As String, ByVal lpszWindow As String) As Integer Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _ (ByVal hWnd As Integer, ByVal MSG As Integer, ByVal wParam As Integer,_ ByVal lParam As Integer) As Integer
Public hwnd1, hwnd2 As Integer ' Window Handle
Public Sub BtnClkA() ' ウインドウハンドル取得 hwnd1 = FindWindow("FormDC", "Firmware Write Program ")
' ボタンのハンドル取得 hwnd2 = FindWindowEx(hwnd1, 0, "CommandButton", "Normal Write")
SendMessage(hwnd2, BM_CLICK, 0, 0) ' Button Click
End Sub
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
"Firmware Write Program"という名前のソフトの、"Normal Write"というボタンを 押したいだけです。
VB6側は、ソースコードが無く、実行ファイルだけの状態です。 ※古くて、資料が残っていない状態
どなたか、御教示いだだけないでしょうか?
よろしくお願い致します。
|