没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Windows API 一日一练 转载自大坡 3D 软件开发 http://blog.csdn.net/caimouse/
DreamFlyingFish 整理收集,大坡 3D 软件开发 http://blog.csdn.net/caimouse/ Windows API 持续更新中„„
1
Windows API 一日一练(1)第一个应用程序 --------------------------------------------------------------- 3
Windows API 一日一练(2)使用应用程序句柄 ------------------------------------------------------------ 4
Windows API 一日一练(3)使用命令行参数 --------------------------------------------------------------- 6
Windows API 一日一练(4)MessageBox 函数 -------------------------------------------------------- 9
Windows API 一日一练(5)RegisterClass 和 RegisterClassEx 函数--------------- 11
Windows API 一日一练(6)CreateWindow 函数 ------------------------------------------------- 14
Windows API 一日一练(7)ShowWindow 函数 --------------------------------------------------- 17
Windows API 一日一练(8)UpdateWindow 函数 ------------------------------------------------ 18
Windows API 一日一练(9)WindowProc 和 DefWindowProc 函数----------------- 20
Windows API 一日一练(10)LoadAccelerators 函数------------------------------------------ 22
Windows API 一日一练(11)GetMessage 函数 ---------------------------------------------------- 24
Windows API 一日一练(12)TranslateAccelerator 函数----------------------------------- 26
Windows API 一日一练(13)TranslateMessage 函数 ---------------------------------------- 28
Windows API 一日一练(14)DispatchMessage 函数------------------------------------------ 30
Windows API 一日一练(15)PostQuitMessage 函数 ------------------------------------------ 32
Windows API 一日一练(16)BeginPaint 和 EndPaint 函数 ------------------------------- 34
Windows API 一日一练(17)DialogBox 和 DialogBoxParam 函数 ------------------ 36
Windows API 一日一练(18)EndDialog 函数 -------------------------------------------------------- 39
Windows API 一日一练(19)DestroyWindow 函数 -------------------------------------------- 40
Windows API 一日一练(20)LoadString、LoadIcon 和 LoadCursor 函数----- 42
Windows API 一日一练(21)SetWindowLongPtr 和 GetWindowLongPtr 函数
-------------------------------------------------------------------------------------------------------------------------------------- 45
Windows API 一日一练(23)SetTextColor 函数 -------------------------------------------------- 50
Windows API 一日一练(24)DrawText 函数--------------------------------------------------------- 52
Windows API 一日一练(25)CreateSolidBrush 函数------------------------------------------ 54
Windows API 一日一练(27)SetBkMode 函数------------------------------------------------------ 56
Windows API 一日一练(28)CreateFont 函数 ------------------------------------------------------ 59
Windows API 一日一练(29)SelectObject 和 DeleteObject 函数 -------------------- 61
Windows API 一日一练(30)GetTextMetrics 函数 ---------------------------------------------- 63
Windows API 一日一练(31)MoveToEx 和 LineTo 函数 ------------------------------------- 66
Windows API 一日一练(32)CreatePen 函数 ------------------------------------------------------- 66
Windows API 一日一练(33)ExtCreatePen 函数 ------------------------------------------------- 68
Windows API 一日一练(34)GetSysColor 函数---------------------------------------------------- 70
Windows API 一日一练(36)SetWindowText 函数--------------------------------------------- 72
Windows API 一日一练(37)MoveWindow 函数 ------------------------------------------------- 73
Windows API 一日一练(38)SetWindowPos 函数 ---------------------------------------------- 75
Windows API 一日一练(39)AnimateWindow 函数 ------------------------------------------- 77
Windows API 一日一练(40)CreateRectRgn 和 CombineRgn 函数 ---------------- 79
Windows API 一日一练(41)FindWindowEx 函数----------------------------------------------- 80
Windows API 一日一练(42)CreateThread 函数 ------------------------------------------------- 82
Windows API 一日一练(43)WaitForSingleObject 函数 ----------------------------------- 84
Windows API 一日一练(44)wsprintf 函数 ----------------------------------------------------------- 87
Windows API 一日一练(45)CreateEvent 和 SetEvent 函数 ----------------------------- 90
Windows API 一日一练(46)EnterCriticalSection 和 LeaveCriticalSection 函
Windows API 一日一练 转载自大坡 3D 软件开发 http://blog.cs dn.net/caimouse/
DreamFlyingFish 整理收集,大坡 3D 软件开发 http://blog.csdn.net/caimouse/ Windows API 持续更新中„„
2
数 ---------------------------------------------------------------------------------------------------------------------------------- 94
Windows API 一日一练(47)CreateSemaphore 和 ReleaseSemaphore 函数
-------------------------------------------------------------------------------------------------------------------------------------- 96
Windows API 一日一练(48)PostThreadMessage 函数 ------------------------------------ 99
Windows API 一日一练(49)SetThreadPriority 和 GetThreadPriority 函数
-------------------------------------------------------------------------------------------------------------------------------------102
Windows API 一日一练(50)SuspendThread 和 ResumeThread 函数 ---------103
Windows API 一日一练(51)CreateDirectory 和 RemoveDirectory 函数 ----104
Windows API 一日一练(52)GetCurrentDirectory 和 SetCurrentDirectory 函
数 ---------------------------------------------------------------------------------------------------------------------------------106
Windows API 一日一练(53)CreateFile 函数-------------------------------------------------------107
Windows API 一日一练(54)WriteFile 和 ReadFile 函数-----------------------------------109
Windows API 一日一练(55)FlushFileBuffers 和 SetFilePointer 函数 ----------112
Windows API 一日一练(56)SetEndOfFile 和 GetFileSizeEx 函数------------------114
Windows API 一日一练(57)CopyFile 和 MoveFile 函数 -----------------------------------117
Windows API 一日一练(58)FindFirstFile 和 FindNextFile 函数 --------------------119
Windows API 一日一练(59)CreateFileMapping 和 MapViewOfFile 函数----122
Windows API 一 日 一 练 (60)CreateIoCompletionPort 和
GetQueuedCompletionStatus 函数 --------------------------------------------------------------------124
Windows API 一日一练(61)GetDriveType 函数 ------------------------------------------------129
Windows API 一日一练(62)GetDiskFreeSpaceEx 函数 ----------------------------------131
Windows API 一日一练(63)RegOpenKeyEx 和 RegCreateKeyEx 函数 -------132
Windows API 一日一练(64) RegSetValueEx 和 RegDeleteValue 函数 -------135
Windows API 一日一练(65)RegQueryValueEx 函数 ---------------------------------------139
Windows API 一日一练(66)CreateWaitableTimer 和 SetWaitableTimer 函数
-------------------------------------------------------------------------------------------------------------------------------------141
Windows API 一日一练(67)SetTimer 和 KillTimer 函数 ----------------------------------143
Windows API 一日一练(68)QueryPerformanceCounter 函数 ----------------------144
Windows API 一日一练(69)GetTickCount 函数 ------------------------------------------------146
Windows API 一日一练(70)GetSystemTime 和 GetLocalTime 函数 ------------147
Windows API 一日一练(71)GetComputerName 函数 -------------------------------------148
Windows API 一日一练(72)GetUserName 函数------------------------------------------------150
Windows API 一日一练(73)GetVersionEx 函数 ------------------------------------------------151
Windows API 一日一练 转载自大坡 3D 软件开发 http://blog.cs dn.net/caimouse/
DreamFlyingFish 整理收集,大坡 3D 软件开发 http://blog.csdn.net/caimouse/ Windows API 持续更新中„„
3
Windows API 一日一练(1)第一个应用程序
要跟计算机进行交互,就需要计算机显示信息给人看到,或者发出声音给人听到,然后人看
到或听到相应的信息后,再输入其它信息给计算机,这样就可以让计算机进行数据处理,把
结果显示给我们。现在就来编写一个最简单的 Windows 应用程序,让它提示一行文字给我
们看到,这就是简单的目标。
它实现的源程序和界面如下:
上面这个图,是从 VC++ 2005 里截出来的。这样可以看到源程序和显示的界面,很清楚
地知道那些内容在那里显示,显示窗口里的标题是例子,就是 MessageBox 里的字符串“例
子”的显示。“第一个应用程序”也是那样显示出来的。第一个应用程序是非常简单的,下
面再来详细地解说每行程序的作用。
源程序如下:
Windows API 一日一练 转载自大坡 3D 软件开发 http://blog.cs dn.net/caimouse/
DreamFlyingFish 整理收集,大坡 3D 软件开发 http://blog.csdn.net/caimouse/ Windows API 持续更新中„„
4
#001 // First.cpp : 应用程序入口文件
#002 //
#003
#004 #include "stdafx.h"
#005 #include "First.h"
#006
#007 //
#008 //第一个例子。
#009 //蔡军生 2007/07/02
#010 //
#011 int APIENTRY _tWinMain(HINSTANCE hInstance,
#012 HINSTANCE hPrevInstance,
#013 LPTSTR lpCmdLine,
#014 int nCmdShow)
#015 {
#016 UNREFERENCED_PARAMETER(hPrevInstance);
#017 UNREFERENCED_PARAMETER(lpCmdLine);
#018 UNREFERENCED_PARAMETER(hInstance);
#019 UNREFERENCED_PARAMETER(nCmdShow);
#020
#021 //获取桌面的句柄。
#022 HWND hWnd = GetDesktopWindow();
#023
#024 //显示一行消息。
#025 ::MessageBox(hWnd, _T("第一个应用程序"), _T("例子"), MB_OK);
#026
#027 //
#028 return 0;
#029 }
第 4 行是包含 Windows 的 API 头文件。在这个文件里包含一些系统的定义等。
第 5 行是包行 C++的头文件。
第 11 行是定义 WinMain 的入口。
第 16 行到第 19 行是指明不生产这些参数不使用的警告。
第 22 行是获取桌面的句柄。
第 25 行是显示一个窗口提示信息。
第 28 行是返回程序出错码。
Windows API 一日一练(2)使用应用程序句柄
从上面这段程序就可以看到,_tWinMain 是应用程序的入口函数,这里是使用它的宏,定
义在 tchar.h 头文件里,为什么要这样作宏定义的呢?由于 Windows 的应用程序要适应
UNICODE 和以前单字符的应用程序,由于 Windows 这两个 API 的定义是不一样的,如
下:
Windows API 一日一练 转载自大坡 3D 软件开发 http://blog.cs dn.net/caimouse/
DreamFlyingFish 整理收集,大坡 3D 软件开发 http://blog.csdn.net/caimouse/ Windows API 持续更新中„„
5
UNICODE 的定义:
#define _tWinMain wWinMain
单字符的定义:
#define _tWinMain WinMain
只要经过这样的宏定义后,就可以适应不同字符宽度的函数接口了。由于我是采用
UNICODE 编译的,所以这里使用 wWinMain 函数定义,下面再把它的定义找出来,如下:
int
WINAPI
wWinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nShowCmd
);
这里要详细地解释一下函数 wWinMain 的参数,它有四个参数。
hInstance 是当前应用程序的实例句柄,一般用来区分不同的资源使用。
hPrevInstance 是以前 Win98 使用的句柄,在 Win2000 以后的操作系统里都是空
值 NULL。
lpCmdLine 是命令行参数,比如你在 Windows 开始菜单里运行一个程序,并添加参
数在后面,就会传递给应用程序,后面再详细讨论。
nShowCmd 是窗口的显示方式,比如最大化显示,最小化显示,还是正常显示。
Windows 运行程序时,是通过运行库里的启动代码来调用 wWinMain 函数,它是在启
动文件里如下调用:
#ifdef WPRFLAG
mainret = wWinMain(
#else /* WPRFLAG */
mainret = WinMain(
#endif /* WPRFLAG */
(HINSTANCE)&__ImageBase,
NULL,
lpszCommandLine,
StartupInfo.dwFlags & STARTF_USESHOWWINDOW
? StartupInfo.wShowWindow
: SW_SHOWDEFAULT
);
这就是操作系统传递给应用程序的值,现在就来演示使用第一个参数 hInstance。
请看下面的例子:
#001 #include "stdafx.h"
#002 #include "First.h"
#003
#004 //
#005 //第一个例子。
#006 //蔡军生 2007/07/03
剩余152页未读,继续阅读
vc_one
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0