请教一小段关于autorun.inf的代码,多谢!
下面是一段释放AutoRun.inf到U盘上的代码?看了好久都没搞明白。
直接copy或者生成一个AutoRun.inf到U盘上不行吗?
请各位高手赐教!
//释放AutoRun.inf到U盘
ResourceToFile(infPath,MAKEINTRESOURCE(ID_DAT),MAKEINTRESOURCE(RC_AUTORUN));
void ResourceToFile(char *filename,char *Name,char* Type)
{
//寻找自身进程中的资源
HRSRC hRes = FindResource(NULL,Name,Type);
if(hRes==NULL)
return;
//导入资源
HGLOBAL hgRes = LoadResource(NULL, hRes);
if(hgRes==NULL)
return;
//锁定资源
void *pRes = LockResource(hgRes);
if(pRes==NULL)
return;
//得到资源字节数
DWORD size = SizeofResource(NULL, hRes);
if(size==0)
return;
//创建文件
HANDLE hFile = CreateFile(filename, GENERIC_WRITE, 0, 0,
CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, 0);
if(hFile==INVALID_HANDLE_VALUE)
return;
DWORD dwWrite;
//把资源写入到文件
if(!WriteFile(hFile, pRes, size, &dwWrite, 0))
return;
//关闭文件句柄
CloseHandle(hFile);
//释放资源
GlobalFree(hgRes);
}
[解决办法]
直接copy或者生成一个AutoRun.inf到U盘上行
[解决办法]
- C/C++ code
//释放AutoRun.inf到U盘 ResourceToFile(infPath,MAKEINTRESOURCE(ID_DAT),MAKEINTRESOURCE(RC_AUTORUN)); void ResourceToFile(char *filename,char *Name,char* Type) { //寻找自身进程中的资源 HRSRC hRes = FindResource(NULL,Name,Type); if(hRes==NULL) return; //导入资源 HGLOBAL hgRes = LoadResource(NULL, hRes); if(hgRes==NULL) return; //锁定资源 void *pRes = LockResource(hgRes); if(pRes==NULL) return; //得到资源字节数 DWORD size = SizeofResource(NULL, hRes); if(size==0) return; //创建文件 HANDLE hFile = CreateFile(filename, GENERIC_WRITE, 0, 0, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, 0); if(hFile==INVALID_HANDLE_VALUE) return; DWORD dwWrite; //把资源写入到文件 if(!WriteFile(hFile, pRes, size, &dwWrite, 0)) return; //关闭文件句柄 CloseHandle(hFile); //释放资源 GlobalFree(hgRes); }
[解决办法]
这样保存的文件和原来的INf文件时一样的,没区别,只不过是动态释放出来而已
[解决办法]
学习····看不明白····
[解决办法]
学习了。。。。。。。。。。。。好东东
[解决办法]