我实际上是通过我的c#代码激活VB应用程序的按钮单击事件 - 我创建了按钮单击的快捷键,并在下面的代码的帮助下调用。
代码工作正常但按钮2单击事件未触发。
1.Step - 调用VB项目的button1的Click事件
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\New\MyProj.exe";
Process process = Process.Start(startInfo);
IntPtr h = process.MainWindowHandle;
SetForegroundWindow(h);
// Send it Alt-X
SendKeys.SendWait("%x");
Thread.Sleep(30000);
2.Step - 调用一个bat文件
Process process1 = null;
ProcessStartInfo startInfo1 = new ProcessStartInfo();
startInfo1.FileName = @"C:\App\Test.bat";
process1 = Process.Start(startInfo1);
Thread.Sleep(10000);
3.Step - 调用VB项目的button2的Click事件
//again i am setting main window as my VB project and calling another click event.
SetForegroundWindow(h);
SendKeys.SendWait("%h");
Thread.Sleep(10000);
最终点击事件不起作用,为什么? - Alt + h未触发
答案 0 :(得分:1)
尝试使用process.kill()终止第一个进程 再次通过
启动VB项目 startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\New\MyProj.exe";
Process process = Process.Start(startInfo);
process.WaitForInputIdle();
SetForegroundWindow(h);
SendKeys.SendWait("%h");