请教JAVA中用JNA获得窗口句柄后,如何捕获该窗口是否d出了窗口(类似MessageBox)

请教JAVA中用JNA获得窗口句柄后,如何捕获该窗口是否d出了窗口(类似MessageBox),第1张

楼主,是想得到窗口句柄吗,可以使用JNA

参考 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生成的窗口的名字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9623145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存