Другое С/С++ Вопрос - Ответ

Young123

Новичок
10
0
Как выделить активные кнопки в ImGui?
То есть когда я нажимаю на кнопку она становится другого цвета, типо активная, нажимаю второй раз она уже не другого цвета, то есть не активная
 

korsarsan

Участник
82
31
Знает кто как поправить, с помощью plugin sdk хочу вывести значение патронов в обойме, но вы выводит -0, что не так ?
C++:
CPed* pPedSelf = FindPlayerPed();
            char Barr[50];
            sprintf(Barr, "%d", pPedSelf->m_aWeapons->m_nAmmoInClip);
            pRender->DrawString(pRender->pHPFont, Barr, { 1535 ,668, 1 }, 25, g_Config.g_Style.vecTheme[ImGuiCol_HP], true);
 

Musaigen

ihatemyself
Проверенный
1,710
1,610
Знает кто как поправить, с помощью plugin sdk хочу вывести значение патронов в обойме, но вы выводит -0, что не так ?
C++:
CPed* pPedSelf = FindPlayerPed();
            char Barr[50];
            sprintf(Barr, "%d", pPedSelf->m_aWeapons->m_nAmmoInClip);
            pRender->DrawString(pRender->pHPFont, Barr, { 1535 ,668, 1 }, 25, g_Config.g_Style.vecTheme[ImGuiCol_HP], true);
m_aWeapons это массив как бы
 
  • Нравится
Реакции: korsarsan и ARMOR

ARMOR

God has forsaken us
Модератор
5,060
7,466
Знает кто как поправить, с помощью plugin sdk хочу вывести значение патронов в обойме, но вы выводит -0, что не так ?
C++:
CPed* pPedSelf = FindPlayerPed();
            char Barr[50];
            sprintf(Barr, "%d", pPedSelf->m_aWeapons->m_nAmmoInClip);
            pRender->DrawString(pRender->pHPFont, Barr, { 1535 ,668, 1 }, 25, g_Config.g_Style.vecTheme[ImGuiCol_HP], true);
C++:
CPed* Ped = FindPlayerPed();
char weaponSlot = Ped->m_nActiveWeaponSlot;
CWeapon* Weapon = Ped->m_aWeapons;
int ammoInClip = Weapon[weaponSlot].m_nAmmoInClip;
 
  • Влюблен
  • Нравится
Реакции: korsarsan и Z3roKwq
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
это не решает проблему


C++:
#include <Windows.h>
#include <iostream>
#include <string>

using namespace std;

HHOOK hHook;

LRESULT CALLBACK HookProcedure(int nCode, WPARAM wParam, LPARAM lParam)
{
    cout << "Хук продус" << endl;
    if (nCode == HCBT_CREATEWND)
    {
        HWND hwnd = (HWND)wParam;
        char title[1024];
        GetWindowTextA(hwnd, title, sizeof(title));
        cout << "Создано новое окно: " << title << endl;
    }

    return CallNextHookEx(hHook, nCode, wParam, lParam);
}

int main()
{
    // Устанавливаем глобальный хук на создание окон
    hHook = SetWindowsHookEx(WH_CBT, (HOOKPROC)HookProcedure, NULL, GetCurrentThreadId());
    if (hHook == NULL)
    {
        cout << "Ошибка установки хука: " << GetLastError() << endl;
        return 1;
    }

    // Ожидаем нажатия клавиши
    cout << "Хук установлен. Нажмите любую клавишу для выхода." << endl;
    cin.get();

    // Отключаем хук
    UnhookWindowsHookEx(hHook);

    return 0;
}
изменил прогу, теперь при запуске проги, пишет что хук установлен, только при запуске программ ничего не выводится в консоль, и отладочная строчка не появляется cout << "Хук продус" << endl;
ап
 
  • Грустно
Реакции: deleted-user-511790
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Это у тебя консоль? Там вроде есть фигня, что с консолями такое криво работает.
да консоль, мне нужна хоть как-то проверить работу этого, использую пока консоль
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сделай приложение Win32
все так же
C++:
#include <Windows.h>
#include <string>

using namespace std;

HHOOK hHook;
HWND hListBox;

void Debug(const char* message)
{
    std::string errorMsg = std::string(message) + std::to_string(GetLastError());
    SendMessageA(hListBox, LB_ADDSTRING, 0, (LPARAM)errorMsg.c_str());
}

LRESULT CALLBACK HookProcedure(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode == HCBT_CREATEWND)
    {
        HWND hwnd = (HWND)wParam;
        char title[1024];
        GetWindowTextA(hwnd, title, sizeof(title));
        SendMessageA(hListBox, LB_ADDSTRING, 0, (LPARAM)title);
    }

    return CallNextHookEx(hHook, nCode, wParam, lParam);
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    HWND hWnd = CreateWindowEx(0, L"ListBox", L"f", WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_VSCROLL | LBS_NOTIFY, 100, 100, 400, 300, NULL, NULL, hInstance, NULL);
    if (hWnd == NULL)
    {
        Debug("Ошибка создания окна: ");
        return 1;
    }

    hListBox = hWnd;

    hHook = SetWindowsHookEx(WH_CBT, HookProcedure, NULL, GetCurrentThreadId());
    if (hHook == NULL)
    {
        Debug("Ошибка установки хука: ");
        return 1;
    }

    Debug("Все ок: ");

    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }


    UnhookWindowsHookEx(hHook);

    return 0;
}
 

_doomsday_

Известный
15
3
InputText вместо кириллицы выводит цифры и символы
Кириллические глифы в подгрузке шрифта есть (шрифт стандартный), WM_CHAR менял
В чем еще может быть проблема?
 

Digger Man52

52NGG
1,096
984
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
InputText вместо кириллицы выводит цифры и символы
Кириллические глифы в подгрузке шрифта есть (шрифт стандартный), WM_CHAR менял
В чем еще может быть проблема?
кодировка мб не та стоит?
SetConsoleOutputCP(65001);
 
  • Нравится
Реакции: Savok

Dark_Knight

Me, me and me.
Друг
4,080
2,112
кодировка мб не та стоит?
SetConsoleOutputCP(65001);
Это имгуи. Чуть твой пример не катит)
InputText вместо кириллицы выводит цифры и символы
Кириллические глифы в подгрузке шрифта есть (шрифт стандартный), WM_CHAR менял
В чем еще может быть проблема?
Имгуи не анси работает, а с Utf8, точнее wchar
 
  • Нравится
Реакции: Z3roKwq
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1688201914907.png

что я не так делаю, почему методы в библиотеке detours DetourTransactionBegin() и DetourUpdateThread(GetCurrentThread()) возвращают false, но программа работает нормально, в чем может быть проблема?

UPD: понял разобрался оно всегда будет возвращать false
1688202389467.png
1688202391520.png
 
Последнее редактирование:

вайега52

cache miss
Модератор
3,062
3,297
Хочу наклепать вмп хуков на интерфейс ракпира, есть у кого-то указатель на него? И стоит ли вообще ставить вмт хуки на интерфейс ракпира, а не джамп хуки на методы самого ракпира?