当前位置: 首页 > news >正文

java实现桌面程序开机自启动

问题:

最近用java写一个桌面闹钟程序,需要实现开机自启动功能

解决办法:

jna官网:https://github.com/java-native-access/jna?tab=readme-ov-file

使用jna库可以轻松实现

下载jna-5.15.0.jar和jna-platform-5.15.0.jar这两个库文件,加入到工程

下面给出是工具类

package org.lionsoul.dclock.util;import com.sun.jna.platform.win32.Advapi32Util;
import com.sun.jna.platform.win32.WinReg;public class RegistryUtil {public static void addStartup(String name, String path){Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", name, path);}public static void deleteStartup(String name){Advapi32Util.registryDeleteValue(WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", name);}public static boolean isStartWithSystem(String name) {String dhRegister = getReg("Software\\Microsoft\\Windows\\CurrentVersion\\Run", name);//        String dClock = WinRegistry.getString(WinRegistry.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", name);System.out.println("isStartWithSystem dhRegister :" + dhRegister);if (dhRegister != null && dhRegister.length() > 0){return true;}return false;}public static String getReg(String key, String valueName) {String value;try {value = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, key, valueName);} catch (Exception e) {value = "";}return value;}}

调用的代码:

if (RegistryUtil.isStartWithSystem(__APP_NAME) ) {RegistryUtil.deleteStartup(__APP_NAME);
} else {RegistryUtil.addStartup(__APP_NAME, System.getProperty("user.dir") + "\\DHClock.cmd");
}


http://www.mrgr.cn/news/46330.html

相关文章:

  • postman变量,断言,参数化
  • sass学习笔记(1.0)
  • AI工程师:AI时代的新岗位
  • Python 语法及入门(超全超详细)!
  • 【RAG论文精读5】RAG论文综述1(2312.10997)-第3部分:检索器
  • 高效开发最佳实践全面指南
  • 智能矿山建设方案
  • inBuilder低代码平台新特性推荐-第二十五期
  • 第三方软件测试报告包括哪些内容?需要多少时间和费用?
  • KDTS 实现MySQL至KingbaseES迁移实践
  • AVL树学习笔记
  • ai写作,五款软件助你快速写作!
  • AbMole揭秘BaP/BPDE与lnc-HZ08如何影响人类滋养层细胞的DNA修复
  • GC 算法
  • 【华为OD机试真题】95、最少面试官数
  • 前端基础面试题·第四篇——Vue(其二)
  • mysql学习教程,从入门到精通,SQL 临时表(37)
  • Vue-router 导航守卫有哪些
  • Windows11下 安装 Docker部分疑难杂症(Unexpecter WSL error)
  • Zabbix 7.2入门实战