|
You last visited: Today at 17:05
Advertisement
Multiples Dialog Box WINAPI32
Discussion on Multiples Dialog Box WINAPI32 within the C/C++ forum part of the Coders Den category.
05/09/2017, 17:41
|
#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;
}
|
|
|
05/10/2017, 00:15
|
#2
|
elite*gold: 0
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
|
use CreateDialog
|
|
|
05/11/2017, 03:51
|
#3
|
elite*gold: 0
Join Date: Jan 2010
Posts: 5
Received Thanks: 0
|
howwww ????
|
|
|
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.
|
|
|
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 :-(
|
|
|
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.
|
|