C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 136 を表示中)
■80008 / )  VB6作成ソフトをVB.NETから操作したい
□投稿者/ shu11 (1回)-(2016/06/03(Fri) 15:36:52)

分類:[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側は、ソースコードが無く、実行ファイルだけの状態です。
※古くて、資料が残っていない状態

どなたか、御教示いだだけないでしょうか?

よろしくお願い致します。






返信 編集キー/


管理者用

- Child Tree -