1
我正在創建一個控制檯應用程序,該應用程序應該調用VB應用程序MyProj.exe並觸發同一按鈕單擊事件。單擊.NET中的Visual Basic應用程序中的按鈕
截至目前,我能夠運行VB項目的可執行文件,但我想從控制檯應用程序中觸發某些按鈕單擊事件。
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = @"C:\New\MyProj.exe";
System.Diagnostics.Process.Start(startInfo);
我有以下鏈接嘗試 - 這是不是爲我工作 http://www.codeproject.com/Articles/14519/Using-Windows-APIs-from-C-again
- 在hwndChild執行每條語句後即將爲「零」
//Get a handle for the "5" button
hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","5");
//send BN_CLICKED message
SendMessage((int)hwndChild,BN_CLICKED,0,IntPtr.Zero);
//Get a handle for the "+" button
hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","*");
//send BN_CLICKED message
SendMessage((int)hwndChild,BN_CLICKED,0,IntPtr.Zero);
//Get a handle for the "2" button
hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","2");
//send BN_CLICKED message
SendMessage((int)hwndChild,BN_CLICKED,0,IntPtr.Zero);
//Get a handle for the "=" button
hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","=");
//send BN_CLICKED message
SendMessage((int)hwndChild,BN_CLICKED,0,IntPtr.Zero);
太感謝很多codecaster - 但我會需要一點幫助
#define AMP_PAUSE 40046
HWND hwnd = FindWindow("Winamp v1.x", 0);
if(hwnd) SendMessage(hwnd, WM_COMMAND, AMP_PAUSE, 0);
button1是按鈕的ID; Call_Method()是我們點擊button1時調用的過程。
你能請幫助如何編寫C#上面的代碼
我檢查了該實用程序 - 但我無法弄清楚如何調用按鈕單擊事件我vb.exe - 我也希望它在後臺。 – 2014-11-03 11:31:30
請顯示您使用的實際代碼。 「不爲我工作」不夠清楚,不能重新提出你的問題。使用SendMessage API是實現這一點的方法。 – CodeCaster 2014-11-03 13:40:26
我已經下載了相同的代碼,當我跑它 - 計算器打開,但與「0」的值。所以這意味着有按鈕事件ared不會被解僱。每次hwndChild的值爲「0」 – 2014-11-03 14:55:48