读书人

请问一小段关于autorun.inf的代码谢

发布时间: 2012-02-15 12:09:44 作者: rapoo

请教一小段关于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文件时一样的,没区别,只不过是动态释放出来而已
[解决办法]
学习····看不明白····
[解决办法]
学习了。。。。。。。。。。。。好东东
[解决办法]
探讨
那么autorun.inf文件中的内容是什么呢?程序的什么地方是和这相关的?

读书人网 >windows

热点推荐