Windows 注册表操作简介

下列简要介绍关于程序自启动的几个操作注册表常用API函数:

//打开注册表 LONG WINAPI RegCreateKeyEx( __in HKEY hKey, //一般是四个根目录之一 __in LPCTSTR lpSubKey,//hKey以下的子键 __reserved DWORD Reserved,//保留必须为0 __in_opt LPTSTR lpClass, //一般为0 __in DWORD dwOptions,//创建子项时候的选项 __in REGSAM samDesired, //打开方式 __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,//继承性 NULL __out PHKEY phkResult,//打开子键后返回的句柄 __out_opt LPDWORD lpdwDisposition//打开指定子键不存在时候的处理 ); //写入打开子键的值 LONG WINAPI RegSetValueEx( __in HKEY hKey, __in_opt LPCTSTR lpValueName, __reserved DWORD Reserved, __in DWORD dwType, __in_opt const BYTE* lpData, __in DWORD cbData ); //删除打开子键的值 LONG WINAPI RegDeleteValue( __in HKEY hKey, __in_opt LPCTSTR lpValueName ); //删除打开指定子键 LONG WINAPI RegDeleteKey( __in HKEY hKey, __in LPCTSTR lpSubKey );

 

以下着重说明RegCreateKeyEx的几个重要参数:

__in HKEY hKey 指定给父键句柄或者根目录 :

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

 

__in LPCTSTR lpSubKey  hKey的子键目录

__in DWORD dwOptions  创建子键时候的选项:

可以是:

REG_OPTION_VOLATILE  对子键值的设置只保留在内存,不写入文件

REG_OPTION_NON_VOLATILE 保留到文件,系统重启时值被保留

 

__in REGSAM samDesired  打开子键的方式,类似打开文件后的属性可读可写入,可以是以下:

KEY_ALL_ACCESS       允许所有存储

KEY_CREATE_LINK   允许建立符合列表

KEY_CREATE_SUB_KEY  允许创建上一层子键

KEY_ENUMERATE_SUB_KEYS  允许创建下一次子键

KEY_EXECUTE      可读

KEY_NOTIFY  

KEY_QUERY_VALUE   可查询

KEY_READ    可读

KEY_SET_VALUE   可设置值

KEY_WRITE   可写

 

以下是一个设置开机自启动的程序

更多内容请看我的新博客:Windows 注册表操作简介

请大家原谅我的宣传方式吧,一直喜欢自己有个个人博客,但个人博客坏处就是少人能交流问题,欢迎大家加我好友什么的,谢谢。

你可能感兴趣的:(windows)