C# 替换字符与生成注册表16进制字符

yoopooy 2014-12-09 02:02:48

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\X1aoJJ]
"Type"=dword:00000110
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"Path"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
6b,00,20,00,22,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,22,00,00,\
00
"DisplayName"="IEXPLORE"
"ObjectName"="LocalSystem"
"Description"="Internet Explorer"
"FailureActions"=hex:00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,\
00,01,00,00,00,88,13,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\X1aoJJ\Ygdd]
"0"="Root\\X1aoJJ\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001


=============================================
整个注册表文件1.reg是固定的格式与内容
其中 X1aoJJ 是变的,PATH也是变的。

我尝试用流写进文件 但是没成功 只能写一行
还有
00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
6b,00,20,00,22,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,22,00,00,\
这种格式要怎么生产和转变???
直接变16进制的话 就没有 "," 。。。。

也尝试过 用 13215646545+txt1.text 来做 但是没成功。。。
用C# 调用CMD 执行命令简历一个服务 建立不上 因为 有"" 如果加上转义 又不能成功执行了。。。

好心塞
...全文
156 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
reg中的十六进对应的就是RegistryValueKind.Binary
  • 打赏
  • 举报
回复
SYSTEM\CurrentControlSet与SYSTEM\CurrentControlSet002用处是不一样,一个是当前的,一个是故障恢复用的,自己去查下
  • 打赏
  • 举报
回复
你是想安装一个服务吧,两种方式:
1.用Net自带InstallUtil.exe工具,你可以将它拷到你的程序中,随程序一起发布,运行如下的批处理
"%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil" /i "服务exe程序完整路径"
卸载将/i改成/u

2.方法1运行后也就是添加注册表项,也就是你的方式
using Microsoft.Win32;

var regKey = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services").CreateSubKey(serviceName);
regKey.SetValue("Type", 00000110, RegistryValueKind.DWord);
regKey.SetValue("DisplayName", "IEXPLORE", RegistryValueKind.String);
regKey.SetValue("ImagePath", "服务程序完整路径", RegistryValueKind.String);

自己补充完善
yoopooy 2014-12-09
  • 打赏
  • 举报
回复
... 消灭0回复。。。 顺带说几句哇 ================= 不是外挂 不是木马 ……不是弄游戏。。。。。 ================== 虚拟机每次重启都要恢复 每次都要注册。。。 所有我打算弄这么个类似补丁的东西、、、、

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧