win32程序

原创 2013年12月03日 23:29:06
#include <windows.h>
#include <stdio.h>
#include <tchar.h>

LRESULT CALLBACK WinYisProc(HWND hwnd,
							UINT uMsg,
							WPARAM wParam,
							LPARAM lParam);
int WINAPI WinMain
	(
	HINSTANCE hInstance,
	 HINSTANCE hPrevInstance,
	 LPSTR lpCmdLine,
	 int nCmdShow
	 )
{
	WNDCLASS wndcls;
	wndcls.cbClsExtra=0;
	wndcls.cbWndExtra=0;
	wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
	wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
	wndcls.hIcon=LoadIcon(NULL,(LPCWSTR)IDI_ERROR);
wndcls.hInstance = hInstance;
	wndcls.lpfnWndProc=WinYisProc;
	wndcls.lpszClassName=_T("h");
	wndcls.lpszMenuName=NULL;
	wndcls.style=CS_HREDRAW | CS_VREDRAW;
	RegisterClass(&wndcls);
	 
	HWND hwnd;
	hwnd=CreateWindow(_T("h"),_T("tjjjj"),WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);

	ShowWindow(hwnd,SW_SHOWNORMAL);
	UpdateWindow(hwnd);

	MSG msg;
	while( GetMessage(&msg,hwnd,0,0) )
	{
	
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return 0;
}
LRESULT CALLBACK WinYisProc(
						   HWND hwnd,
						   UINT uMsg,
						   WPARAM wParam,
						   LPARAM lParam
						   )
{
	switch( uMsg )
	{
	case WM_CHAR:
		char szChar[20];
		sprintf(szChar,"char is %d",wParam);
		MessageBox(hwnd,(LPCWSTR)szChar,_T("yis"),0);
		break;
	case WM_LBUTTONDOWN:
		MessageBox(hwnd, _T("mouse clicked"), _T("message"), 0);
		HDC hdc;
		hdc = GetDC(hwnd);
		TextOut(hdc, 0, 50, _T("我是个快乐的青年"), strlen("我是个快乐的青年"));
		break;
	case WM_PAINT:
		HDC hDC;
		PAINTSTRUCT ps;
		hDC=BeginPaint(hwnd,&ps);
		TextOut(hDC,0,0,_T("yisyisyis"),strlen("yisyisyis"));
		EndPaint(hwnd,&ps);
		break;
	case WM_CLOSE:
		if(IDYES==MessageBox(hwnd,(LPCWSTR)"是否真的结束?",(LPCWSTR)"yis",MB_YESNO))
		{
			DestroyWindow(hwnd);
		}
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd,uMsg,wParam,lParam);
	}
	return 0;


}

最简单的win32程序

一个最简单的windows程序,只实现弹出一个消息框。参考资料:windows程序设计/*-------------------------------------------------------...
  • nongzhenyu
  • nongzhenyu
  • 2005年11月06日 23:18
  • 1068

让Win32窗口程序拥有控制台窗口

让Win32窗口程序拥有控制台窗口     首先,为什么我们有了普通窗口后还要控制台窗口呢?因为我们可以用它方便的输出调试信息,而且普通玩家看到了也会觉得很高端。如果他会输几条命令,可能他会以为自己就...
  • u014629601
  • u014629601
  • 2017年07月31日 22:26
  • 193

一个win32应用程序文件的启动过程

学习windows 编程从mfc角度来说可分为两部分那就是WinMain函数以前的,和WinMain函数以后的。前者涉及很多windows操作系统内部的知识,后者需要看mfc源码。虽然大多数程序不需要...
  • hczhiyue
  • hczhiyue
  • 2014年02月08日 19:17
  • 1331

win32 单实例程序运行-无窗口程序也可

在main(WinMain、tWinMain)函数之前做一个数据共享段: #pragma data_seg("Shared") int volatile g_lAppInstance = 0; ...
  • xexiyong
  • xexiyong
  • 2015年03月06日 09:03
  • 916

[Win32]Win32窗口应用程序的框架

概述  现在市场上出现了很多应用程序框架,比如窗体程序,如MFC,.net framwork , VB , delphi,举不胜数。其实,这些并不是开发win32应用程序必需的东西,window...
  • ouyangshima
  • ouyangshima
  • 2013年03月11日 21:02
  • 2230

Win32窗口程序实例

转自:http://blog.csdn.net/earbao/article/details/8638348#include //Win32窗口程序实例 //声明消息处理函数 LRESU...
  • qq1978366308
  • qq1978366308
  • 2016年04月08日 08:55
  • 209

hello-win程序入门win32基本窗口框架全解析

在VC++6.0环境中创建win32程序 选择第三个这时可以运行看到hello world了。 程序解析: #define MAX_LOADSTRING 100  \\定义最大字长 HINST...
  • Calcular
  • Calcular
  • 2015年07月24日 11:26
  • 1591

如何在Win32窗口程序中发命令打开一个控制台,往里面打印(printf())输出一些数据

代码: AllocConsole(); HANDLE hOutput=GetStdHandle(STD_OUTPUT_HANDLE); unsigned long lgsize; WriteF...
  • ssmile
  • ssmile
  • 2012年08月08日 11:37
  • 4383

win32项目与win32控制台应用程序的转换方法

在《精通Windows.API-函数、接口、编程实例》一书中讲Windows API的系统基本服务的内容中,有一个将系统目录信息写入 systemroot.txt的代码实例。由于刚刚接触Windows...
  • sheldonlcy
  • sheldonlcy
  • 2015年02月23日 14:07
  • 1208

文件日志类(WIN32 , C++)

转自:http://blog.csdn.net/wujian53/archive/2008/04/10/2278106.aspx  ==================================...
  • dragon_feeling
  • dragon_feeling
  • 2010年05月04日 16:13
  • 1292
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:win32程序
举报原因:
原因补充:

(最多只允许输入30个字)