参考 WIN32 API
typedef struct
{
HWND hWnd;
DWORD dwPid;
}WNDINFO;
BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
WNDINFO pInfo = (WNDINFO)lParam;
DWORD dwProcessId = 0;
GetWindowThreadProcessId(hWnd, &dwProcessId);
if(dwProcessId == pInfo->dwPid)
{
pInfo->hWnd = hWnd;
return FALSE;
}
return TRUE;
}
HWND GetHwndByProcessId(DWORD dwProcessId)
{
WNDINFO info = {0};
infohWnd = NULL;
infodwPid = dwProcessId;
EnumWindows(EnumWindowsProc, (LPARAM)&info);
return infohWnd;
}
用jni方式,先用c\c++做个调用windows句柄的程序,编译成dll,然后用java通过jni方式调用它,给他传值,让c\c++程序调用。
有这方面相关的demo的吗?或者说这方面的dll
MyFrame my=new MyFrame();
String name=mygetTitle();
name 就是你的窗口名字了
要是是在窗口类里获取窗口标题
直接getTitle()就可以了
以上就是关于请教JAVA中用JNA获得窗口句柄后,如何捕获该窗口是否d出了窗口(类似MessageBox)全部的内容,包括:请教JAVA中用JNA获得窗口句柄后,如何捕获该窗口是否d出了窗口(类似MessageBox)、Java能否获得Windows程序的窗口Handle并发送消息求解、如何让获得Java生成的窗口的名字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)