编写Console 控制台程序怎么释放其他文件?看了 http://blog.csdn.net/wangningyu/article/details/4378378
编写Console 控制台程序怎么释放其他文件?
看了 http://blog.csdn.net/wangningyu/article/details/4378378
的例子发现人家是用MFC写的 然后在资源里插入自定义的类型 然后找到该类型资源的ID来释放
我现在编写成 Console 控制台程序 我尝试添加资源 但直接就是一个文件给添加进去了 没有什么资源id啊 怎么用
FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType); 来找到 然后释放呢。
问:win32 Console程序 怎么样实现 释放出一个文件。我释放的额是一个dll.
[解决办法]
控制台程序不能直接添加资源,不过你可以用命令行把.rc编译为.res之后,自己去解析资源文件。或者是根本就不用资源文件,直接解析所需要出来的文件的数据。控制台程序同样可以用Windows API,所以按照Windows API函数去操作DLL即可。
[解决办法]
- C/C++ code
unsigned char mydll[]={0x4D,0x5A,0x90,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x0E,0x1F,0xBA,0x0E,0x00,0xB4,0x09,0xCD,0x21,0xB8,0x01,0x4C,0xCD,0x21,0x54,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20,0x63,0x61,0x6E,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x72,0x75,0x6E,0x20,0x69,0x6E,0x20,0x44,0x4F,0x53,0x20,0x6D,0x6F,0x64,0x65,0x2E,0x0D,0x0D,0x0A,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//...};
[解决办法]
控制台也可以加资源,把要作的文件加到资源中。
BOOL ReleaseRes(CString strFileName,WORD wResID,CString strFileType)
{
// 资源大小
DWORD dwWrite=0;
// 查找资源文件中、加载资源到内存、得到资源大小
HRSRC hrsc=::FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);
HGLOBAL hG=LoadResource(NULL, hrsc);
DWORD dwSize = SizeofResource( NULL, hrsc);
if(dwSize<=0)
return FALSE;
// 创建文件
HANDLE hFile = ::CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,
CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if ( hFile == INVALID_HANDLE_VALUE )
{
return FALSE;
}
// 写入文件
::WriteFile(hFile,hG,dwSize,&dwWrite,NULL);
::CloseHandle( hFile );
return TRUE;
}
char *savefile="c:/aaaa.JPG"
ReleaseRes(savefile,IDR_HookExplorer,"JPG");
[解决办法]
一个是字符串一个是字符数组,如果你想用资源,可以吧资源打包成dll,然后用api读取之
[解决办法]
