VC开机自启动(二)无需管理员权限

news/2024/8/28 1:11:30

思路:无需管理员权限,把需要的开机自启动exe释放到用户启动项即可。

释放资源到本地
BOOL  ReleaseRes(char * strFileName, WORD wResID, char * strFileType)  
{  
	DWORD   dwWrite=0;          

	// 创建文件     
	HANDLE  hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,    
		CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);    
	if ( hFile == INVALID_HANDLE_VALUE )    
	{    
		return FALSE;    
	}    

	// 查找资源文件中、加载资源到内存、得到资源大小     
	HRSRC   hrsc =  FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);    
	HGLOBAL hG = LoadResource(NULL, hrsc);    
	DWORD   dwSize = SizeofResource( NULL,  hrsc);    
	if (!(hrsc&&hG&&dwSize))  
	{  
		return FALSE;  
	}  
	// 写入文件     
	WriteFile(hFile,hG,dwSize,&dwWrite,NULL);       
	CloseHandle( hFile );    
	return TRUE;    
}  

void AddNotificationIcon()
{
	char szFilePath[MAX_PATH + 1];
	GetEnvironmentVariable("UserProfile", szFilePath, sizeof(szFilePath)/ sizeof(TCHAR));
	OutputDebugString("GetEnvironmentVariable file\r\n\r\n");

	char *lpUsePath = "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\SDCheck.exe";
	strcat(szFilePath, lpUsePath);
	OutputDebugString((char *)szFilePath);

	//把exe中dll资源导出到本地文件下
	ReleaseRes((char *)szFilePath, (WORD)IDR_EXE1, "exe");

}



http://www.niftyadmin.cn/n/2460035.html

相关文章

小马哥四轴代码解读-SPI-flash篇

小马哥四轴代码解读-SPI-flash篇 SPI通信 SPI是一种高速的、全双工、同步的通信总线,主要应用于EEPROM、FLASH、实时时钟、AD转换器和etc SPI内部结构图: SPI接口总共有4条线: MISO、MOSI、SCL、CS要根据stm32的芯片引脚进行定义&…

因特网协议分层及它们的服务模型

为了给网络协议的设计提供一个结构,网络设计者以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件。协议分层具有概念化和结构化的有点。但是,分层的一个潜在缺点是某层可能重复其较低层的功能。例如:许多协议栈都基于链路和端到端…

MyBatis: 配置文件各个顶级元素必须有序

he content of element type “configuration” must match “(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?, objectWrapperFactory?,reflectorFactory?,plugins?,environments?, databaseIdProvider?,mappers?)”.

小马哥四轴代码解读-I2C-mpu6050篇

小马哥四轴代码解读-I2C-mup6050篇 I2C通信 I2C通信可以一主多从也可以多主多重(这个还不是很了解),一主多从,首先你得知道从机的地址,然后主机带着从机的地址在总线上广播,who is 这个地址,这…

网页细分图结果分析(Web Page Diagnostics)

LR实战之Discuz开源论坛——网页细分图结果分析(Web Page Diagnostics) 续LR实战之Discuz开源论坛项目,之前一直是创建虚拟用户脚本(Virtual User Generator)和场景(Controller),现在…

linux下C语言my_memcopy和my_strcpy实现

/* 实现内存复制的函数 */ void* my_memcpy(void* dest, const void* src, int len) {if(dest NULL || src NULL || len < 0){return NULL;}void *ret dest;char* p_dest (char*)dest;char* p_src (char*)src;/* 判断内存地址是否重合&#xff0c;如果内存重合就从高位…

MyBatis:配置文件传多个参数

取消类型属性(parameterType)定义&#xff0c;在语句里直接用序号#{0} #{1}等 select * from fleet f where fleetname #{0} and primary_fleetid!#{1}

log4j与commons-logging,slf4j的关系(转)

前面有一篇日志中简单的介绍了 log4j&#xff0c;同时也介绍了它与commons-logging的关系&#xff0c;但是突然冒出来一个slf4j&#xff0c;并且slf4j有取代commons-logging的趋势&#xff0c;所以&#xff0c;我们可以推知slf4j与commons-logging的作用应该 相差不大的。 好&a…