栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何确定屏幕保护程序是否正在Java中运行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何确定屏幕保护程序是否正在Java中运行?

尝试使用JNA库来调用SystemParametersInfo系统调用。

下面的示例使用JNA提供的win32示例中的代码:

public class JNATest {    public static void main(String[] args) {        W32API.UINT_PTR uiAction = new W32API.UINT_PTR(User32.SPI_GETSCREENSAVERRUNNING);        W32API.UINT_PTR uiParam = new W32API.UINT_PTR(0);        W32API.UINT_PTR fWinIni = new W32API.UINT_PTR(0);        PointerByReference pointer = new PointerByReference();        User32.INSTANCE.SystemParametersInfo(uiAction, uiParam, pointer, fWinIni);        boolean running = pointer.getPointer().getByte(0) == 1;        System.out.println("Screen saver running: "+running);    }}public interface User32 extends W32API {    User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class, DEFAULT_OPTIONS);    long SPI_GETSCREENSAVERRUNNING = 0x0072;    boolean SystemParametersInfo(        UINT_PTR uiAction,        UINT_PTR uiParam,        PointerByReference pvParam,        UINT_PTR fWinIni      );}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413933.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号