关于WM的开机自启动(转)
WM中的开机自启动有三种实现方法:
1、将.exe文件的快捷方式放入\windows\startup目录下
2、修改注册表:(代码如下)
//写入注册表,开机自启动
HKEY hKey = NULL;
//找到系统的启动项
LPCTSTR lpRun = TEXT("init");
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
if(lRet == ERROR_SUCCESS)
{
TCHAR pFileName[MAX_PATH] = {0};
//得到程序自身的全路径
DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
//添加hide参数
// wcscat_s(pFileName, MAX_PATH+5, TEXT("HIDE"));
//添加一个子Key,并设置值
lRet = RegSetValueEx(hKey, TEXT("Launch90"), 0, REG_SZ, (BYTE*)(pFileName), (dwRet)*sizeof(TCHAR));
//关闭注册表
RegCloseKey(hKey);
if(lRet != ERROR_SUCCESS)
{
MessageBox(hWnd, TEXT("系统参数错误,不能随系统启动"), NULL, MB_OKCANCEL);
}
else
{
MessageBox(hWnd, TEXT("成功设置成自启动"), NULL, MB_OKCANCEL);
}
}
将以上代码放入程序运行时一定能执行到的地方,然后再次开机时就能实现自启动。
3、使用微软的例子,将工程做成服务
微软工程目录:C:\Program Files\Windows Mobile 6 SDK\Samples\Common\CPP\Win32\SetupDLL