【发布时间】:2011-04-15 16:01:17
【问题描述】:
感谢这个板,我能够获得具有已知标题的窗口坐标,但如果窗口被移动或调整大小,我需要获得坐标。 我是 MS Visual C++ 的新手,专家对此的任何帮助都会非常感激.... 这是我从这个很棒的论坛获得的代码,用于获取特定窗口的句柄(此函数由 java 程序通过 JNI 调用:
JNIEXPORT jint JNICALL Java_JavaHowTo_getHwnd
(JNIEnv *env, jclass obj, jstring title){
HWND hwnd = NULL;
const char *str = NULL;
str = (*env)->GetStringUTFChars(env, title, 0);
hwnd = FindWindow(NULL,str);
(*env)->ReleaseStringUTFChars(env, title, str);
return (jint) hwnd;
【问题讨论】:
-
如果直接做 HWND 的事情,WM_MOVE 和 WM_RESIZE 可能是相关事件。 “只需”安装一个新的 WNDPROC 代理处理程序。或者,也许只是定期轮询窗口坐标(这要简单得多)。
-
这是属于另一个进程的窗口?这将使您的生活严重复杂化。
标签: visual-c++ window coordinates