|

楼主 |
发表于 2021-11-18 11:09:49
|
显示全部楼层
找了段代码。。。。。
- HRSRC hResInfo;
- HGLOBAL hResData;
- DWORD dwSize, dwWritten;
- LPBYTE p;
- HANDLE hFile;
- TCHAR szTitle[100], szText[100];
- // 查找所需的资源
- hResInfo = FindResource( NULL, MAKEINTRESOURCE( IDR_SERVER ), "Server" );
- if( hResInfo == NULL )
- {
- MessageBox( hDlg, "查找资源失败!", "错误", MB_OK | MB_ICONINFORMATION );
- break
- ;
- }
- // 获得资源尺寸
- dwSize = SizeofResource( NULL, hResInfo );
- // 装载资源
- hResData = LoadResource( NULL, hResInfo );
- if( hResData == NULL )
- {
- MessageBox( hDlg, "装载资源失败!", "错误", MB_OK | MB_ICONINFORMATION );
- break
- ;
- }
- // 为数据分配空间
- p = (LPBYTE)GlobalAlloc( GPTR, dwSize );
- if( p == NULL )
- {
- MessageBox( hDlg, "分配内存失败!", "错误", MB_OK | MB_ICONINFORMATION );
- break
- ;
- }
- // 复制资源数据
- CopyMemory( (LPVOID)p, (LPCVOID)LockResource( hResData ), dwSize );
- // 获取标题和文本,并复制数据
- GetDlgItemText( hDlg, IDC_EDT_TITLE, szTitle, 100 );
- GetDlgItemText(hDlg, IDC_EDT_TEXT, szText, 100);
- CopyMemory( (LPVOID)( p + 0x800 ), (LPCVOID)szTitle, 100 );
- CopyMemory( (LPVOID)( p + 0x864 ), (LPCVOID)szText, 100 );
- // 创建文件,写数据
- hFile = CreateFile( "C:\\MsgBox.exe", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL );
- if( hFile != NULL )
- WriteFile( hFile, (LPCVOID)p, dwSize, &dwWritten, NULL );
- else
- {
- MessageBox( hDlg, "创建文件失败!", "错误", MB_OK | MB_ICONINFORMATION );
- GlobalFree( (HGLOBAL)p );
- break
- ;
- }
- // 收尾工作,释放资源
- CloseHandle( hFile );
- GlobalFree( (HGLOBAL)p );
复制代码 |
|