在网上找的,用C#控制windows计算器并利用SendKey发送消息进行计算的例子,为什么不能获得句柄呢?
代码如下//窗口句柄
IntPtr hwndCalc = new IntPtr(0);
//按钮句柄
IntPtr BtnWnd = new IntPtr(0);
//循环,直到获得窗口句柄
while (hwndCalc == IntPtr.Zero)
{
hwndCalc = FindWindow(null, "计算器");
Thread.Sleep(50);
}
//句柄不为空
if (hwndCalc != IntPtr.Zero)
{
BtnWnd = FindWindowEx(hwndCalc, IntPtr.Zero, null, "7");
SendMessage(BtnWnd, WM_CLICK, (IntPtr)0, "0");
}其中计算器窗体句柄可以或得到,但是其中的数字按钮却怎么也获得不到,这是为什么呢?
FindWindowEx应该怎样写才好呢?
windows版本为win7
代码如下//窗口句柄
IntPtr hwndCalc = new IntPtr(0);
//按钮句柄
IntPtr BtnWnd = new IntPtr(0);
//循环,直到获得窗口句柄
while (hwndCalc == IntPtr.Zero)
{
hwndCalc = FindWindow(null, "计算器");
Thread.Sleep(50);
}
//句柄不为空
if (hwndCalc != IntPtr.Zero)
{
BtnWnd = FindWindowEx(hwndCalc, IntPtr.Zero, null, "7");
SendMessage(BtnWnd, WM_CLICK, (IntPtr)0, "0");
}其中计算器窗体句柄可以或得到,但是其中的数字按钮却怎么也获得不到,这是为什么呢?
FindWindowEx应该怎样写才好呢?
windows版本为win7
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货