实现程序自己加入开机启动

实现开机启动的方法有很多,但是在Win7中,修改注册表等操作需要高权限,这样的话,感觉就很麻烦。

我实现开机启动所用的方法是:为程序自己创建一个快捷方式,然后把快捷方式放入到开始菜单---程序---启动中,这个不需要用管理员权限。

可以学习的地方:

1、创建快捷方式

2、获取启动的文件夹地址(一个api搞定)

贴代码:

#include <ShlObj.h>
#include <Windows.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int main()
{
	TCHAR StartPath[MAX_PATH+1];
	TCHAR FilePath[MAX_PATH+1];
	ZeroMemory(FilePath,MAX_PATH+1);
	GetModuleFileName(NULL,FilePath,MAX_PATH);
	SHGetSpecialFolderPath(NULL,StartPath,7,FALSE);

	printf("%S\n",StartPath);

	::CoInitialize(NULL);
	IShellLink *psl;
	IPersistFile* ppf;
	HRESULT hr=CoCreateInstance(CLSID_ShellLink,NULL,CLSCTX_INPROC_SERVER,IID_IShellLink,(void**)&psl);
	if(SUCCEEDED(hr))
	{
		psl->SetPath(FilePath);
		hr=psl->QueryInterface(IID_IPersistFile,(void**)&ppf);
		if(SUCCEEDED(hr))
		{
			lstrcat(StartPath,TEXT("\\AutoStart.lnk"));
			ppf->Save(StartPath,STGM_READWRITE); 
			psl->Release();
			ppf->Release();
		}
	}
	cout<<"已加入开始---程序---启动,\n按任意键删除开机启动"<<endl;
	system("pause");
	DeleteFile(StartPath);
	system("pause");
	return 0;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值