有一个c#写的程序:点击按钮“button1"(注意,点击后该按钮的enable属性仍然是true)后弹出一个MessageBox提示,如果此提示不关闭的话,该按钮应该是不允许再次点击的 再用C#写了另外一个程序通过API获取到"button1"的句柄,使用API PostMessage(hwnd, WM_CLICK, 0, 0)进行单击,作用是模拟人工点击button1按钮,正常情况是无任何问题,但是如果“button1”在未关闭MessageBox提示下,API还是会继续单击,应该是不允许的,否则和真实的手工操作不一致 请问各位朋友有什么解决方法吗
ret=IsWindowEnabled(按钮句丙)
ret>0可用,=0不可用
这个方法肯定不行,弹出的提示处于模态下,按钮是手工点击不了的,除非是发送PostMessage,但是这样做等于是没解决问题
用 GetWindowLong() 获取这个Style。
{
if (IsHwnd(hwnd))
{
int result = GetWindowLong(hwnd, GWL_STYLE);
return ((result & WS_DISABLED) != 0);
}
else
{
return false;
}
}返回的结果永远是False
该方法不可行哦