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

unity使用Registry类将指定内容写入注册表

遇到一个新需求,在exe执行初期把指定内容写入注册表,Playerprefs固然可以写入,但是小白不知道怎么利用Playerprefs写入DWORD类型的数据,因此使用了Registry类

一. 对注册表中键的访问

注册表中共可分为五类
在这里插入图片描述
一般在操作时,基本使用CurrentUser类

//使用Registry类要using win32的包using Microsoft.Win32;

那么如何将数据写入注册表??

 public static void SetRegistryKey(string valueName, uint value, RegistryValueKind valueKind){//提供对注册表中HKEY_CURRENT_USER键的访问RegistryKey key = Registry.CurrentUser;//打开softwareRegistryKey software = key.OpenSubKey("SOFTWARE", true);RegistryKey softKey = software.OpenSubKey("第一层级", true);if (softKey == null){softKey = software.CreateSubKey("第一层级", true);}RegistryKey versionKey = softKey.OpenSubKey("第二层级", true);if (versionKey == null){versionKey = softKey.CreateSubKey("第二层级", true);}Int32 tempInt = 0; //预先定义一个有符号32位数//unchecked语句块内的转换,不做溢出检查unchecked{tempInt = (Int32)value; //强制转换成有符号32位数}//在项里创建值versionKey.SetValue(valueName, tempInt, valueKind);//最后要关掉versionKey.Close();}
//调用时SetRegistryKey("MARKER", 0xffffffff, RegistryValueKind.DWord);

二. 遇到的问题

这里在写入时遇到两个问题

  1. 写入值为0xffffffff时,会报错
    原因为十六进制的ffffffff数值太大了,若直接setValue必然会报错
    所以上面代码中写到
Int32 tempInt = 0; //预先定义一个有符号32位数
//unchecked语句块内的转换,不做溢出检查
unchecked
{tempInt = (Int32)value; //强制转换成有符号32位数
}
//在项里创建值
versionKey.SetValue(valueName, tempInt, valueKind);

需要先将十六进制的大数通过Int32进行强转,转成有符号的数值,在注册表中会自动补位
2. 注册表内容的写入放在了Awake()方法中
当放在Awake()中时,打出的包无论是否管理员方式运行,均无法插入至注册表
后面放在了Start()中,一下子就写入了
不知道是什么原因,但是若有些相似的问题,大家可以避免下
3. 如果win32包已经导入,但是Registry类依然报错
可以在unity最上方菜单栏File->Build Settings->Player Settings->Other Settings->Api compatibility level改成.Net 4.X
我使用的是unity2018.4.32版本,有点老了
在这里插入图片描述

相关文章:

unity使用Registry类将指定内容写入注册表

遇到一个新需求,在exe执行初期把指定内容写入注册表,Playerprefs固然可以写入,但是小白不知道怎么利用Playerprefs写入DWORD类型的数据,因此使用了Registry类 一. 对注册表中键的访问 注册表中共可分为五类 一般在操作时&#…...

Python进阶学习:Pandas--将一种的数据类型转换为另一种类型(astype())

Python进阶学习:Pandas–将一种的数据类型转换为另一种类型(astype()) 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…...

OpenCV开发笔记(七十五):相机标定矫正中使用remap重映射进行畸变矫正

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/136293833 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿…...

光伏预测 | Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测

光伏预测 | Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测 目录 光伏预测 | Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测预测效果基本描述模型简介程序设计参考资料 预测效果 基本描述 Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测 运行环境: Matla…...

k8s学习笔记-基础概念

(作者:陈玓玏) deployment特别的地方在于replica和selector,docker根据镜像起容器,pod控制容器,job、cronjob、deployment控制pod,job做离线任务,pod大多一次性的,cronj…...

C语言 变量

变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头…...

2024年2月16日优雅草蜻蜓API大数据服务中心v1.1.1大更新-UI全新大改版采用最新设计ui·增加心率计算器·退休储蓄计算·贷款还款计算器等数接口

2024年2月16日优雅草蜻蜓API大数据服务中心v1.1.1大更新-UI全新大改版采用最新设计ui增加心率计算器退休储蓄计算贷款还款计算器等数接口 更新日志 前言:本次更新中途跨越了很多个版本,其次本次ui大改版-同步实时发布教程《带9.7k预算的实战项目layuiph…...

WEB漏洞 逻辑越权之支付数据篡改安全

水平越权 概述:攻击者尝试访问与他拥有相同权限的用户的资源 测试方法:能否通过A用户操作影响到B用户 案例:pikachu-本地水平垂直越权演示-漏洞成因 1)可以看到kobe很多的敏感信息 2)burp抓包,更改user…...

45、WEB攻防——通用漏洞PHP反序列化POP链构造魔术方法原生类

文章目录 序列化:将java、php等代码中的对象转化为数组或字符串等格式。代表函数serialize(),将一个对象转换成一个字符;反序列化:将数组或字符串等格式还成对象。代表函数unserialize(),将字符串还原成一个对象。 P…...

雾锁王国服务器怎么建?雾锁王国服务器搭建方法

雾锁王国Enshrouded服务器搭建怎么搭建?非常简单,阿里云计算巢雾锁王国程序,可以一键搭建雾锁王国多人联机服务器,腾讯云是基于雾锁王国镜像系统,阿里云服务网aliyunfuwuqi.com汇总雾锁王国服务器搭建,超简…...

设计模式篇---观察者模式

文章目录 概念结构实例总结 概念 观察者模式:定义对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其他相关依赖对象都得到通知并被自动更新。 观察者模式是使用频率较高的一个模式,它建立了对象与对象之间的依赖…...

Docker常用命令Top20

Docker常用命令Top20 Docker是一种容器化平台&#xff0c;通过使用Docker&#xff0c;开发人员可以轻松地打包、交付和运行应用程序。以下是Docker中最常用的20个命令&#xff1a; docker run&#xff1a; 运行一个容器。 docker run <image_name>docker ps&#xff1a;…...

Redis的发布订阅机制及其使用场景

Redis的发布订阅&#xff08;Pub/Sub&#xff09;机制是一种消息通信模式&#xff0c;其中发送者&#xff08;发布者&#xff09;将消息发送到特定的频道&#xff0c;而订阅者则订阅其中一个或多个频道&#xff0c;以接收感兴趣的消息。这种模式可以用于构建实时通信系统、消息…...

计算机网络的基础知识

网络的性能指标&#xff1a;网络速率&#xff0c;bpsbit/s&#xff1b; 时延包括四个组成部分&#xff1a;发送时延、传播时延、排队时延、处理时延&#xff1b; 网络各个层次结构设计的基本三原则&#xff1a;各个层次之间是相互独立的&#xff0c;每一个层之间有足够的灵活…...

QT-Http post 同步请求

在 Qt 中&#xff0c;你可以使用 QNetworkAccessManager 对象的 sendCustomRequest 方法来发送同步的 HTTP 请求。以下是一个演示如何使用该方法发送同步 HTTP POST 请求的示例代码&#xff1a; #include <QCoreApplication> #include <QNetworkAccessManager> #i…...

【JVM】StringTable 字符串常量池

参考&#xff1a;javaGuide 字符串常量池 是 JVM 为了提升性能和减少内存消耗针对字符串&#xff08;String 类&#xff09;专门开辟的一块区域&#xff0c;主要目的是为了避免字符串的重复创建 String的不可变性 1.通过字面量的方式&#xff08;区别于new&#xff09;给一个…...

Unity中URP实现水体(水的焦散)

文章目录 前言一、原理1、 通过深度图&#xff0c;得到 对应像素 在 世界空间下的Z值2、得到模型顶点在 观察空间 下的坐标3、由以上两点得到 深度图像素 对应的 xyz 值4、最后&#xff0c;转化到 模型本地空间下&#xff0c;用其对焦散纹理采样 二、实现1、获取深度图2、在顶点…...

vue构建版本

完整版&#xff1a;同时包含编译器和运行时的版本。 编译器&#xff1a;用来将模板字符串编译成为 JavaScript 渲染函数的代码。 运行时runtime&#xff1a;用来创建 Vue 实例、渲染并处理虚拟 DOM 等的代码。基本上就是除去编译器的其它一切。 UMD&#xff1a;UMD 版本可以…...

Docker挂载镜像到本地(日常记录)

Docker挂载镜像到本地 1、进入jar包文件夹 cd docker-publish/2、编写DockFile文件 #使用Jdk8环境作为基础镜像&#xff0c;如果镜像不在本地则会从DockerHub进行下载 #FROM openjdk:8-jdk-alpine FROM openjdk:11 #VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/l…...

【Elasticsearch查询】精确查询

文章目录 复合查询constant_score querybool querydis_max queryfunction_score queryboosting query单层嵌套双层嵌套 词项查询term query&#xff08;词项查询&#xff09;数字的精确查询文本的精确查询查询优化 terms query&#xff08;多词项查询&#xff09;terms_set que…...

Jupyter Notebook代码补全插件安装踩坑实录:从nbextensions不显示到完美解决(Anaconda环境)

Jupyter Notebook代码补全插件安装踩坑实录&#xff1a;从nbextensions不显示到完美解决&#xff08;Anaconda环境&#xff09; 在数据科学和机器学习的工作流中&#xff0c;Jupyter Notebook因其交互式特性广受欢迎&#xff0c;而代码补全功能能显著提升开发效率。然而&#x…...

GRBL移植实战(一):从AVR到ARM的引脚映射与平台适配

1. GRBL移植前的准备工作 第一次接触GRBL移植的朋友可能会觉得无从下手&#xff0c;毕竟要把一个成熟的运动控制系统从AVR平台搬到ARM架构上&#xff0c;听起来就像是要把一辆老爷车的发动机装进新能源车里。但别担心&#xff0c;我去年刚完成了一个从Atmega328p到STM32F407的…...

Edge组策略避坑指南:当企业AD域遇到浏览器管控,这5个细节最容易翻车

Edge组策略避坑指南&#xff1a;企业AD域环境下的5个关键配置陷阱 1. 策略模板版本冲突&#xff1a;被忽视的兼容性杀手 在AD域环境中部署Edge浏览器管控时&#xff0c;策略模板版本与浏览器实际版本不匹配是最常见的翻车点。许多管理员直接从微软官网下载最新策略模板&#…...

BaiduPCS-Go深度调优指南:10个高级配置技巧提升下载速度与稳定性

BaiduPCS-Go深度调优指南&#xff1a;10个高级配置技巧提升下载速度与稳定性 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go BaiduPCS-Go作为一款强大的百度…...

Eigen 3.4.90 矩阵操作实战 | C++高效线性代数指南(一)

1. Eigen库基础入门&#xff1a;从安装到第一个矩阵 第一次接触Eigen时&#xff0c;我完全被它的简洁性震惊了——不需要链接任何库文件&#xff0c;只需要包含头文件就能开始高性能的线性代数计算。作为C中最受欢迎的矩阵运算库之一&#xff0c;Eigen 3.4.90版本在保持轻量级的…...

集团型企业Teamcenter PLM平台多级许可证管理的核心挑战

集团型企业Teamcenter PLM平台多级许可证管理的核心挑战我跟你讲哈天天在搞许可证管理&#xff0c;可要么是时常被工程师吐槽“挤不进系统”&#xff0c;另一边&#xff0c;IT部门查账瞅见&#xff0c;年度投入的软件许可用得不多&#xff0c;闲置率太高。这事儿&#xff0c;我…...

除了Word2Vec,试试HowNet的义原来做中文词相似度计算?一个实战对比

超越词向量&#xff1a;用HowNet义原解锁中文语义理解的实战指南 在自然语言处理领域&#xff0c;词向量技术如Word2Vec、GloVe和BERT已经成为了标配工具。但当面对中文特有的语义复杂性时——比如多义词"包袱"&#xff08;既指包裹布也指心理负担&#xff09;、同形…...

从Copilot到CodeOracle:构建企业级智能编码引擎的4层知识图谱架构,含开源可部署Schema模板

第一章&#xff1a;从Copilot到CodeOracle&#xff1a;构建企业级智能编码引擎的4层知识图谱架构&#xff0c;含开源可部署Schema模板 2026奇点智能技术大会(https://ml-summit.org) 企业级智能编码引擎已超越辅助补全范畴&#xff0c;正演进为具备上下文感知、领域推理与组织…...

别再只发1、2、3了!详解百为BY8301-16P语音模块的数据包控制协议

百为BY8301-16P语音模块协议解析&#xff1a;从数字指令到数据包控制的进阶指南 当你第一次拿到百为BY8301-16P语音模块时&#xff0c;可能会被它简单的数字指令测试方式所迷惑——发送"1"播放第一首曲目&#xff0c;"2"播放第二首&#xff0c;看似直观易用…...

NVIDIA Profile Inspector终极指南:5个步骤彻底解决游戏性能问题

NVIDIA Profile Inspector终极指南&#xff1a;5个步骤彻底解决游戏性能问题 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款强大的显卡配置工具&#xff0c;能够让你深…...