Вот я недавно делала єто так:
только мене надо было изменить VERSION_INFO
| Код |
hExe = LoadLibrary( "mod1.exe" ); //модуль с которого ты береш ресурс if ( hExe == NULL ) { MessageBox( hDlgChange, _T("Could not load exe.!"), _T("Error"), MB_OK ); return FALSE; } hRes = FindResource( hExe, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION );// if ( hRes == NULL ) { MessageBox( hDlgChange, _T("Could not find resource.!"), _T("Error"), MB_OK ); return FALSE; } hResLoad = LoadResource( hExe, hRes ); if ( hResLoad == NULL ) { MessageBox( hDlgChange, _T("Could not load resource.!"), _T("Error"), MB_OK ); return FALSE; } lpResLock = LockResource( hResLoad ); if ( lpResLock == NULL ) { MessageBox( hDlgChange, _T("Could not lock.!"), _T("Error"), MB_OK ); return FALSE; } hUpdateRes = BeginUpdateResource( "mod2.exe", FALSE ); //а это тот, где надо изменить if ( hUpdateRes == NULL ) { MessageBox( hDlgChange, _T("Could not be update!"), _T("Error"), MB_OK ); return FALSE; }
result = UpdateResource( hUpdateRes, // update resource handle RT_VERSION, // change version resource MAKEINTRESOURCE(VS_VERSION_INFO), // version name MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), // neutral language lpResLock, // ptr to resource info SizeofResource(hExe, hRes)); // size of resource info. if ( result == FALSE ) { MessageBox( hDlgChange, _T("Could not update resource!"), _T("Error"), MB_OK ); return FALSE; } if (!EndUpdateResource(hUpdateRes, FALSE)) { MessageBox( hDlgChange, _T("Could not write changes to file!"), _T("Error"), MB_OK ); return FALSE; } if (!FreeLibrary(hExe)) { MessageBox( hDlgChange, _T("Could not free executable!"), _T("Error"), MB_OK ); return FALSE; }
|
|