用installshield和C写的程序通过注册表进行通信

2024-05-31 18:18

本文主要是介绍用installshield和C写的程序通过注册表进行通信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用installshield对注册表进行操作:


nRootKey = HKEY_LOCAL_MACHINE; 
RegDBSetDefaultRoot(nRootKey);//为设置默认5大注册表项的哪一个
RegDBKeyExist (regDbKey);//这个方法返回值为0表示regDbKey在注册表中存在,返回值<0表示不存在。
//如果不存在的话,我要创建这个项并在其中写入一下名字为Sanc的字段,并赋以初值,那么我调用这句话就行了:
RegDBSetKeyValueEx("SofeWare\\Clients", "Sanc", REGDB_STRING, "10", -1);//Clients键设置一个新值Sanc,如果不存在就不会设置值。
上图为Get得到键值。




C++对注册表进行操作:


HKEY hKey;HKEY hSubKey;DWORD dwValue = 1;char Buffer[] = "raw2rgb.dll";// 使用RegCreateKey能保证如果Software\daheng_directx不存在的话,创建一个。if (RegCreateKey(HKEY_LOCAL_MACHINE, "Software\\daheng_directx", &hKey) == ERROR_SUCCESS) {//// 在这里就可以使用hKey来操作daheng_directx这个KEY里面的值了。//if (RegSetValueEx(hKey, "AEC", 0, REG_DWORD, (CONST BYTE*)&dwValue, sizeof(DWORD)) == ERROR_SUCCESS) {printf("RegSetValueEx: AEC = %d\n", dwValue);}//// 如果想在Software\\daheng_directx创建一个plugins key,那么就不能再使用hKey了,需要// 重新获取这个结点的HKEY。//if (RegCreateKey(hKey, "plugins", &hSubKey) == ERROR_SUCCESS) {if (RegSetValueEx(hSubKey, "颜色校正插件", 0, REG_SZ, (CONST BYTE*)Buffer,strlen(Buffer) + 1) == ERROR_SUCCESS) {printf("RegSetValueEx: 颜色校正插件 = %s\n", Buffer);}RegCloseKey(hSubKey);}}RegCloseKey(hKey);



//==================================================================================================
int Write_reg_error()
{
char system[]="11";
int i=0;
HKEY hKey;
//RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Clients\\WritePara",0,KEY_SET_VALUE,&hKey );//打开注册表,不存在时报错
if(RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Clients\\WritePara", &hKey) != ERROR_SUCCESS)//打开注册表,不存在时创建。
{
printf("Error 1\n");
return -1;
}
if(RegSetValueEx(hKey, "AutoAdminLogon",0,REG_SZ,(const unsigned char*)system,sizeof(system)) != ERROR_SUCCESS)//对对应的键值写入数据
{
printf("Error 2\n");
return -1;
}
RegCloseKey(hKey);
scanf("%d", &i);
return 0;
}









这篇关于用installshield和C写的程序通过注册表进行通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018686

相关文章

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

Django调用外部Python程序的完整项目实战

《Django调用外部Python程序的完整项目实战》Django是一个强大的PythonWeb框架,它的设计理念简洁优雅,:本文主要介绍Django调用外部Python程序的完整项目实战,文中通... 目录一、为什么 Django 需要调用外部 python 程序二、三种常见的调用方式方式 1:直接 im

SQL Server 中的表进行行转列场景示例

《SQLServer中的表进行行转列场景示例》本文详细介绍了SQLServer行转列(Pivot)的三种常用写法,包括固定列名、条件聚合和动态列名,文章还提供了实际示例、动态列数处理、性能优化建议... 目录一、常见场景示例二、写法 1:PIVOT(固定列名)三、写法 2:条件聚合(CASE WHEN)四、

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

Java通过ServerSocket与Socket实现通信过程

《Java通过ServerSocket与Socket实现通信过程》本文介绍了Java中的ServerSocket和Socket类,详细讲解了它们的构造方法和使用场景,并通过一个简单的通信示例展示了如何... 目录1 ServerSocket2 Socket3 服务器端4 客户端5 运行结果6 设置超时总结1

linux实现对.jar文件的配置文件进行修改

《linux实现对.jar文件的配置文件进行修改》文章讲述了如何使用Linux系统修改.jar文件的配置文件,包括进入文件夹、编辑文件、保存并退出编辑器,以及重新启动项目... 目录linux对.jar文件的配置文件进行修改第一步第二步 第三步第四步总结linux对.jar文件的配置文件进行修改第一步进

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

Mysql 驱动程序的程序小结

《Mysql驱动程序的程序小结》MySQL驱动程序是连接应用程序与MySQL数据库的重要组件,根据不同的编程语言和应用场景,MySQL提供了多种驱动程序,下面就来详细的了解一下驱动程序,感兴趣的可以... 目录一、mysql 驱动程序的概念二、常见的 MySQL 驱动程序1. MySQL Connector

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni