通过编程实现程序自动启动
来源:互联网 发布:淘宝哪些店铺女装好看 编辑:程序博客网 时间:2024/05/16 19:34
先介绍能让WINDOWS自动启动的2个文件和8个注册键
1: 当前用户专用的启动文件夹 将快捷方式放入WINDOWS的用户启动文件夹中.
路径:系统盘:/Document and Settings/<用户名称>/"开始"/程序/启动
2:所有用户的启动文件夹
路径:系统盘:/Document and Settings/ALL USER/"开始"/程序/启动
以下是注册键,均可以通过注册表直接搜索得到
1:LOAD注册键
2:USERINIT注册键
3:EXPLORER/RUN注册键
4:RUNSERVICESONCE注册键
5:RUNSERVICES注册键
6:RUNONCE/STEUP注册键
7:RUNONCE注册键
8:RUN注册键
测试:通过编程实现程序自启动
#include <stdio.h>
#include <windows.h>
int main(void)
{
char regname[]="Software//Microsoft//Windows//CurrentVersion//Run";
HKEY hkResult;
int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult); //打开关键字
ret=RegSetValueEx(hkResult,"hacker"/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%//hacker.exe",25);
//设置键值
if(ret==0){
printf("success to write run key/n");
RegCloseKey(hkResult);
}
else {
printf("failed to open regedit.%d/n",ret);
return 0;
}
char modlepath[256];
char syspath[256];
GetModuleFileName(0,modlepath,256); //取得程序名字
GetSystemDirectory(syspath,256);
ret=CopyFile(modlepath,strcat(syspath,"//hacker.exe"),1);
if(ret)
{
printf("%s has been copyed to sys dir %s/n",modlepath,syspath);
}
else printf("%s is exisis",modlepath);
return 0;
}
朋友问我在vs2005上这段程序用不了。因为我是在vc++6.0上运行的,所以我觉的实现其实是相同的
TCHAR strFileName[100];
// CString m_fileName;
GetModuleFileName(NULL,strFileName,100);//获得程序路径
HKEY hKey;
CString str = _T("Software//Microsoft//Windows//CurrentVersion//Run");
if (ERROR_SUCCESS != RegCreateKey(HKEY_LOCAL_MACHINE, str, &hKey))
{
MessageBox(_T("打开注册表项失败"));
RegCloseKey(hKey);
}
int length = 0;
while(strFileName[length]!=_T('/0'))
length++;
if (ERROR_SUCCESS != RegSetValueEx(hKey, _T("MFCAutoRun"), 0, REG_SZ, (const BYTE *)strFileName, sizeof(TCHAR)*length))
{
MessageBox(_T("写注册表失败"));
RegCloseKey(hKey);
}
RegCloseKey(hKey);
- 通过编程实现程序自动启动
- 利用VC++编程实现程序自动启动
- 利用VC++编程实现程序自动启动
- 利用VC++编程实现程序自动启动
- 利用VC++编程实现程序自动启动
- 利用VC++编程实现程序自动启动(转)
- 通过AppHlp实现程序的自动升级
- 通过启动组实现程序随系统启动
- 用Delphi实现开机自动启动程序
- c#开机自动启动程序实现代码
- c#开机自动启动程序实现代码
- c#开机自动启动程序实现代码
- c#开机自动启动程序实现代码
- c#下实现程序开机自动启动
- c#下实现程序开机自动启动
- 用Delphi实现开机自动启动程序
- C++Builder通过程序设置,开机后自动启动
- 通过注册表让烦人程序不再自动启动
- 關於觸發器(Trigger)對於變異表(Mutating table)的操作
- offsetof
- 基于WSP/WTP的MMS传输(7)——MMS Notification 解析
- insert into时注意的问题
- grivew的分页问题
- 通过编程实现程序自动启动
- 关于pragma pack的用法 C++中的内存对齐问题
- WF-Activities之EventDrivenActivity ListenActivity
- linux 2.6.11内核文件IO的系统调用实现分析(read,write)(转载)
- 基于WSP/WTP的MMS传输(8)——测试工具
- jquery重写表单验证
- 关于System.in(out、err)的一点疑问
- sizeof的用法以及#pragma pack(n)命令对其的影响。
- 基于WSP/WTP的MMS传输(9)——开发中要解决的问题