Click here to Skip to main content
15,888,521 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a project where I try to open another window (dialog) and I'm trying without success to do it.
I looked everywhere possible and not found an answer.
I opened a new project to try to put the commands I tried the original project and there was no success. I hope you can help me. Here are the codes:
C++
#include "stdafx.h"
#include "resource.h"
#include <WinBase.h>
#include <commctrl.h>
#include <windows.h>
HWND hWnd;

BOOL CALLBACK DlgProc2 (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	UNREFERENCED_PARAMETER(lParam);
	switch(uMsg) 
	{

	case WM_INITDIALOG:	
		break;
	
	case WM_HOTKEY:
		break;

	case WM_COMMAND:
		{
			if(wParam == IDOK)
			{
				EndDialog(hWnd,0);
			}
		break;
		}

	case WM_CLOSE:
		EndDialog(hWnd, 0);
		break;

	case WM_DESTROY:
		EndDialog(hWnd, 0);
		break;

	default:
		break;
	}
	return 0;
}


BOOL CALLBACK DlgProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	//UNREFERENCED_PARAMETER(lParam);
	switch(uMsg) 
	{

	case WM_INITDIALOG:	
		break;
	
	case WM_HOTKEY:
		break;

	case WM_COMMAND:
		{
			if(wParam == IDC_BUTTON2)
			{
								TerminateProcess(GetCurrentProcess(), 0);
			}
	case IDC_BUTTON1: // Auto Loot
			{
			DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG2), hWnd, (DLGPROC)DlgProc2);
				}

		break;
		}

	case WM_CLOSE:
		EndDialog(hWnd, 0);
		break;

	case WM_DESTROY:
		EndDialog(hWnd, 0);
		break;

	default:
		break;
	}
	return 0;
}

DWORD WINAPI MainWin( HMODULE hModule){
	Sleep(500);
	DialogBox(hModule, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DlgProc);
	ExitThread(0);
	return 0;
}
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
					 )
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		DisableThreadLibraryCalls(hModule);
			CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MainWin, hModule, 0, NULL);
			break;
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
			break;
	}
	return TRUE;
}



C++
// Generated by ResEdit 1.5.11
// Copyright (C) 2006-2012
// http://www.resedit.net

#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
#include "resource.h"




//
// Dialog resources
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG1 DIALOG 0, 0, 186, 95
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "Ms Shell Dlg"
{
    DEFPUSHBUTTON   "Button1", IDC_BUTTON1, 81, 14, 50, 14
    PUSHBUTTON      "Button2", IDC_BUTTON2, 84, 42, 50, 14
}



LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG2 DIALOG 0, 0, 186, 95
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "Ms Shell Dlg"
{
    DEFPUSHBUTTON   "Button1", IDC_BUTTON1, 134, 25, 50, 14
    PUSHBUTTON      "Button2", IDC_BUTTON2, 117, 48, 50, 14
}


C++
#ifndef IDC_STATIC
#define IDC_STATIC (-1)
#endif

#define IDD_DIALOG1                             100
#define IDD_DIALOG2                             101
#define IDC_BUTTON1                             1002
#define IDC_BUTTON2                             1003
Posted
Comments
Richard MacCutchan 29-Mar-13 5:14am    
This project is a DLL, so how do you start it?

1 solution

after
VB
case WM_COMMAND:


you must use switch case block

C#
case WM_COMMAND:
    wmId    = LOWORD(wParam);
    wmEvent = HIWORD(wParam);
    // Parse the menu selections:
    switch (wmId){


and so on
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900