Вот это Код (Text): HMODULE lib; HANDLE upd; void ErrorDescr() { DWORD erId=GetLastError(); wchar_t erbuf[1024]=L""; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,0,erId,0,erbuf,1024,0); CString str; str.Format((L"Код ошибки: %d"),erId); MessageBox(0,erbuf,str,MB_ICONERROR); } BOOL WINAPI EnumNamesFunc(HMODULE hModule, LPCTSTR lpType,LPTSTR lpName,LONG lParam) { /*wchar_t buffer[100]; if ((ULONG)lpName & 0xFFFF0000) { wsprintf(buffer,L"%s\n", lpName); } else { wsprintf(buffer, L"%u\n",(USHORT)lpName); }*/ HRSRC res=FindResource(lib, lpName, lpType ); if(res==NULL){ErrorDescr();} if(res!=NULL) { HGLOBAL gl=LoadResource(lib,res); if(gl==NULL){ErrorDescr();} LPVOID rs=LockResource(gl); if(rs==NULL){ErrorDescr();} if(UpdateResource(upd,lpType,lpName,MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),rs,SizeofResource(lib,res))!=TRUE) { ErrorDescr(); } } return TRUE; } BOOL WINAPI EnumTypesFunc(HMODULE hModule,LPTSTR lpType, LONG lParam) { DWORD trs=(DWORD)lpType; if(MAKEINTRESOURCE(trs)==RT_ICON || MAKEINTRESOURCE(trs)==RT_GROUP_ICON || MAKEINTRESOURCE(trs)==RT_MANIFEST) { if(EnumResourceNames(hModule,lpType,(ENUMRESNAMEPROC)EnumNamesFunc,0)!=TRUE) { ErrorDescr(); } } return(TRUE); } void CopyReses(wchar_t *targ,wchar_t *source) { upd=BeginUpdateResource(targ,FALSE); if(upd==NULL){ErrorDescr();} lib=LoadLibrary(source); if(lib==NULL){ErrorDescr();} if(EnumResourceTypes(lib,(ENUMRESTYPEPROC)EnumTypesFunc,0)!=TRUE) { ErrorDescr(); } EndUpdateResource(upd,FALSE); } работало в RAD studio нормально,а VS 2010 нехочет.Проблема в том что никаких сообщений об ошибках нету.Как бы все везде TRUE и не NULL.Но иконки некопируются.