注册表操控(RegistryKey类搬运) 公开

分类
点赞
暂无
更多信息
分享人 瞑空凌
分享时间 2023-06-07 15:03
最后更新 2023-07-25 16:36
修订版本 4
子程序大小 37.5 KB
Quicker版本 1.38.35.0

介绍

https://www.jb51.net/article/247960.htmhttps://www.jb51.net/article/247951.htmhttps://learn.microsoft.com/zh-cn/dotnet/api/microsoft.win32.registrykey?view=net-7.0参考以上毕竟是搬运的,所以为了方便,输入输出的的参数可见判定均按指定词汇,方便不同操作共用参数.毕竟搬运的应该还没有一个功能用多个相同类型参数的.{操作}(输入参数)[输出参数]----参数用类型名指定,参数可见表达式挂钩到参数类型上,方便使用.因此只需要复制黏贴,表格组合,替换,即可搞好选择列表即可直接使用

就是搬运,找到文档,复制里面的表格内容到Excel,前后对调位置,加入输出参数关键词,然后到记事本替换制表位为"|"进行分割



然后直接放入可选值,如果是枚举这些,则加入类名并在前面并加入"$=",因为我发现写在这里的也会被解析,相当于选择的直接就是选择的对象而非文本,就很舒服。



我的参数可见表达式均是按关键词判断的,只要使用的操作有这个关键词就会可见


然后我提取操作文本的关键词,通过关键词找到变量,然后把关键词替换成变量,的名称


再把注册表对象和操作结合起来,通过插值方式就能把返回值传给输出的指定参数.从而我就可以在不写太多模块的情况下用子程序使用类了.


子程序的参数

输入
RegistryKey对象 此类提供在运行 Windows 的计算机上的注册表中找到的标准根项集。 由 Registry 类公开的基或根 RegistryKey 实例描绘注册表中的子项和值的基本存储机制。 所有的项都是只读的,因为注册表依赖于它们的存在。 读取HKEY_DYN_DATA。|已过时。包含动态注册表数据。|DynData Any
操作方式_方法属性 已过时。检索控制此实例的生存期策略的当前生存期服务对象。(继承自 MarshalByRefObject) GetLifetimeService() 已过时。获取生存期服务对象来控制此实例的生存期策略。(继承自 MarshalByRefObject) InitializeLifetimeService() ===============================备份记录的信息请无视================================ 格式:{方法名}({参数类型名},{参数类型名}) (标点符号:英文格式) 参数可见表达式根据输入的方法名文本的参数位置是否有对应参数的类型名称来判断 一个字段的可见性,只能依赖这些输入方式的字段:检查框、下拉框。 Text
String文本 $=new Regex(@"(?<=[(,]\s*)String(?=\s*[,)])").Match({方法}).Success Text
Boolean布尔 $=new Regex(@"(?<=[(,]\s*)Boolean(?=\s*[,)])").Match({方法}).Success Boolean
Object对象 $=new Regex(@"(?<=[(,]\s*)Object(?=\s*[,)])").Match({方法}).Success Any
Type类型 $=new Regex(@"(?<=[(,]\s*)Type(?=\s*[,)])").Match({方法}).Success Any
RegistryKeyPermissionCheck枚举 $=new Regex(@"(?<=[(,]\s*)RegistryKeyPermissionCheck(?=\s*[,)])").Match({方法}).Success 指定在打开注册表项并访问它们的名称/值对时是否执行安全检查。 Any
RegistryOptions枚举 $=new Regex(@"(?<=[(,]\s*)RegistryOptions(?=\s*[,)])").Match({方法}).Success 指定在创建注册表项时使用的选项。 此枚举支持其成员值的按位组合。 Any
RegistrySecurity类 $=new Regex(@"(?<=[(,]\s*)RegistrySecurity(?=\s*[,)])").Match({方法}).Success 表示注册表项的 Windows 访问控制安全性。 此类不能被继承。 Any
SafeRegistryHandle类 $=new Regex(@"(?<=[(,]\s*)SafeRegistryHandle(?=\s*[,)])").Match({方法}).Success 表示 Windows 注册表中的安全句柄。 Any
RegistryView枚举 $=new Regex(@"(?<=[(,]\s*)RegistryView(?=\s*[,)])").Match({方法}).Success 指定要在 64 位操作系统上针对的注册表视图。 Any
AccessControlSections枚举 $=new Regex(@"(?<=[(,]\s*)AccessControlSections(?=\s*[,)])").Match({方法}).Success 指定要保存或加载安全性说明符的哪些部分。 此枚举支持其成员值的按位组合。 Any
RegistryValueOptions枚举 $=new Regex(@"(?<=[(,]\s*)RegistryValueOptions(?=\s*[,)])").Match({方法}).Success 指定从注册表项检索名称/值对时的可选行为。 此枚举支持其成员值的按位组合。 Any
RegistryHive枚举 $=new Regex(@"(?<=[(,]\s*)RegistryHive(?=\s*[,)])").Match({方法}).Success 表示外部计算机上的顶级节点的可能值 Any
RegistryRights枚举 $=new Regex(@"(?<=[(,]\s*)RegistryRights(?=\s*[,)])").Match({方法}).Success 指定能够应用于注册表对象的访问控制权限。 此枚举支持其成员值的按位组合 Any
RegistryValueKind枚举 $=new Regex(@"(?<=[(,]\s*)RegistryValueKind(?=\s*[,)])").Match({方法}).Success 指定在注册表中存储值时所用的数据类型,或标识注册表中某个值的数据类型。 Any
输出
RegistryKey对象 此类提供在运行 Windows 的计算机上的注册表中找到的标准根项集。 由 Registry 类公开的基或根 RegistryKey 实例描绘注册表中的子项和值的基本存储机制。 所有的项都是只读的,因为注册表依赖于它们的存在。 读取HKEY_DYN_DATA。|已过时。包含动态注册表数据。|DynData Any
String文本 $=new Regex(@"(?<=[(,]\s*)String(?=\s*[,)])").Match({方法}).Success Text
Boolean布尔 $=new Regex(@"(?<=[(,]\s*)Boolean(?=\s*[,)])").Match({方法}).Success Boolean
Object对象 $=new Regex(@"(?<=[(,]\s*)Object(?=\s*[,)])").Match({方法}).Success Any
Type类型 $=new Regex(@"(?<=[(,]\s*)Type(?=\s*[,)])").Match({方法}).Success Any
RegistrySecurity类 $=new Regex(@"(?<=[(,]\s*)RegistrySecurity(?=\s*[,)])").Match({方法}).Success 表示注册表项的 Windows 访问控制安全性。 此类不能被继承。 Any
SafeRegistryHandle类 $=new Regex(@"(?<=[(,]\s*)SafeRegistryHandle(?=\s*[,)])").Match({方法}).Success 表示 Windows 注册表中的安全句柄。 Any
RegistryView枚举 $=new Regex(@"(?<=[(,]\s*)RegistryView(?=\s*[,)])").Match({方法}).Success 指定要在 64 位操作系统上针对的注册表视图。 Any
RegistryValueKind枚举 $=new Regex(@"(?<=[(,]\s*)RegistryValueKind(?=\s*[,)])").Match({方法}).Success 指定在注册表中存储值时所用的数据类型,或标识注册表中某个值的数据类型。 Any
Int32整数 $=new Regex(@"(?<=[\[]\s*)Int32(?=\s*[\]])").Match({操作方式_方法属性}).Success 表示 32 位带符号整数。 Integer
ObjRef类 $=new Regex(@"(?<=[\[]\s*)ObjRef(?=\s*[\]])").Match({操作方式_方法属性}).Success 存储生成代理以便与远程对象通信所需的所有相关信息。 $=//[注释]使用请参考(请直接输入对象)https://learn.microsoft.com/zh-cn/dotnet/api/system.runtime.remoting.objref?view=netframework-4.8.1 Any
StringList列表 $=new Regex(@"(?<=[\[]\s*)String\[\](?=\s*[\]])").Match({操作方式_方法属性}).Success String[]:包含当前项的子项名称的字符串数组。 List
MarshalByRefObject类 $=new Regex(@"(?<=[\[]\s*)MarshalByRefObject(?=\s*[\]])").Match({操作方式_方法属性}).Success 在支持远程处理的应用程序中,允许跨应用程序域边界访问对象。 $=//[注释]使用请参考(请直接输入对象)https://learn.microsoft.com/zh-cn/dotnet/api/system.marshalbyrefobject?view=net-7.0 Any

最近更新

修订版本 更新时间 更新说明
4 2023-07-25 16:36 移除的\w+改成\w*,忘了没有输出的情况下,导致移除不干净.
3 2023-06-17 18:40 正则表达式忘了考虑有的参数类型文本带数字,因此正则参数匹配改为\w
2 2023-06-09 20:42 加入了,如果在表达式运行失败,则切换到C#模块中运行
由于表达式中的注册表对象,到了C#模块中会被认定为object(不知道缘由)
所以又根据参数自动生成了强制转换类型的代码文本,放到前面.根据输入参数自动转换为对应类型

最近讨论

暂无讨论