1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/killvxk-FUDPackage

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
新建文本文档.txt 1.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.06.2025 19:45 c0f1ffc
```c
#include "stdafx.h"
#include <Windows.h>
BOOL CALLBACK EnumResIconProc(
__in HMODULE hModule,
__in LPCTSTR lpszType,
__in LPTSTR lpszName, // автоматическое
__in LONG_PTR lParam // вирусный файл
)
{
HRSRC hRsrc = FindResource(hModule, lpszName, RT_ICON);
HGLOBAL hGlobal = LoadResource(hModule, hRsrc);
LPVOID lpData = LockResource(hGlobal);
DWORD cbData = SizeofResource(hModule, hRsrc);
if (lpData == NULL)
{
throw("Не удалось заблокировать иконку.");
}
//if (lpszType == 3)
//{
HANDLE handle = BeginUpdateResource((LPCWSTR)lParam, 0);
if (handle == NULL)
{
throw("Не удалось начать обновление ресурса.");
}
BOOL flag = UpdateResource(handle, lpszType, lpszName, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), lpData, cbData);
if (flag == NULL) throw("Не удалось обновить ресурс.");
if (!EndUpdateResource(handle, 0)) throw("Не удалось завершить обновление ресурса");
//}
return 0;
}
void ChangeIcon(wchar_t * strSourcePath, wchar_t * strDesPath)
{
HMODULE handle = LoadLibrary(strSourcePath);
EnumResourceNames(handle, RT_ICON, (ENUMRESNAMEPROC)EnumResIconProc, (LONG_PTR)strDesPath);
FreeLibrary(handle);
}
int _tmain(int argc, _TCHAR* argv[])
{
wchar_t strSourcePath[MAX_PATH];
wchar_t strDesPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, strSourcePath);
GetCurrentDirectory(MAX_PATH, strDesPath);
wcscat(strSourcePath, TEXT("\\2.exe")); // 2->1 иконка ????
wcscat(strDesPath, TEXT("\\1.exe"));
ChangeIcon(strSourcePath, strDesPath);
return 0;
}
```

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/killvxk-FUDPackage.git
git@api.gitlife.ru:oschina-mirror/killvxk-FUDPackage.git
oschina-mirror
killvxk-FUDPackage
killvxk-FUDPackage
master