`

win32的最简单程序

阅读更多

要建立一个窗口的过程

1,编写WNDCLASS结构

 

WNDCLASS wnd;
 wnd.lpszClassName="Window1";
 wnd.hInstance=hInstance;
 wnd.cbClsExtra=0;
 wnd.cbWndExtra=0;
 wnd.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);//黑色画面
 wnd.hCursor=::LoadCursor(0,IDC_ARROW);
 wnd.hIcon=::LoadIcon(0,IDI_APPLICATION);
 wnd.lpfnWndProc=WindowProc;
 wnd.lpszMenuName=0;
 wnd.style=CS_VREDRAW|CS_HREDRAW;

 

2.注册WNDCLASS,调用RegistorClass

 

 if(!::RegisterClass(&wnd)){
  MessageBox(0,"注册窗口出错!","error",0);
  return 0;
 }

 

 

 

3.创建窗口,CreateWindow

 

 HWND hwnd=::CreateWindow(
  "Window1",
  "第一个游戏",
  WS_OVERLAPPEDWINDOW,
  100,
  100,
  800,
  600,
  0,
  0,
  hInstance,
  0);

 

 

4.显示窗口,ShowWindow()

 

::ShowWindow(hwnd,SW_SHOW);

 

 

5.while循环,处理消息

 

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

 

全部代码:

 

#include "windows.h"
//回调函数,处理消息
LRESULT CALLBACK WindowProc(
  HWND hwnd,      // handle to window
  UINT uMsg,      // message identifier
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
  )
{

	switch(uMsg)
	{
	case WM_DESTROY:
		::PostQuitMessage(0);
		break;
	default:
		return ::DefWindowProc(hwnd,uMsg,wParam,lParam);

	}
	return 0;
}

int WINAPI WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
)
{
	WNDCLASS wnd;
	wnd.lpszClassName="Window1";
	wnd.hInstance=hInstance;
	wnd.cbClsExtra=0;
	wnd.cbWndExtra=0;
	wnd.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
	wnd.hCursor=::LoadCursor(0,IDC_ARROW);
	wnd.hIcon=::LoadIcon(0,IDI_APPLICATION);
	wnd.lpfnWndProc=WindowProc;
	wnd.lpszMenuName=0;
	wnd.style=CS_VREDRAW|CS_HREDRAW;
	if(!::RegisterClass(&wnd)){
		MessageBox(0,"注册窗口出错!","error",0);
		return 0;
	}
	HWND hwnd=::CreateWindow(
		"Window1",
		"第一个游戏",
		WS_OVERLAPPEDWINDOW,
		100,
		100,
		800,
		600,
		0,
		0,
		hInstance,
		0);
	::ShowWindow(hwnd,SW_SHOW);

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

 

 

分享到:
评论

相关推荐

    vc创建一个最简单的win32程序

    【VC创建一个最简单的Win32程序】 在深入讲解如何创建一个Win32程序之前,首先需要理解Win32编程的基本概念。Win32 API(应用程序接口)是Microsoft Windows操作系统提供的一系列函数和数据结构,用于开发Windows...

    最简单Win32程序

    本文将深入探讨“最简单Win32程序”的核心概念,帮助初学者理解Win32 API的基础及其在Direct3D 11学习中的作用。 Win32 API(应用程序接口)是微软为Windows操作系统提供的编程接口,它允许开发者创建原生的Windows...

    win32最基础应用程序

    Win32最基础应用程序是指基于Microsoft Windows操作系统的32位应用程序开发。Win32 API(应用程序接口)是Windows操作系统提供给开发者的一个接口,允许程序员直接与操作系统交互,创建各种功能丰富的桌面应用程序。...

    win32应用台程序简单计算器

    "win32应用台程序简单计算器"是一个使用Win32 API编写的计算器程序,它为初学者提供了学习Win32编程基础的良好实例。 在Win32编程中,我们通常会用到以下关键概念: 1. **窗口类(Window Class)**:窗口类定义了...

    简单win32控制台程序

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来开发一个简单的Win32控制台程序,特别是涉及到“纸牌”游戏的概念。MFC是微软为Windows应用程序开发提供的一套C++类库,它封装了Windows API...

    win32汇编最简单程序

    Sample code for < Win32ASM Programming 2nd Edition> ; by 罗云彬, http://asm.yeah.net ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; Test.asm ; 编程环境测试代码 ;>>>>>>>>>>>>>...

    vc win32 api tray program 托盘程序

    在MFC(Microsoft Foundation Classes)库中,创建托盘程序相对简单,但本项目选择使用Win32 API,可能是因为开发者更喜欢API的直接性和灵活性,或者想避免MFC带来的额外依赖。 在使用Win32 API编写托盘程序时,...

    最精简的 win32 程序.rar

    "最精简的 Win32 程序"这个标题可能是指一个包含了基础Win32编程元素的简单示例项目。 在"visual c++最精简的SDK程序.rar"描述中,我们推测这是一个利用Visual C++编译环境,结合Win32 SDK创建的最小化示例。Visual...

    用C语言做Win32程序设计

    【标题】: "用C语言做Win32程序设计" 【描述】: "用C语言设计Win32程序界面,创建美观的QQ登录界面案例" 【标签】: "WINDOWS编程" 在Windows编程中,C语言可以用来创建底层的Win32应用程序,包括图形用户界面(GUI...

    Win32 多线程程序设计完全手册PDF,本书详细讲解了多线程程序设计。

    《Win32多线程程序设计完全手册》是一本深入探讨Windows操作系统环境下多线程编程技术的专业书籍。在计算机科学中,多线程是并行处理的一种方式,它允许一个应用程序同时执行多个任务,从而提高了系统的效率和响应...

    给VC++初学者的最简单win32窗口模板

    本教程将围绕“给VC++初学者的最简单Win32窗口模板”展开,帮助你理解如何利用Visual C++来构建一个基本的Win32窗口。 首先,我们需要了解Win32窗口的基本结构。每个Win32窗口都基于一个窗口类(Window Class),...

    win32自动画图程序

    在VC++环境中,利用Win32 API(应用程序接口)创建一个自动画图程序是一项基础而重要的任务。Win32 API提供了丰富的图形绘制功能,使得开发者能够构建出具有复杂图形界面的应用程序。本教程将深入探讨如何在Win32...

    win32程序中使用console窗口

    在Windows操作系统中,Win32 API(应用程序接口)是开发者编写本地系统级应用程序的主要工具。本文将深入探讨如何在Win32程序中使用console窗口,以便在开发过程中方便地查看和记录调试信息。 首先,创建一个Win32...

    Win32下的时钟程序实例源码

    这个“Win32下的时钟程序实例源码”提供了一个在Win32环境下编写简单时钟程序的示例,帮助开发者理解和实践如何在非MFC(Microsoft Foundation Classes)环境中创建实时显示时间的应用。 MFC是微软提供的一个C++库...

    《白手起家Win32SDK应用程序》第二篇_创建Win32工程和主函数

    本文旨在详细介绍如何使用Microsoft Visual C++ 6.0(简称VC6)创建一个简单的Win32 SDK应用程序。通过本教程,您将了解如何创建一个新的工程,并在其中编写主函数来实现基本的应用程序框架。 ### 二、创建空的Win...

    用C语言设计Win32程序

    ### 用C语言设计Win32程序:关键知识点解析 #### 一、概述 本文将根据给定的信息,深入解析《用C语言设计Win32程序》这本书的主要内容及其涉及的关键知识点。本书聚焦于实际应用,旨在通过具体的编程实例帮助读者...

    白手起家Win32SDK应用程序

    在本篇文章中,我们将深入探讨如何使用Win32 SDK开发一个简单的单窗口应用程序。这个过程不仅有助于理解Win32程序设计的基本概念和步骤,还能帮助读者掌握直接使用Win32 API进行编程的基础知识。 #### 二、从VC6到...

    汇编Win32ASM 开发工具

    这将帮助初学者快速上手,理解如何使用Win32ASM编写、编译和运行简单的汇编程序。 总的来说,汇编语言和Win32ASM的结合为开发者提供了一个深入理解Windows系统工作方式的途径,并且能够创建高效、针对性强的程序。...

    用C语言做Win32程序

    通过本章的学习,你应该已经掌握了如何使用C语言编写简单的Win32窗口程序。接下来的章节将会更加深入地探讨文件操作、网络编程和数据库访问等内容,这些都是现代软件开发中不可或缺的部分。继续探索,你会发现自己在...

    Win32 简易时钟

    本教程将深入探讨如何使用Win32 API来创建一个简单的时钟程序,这非常适合Win32初学者进行学习。 首先,让我们了解Win32 API的基本概念。它是一组函数、常量、消息和结构,它们允许程序员访问操作系统的核心服务,...

Global site tag (gtag.js) - Google Analytics