请问如何让程序自动运行?并且如何取消程序的自动运行? 好象是通过在注册表中加入键来实现的.请问具体如何实现?包括加入自动运行和取消自动运行的功能.也就是插入注册表及删除注册表键值。望能给出代码段,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 下记载了自动运行的键,自己写代码加进去要自动运行的东西就可以了。 //将应用程序路径加载到注册表相应位置 //定义所需要的变量 HKEY hKey;可执行文件的路径 CString sKeyName; CString m_strFileName;//可执行文件的路径(全名) unsigned char szFilePath[100]; //打开注册表 LONG lnRes = RegOpenKeyEx( //要打开的目录在HKEY_LOCAL_MACHINE下 HKEY_LOCAL_MACHINE, //子目录 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", //必须取0 0L, //KEY_WRITE是STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, //和 KEY_CREATE_SUB_KEY 访问权限的组合 KEY_WRITE, &hKey ); lstrcpy( (char *) szFilePath , LPCTSTR(m_strFileName) ); //假如RegOpenKeyEx成功,返回值为ERROR_SUCCESS if( ERROR_SUCCESS == lnRes ) { //把应用程序路径加入到RUN键下面 lnRes = RegSetValueEx(hKey, LPCTSTR( sKeyName ), 0, REG_SZ, szFilePath, //value data REG_SZ ); //假如RegSetValueEx成功,返回值为ERROR_SUCCESS if( ERROR_SUCCESS == lnRes ) AfxMessageBox("已经成功加载此应用程序!"); else AfxMessageBox("不能加载此应用程序!"); } else { AfxMessageBox("不能加载此应用程序!"); }//删除类似,用RegDeleteValue,RegDeleteKey删除键值和键就可以拉。 自动的化就写入键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 取消就删除键值 读写注册表,加入到启动菜单,作为services自动运行,都可以 到codeproject上下载现成的Registry操作类就可以用 一个简单的指针题目 一个关于win32的问题 如何在关闭CDocument事件中添加方法 vc2005创建的项目怎么会有数据库文件 这个数据库文件又有什么用 在主窗体上画一个按钮.运行时看不到. 如何在grid中加入结构数组中的数据/? 我的resource里的东东怎么会没了呢?!求各位哥哥姐姐帮帮忙啊 打印机问题 300分请教一问题(急啊) HELP!关于BUTTON按钮的响应 mfc的activx的菜问题 ●纯 Win98下运行VC60开发的ADO数据库程序
HKEY hKey;可执行文件的路径
CString sKeyName;
CString m_strFileName;//可执行文件的路径(全名) unsigned char szFilePath[100]; //打开注册表
LONG lnRes = RegOpenKeyEx(
//要打开的目录在HKEY_LOCAL_MACHINE下
HKEY_LOCAL_MACHINE,
//子目录
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
//必须取0
0L,
//KEY_WRITE是STANDARD_RIGHTS_WRITE, KEY_SET_VALUE,
//和 KEY_CREATE_SUB_KEY 访问权限的组合
KEY_WRITE,
&hKey
);
lstrcpy( (char *) szFilePath , LPCTSTR(m_strFileName) ); //假如RegOpenKeyEx成功,返回值为ERROR_SUCCESS
if( ERROR_SUCCESS == lnRes )
{
//把应用程序路径加入到RUN键下面
lnRes = RegSetValueEx(hKey,
LPCTSTR( sKeyName ),
0,
REG_SZ,
szFilePath, //value data
REG_SZ );
//假如RegSetValueEx成功,返回值为ERROR_SUCCESS
if( ERROR_SUCCESS == lnRes )
AfxMessageBox("已经成功加载此应用程序!");
else
AfxMessageBox("不能加载此应用程序!");
}
else
{
AfxMessageBox("不能加载此应用程序!");
}//删除类似,用RegDeleteValue,RegDeleteKey删除键值和键就可以拉。
取消就删除键值