VC实现程序开机启动
来源:互联网 发布:先锋网络电视官网 编辑:程序博客网 时间:2024/05/16 11:50
要实现程序开机启动,其实就是要在系统的注册表中添加相应的信息,包括你想要自动启动的程序的路径。在这里有四个与系统注册表相关的API函数:RegOpenKey、RegSetValueEx、RegDeleteValue、RegCloseKey。这四个函数的功能从他们的字面意思就可以猜得到,分别是,打开注册表、写入信息、删除信息和关闭注册表。下面来看下这四个函数的声明:
LONG RegOpenKey( HKEY hKey, // 要打开键的句柄
LPCTSTR lpSubKey, // 要打开子键的名字的地址
PHKEY phkResult // 要打开键的句柄的地址);
第一个参数是使用“regedit”实用程序打开注册表看到的左边的几个值的其中一个;第二个参数是相关的对应子键的地址,这里我们使用的是“SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run”,第三个参数是函数返回的HKEY的地址,这个参数是函数在执行成功后得到的控制子键的句柄。
LONG WINAPI RegSetValueExA (
HKEY hKey,//上面函数的第三个参数的值
LPCSTR lpValueName,//想要设置的子键的名字
DWORD Reserved,//系统保留,必须为0
DWORD dwType,//子键的类型,字符串对应为REG_SZ
CONST BYTE* lpData,//子键的值,这里为程序的路径
DWORD cbData//子键值的大小(字节为单位)
);LONG WINAPI RegDeleteValue(
HKEY hKey,//子键的句柄
LPCTSTR lpValueName//子键的名字,上面函数的第二个参数
);
LONG WINAPI RegCloseKey(HKEY hKey);下面是我的一段设置开机自启动的源代码:
void CXXX::OnClickAutoLogin() {// TODO: Add your control notification handler code hereUpdateData(TRUE);//程序自动运行char svPath[MAX_PATH];::GetModuleFileName(NULL,svPath,sizeof(svPath));HKEY hKey;RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hKey);if(m_bAutoLogin)RegSetValueEx(hKey,"我的开机程序",0,REG_SZ,(unsigned char*)svPath,strlen(svPath));elseRegDeleteValue(hKey,"我的开机程序");RegCloseKey(hKey);}
- VC实现程序开机启动
- VC实现程序开机自启动
- VC实现程序开机自启动
- VC程序实现开机自启动
- VC中程序开机启动
- VC++程序开机自动启动
- VC实现开机自启动
- VC实现开机自启动
- vc实现关机开机程序
- vc 开发(3) 程序开机启动
- vc修改注册表开机自动启动程序
- VC++ 让其他程序开机自启动
- Qt实现程序开机启动
- C#实现程序开机启动
- 实现程序的开机启动
- 实现开机启动AIR程序
- VC++ 编程实现开机自启动
- VC++ 编程实现开机自启动
- Spring 系列,第 4 部分: Spring JMS 消息处理 1-2-3
- 网络基础教程:划分子网的方法
- struts2 velocity模板输出的例子/java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet
- An example of using Thrift
- Spring 的优秀工具类盘点,第 1 部分: 文件资源操作和 Web 相关工具类
- VC实现程序开机启动
- Spring 的优秀工具类盘点,第 2 部分: 特殊字符转义和方法入参检测工具类
- samba 配置文件详解
- 使用 FFMPEG 截图
- htaccess
- Spring 让 LOB 数据操作变得简单易行
- 项目百态
- iconv编码转换
- Win32下使用OpenGL实现渲染