非常简单,创建一个控制台程序,然后手动显示窗口即可。
main.cpp
#include
#include
#include "resource.h"BOOL CALLBACK DialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
int main()
{
HINSTANCE hInstance = GetModuleHandle(NULL);
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG_MAIN), NULL, DialogProc);
return 0;
}// 对话框窗口过程
BOOL CALLBACK DialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_INITDIALOG:
printf("对话框创建成功!\n");
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_BUTTON_OK:
MessageBox(NULL, TEXT("OK"), TEXT("OK"), MB_OK);
return TRUE;
case IDC_BUTTON_CANCEL:
MessageBox(NULL, TEXT("CANCEL"), TEXT("CANCEL"), MB_OK);
EndDialog(hDlg, 0);
return TRUE;
}
return TRUE;
case WM_CLOSE:
EndDialog(hDlg, 0);
return TRUE;
}
return FALSE;
}
resource.cpp
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ 生成的包含文件。
// 供 Resource.rc 使用
//
#define IDD_DIALOG_MAIN101
#define IDC_BUTTON_OK1001
#define IDC_BUTTON_CANCEL1002// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE103
#define _APS_NEXT_COMMAND_VALUE40001
#define _APS_NEXT_CONTROL_VALUE1003
#define _APS_NEXT_SYMED_VALUE101
#endif
#endif
【生成有控制台的WIN32程序】运行结果
文章图片
推荐阅读
- windows11|Windows11安装Android子系统
- C#|C# 文件路径操作
- 其他|有趣的10个CMD命令
- windows|Windows 11 手机诞生,还是双屏的()
- java|My GrokTalk-十分钟内十种工具
- Ubuntu|Ubuntu 3D桌面