问题描述
我在WInform界面嵌入了一个其他exe程序这个Exe程序上面有ToolStrip控件我点击它里面的ToolStripButton按钮为什么没反应,根本就不执行ToolStripButton_Click事件里的代码,好像都没进去,请高手指点下!
解决方案
解决方案二:
无语了。你的ToolStripButton_Click怎么注册给人家进程了?
解决方案三:
赚点分好难,楼主的问题是玄学问题
解决方案四:
你是怎么嵌入的?
解决方案五:
而且,你要测试按钮好使不好使,也要在那个exe程序里弹出个对话框来测试啊人家的exe执行,为什么要走到你的程序的断点里去??
解决方案六:
如果那个程序也是.net的,那么用反射加载程序集试试看
解决方案七:
引用楼主zhw626033518的回复:
我在WInform界面嵌入了一个其他exe程序这个Exe程序上面有ToolStrip控件我点击它里面的ToolStripButton按钮为什么没反应,根本就不执行ToolStripButton_Click事件里的代码,好像都没进去,请高手指点下!
点击这个控件的坐标。而不是根据句柄直接点击。比如菜单界面上有全选删除清空你就先找到这个菜单的句柄最外层的然后发送对应的坐标给这个句柄。就可以点击到了。或者发送快捷按键。
解决方案八:
publicstaticvoidClick(IntPtrmnqhwnd,PointP){SendMessage(mnqhwnd,0x201,0,MakeLParam(P.X,P.Y));SendMessage(mnqhwnd,0x202,0,MakeLParam(P.X,P.Y));}staticintMakeLParam(intLoWord,intHiWord){return((HiWord<<16)|(LoWord&0xffff));}
解决方案九:
楼主应该说错了,是在WInform界面有ToolStrip控件吧
解决方案十:
如果是在Winform界面有ToolStrip控件,将你的exe程序放在bin目录下,调用下面方法传入appName参数为Application.StartupPath+"\"+exe程序名称///<summary>///启动另一个应用程序进程///</summary>///<paramname="appName">要启动的应用程序名</param>///<paramname="appParams">应用程序参数,多个参数用空格隔开</param>publicstaticvoidStartProc(stringappName,stringappParams){System.Diagnostics.ProcessStartInfoinfo=newSystem.Diagnostics.ProcessStartInfo();info.FileName=appName;info.Arguments=appParams;info.UseShellExecute=false;info.RedirectStandardOutput=true;info.WorkingDirectory="";System.Diagnostics.Processproc;proc=System.Diagnostics.Process.Start(info);}
解决方案十一:
你是怎么点击的是手动用鼠标点击还是程序写的代码