windows api 程序

Posted 晴朗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows api 程序相关的知识,希望对你有一定的参考价值。

#include "StdAfx.h"
#include<windows.h>
#include<mmsystem.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE  hinstance,HINSTANCE hPrevinstance,PSTR szCmdLine,int iCmdShow)
{
	static TCHAR szAppName[]=TEXT("HelloWIN");
	HWND hwnd;
	MSG msg;
	WNDCLASS wndclass;
	wndclass.style =CS_HREDRAW | CS_VREDRAW;
	wndclass.lpfnWndProc=WndProc;
	wndclass.cbClsExtra=0;
	wndclass.cbWndExtra=0;
	wndclass.hInstance=hinstance;
	wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
	wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
	wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
	wndclass.lpszMenuName=NULL;
	wndclass.lpszClassName=szAppName;
	if(!RegisterClass(&wndclass))
	{
	MessageBox(NULL,TEXT("This program requiers Windows NT!"),szAppName,MB_ICONERROR);
	return 0;
	}
	hwnd=CreateWindow(szAppName,//window class name
		TEXT("The Hello Program"),//window caption
		WS_OVERLAPPEDWINDOW,//window style
		CW_USEDEFAULT,//INITIAL X POSITION
		CW_USEDEFAULT,//INITIAL  Y  position
		CW_USEDEFAULT,//initial x size
		CW_USEDEFAULT,//initial y size
		NULL,//parent window handle
		NULL, //Window menu handle
		hinstance,//program instance handle
		NULL
		);
	ShowWindow(hwnd,iCmdShow);
	UpdateWindow(hwnd);
	while(GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM IParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	RECT rect;
	switch(message)
	{
	case WM_CREATE:
	PlaySound(TEXT("hellowin.wav"),NULL,SND_FILENAME|SND_ASYNC);
		return 0;
	case WM_PAINT:
		hdc=BeginPaint(hwnd,&ps);
		GetClientRect(hwnd,&rect);
		DrawText(hdc,TEXT("Hello"),-1,&rect,
			DT_SINGLELINE | DT_CENTER | DT_VCENTER);
		EndPaint(hwnd,&ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return DefWindowProc(hwnd,message,wParam,IParam);
}

  

以上是关于windows api 程序的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows Phone 8 中播放声音片段

Note

导航到另一个片段时触发 API 调用

对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段

很实用的JQuery代码片段(转)

Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段