Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 17:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Multiples Dialog Box WINAPI32

Discussion on Multiples Dialog Box WINAPI32 within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2010
Posts: 5
Received Thanks: 0
Multiples Dialog Box WINAPI32

I have a project that has done in .DLL, but I have 3 dialog boxes, IDD_DIALOG1 (the main) and I have 2 other dialog boxes IDD_DIALOG2 and IDD_DIALOG3, of which within the IDD_DIALOG1 he inserted 2 BUTTONS that I want to call Each dialog box, for example: BUTTON1 that when clicking open the IDD_DIALOG2 and the BUTTON2 open the IDD_DIALOG3.

Code:
#include "windows.h"
#include "resource.h"

HINSTANCE H_DIALOG1, H_DIALOG2, H_DIALOG3;

BOOL CALLBACK call_Dialogo2(HWND, UINT, WPARAM, LPARAM);
BOOL CALLBACK call_Dialogo3(HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK call_Dialogo1(HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK call_Dialogo1(HWND hDialogo, UINT mensaje, WPARAM wParam, LPARAM lParam)
{
    switch (mensaje)
    {
        case WM_COMMAND:
            switch (LOWORD(wParam))
            {
            case IDCANCEL:
                EndDialog(hDialogo, false);
                break;

            case IDC_BUTTON1:
                DialogBox(H_DIALOG2, MAKEINTRESOURCE(IDD_DIALOG2), 0, call_Dialogo2);
                break;

            case IDC_BUTTON2:
                DialogBox(H_DIALOG3, MAKEINTRESOURCE(IDD_DIALOG3), 0, call_Dialogo3);
                break;
            }
    }
    return FALSE;
}
BOOL CALLBACK call_Dialogo2(HWND hDialogo, UINT mensaje, WPARAM wParam, LPARAM lParam)
{
    switch (mensaje)
    {
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDCANCEL:
            EndDialog(hDialogo, false);
            break;
        }
    }
    return FALSE;
}
BOOL CALLBACK call_Dialogo3(HWND hDialogo, UINT mensaje, WPARAM wParam, LPARAM lParam)
{
    switch (mensaje)
    {
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDCANCEL:
            EndDialog(hDialogo, false);
            break;
        }
    }
    return FALSE;
}
nelsonrex is offline  
Old 05/10/2017, 00:15   #2

 
elite*gold: 0
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
use CreateDialog
wurstbrot123 is offline  
Old 05/11/2017, 03:51   #3
 
elite*gold: 0
Join Date: Jan 2010
Posts: 5
Received Thanks: 0
howwww ????
nelsonrex is offline  
Old 05/12/2017, 15:18   #4

 
elite*gold: 0
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
Just use CreateDialog instead of DialogBox for the 2 extra dialogs and use
ShowWindow for showing / hiding them.
wurstbrot123 is offline  
Old 05/14/2017, 17:43   #5
 
elite*gold: 0
Join Date: Jan 2010
Posts: 5
Received Thanks: 0
U can fixed my code ? plz!

Code:
#include <windows.h>
#include "resource.h"

HINSTANCE H_DIALOG1, H_DIALOG2;

HMODULE GlobalhMod = NULL;
HWND hWnd;
HWND gameWindow;

BOOL CALLBACK call_Dialogo2(HWND hDialogo, UINT mensaje, WPARAM wParam, LPARAM lParam);

BOOL CALLBACK call_Dialogo1(HWND hDialogo, UINT mensaje, WPARAM wParam, LPARAM lParam);

// Hooked API
// Gracias ferris por el VirtualProtectEx
static const FARPROC Vprotect = (FARPROC)((DWORD)GetProcAddress(GetModuleHandleA("kernel32.dll"), "VirtualProtectEx") + 5);
_declspec(naked) BOOL WINAPI FixMem(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect)
{
	_asm
	{
		mov edi, edi
		push ebp
		mov ebp, esp
		jmp Vprotect
	}
}

BOOL CALLBACK call_Dialogo1(HWND hDialogo, UINT mensaje, WPARAM wParam, LPARAM lParam)
{
	switch (mensaje)
	{

	case WM_COMMAND:
		switch (LOWORD(wParam))
		{
			case IDC_BUTTON1:
			DialogBox(H_DIALOG2, MAKEINTRESOURCE(IDD_DIALOG2), 0, call_Dialogo2);
			ShowWindow(hDialogo, SW_SHOW);
			break;
		}

	case WM_CLOSE:
		break;

	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	}
	return FALSE;
}

BOOL CALLBACK call_Dialogo2(HWND hDialogo, UINT mensaje, WPARAM wParam, LPARAM lParam)
{
	switch (mensaje)
	{
	case WM_COMMAND:
		switch (LOWORD(wParam))
		{
		case IDCANCEL:
			EndDialog(hDialogo, false);
			break;
		}
	case WM_CLOSE:
		EndDialog(hWnd, 0);
		break;

	case WM_DESTROY:
		EndDialog(hWnd, 0);
		break;
	}
	return FALSE;
}


DWORD static WINAPI ThreadFunc(LPVOID)
{
	gameWindow = FindWindow(NULL, L"MapleStory");
	HRSRC hrsrc = FindResource(GetModuleHandle(L"DLL.dll"), MAKEINTRESOURCE(IDD_DIALOG1), RT_DIALOG);
	if (!hrsrc)
	{
		MessageBoxA(NULL, "Error", "Cargando Recurso", NULL);
		ExitThread(0);
	}
	//Aqui cargamos el dialogo que se encuentra dentro de este mismo dll
	//Como GamerzHacking.dll se ha injectado al proceso maplestory
	//Ahora lo busco y lo cargo como si fuera parte de maple
	HGLOBAL hglobal = LoadResource(GetModuleHandle(L"DLL.dll"), hrsrc);
	if (!hglobal)
	{
		MessageBoxA(NULL, "Error", "Cargando Recurso", NULL);
		ExitThread(0);
	}
	LPVOID hlock = LockResource(hglobal);
	if (!hlock)
	{
		MessageBoxA(NULL, "Error", "Cargando Recurso", NULL);
		ExitThread(0);
	}

	if (DialogBoxIndirectParam(GetModuleHandle(L"DLL.dll"), (LPCDLGTEMPLATE)hglobal, NULL, call_Dialogo1, 0) == -1)
	{
		MessageBoxA(NULL, "NO PUEDO CREAR DIALOGO VENTANA", "NO PUEDO CREAR DIALOGO VENTANA", NULL);
	}
	FreeLibraryAndExitThread(GetModuleHandle(L"DLL.dll"), 0);
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
	if (ul_reason_for_call == DLL_PROCESS_ATTACH)
	{
		CreateThread(0, 0, (LPTHREAD_START_ROUTINE)&ThreadFunc, 0, 0, 0); // Main thread
	}
	return true;
}
Plz, i dont speak english very well sorry :-(
nelsonrex is offline  
Reply


Similar Threads Similar Threads
[B] Multiples Steam Accounts [S] PP PSC
11/02/2012 - Trading - 0 Replies
Hello, I sell multiples Steam accounts. I give screens by MP or by Skype. CS:S - FM2012 - FM2013 - L4D2 - PCM2012 - NFS HOT PURSUIT - PORTAL2 I have Arma 2 et Arma OA but you cant play at DayZ !!!
[B] Multiples Steam Accounts [S] PP PSC
11/02/2012 - Steam Trading - 0 Replies
Hello, I sell multiples Steam accounts. I give screens by MP or by Skype. CS:S - FM2012 - FM2013 - L4D2 - PCM2012 - NFS HOT PURSUIT - PORTAL2 I have Arma 2 et Arma OA but you cant play at DayZ !!!
WTS EU account with multiples 60s
06/29/2012 - Diablo 3 Trading - 0 Replies
Softcore: Wiz 60 DH 60 WD 60 Barb 53 Hardcore Barb 53 Barb ~20



All times are GMT +1. The time now is 17:06.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.