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

imring

Ride the Lightning
Всефорумный модератор
2,361
2,546
C++:
if (ImGui::Button("D", ImVec2(100.0f, 30.0f)))
{
    ImGui::RadioButton("A", true);
    ImGui::RadioButton("A", false);
}

C++:
bool Active = false; // возле bool Create

if (ImGui::Button("D", ImVec2(100.0f, 30.0f))) Active ^= true;
if(Active)
{
    ImGui::RadioButton("A", true);
    ImGui::RadioButton("A", false);
}
 
  • Нравится
Реакции: atizoff

atizoff

приобретаю кашель за деньги
Проверенный
1,296
1,179
может кто объяснить как работать с checkbox`ами? хочу сделать примерно так: чекбокс он то "моя фнука", если чекбокс офф то "моя функа офф". и ещё, как выровнять этот текст возле чекбокса? p.s checkbox от пасты индиго
upload_2018-12-23_19-11-25.png

C++:
#include "cInclude.h"



bool Create = false;
bool Active = false;









HRESULT APIENTRY myPresent(IDirect3DDevice9 * m_pDevice, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion)
{
    if (Create == false)
    {
        ImGui_Init(hWnd, m_pDevice);
        Create = true;
    }
    else
    {
        ImGui_NewFrame();

        if (bShowWindow)
        {
            DWORD dwFlag = ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_ShowBorders | ImGuiWindowFlags_NoSavedSettings;
            ImGui::Begin("legitXXX" , &bShowWindow, ImVec2(243, 200), 1.0f, dwFlag);
            {




                ImGui::Button("A", ImVec2(100.0f, 30.0f));
                ImGui::SameLine();
                if (ImGui::Button("D", ImVec2(100.0f, 30.0f))) Active ^= true;
                if (Active)
                {
                    static bool check = true;
                    if (ImGui::Checkbox("A", &check))
                    {
                        static bool check = false;
                    }
                }
               
                
            }
            ImGui::End();
        }
    
        ImGui::Render();
   
    }


    return oPresent->GetTrampoline()(m_pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}

HRESULT APIENTRY myReset(IDirect3DDevice9* m_pDevice, D3DPRESENT_PARAMETERS *pPresentationParameters)
{
    if (!Create)
        return m_pDevice->Reset(pPresentationParameters);

    ImGui_InvalidateDeviceObjects();

    auto   result = oReset->GetTrampoline()(m_pDevice, pPresentationParameters);
    ImGui_CreateDeviceObjects();
    return result;
}
bool Init()
{
    bool    bResult = false;
    HMODULE hD3d9 = NULL;
    if (hD3d9 = GetModuleHandleA("d3d9.dll"))
    {
        using oDirect3DCreate9Ex = HRESULT(WINAPI*)(UINT, IDirect3D9Ex**);
        oDirect3DCreate9Ex pDirect3DCreate9Ex = (oDirect3DCreate9Ex)GetProcAddress(hD3d9, "Direct3DCreate9Ex");
        if (pDirect3DCreate9Ex)
        {
            HRESULT hr = D3D_OK;
            LPDIRECT3D9EX d3d9ex = nullptr;
            if (SUCCEEDED(hr = pDirect3DCreate9Ex(D3D_SDK_VERSION, &d3d9ex)))
            {
                D3DPRESENT_PARAMETERS dp;
                ZeroMemory(&dp, sizeof(dp));
                dp.Windowed = 1;
                dp.SwapEffect = D3DSWAPEFFECT_FLIP;
                dp.BackBufferFormat = D3DFMT_A8R8G8B8;
                dp.BackBufferCount = 1;
                dp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

                IDirect3DDevice9Ex *mDevice = nullptr;
                if (SUCCEEDED(hr = d3d9ex->CreateDeviceEx(D3DADAPTER_DEFAULT, D3DDEVTYPE_NULLREF, NULL, D3DCREATE_HARDWARE_VERTEXPROCESSING, &dp, NULL, &mDevice)))
                {
                    bResult = true;
                    PVOID* vtbl = *reinterpret_cast<PVOID**>(mDevice);
                    auto& pContext = cContext::GetInstance();
                    pContext.ApplyDetour<PresentFn>(static_cast<PresentFn>(vtbl[17]), reinterpret_cast<PresentFn>(myPresent), &oPresent);
                    pContext.ApplyDetour<ResetFn>(static_cast<ResetFn>(vtbl[16]), reinterpret_cast<ResetFn>(myReset), &oReset);

                    mDevice->Release();

                }
                d3d9ex->Release();
            }
        }
    }
    return bResult;
}
unsigned WINAPI GUIDX(LPVOID  lpParam)
{

    hWnd = FindWindowA(NULL,"D3D9 Test");
    if (hWnd)
        m_pWindowProc = (WNDPROC)SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)myWndProc);

    while (!Init())
        Sleep(200);


    return 0L;
}

BOOL APIENTRY DllMain(
    _In_ HINSTANCE hinstDLL,
    _In_ DWORD     fdwReason,
    _In_ LPVOID    lpvReserved) {
    DisableThreadLibraryCalls(hinstDLL);
    switch (fdwReason) {
    case DLL_PROCESS_ATTACH: {

        _beginthreadex(NULL, NULL, GUIDX, NULL, NULL, NULL);
    }
                             break;
    case DLL_THREAD_ATTACH:

        break;
    case DLL_THREAD_DETACH:

        break;
    case DLL_PROCESS_DETACH:
        SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)m_pWindowProc);
        break;
    }
    return TRUE;
}
 

iAmerican

Известный
Друг
614
260
может кто объяснить как работать с checkbox`ами? хочу сделать примерно так: чекбокс он то "моя фнука", если чекбокс офф то "моя функа офф". и ещё, как выровнять этот текст возле чекбокса? p.s checkbox от пасты индиго
Посмотреть вложение 22890
C++:
#include "cInclude.h"



bool Create = false;
bool Active = false;









HRESULT APIENTRY myPresent(IDirect3DDevice9 * m_pDevice, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion)
{
    if (Create == false)
    {
        ImGui_Init(hWnd, m_pDevice);
        Create = true;
    }
    else
    {
        ImGui_NewFrame();

        if (bShowWindow)
        {
            DWORD dwFlag = ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_ShowBorders | ImGuiWindowFlags_NoSavedSettings;
            ImGui::Begin("legitXXX" , &bShowWindow, ImVec2(243, 200), 1.0f, dwFlag);
            {




                ImGui::Button("A", ImVec2(100.0f, 30.0f));
                ImGui::SameLine();
                if (ImGui::Button("D", ImVec2(100.0f, 30.0f))) Active ^= true;
                if (Active)
                {
                    static bool check = true;
                    if (ImGui::Checkbox("A", &check))
                    {
                        static bool check = false;
                    }
                }
              
               
            }
            ImGui::End();
        }
   
        ImGui::Render();
  
    }


    return oPresent->GetTrampoline()(m_pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}

HRESULT APIENTRY myReset(IDirect3DDevice9* m_pDevice, D3DPRESENT_PARAMETERS *pPresentationParameters)
{
    if (!Create)
        return m_pDevice->Reset(pPresentationParameters);

    ImGui_InvalidateDeviceObjects();

    auto   result = oReset->GetTrampoline()(m_pDevice, pPresentationParameters);
    ImGui_CreateDeviceObjects();
    return result;
}
bool Init()
{
    bool    bResult = false;
    HMODULE hD3d9 = NULL;
    if (hD3d9 = GetModuleHandleA("d3d9.dll"))
    {
        using oDirect3DCreate9Ex = HRESULT(WINAPI*)(UINT, IDirect3D9Ex**);
        oDirect3DCreate9Ex pDirect3DCreate9Ex = (oDirect3DCreate9Ex)GetProcAddress(hD3d9, "Direct3DCreate9Ex");
        if (pDirect3DCreate9Ex)
        {
            HRESULT hr = D3D_OK;
            LPDIRECT3D9EX d3d9ex = nullptr;
            if (SUCCEEDED(hr = pDirect3DCreate9Ex(D3D_SDK_VERSION, &d3d9ex)))
            {
                D3DPRESENT_PARAMETERS dp;
                ZeroMemory(&dp, sizeof(dp));
                dp.Windowed = 1;
                dp.SwapEffect = D3DSWAPEFFECT_FLIP;
                dp.BackBufferFormat = D3DFMT_A8R8G8B8;
                dp.BackBufferCount = 1;
                dp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

                IDirect3DDevice9Ex *mDevice = nullptr;
                if (SUCCEEDED(hr = d3d9ex->CreateDeviceEx(D3DADAPTER_DEFAULT, D3DDEVTYPE_NULLREF, NULL, D3DCREATE_HARDWARE_VERTEXPROCESSING, &dp, NULL, &mDevice)))
                {
                    bResult = true;
                    PVOID* vtbl = *reinterpret_cast<PVOID**>(mDevice);
                    auto& pContext = cContext::GetInstance();
                    pContext.ApplyDetour<PresentFn>(static_cast<PresentFn>(vtbl[17]), reinterpret_cast<PresentFn>(myPresent), &oPresent);
                    pContext.ApplyDetour<ResetFn>(static_cast<ResetFn>(vtbl[16]), reinterpret_cast<ResetFn>(myReset), &oReset);

                    mDevice->Release();

                }
                d3d9ex->Release();
            }
        }
    }
    return bResult;
}
unsigned WINAPI GUIDX(LPVOID  lpParam)
{

    hWnd = FindWindowA(NULL,"D3D9 Test");
    if (hWnd)
        m_pWindowProc = (WNDPROC)SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)myWndProc);

    while (!Init())
        Sleep(200);


    return 0L;
}

BOOL APIENTRY DllMain(
    _In_ HINSTANCE hinstDLL,
    _In_ DWORD     fdwReason,
    _In_ LPVOID    lpvReserved) {
    DisableThreadLibraryCalls(hinstDLL);
    switch (fdwReason) {
    case DLL_PROCESS_ATTACH: {

        _beginthreadex(NULL, NULL, GUIDX, NULL, NULL, NULL);
    }
                             break;
    case DLL_THREAD_ATTACH:

        break;
    case DLL_THREAD_DETACH:

        break;
    case DLL_PROCESS_DETACH:
        SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)m_pWindowProc);
        break;
    }
    return TRUE;
}
Основы языка учи.
Чекбокс спрашивай как выравнять там где взял.
 
  • Нравится
Реакции: atizoff

Cake_

Потрачен
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Объясните простым языком что такое явное преобразование и для чего оно используется?
 
Последнее редактирование:

-raymond-

Известный
110
9
как хукнуть клавишу на клавиатуре которую я отправляю серверу?
 

MCDXLVIII

Участник
39
10
Как телепортнуться , но при этом не мелькать.Как на видео или подобное.(c++ api)
 

Ranto

Участник
45
1
Есть где-нибудь уроки по d3d(d3d9/x i td), хотелось бы почитать; а то во-всяких видео-уроках недоскажут, пропустят через один шаг
zaranee spasibo :)
 

Cake_

Потрачен
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
upload_2018-12-28_19-52-15.png

В чём ошибка?
C++:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

#include "imgui.h"
#include "imgui_impl_dx9.h"
#include "imgui_impl_win32.h"
#include <d3d9.h>
#define DIRECTINPUT_VERSION 0x0800
#include <dinput.h>
#include <tchar.h>
extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

SAMPFUNCS *SF = new SAMPFUNCS();




bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
    bool activew = true;
    if (SUCCEEDED(SF->getRender()->BeginRender()))
    {
       
   
        if (activew)
        {
            ImGui_ImplDX9_NewFrame();
            ImGui_ImplWin32_NewFrame();
            ImGui::NewFrame();

            ImGui::Begin("ImGui меню", &activew, ImVec2(305, 160), 0.8f, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoResize);
            {
                ImGui::Checkbox("Aimbot", &bAimbot);
                ImGui::Checkbox("WH", &bAimbot);
                ImGui::Checkbox("SpeedHack", &bAimbot);
                ImGui::Checkbox("Что-то крутое", &bAimbot);
            }
            ImGui::End();
        }
        ImGui::EndFrame();
        ImGui::Render();
        ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());

        SF->getRender()->EndRender();
    }
    return true;
}

HRESULT CALLBACK Reset(D3DPRESENT_PARAMETERS* pPresentationParameters)
{
    return true;
}

bool CALLBACK WndProcHandler(HWND hwd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    ImGui_ImplWin32_WndProcHandler(hwd, msg, wParam, lParam);
    return true;
}

void CALLBACK PluginFree()
{

    ImGui_ImplDX9_Shutdown();
    ImGui_ImplWin32_Shutdown();
    ImGui::DestroyContext();
}


void CALLBACK mainloop()
{

    static bool init = false;
    if (!init)
    {

        if (GAME == nullptr)
            return;
        if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
            return;
        if (!SF->getSAMP()->IsInitialized())
            return;

        ImGui::CreateContext();
        ImGuiIO& io = ImGui::GetIO(); (void)io;
        ImGui_ImplWin32_Init(GetActiveWindow());
        ImGui_ImplDX9_Init(SF->getRender()->getD3DDevice());

        SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 0, 0xAA, 0 ), "SAMPFUNCS Plugin loaded." );
        SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
        SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_RESET, Reset);
        SF->getGame()->registerWndProcCallback(SFGame::MEDIUM_CB_PRIORITY, WndProcHandler);
        SF->getGame()->registerGameDestructorCallback(PluginFree);

       


        init = true;
    }
}


BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}

LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    return LRESULT();
}
 

Musaigen

abobusnik
Проверенный
1,607
1,365
Посмотреть вложение 23143
В чём ошибка?
C++:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

#include "imgui.h"
#include "imgui_impl_dx9.h"
#include "imgui_impl_win32.h"
#include <d3d9.h>
#define DIRECTINPUT_VERSION 0x0800
#include <dinput.h>
#include <tchar.h>
extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

SAMPFUNCS *SF = new SAMPFUNCS();




bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
    bool activew = true;
    if (SUCCEEDED(SF->getRender()->BeginRender()))
    {
      
  
        if (activew)
        {
            ImGui_ImplDX9_NewFrame();
            ImGui_ImplWin32_NewFrame();
            ImGui::NewFrame();

            ImGui::Begin("ImGui меню", &activew, ImVec2(305, 160), 0.8f, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoResize);
            {
                ImGui::Checkbox("Aimbot", &bAimbot);
                ImGui::Checkbox("WH", &bAimbot);
                ImGui::Checkbox("SpeedHack", &bAimbot);
                ImGui::Checkbox("Что-то крутое", &bAimbot);
            }
            ImGui::End();
        }
        ImGui::EndFrame();
        ImGui::Render();
        ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());

        SF->getRender()->EndRender();
    }
    return true;
}

HRESULT CALLBACK Reset(D3DPRESENT_PARAMETERS* pPresentationParameters)
{
    return true;
}

bool CALLBACK WndProcHandler(HWND hwd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    ImGui_ImplWin32_WndProcHandler(hwd, msg, wParam, lParam);
    return true;
}

void CALLBACK PluginFree()
{

    ImGui_ImplDX9_Shutdown();
    ImGui_ImplWin32_Shutdown();
    ImGui::DestroyContext();
}


void CALLBACK mainloop()
{

    static bool init = false;
    if (!init)
    {

        if (GAME == nullptr)
            return;
        if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
            return;
        if (!SF->getSAMP()->IsInitialized())
            return;

        ImGui::CreateContext();
        ImGuiIO& io = ImGui::GetIO(); (void)io;
        ImGui_ImplWin32_Init(GetActiveWindow());
        ImGui_ImplDX9_Init(SF->getRender()->getD3DDevice());

        SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 0, 0xAA, 0 ), "SAMPFUNCS Plugin loaded." );
        SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
        SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_RESET, Reset);
        SF->getGame()->registerWndProcCallback(SFGame::MEDIUM_CB_PRIORITY, WndProcHandler);
        SF->getGame()->registerGameDestructorCallback(PluginFree);

      


        init = true;
    }
}


BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}

LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    return LRESULT();
}
В том что переменная не объявлена.