获取Java路径

INT GetJavaHomePathFromRegedit(wchar_t* retwstr) {wchar_t str[MAX_PATH + 1];INT flag = GetStrFromRegedit(L"SOFTWARE\\JavaSoft\\Java Runtime Environment\\", L"CurrentVersion", str);wprintf(L"%ws\n", str);WCHAR keyjp[MAX_PATH + 1] = L"\0";swprintf_s(keyjp, MAX_PATH, L"%ws%ws", L"SOFTWARE\\JavaSoft\\Java Runtime Environment\\", str);wprintf(L"%ws\n", keyjp);flag = GetStrFromRegedit(keyjp, L"JavaHome", str);wprintf(L"%ws\n", str);swprintf_s(retwstr, MAX_PATH, L"%ws%ws", str, L"\\bin\\java.exe");return TRUE;
}INT GetStrFromRegedit(const wchar_t* hkey, const wchar_t* childkey, wchar_t* str) {HKEY retKey;BYTE retKeyVal[MAX_PATH + 1] = { 0 };DWORD nSize = MAX_PATH + 1;LONG ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, hkey, 0, KEY_QUERY_VALUE | KEY_READ, &retKey);//记得加KEY_READ来读取多级子键if (ret != ERROR_SUCCESS) {return -1;}ret = RegQueryValueEx(retKey, childkey, NULL, NULL, (LPBYTE)retKeyVal, &nSize);RegCloseKey(retKey);if (ret != ERROR_SUCCESS) {return -2;}int sum = 0;wchar_t TEMPSTR[MAX_PATH + 1] = L"\0";for (int i = 0; i < int(nSize); i += 1) {if (retKeyVal[i + 1] == 0) {TEMPSTR[i] = retKeyVal[i];if (retKeyVal[i] == 0) break;}}for (int i = 0; i < int(nSize); i += 1) {if (retKeyVal[i + 1] == 0) {*(str + sum) = retKeyVal[i];sum++;if (retKeyVal[i] == 0) break;}}return TRUE;
}

Minecraft启动器制作(C++)相关推荐

  1. [C#]Minecraft启动器制作(KMCC)

    目录 1.为什么会写本文章? 2.此项目设定环境 3.新建项目 4.添加项目所需引用 4.基本的启动功能: 5.运行 6.完整代码 1.为什么会写本文章? 由于最近刚了解C#语法想加强下概念,而且本人 ...

  2. 我的世界启动器制作教程

    目录 碎碎念 为什么我要写这篇文章 使用什么语言编写最好? 了解Minecraft是如何启动的 获取 Java 路径 Jvm参数 库文件路径 游戏参数 编写自动化启动过程 选择语言 从头来过 获取Ja ...

  3. minecraft启动器_如何使用外部编辑器编辑Minecraft地图

    minecraft启动器 In a previous tutorial we took WorldEdit for a spin, a fantastic in-game editor that le ...

  4. python也能开发minecraft启动器

    最近我在csdn上看见了 __小小的程序员__ 博主的文章,发现python可以开发minecraft启动器? 好牛皮!我试了一下!果真可以,所有版本(包括最新1.19和最新快照)都可以.别忘了pip ...

  5. |python|用tkinter做minecraft启动器 第一章:python配置

    哈啰啊,这是发的第一篇文章,做的不好,多多关照 好进入正题今天是配置python,先看后期的图片 好,我们首先得下载python(链接加载有点慢) python下载 | 传送门 | 然后点这个(红框框 ...

  6. Ubuntu下的U盘启动器制作

    Ubuntu下的U盘启动器制作 准备工作 安装 写入 准备工作 原先有两个U盘用来制作U盘启动器,一个Windows系统,一个Ubuntu,奈何windows系统的U盘被我格式化了,只能在Ubuntu ...

  7. [Themeda启动器]用Java编写的Minecraft启动器

    启动器全部由本人一人编写完成,作为练手的作品.编写过程磕磕绊绊,大多时间都在查阅各种网上资料. 现在写下这篇文章以供后来者参考. 本启动器预计实现以下内容 启动器预计实现的功能 是否完成 项目名称 功 ...

  8. skinme找不到java_我的世界hello minecraft启动器下载

    我的世界下载完成之后需要安装JAVA环境,如果没有启动器的朋友还需要下载一个启动器,今天游戏园小编为大家带来了我的世界启动器的下载,这个启动器叫做hello minecraft,这款启动器支持的功能也 ...

  9. 我换Minecraft启动器啦!

    上一次我们介绍过关于1.12.2的光影解决办法. 今天我们来侃侃MC启动器的那些事吧! 你一定在上一篇文章中看到我写的了,我用的是PCL2. 但是,从2022年7月31日开始,我暂停使用PCL2,改换 ...

最新文章

  1. LeetCode Group Anagrams
  2. 在ListView的顶部和底部加入其他View
  3. Object构造函数的方法
  4. 一些比较少用但比较有用的linux命令备忘
  5. 一键生成Vue.js + Web API前后端集成项目
  6. 陈潇冰php,webpack4.x入门到进阶
  7. 【Prince2科普】P2七大主题之变更
  8. 用Oracle归档日志进行恢复方法
  9. spring boot 全局异常处理的实现(@ExceptionHandler),以及@InitBinder、@ModelAttribute的作用
  10. 2013蓝桥杯C++B:翻硬币(找规律和getline())
  11. Android最佳实践之流畅设计
  12. opencv+Dlib人脸融合
  13. C++例4.11 求两个或三个正整数中的最大数,用带有默认参数的函数实现。
  14. 二极管与门,或门,三极管整合
  15. 有关于win10系统不能更改自己ip得问题解决办法
  16. PHP爆绝对路径方法
  17. RKRK3399平台开发系列讲解(其他篇)1.29、查看显示时钟
  18. 4G模块SIM7600绑定AT指定串口号(二)
  19. 程序人生——Hello P2P
  20. 【Java EE】-Servlet(一) 创建Maven下的webapp项目

热门文章

  1. c语言编程vcwin7,vc++6.0 win7版
  2. C语言不用临时变量交换a,b的值
  3. 360hackgame writeup
  4. ChatGPT之父Sam Altman28岁从YC创始人保罗·格雷厄姆手中继任总裁,37岁震惊全球
  5. Unity TextMeshPro解决中文乱码以及修改默认字体
  6. MCGS与台达VFD-M和海利普HLP-Bmodbus通讯
  7. 深入理解JVM(1):类加载器
  8. 【FPGA教程案例7】基于verilog的计数器设计与实现
  9. 角色 提问 回答 小马识途营销顾问分享问答营销实战三大要点
  10. 一道IQ题的”数学“探究