C#下用API跨进程获取别的窗体的toolStrip的按钮并进行点击
网上有找到操作toolBar的,就是没有找到操作toolStrip的
应该也是用SendMessage进行操作的吧!
各位高手帮帮忙啊!
希望能详细一点!谢谢了
------解决方案--------------------我也想知道,高人赶快进来.顺便顶一下,再顶一下!狂顶!
------解决方案--------------------CSDN上的高手跑哪去了,快点救命啊!!!!神哪(高人),救救我吧!!!!
------解决方案--------------------友情up
------解决方案--------------------用SendMessage一定能做,问题是和ToolBar是不一样的,因为这两个控件是没有关系的,只是功能相似而已.
------解决方案--------------------学习~
------解决方案--------------------我不清楚你的意思,如果你只是想夸窗体调用的话
只需要
public xxx ToolStrip
{
get
{
//封装你要使用的属性
}
}
声明一个Class的实例
通过实例就可以调用了
如果用一个线程去触发ToolStrip的话
必须要使用
delete DeleteMethod
ToolStrip.BeginInvoke(DeleteMethod); //多线程操控UI的控件
在DeleteMethod方法你操作你想做的事情
------解决方案--------------------Windows传统的ToolBar很多种,toolStrip没研究过,你用SPY++去看能取道按钮的HANDLE么
如果取不到,很可能按钮是画上去的,微软又没公开内部结构的话,是无法操作的.
前段时间专门研究了下菜单,很多如此
------解决方案--------------------哦,想起来了,.Net的话可以写个dll注进去取内部结构,参见CodeProject的ObjectSpy
------解决方案--------------------我前段时间也想用API操作toolstrip,但弄了两天没有解决,后来我就用鼠标模拟来点击的
------解决方案--------------------UP
------解决方案--------------------The mouse_event function synthesizes mouse motion and button clicks.
VOID mouse_event(
DWORD dwFlags, // flags specifying various motion/click variants
DWORD dx, // horizontal mouse position or position change
DWORD dy, // vertical mouse position or position change
DWORD dwData, // amount of wheel movement
DWORD dwExtraInfo // 32 bits of application-defined information
);
这个 肯定可以 就是 鼠标会移动
------解决方案--------------------可以用Form间的通信试试
把信息传过去另外的form
catch到该信息,再触发事件