自启动技术之快速启动目录

快速启动目录:

这是一种最简单的自启动技术,因为不用修改任何数据。

实现原理:

windows系统有自带的快速启动文件夹,只要把程序(一般是程序快捷方式)放入到这个快速启动文件夹中,系统在启动时就会自动地加载并运行相应的程序,实现开机自启动功能。

注意:快速启动目录并不是一个固定的目录,每台计算机的快速启动目录都不相同。需要使用 SHGetSpecialFolderPath
函数获取Windows系统中快速启动目录的路径,快速启动目录的CSIDL标识值为CSIDL_STARTUP。

使用CopyFile函数,将想要自启动的程序复制到启动目录下即可。(快捷方式同上,也可达到自启动效果)

代码实现:

BOOL CSelfStartDlg::FastStartDirectory(const char* lpszSrcFilePath)
{
	BOOL bRet = FALSE;
	char szStartupPath[MAX_PATH] = { 0 };
	char szDestFilePath[MAX_PATH] = { 0 };
	char TempSrcPath[MAX_PATH] = { 0 };

	strcpy_s(TempSrcPath, MAX_PATH, lpszSrcFilePath);
	//获取快速启动目录的路径
	bRet = SHGetSpecialFolderPathA(NULL, szStartupPath, CSIDL_STARTUP, TRUE);

	//保存快速启动目录
	USES_CONVERSION;
	m_FastStartDir = A2W(szStartupPath);
	if (FALSE == bRet)
	{
		return FALSE;
	}

	//获取目标文件名
	PathStripPathA((char*)lpszSrcFilePath);

	//拼接路径
	wsprintfA(szDestFilePath, "%s\\%s", szStartupPath, lpszSrcFilePath);

	//拷贝文件到快速启动目录下
	bRet = CopyFileA(TempSrcPath, szDestFilePath, FALSE);
	if (FALSE == bRet)
	{
		return FALSE;
	}
	return TRUE;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值