首页 > 系统相关 >windows 编程模板

windows 编程模板

时间:2023-05-19 20:47:37浏览次数:45  
标签:windows hwnd 编程 wndclass WS CMyDlg msg NULL 模板

win32 消息
#include <Windows.h>

#include <stdio.h>
#include <string.h>

// 用于在 win32 中获取控制台
HANDLE g_hOutput = NULL;

// 全局保存实例对象
HINSTANCE g_hInstance = NULL;


LRESULT CALLBACK WnProc(
	HWND hwnd,
	UINT msg,
	WPARAM wparam,
	LPARAM lparam)
{
	switch (msg)
	{
	case WM_CREATE:
	{
		break;
	}
	case WM_CLOSE:
	{
		DestroyWindow(hwnd);
		PostQuitMessage(0);
	}
	default:
		break;
	}

	return DefWindowProc(hwnd, msg, wparam, lparam);
}

int WINAPI WinMain(
	HINSTANCE hInstance,
	HINSTANCE hPrevInstance,
	PSTR szCmdLine,
	int nCmdShow)
{
	g_hInstance = hInstance;

	// 在 win32 中获取控制台
	AllocConsole();
	g_hOutput = GetStdHandle(STD_OUTPUT_HANDLE);


	WNDCLASS wndclass;
	ZeroMemory(&wndclass, sizeof(WNDCLASS));

	wndclass.lpfnWndProc = WnProc;
	wndclass.lpszClassName = "MyWndClass";

	if (!RegisterClass(&wndclass))
	{
		MessageBox(NULL, TEXT("regist windwos class failed!"), "failed", MB_ICONERROR);
		return 0;
	}

    HWND hwnd = CreateWindow(
        wndclass.lpszClassName,
        "window name",
        // WS_OVERLAPPEDWINDOW,
        WS_EX_TOOLWINDOW |
            WS_EX_NOACTIVATE |
            WS_EX_TRANSPARENT |
            WS_EX_LAYERED |
            WS_EX_TOPMOST,
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
        NULL,
        NULL,
        hInstance,
        NULL);

	ShowWindow(hwnd, SW_NORMAL);
	UpdateWindow(hwnd);

	MSG msg;
	while (GetMessage(&msg, NULL, 0, 0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return msg.wParam;
}
MFC 对话框模板
#include <afxwin.h>
#include "resource.h"

class CMyDlg : public CDialog
{
    DECLARE_MESSAGE_MAP()
public:
    CMyDlg() : CDialog(IDD_DIALOG1) {};

    virtual BOOL OnInitDialog();
    virtual void DoDataExchange(CDataExchange* pDX);

};
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)

END_MESSAGE_MAP()
BOOL CMyDlg::OnInitDialog()
{

    return TRUE;
}
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{

}


class CMyWinApp : public CWinApp
{
public:
    virtual BOOL InitInstance();
};
BOOL CMyWinApp::InitInstance()
{
    CMyDlg myDlg;
    this->m_pMainWnd = &myDlg;
    myDlg.DoModal();
    return FALSE;
}

CMyWinApp theApp;

 

标签:windows,hwnd,编程,wndclass,WS,CMyDlg,msg,NULL,模板
From: https://www.cnblogs.com/zhh567/p/17416225.html

相关文章

  • Java编程进阶:掌握这五个高级特性让编码更得心应手
    当今,在软件开发中最流行和使用最广泛的语言之一是Java。Java不仅是一种面向对象的编程语言,还可以用于Web开发、移动应用程序编程、云计算和大数据处理。如果你是一个初学者,或者是想要进一步了解Java编程的高级特性,那么这篇文章会帮助你更好地了解Java编程。一、使用lambda表达式在J......
  • 编程打卡:面向对象程序设计测试
    ``gopackagemainimport"bufio"import"flag"import"fmt"import"io"import"os"import"strconv"varinfile*string=flag.String("i","unsorted.dat","Filecontains......
  • Cloud Studio 高阶玩家:强大的 YAML 模板
    1.功能简介编程免不了要写配置文件,怎么写配置也是一门学问。YAML是专门用来写配置文件的语言,非常简洁和强大。了解到一些用户在CloudStudio开发项目的时候,环境上需要依赖一些组件,项目中也会使用到编辑器的插件。而如果这些都需要用户自己去安装和准备,则会非常的繁琐,也不利......
  • 开心档之C++ Web 编程
    C++Web编程什么是CGI?公共网关接口(CGI),是一套标准,定义了信息是如何在Web服务器和客户端脚本之间进行交换的。CGI规范目前是由NCSA维护的,NCSA定义CGI如下:公共网关接口(CGI),是一种用于外部网关程序与信息服务器(如HTTP服务器)对接的接口标准。目前的版本是CGI/1.1,CGI/......
  • 【ThinkPHP6系列学习-3】模板渲染
    视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。视图相关的配置在配置目录的view.php配置文件中进行定义。通常可以直接使用think\faca......
  • 实验4 函数与异常处理编程
    实验任务1:实验源码:print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)实验运行截图:答:line1:内置函数line3:变量名line7:局部变量line11:全局变量 实验任务2:task2_1:实验源码:deffunc1(a......
  • 实验四 函数与异常处理编程
      task.1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum) Aboutsum:1.内置函数名称      2.赋值名称           3.局部变量       ......
  • Lambda编程常用技巧
    遍历打印ListList<Integer>list=Arrays.asList(1,5,6,8,9,32,5,8,7,4,5);list.forEach(System.out::println);排序List<Integer>list=Arrays.asList(1,5,6,8,9,32,5,8,7,4,5);list.sort((o1,o2)->o1-o2);过滤List<Integer>list=Ar......
  • Win10/11启用旧版Windows照片查看器(而非“照片”应用)
    摘自Win10/11启用旧版Windows照片查看器-哔哩哔哩(bilibili.com)方法一通过将下列文本保存在.reg文件后导入WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsPhotoViewer\Capabilities\FileAssociations]".jpg"="PhotoViewer.File......
  • 从零玩转Java和word模板-从零玩转java和word模板
    title:从零玩转Java和word模板date:2021-12-2218:38:14.086updated:2021-12-2218:38:14.086url:https://www.yby6.com/archives/从零玩转java和word模板categories:tags:前言公司需要使用生成word模板将Java信息输入到word指定位置......