我正在使用spy ++并且看到我所拥有的控件在spy ++中具有与十六进制匹配的十进制(在转换之后),我看到父窗口也匹配所以我有一个标签的IntPtr和用于标签的IntPtr表单/窗口但我的SendMessage
无法更改目标应用程序中的文本。
另一种方法可能是做这样的事情,但是什么是控制ID,我该如何做到这一点 SetText of textbox in external app. Win32 API
我认为这里的hWnd需要是控件hWnd,对吗?
SendMessageCall(hWnd, WM_SETTEXT, (IntPtr)value.Length, value);
我注意到文本正在工作
SendMessageCall(hWnd, WM_GETTEXT, (IntPtr)sb.Capacity, sb);
我注意到我得到了测试,看到了正确的值,设置了文本但它没有改变,然后使用SendMessage
再次获取文本并且它是新值,但应用程序仍显示错误的价值....嗯,我是否需要发送一条重新发送的消息,如果是,那该代码是什么?
感谢, 迪安
答案 0 :(得分:2)
您不发送强制重绘的窗口消息,而是拨打InvalidateRect(hWnd, NULL, TRUE)
。