图书介绍

Windows API程序设计参考大全PDF|Epub|txt|kindle电子书版本网盘下载

Windows API程序设计参考大全
  • 求是科技编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115141673
  • 出版时间:2006
  • 标注页数:728页
  • 文件大小:251MB
  • 文件页数:751页
  • 主题词:窗口软件,Windows-软件接口-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Windows API程序设计参考大全PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1 Win32程序概述1

1.2 图形界面编程1

目录1

第1章 Windows编程概述1

1.4 Win32 API概述7

1.3 消息传递机制7

1.7 本书示例约定8

1.6 如何在程序中调用API函数8

1.5 为什么用API8

2.2.1 创建普通窗口(CreateWindow、CreateWindowEx)10

2.2 窗口的创建和撤销10

第2章 窗口处理10

2.1 窗口简介10

2.2.2 关闭窗口(CloseWindow)19

2.2.3 销毁窗口(DestroyWindow)20

2.3.1 注册窗口类(RegisterClass、RegisterClassEx)21

2.3 窗口类操作21

2.3.2 撤销窗口类(UnregisterClass)23

2.3.3 获得窗口类信息(GetClassInfoEx)24

2.3.4 得到指定窗口的窗口类(GetClassName)25

2.4.1 父子关系(SetParent、GetParent、IsChild)26

2.4 窗口之间的关系26

2.4.2 遍历窗口(EnumWindow、EnumWindowProc、EnumChildWindows、EnumChildProc)29

2.4.3 获取指定的子窗口(ChildWindowFromPoint、ChildWindowFromPointEx)31

2.4.4 获得特定的窗口(GetWindow、GetTopWindow、GetNextWindow、GetDesktopWindow)33

2.5.1 获取窗口大小(GetWindowRect、GetClientRect)37

2.5 窗口的大小、位置和布局37

2.5.2 调整窗口大小(AdjustWindowRect、AdjustWindowRectEx)39

2.5.3 设置和获取窗口位置(SetWindowPos)41

2.5.4 移动窗口位置(MoveWindow)43

2.5.5 设置和获取窗口布局(SetWindowPlacement、GetWindowPlacement)44

2.5.6 设置和获得视口坐标起点(SetViewportOrgEx、GetViewportOrgEx)45

2.5.7 设置和获取视口坐标范围(SetViewportExtEx、GetViewportExtEx)47

2.5.8 设置和获取窗口坐标起点(SetWindowOrgEx、GetWindowOrgEx)48

2.5.9 设置和获取窗口坐标范围(SetWindowExtEx、GetWindowExtEx)50

2.6.1 显示单个窗口(ShowWindow)51

2.6 显示窗口51

2.6.2 弹出式窗口(ShowOwnedPopups、GetLastActivePopup)53

2.6.3 判断各种显示状态(IsIconic、IsWindowVisible、IsZoomed)55

2.7.1 设置和获取窗口名(SetWindowText、GetWindowText、GetWindowTextLength)56

2.7 窗口属性56

2.7.2 设置和获取窗口标记长字(SetWindowLong、GetWindowLong)58

2.7.3 设置和获取前台窗口(SetForegroundWindow、GetForegroundWindow)61

2.8.1 创建对话框(DialogBox、CreateDialog、CreateDialogIndirect、Message Box、MessageBoxEx、MessageBoxIndirect)62

2.8 对话框62

2.7.4 锁定设置前台窗口(LockSetForegroundWindow)62

2.8.2 获取控件及其ID(GetDlgItem、GetDlgCtrlID)71

2.8.3 设置获取控件的显示文本(SetDlgItemText、SetDlgItemInt、GetDlgItemText、GetDlgItemInt)73

2.8.4 获取下一个TAB控件(GetNextDlgTabItem)75

2.8.5 对话框过程(DefDlgProc、DialogProc)76

2.8.7 撤销对话框(EndDialog)78

2.8.6 对话框坐标和屏幕坐标间的转换(MapDialogRect)78

2.9.1 查找窗口(FindWindow、FindWindowEx)79

2.9 其他79

2.9.3 确定窗口属性(IsWindow、IsWindowUnicode)81

2.9.2 设置窗口 Z坐标(BringWindowToTop)81

2.9.4 设置和获取激活态窗口(SetActiveWindow、GetActiveWindow)83

2.9.5 窗口闪烁(FlashWindow、FlashWindowEx)84

2.9.6 获取指定点处的窗口(WindowFromPoint)86

2.9.7 遍历线程所有窗口(EnumThreadWindows、EnumThreadWndProc)88

3.2.1 创建DC(CreateDC、CreateCompatibleDC)90

3.2 DC的获取和撤销90

第3章 设备上下文(DC)90

3.1 DC简介90

3.2.2 撤销DC(ReleaseDC、DeleteDC)92

3.2.3 获得窗口DC(GetWindowDC、GetDC、GetDCEx)93

3.2.4 保存和恢复DC(SaveDC、RestoreDC)96

3.3.1 获得DC起始点坐标(GetDCOrgEx)97

3.3 设置和获取DC的各种属性97

3.3.2 设置显示配置(ChangeDisplaySettings、ChangeDisplaySettingsEx)98

3.3.3 遍历显示设备和其配置(EnumDisplayDevices、EnumDisplaySettings)100

3.3.4 设置和获取DC画刷颜色(SetDCBrushColor、GetDCBrushColor)102

3.3.5 设置和获取DC画笔颜色(SetDCPenColor、GetDCPenColor)103

3.3.6 设置和获取DC中各种对象(SelectObject、GetCurrentObject)104

3.3.7 获取DC中对象的信息(GetObject、GetObjectType、GetStockObject)106

3.4.1 新建椭圆区域(CreateEllipticRgn、CreateEllipticRgnIndirect)109

3.4 区域操作109

3.4.2 新建多边形区域(CreatePolygonRgn、CreatePolyPolygonRgn)110

3.4.3 新建矩形区域(CreateRectRgn、CreateRectRgnIndirect)113

3.4.4 新建圆矩形区域(CreateRoundRectRgn)114

3.4.5 区域之间的操作(EqualRgn、ExcludeUpdateRgn)115

3.4.6 区域上绘图操作(FillRgn、FrameRgn、InvertRgn、PaintRgn)117

3.5.1 设置和获取裁剪区域(SelectClipRgn、SelectClipPath、GetClipRgn、ExtSelectClipRgn)120

3.5 裁剪操作120

3.5.2 裁剪区域间的运算(ExcludeClipRect、IntersectClipRect、OffsetClipRgn)124

3.6.1 客户区坐标与屏幕坐标的变换(ClientToScreen、ScreenToClient)127

3.6 坐标变换127

3.6.2 设备坐标与逻辑坐标的变换(DPtoLP、LPtoDP)129

3.6.3 窗口间的坐标变换(MapWindowPoints)130

3.7.1 创建新调色板(CreatePalette)131

3.7 颜色和调色板131

3.7.2 启用调色板(SelectPalette、RealizePalette)132

3.7.3 设置和获取调色板颜色条目(SetPaletteEntries、GetPaletteEntries)135

3.7.4 设置系统调色板的工作方式(SetSystemPaletteUse)136

3.7.5 设置和获取颜色调整(SetColorAdjutstment、GetColorAdjustment)137

3.8.1 滚动窗口(ScrollDC)138

3.8 具他138

3.8.2 偏移操作(OffsetRect、OffsetRgn)139

3.8.3 点、矩形和区域的关系(PtInRegion、PtVisible、RectInRegion、RectVisible)141

3.8.4 缩放视口和窗口大小(ScaleViewportExtEx、ScaleWindowExtEx)144

3.8.5 由给定DC获取相联系的窗口(WindowFromDC)146

3.8.6 获取特定设备的信息(GetDeviceCaps)147

3.8.7 撤销DC中的对象(DeleteObject)150

4.1.1 点(SetPixel、SetPixelV、GetPixel)151

4.1 基本画图函数151

第4章 绘图函数151

4.1.2 线(LineTo、LineDDA、LineDDAProc、MoveToEx、Polyline、PolylineTo)153

4.1.3 曲线(PolyBezier、PolyBezierTo、PolyDraw)158

4.1.4 弧(AngleArc、Arc、ArcTo、SetArcDirection、GetArcDirection)162

4.1.5 椭圆(Ellipse)166

4.1.6 弦(Chord)167

4.1.7 矩形(Rectangle、Roundrect、DrawEdge、DrawFocusRect、FillRect)168

4.1.8 多边形(Polygon、PolyPolygon、PolyPolyline)173

4.1.9 饼图(Pie)176

4.2.1 启动和终止路径绘图(BeginPath、EndPath)178

4.2 路径相关函数178

4.2.2 曲线到直线(FlattenPath)179

4.2.3 填充路径(FillPath、StrokeAndFillPath)180

4.2.4 边界处理(StrokePath、WidenPath)182

4.2.6 获取路径区域(PathToRegion)184

4.2.5 封闭路径(CloseFigure)184

4.2.7 获取路径(GetPath)185

4.2.8 撤销路径(AbortPath)186

4.3.1 新建画笔(CreatePen、CreatePenIndirect、ExtCreatePen)187

4.3 处理DC对象187

4.3.2 新建画刷(CreateBrushIndirect、CreateHatchBrush、CreateDIBPattemBrushPt、CreatePatternBrush、CreateSolidBrush、GetSysColorBrush)190

4.3.3 设置和获取背景颜色和模式(GetBkColor、GetBkMode、SetBkColor、SetBkMode)196

4.4.1 创建图元文件(CreateEnhMetaFile、CreateMetaFile)199

4.4 图元文件199

4.4.2 复制图元文件(CopyEnhMetaFile、CopyMetaFile)201

4.4.3 打开图元文件(GetEnhMetaFile)202

4.4.4 关闭图元文件(CloseEnhMetaFile、CloseMetaFile)203

4.4.5 撤销图元文件(DeleteEnhMetaFile、DeleteMetaFile)204

4.4.6 绘制图元文件(PlayEnhMetaFile)205

4.5.1 启动和终止绘图(BeginPaint、EndPaint)206

4.5 其他206

4.5.2 获取需更新区域(GetUpdateRect、GetUpdateRgn)207

4.5.3 绘图操作生效(InvalidateRect、InvalidateRgn、ValidateRect、ValidateRgn)210

4.5.4 设置和获取最大绘图缓冲(GdiSetBatchLimit、GdiGetBatchLimit)213

4.5.5 刷新缓冲(GdiFlush)214

4.5.6 设置和获取窗口可绘图区域(SetWindowRgn、GetWindowRgn)215

4.5.7 禁止在窗口绘图(LockWindowUpdate)216

4.5.9 更新窗口(RedrawWindow)218

4.5.8 绘制桌面(PaintDesktop)218

4.5.10 撤销绘图操作(CancelDC)219

4.5.11 描绘标准控件(DrawFrameControl)220

4.5.12 设定画图效果(DrawState、DrawStateProc)222

4.5.13 设置和获取系统颜色(SetSysColors、GetSysColor)224

4.5.14 画矩形边框(FrameRect)226

4.5.15 矩形框颜色反转(InvertRect)227

5.2.1 创建位(CreateBitmap、CreateBitampIndirect、CreateCompatible、Bitmap、CreateDIBitmap、CreateDIBSection、LoadBitmap、LoadImage)229

5.2 创建和撤销位图、图标229

第5章 位图和图标229

5.1 位图和图标简介229

5.2.2 创建图标(CreateIcon、LoadIcon、LoadCursorFromFile)239

5.3.1 设置和获取位图的位数据(SetBitmapBits、GetBitmapBits)243

5.3 设置和获得位图和图标的各种属性243

5.2.3 撤销图标(DestoryIcon)243

5.3.2 设置和获取DIB(SetDIBits、GetDIBits)245

5.3.3 设置和获取DIB颜色表(SetDIBColorTable、GetDIBColorTable)248

5.3.4 设置和获取位图的大小(GetBitmapDimensionEx、SetBitmapDimension Ex)250

5.3.5获取图标信息(GetIconInfo)252

5.4.1 各种位块操作方式(BitBlt、PatBlt、PlgBlt、StretchBlt、MaskBlt、TransparentBlt)253

5.4 位块操作253

5.4.2 设置和获取位操作模式(SetROP2、GetROP2、SetStretchBltMode、GetStretchBltMode)260

5.5.1 复制位图和图标(CopyImage、CopyIcon)263

5.5 其他263

5.5.2 从文件中搜寻图标(ExtractIcon、ExtractIconEx、ExtractAssociatedIcon)265

5.5.3 显示图标(DrawIcon、DrawIconEx)268

6.1.1 生成新菜单(CreateMenu、CreatePopupMenu)270

6.1 菜单的简单操作270

第6章 菜单处理270

6.1.2 装载菜单(LoadMenu、LoadMenuIndirect)272

6.1.3 撤销菜单(DestoryMenu、DeleteMenu、RemoveMenu)274

6.1.4 获取菜单(GetMenu、GetSubMenu、GetSystemMenu)276

6.1.5 增添菜单(AppendMenu)278

6.2.1 设置和获取菜单项信息(SetMenuItemInfo、GetMenuItemInfo)280

6.2 菜单项处理280

6.2.2 设置和获取缺省菜单项(SetMenuDefautlItem、GetMenuDefaultItem)282

6.2.3 获取菜单项的ID(GetMenuItemID)284

6.2.4 获取菜单项数(GetMenuItemCount)285

6.2.5 获取菜单项的范围大小(GetMenuItemRect)286

6.2.6 高亮显示菜单项(HiliteMenuItem)287

6.2.7 菜单项属性(CheckMenuItem、EnableMenuItem、CheckMenuRadioItem)288

6.2.8 添加菜单项(InsertMenuItem)291

6.2.9 获取某点处的菜单项(MenuItemFromPoint)292

6.3.1 设置窗口的菜单(SetMenu)293

6.3 其他293

6.3.3 上下文菜单(TrackPopupMenu、TrackPopupMenuEx)294

6.3.2 判定句柄是否指向菜单(IsMenu)294

6.3.4 显示菜单条(DrawMenuBar)297

6.3.5 图形菜单项(SetMenuItemBitmaps)298

7.1.1 获取内存当前状态信息(GlobalMemoryStatus、GlobalMemoryStatusEx)300

7.1 内存管理函数300

第7章 内存处理300

7.1.2 复制内存块(CopyMemory)302

7.1.3 移动内存块(MoveMemory)303

7.1.4 使用一个值填充内存块(FillMemory)304

7.1.5 用0填充内存块(ZeroMemory、SecureZeroMemory)305

7.1.6 检查指定内存块的操作权(IsBadCodePtr、IsBadReadPtr、IsBadWritePtr、IsBadStringPtr)306

7.2.1 全局内存的分配和释放(GlobalAlloc、GlobalReAlloc、GlobalFree、GlobalDiscard)309

7.2 全局内存管理函数309

7.2.2 获取全局内存的句柄(GlobalHandle)312

7.2.4 锁定和解锁全局内存(GlobalLock、GlobalUnlock)313

7.2.3 获取指定全局内存块大小(GlobalSize)313

7.3.1 本地内存的分配和释放(LocalAlloc、LocalReAlloc、LocalFree、LocalDiscard)315

7.3 本地内存管理函数315

7.3.2 获取本地内存的句柄(LocalHandle)317

7.3.3 获取指定本地内存块大小(LocalSize)318

7.3.4 锁定和解锁本地内存(LocalLock、LocalUnlock)319

7.4.1 获得当前进程的堆(GetProcessHeap、GetProcessHeaps)320

7.4 堆函数320

7.4.2 创建和释放堆(HeapCreate、HeapDestroy)322

7.4.3 在堆中分配和释放内存(HeapAlloc、HeapReAlloc、HeapFree)324

7.4.4 获得指定堆中内存块的大小(HeapSize)328

7.4.6 检查堆(HeapValidate)329

7.4.5 试图合并堆内相邻的自由内存块(HeapCompact)329

7.4.7 枚举指定堆中的内存块(HeapWalk)330

7.4.8 锁定和释放堆(HeapLock、HeapUnlock)331

7.5.1 虚拟内存的分配和释放(VirtualAlloc、VirtualAllocEx、VirtualFree、VirtualFreeEx)332

7.5 虚拟内存管理332

7.5.2 改变虚拟内存区域保护规范(VirtualProtect、VirtualProtectEx)339

7.5.3 锁定和解锁指定区域的虚拟内存(VirtualLock、VirtualUnlock)341

8.1.1 创建文件(CreateFile、lcreat、GetTempFileName)344

8.1 创建、读写和撤销文件344

第8章 文件处理344

8.1.2 重新打开文件(ReOpenFile)348

8.1.3 设置文件读写位置(SetFilePointer、llseek、lseek)350

8.1.4 写入文件(WriteFile、1write、hwirte)353

8.1.5 异步写入文件(WriteFileEx、FileIOCompletionRoutine)355

8.1.6 读入文件(ReadFile、lread、hread)357

8.1.7 异步读入文件(ReadFileEx)359

8.1.8 复制文件(CopyFile、CopyFileEx、CopyProgressRoutine)360

8.1.9 更改文件名(MoveFile、MoveFileEx)363

8.1.10 关闭文件(CloseHandle、lclose)365

8.1.11 删除文件(DeleteFile)366

8.2.1 获取文件大小(GetFileSize、GetFileSizeEx)367

8.2 设置和获得文件的各种信息367

8.2.2 获取文件类型(GetFileType)369

8.2.3 设置和获取文件时间信息(SetFileTime、GetFileTime)370

8.2.4 获取文件版本信息(GetFileVersionInfo、 GetFileVersionInfoSize、VerQueryValue)372

8.2.5 是否可执行文件(GetBinaryType)374

8.2.6 长文件名和短文件名的转换(GetFullPathName、GetShortPathName)375

8.2.7 由文件句柄获取文件信息(GetFileInformationByHandle)377

8.2.8 设置文件结束标志(SetEndOfFile)378

8.2.9 设置和获取文件属性(SetFileAttributes、 GetFileAttributes、GetFileAttributesEx)379

8.3.1 创建新目录(CreateDirectory、CreateDirectoryEx)382

8.3 目录处理382

8.3.2 删除目录(RemoveDirectory)383

8.3.3 获取系统路径(GetSystemDirectory)384

8.3.4 获取临时路径(GetTempPath)385

8.3.5 获取Windows完整目录(GetWindowsDirectory)386

8.3.6 设置和获取当前目录(SetCurrentDirectory、GetCurrentDirectory)387

8.4.1 查找第一个文件(FindFirstFile、FindFirstFileEx)389

8.4 文件查找389

8.4.2 查找下一个文件(FindNextFile)391

8.4.3 查找指定文件(SearchPath)392

8.4.4 查找结束(FindClose)393

8.5.1 查找第一个文件夹改变(FindFirstChangeNotifycation)394

8.5 文件夹改变394

8.5.3 结束查找文件夹改变(FindCloseChangeNotifycation)397

8.5.2 查找下一个文件(FindNextChangeNotifycation)397

8.5.4 获得文件夹改变信息(ReadDirectoryChangesW)398

8.6.1 查找第一个卷(FindFirstVolume)400

8.6 磁盘卷查找400

8.6.3 查找卷结束(FindVolumeClose)402

8.6.2 查找下一个卷(FindNextVolume)402

8.7.1 获取可用逻辑驱动器(GetLogicalDrives)403

8.7 磁盘信息403

8.7.2 获取可用逻辑驱动器信息(GetLogicalDriveStrings)404

8.7.3 设置和获取卷标信息(SetVolumeLabel、GetVolumeInformation)405

8.7.4 获取磁盘空闲空间(GetDiskFreeSpace、GetDiskFreeSpaceEx)407

8.7.5 获取磁盘类型(GetDriveType)410

AreFileApisANSI)411

8.8.1 设置和获取字符集(SetFileApisToANSI、SetFileApisToOEM、411

8.8 其他411

8.8.2 联系文件和I/O端口(CreateloCompletionPort、PostQueuedCompletion Status、GetQueuedCompletionStatus)413

8.8.3 更新文件缓冲区(FlushFileBuffers)416

8.8.4 加锁和解锁文件(LockFile、LockFileEx、UnlockFile、UnlockFileEx)417

8.8.5 比较文件时间信息(CompareFileTime)421

8.8.6 DOS时间转换为Win32时间(DosDateTimeToFileTime)422

8.8.7 Win32时间转换为Dos时间(FileTimeToDosDateTime)423

8.8.8 Win32时间转换本地时间(FileTimeToLocalFileTime)424

9.1.1 显示文本(DrawText、DrawTextEx、TextOut、ExTextOut、TabbedTextOut、GrayString、OutputProc、PolyTextOut)426

9.1 文本426

第9章 处理文本和字体426

9.1.2 设置和获取文本属性(SetTextAlign、GetTextAlign、SetTextColor、GetTextColor)436

9.1.3 调整和获取字符间距(SetTextCharacterExtra、GetKerningPairs)440

9.1.4 获得字符串的宽和高(GetTextExtentPoint32、GetTabbedTextExtent)442

9.1.5 获取字符串的信息(GetCharacterPlacement)445

9.1.6 调整字符串(SetTextJustification)446

9.2.1 创建新字体(CreateFont、CreateFontIndirect、CreateScalableFontResource)447

9.2 字体447

9.2.2 在系统中添加和删除字体(AddFontResource、RemoveFontResource)453

9.2.3 获取字体的宽度(GetCharABCWidths、GetCharWidth、GetCharWidth32、GetCharWidthFloat、GetCharaABCWidthsFloat)455

9.2.4 获取字体的各种信息(GetTextMetric、GetFontLanguageInfo)460

9.2.5 字体的宽高比(GetAspectRatioFilterEx、SetMapperFlags)461

9.2.6 获取字体的字型名(GetTextFace)463

9.2.7 遍历系统字体(EnumFontFamiliesEx、EnumFontFamiExProc)464

10.1.1 设置和获取键盘布局(ActivateKeyboardLayout、GetKeyboardLayout、GetKeyboardLayoutList、GetKeyboardLayoutName)467

10.1 键盘467

第10章 硬件和系统467

10.1.2 装载和卸载键盘布局(LoadKeyBoardLayout、UnloadKeyBoardLayout)471

10.1.3 获得和设置键盘状态(GetKeyboardState、SetKeyboardState)474

10.1.4 获得键盘类型(GetKeyboardType)477

10.1.5 获得按键名(GetKeyNameText)478

10.1.6 获得按键状态(GetKeyState、GetAsyncKeyState)479

10.1.7 虚拟按键到扫描码(MapVirtualKey、MapVirtualKeyEx)482

10.1.8 虚拟按键到ASCII码(ToAscii、ToAsciiEx)484

10.1.9 虚拟按键到Unicode(ToUnicode、ToUnicodeEx)487

10.1.10 字符到虚拟按键(VkKeyScan、VkKeyScanEx)489

10.1.11 注册和撤销系统热键(RegisterHotKey、UnregisterHotKey)491

10.1.12 插入键盘事件(SendInput、keybd event)493

10.2.1 获得鼠标输入点序列(GetMouseMovePoints)495

10.2 鼠标495

10.2.2 获得和设置双击间隔(GetDoubleClickTime、SetDoubleClickTime)496

10.2.3 鼠标左右键设置(SwapMouseButton)497

10.2.4 鼠标捕获和释放(SetCapture、GetCapture、ReleaseCapture)498

10.2.5 捕获离开和滑过事件(TrackMouseEvent)500

10.2.6 插入鼠标事件(mouse event)501

10.3.1 新建和撤销光标(CreateCursor、LoadCursorFromFile、DestroyCursor)502

10.3 光标502

10.3.2 设置和获取光标(SetCursor、GetCursor)506

10.3.3 设置和获取光标位置(SetCursorPos、GetCursorPos)508

10.3.4 设置和获取光标活动范围(ClipCursor、GetClipCursor)509

10.3.5 显示光标(ShowCursor)511

10.3.6 设置系统光标(SetSystemCursor)512

10.4.1 设置和获取系统时间(SetSystemTime、GetSystemTime、GetSystemTimeAsFileTime)513

10.4 时钟513

10.4.2 设置和获取当地时间(SetLocAltime、GetLocAltime)516

10.4.3 获取自启动以来的微秒数(GetTickCount)517

10.4.4 获取和设置系统调整时间(GetSystemTimeAdjustment、SetSystemTimeAdjustment)518

10.4.5 设置和获取时区信息(SetTimeZoneInformation、GetTimeZoneInformation)520

10.4.6 获取高精度时间(QueryPerformanceCounter、QueryPerformance Frequency)522

10.4.7 设置定时器(SetTimer)523

10.4.9 撤销定时器(KillTimer)525

10.4.8 设置定时器回调函数(TimerProc)525

10.5.1 获取系统各种度量信息(GetSystemMetrics)526

10.5 系统信息526

10.5.2 设置和获取系统参数(SystemParametersInfo)529

10.5.3 确定处理器的特性(IsProcessorFeaturePresent)534

10.5.4 获取和设置计算机名(GetComputerName、SetComputerName)535

10.5.5 获取用户名(GetUserName)536

10.5.6 获取操作系统版本信息(GetVersionEx)537

10.5.7 获取系统信息(GetSystemInfo)538

11.2.1 发送消息(SendMessage、SendMessageCallback、SendNotifyMessage、SendMessageTimeout、PostThreadMessage、PostMessage、PostQutiMessage、BroadcastSystemMessage)539

11.2 消息处理539

第11章 Windows消息539

11.1 消息系统概述539

11.2.2 回复消息(ReplyMessage)549

11.2.3 获取消息(GetMessage、WaitMessage、PeekMessage)550

11.2.4 处理消息(TranslateMessage、DispatchMessage)553

11.2.5 获取消息的伴随信息(GetMessagePos、GetMessageTime)555

11.2.6 注册新窗口消息(RegisterWindowMessage)557

11.3.1 获取队列状态(GetQueueStatus)558

11.3 消息队列558

11.3.2 获取队列中输入消息状态(GetInputState)559

12.2.1 获取最近的错误代码(GetLastError)561

12.2 错误处理561

第12章 调试和错误处理561

12.1 调试561

12.2.2 设置最近的错误代码(SetLastError)562

12.2.3 设置最近的错误代码(SetLastErrorEx)563

12.2.5 播放简单声音(Beep)564

12.2.4 致命的应用程序退出(FatalAppExit)564

12.2.6 播放特定类型声音(MessageBeep)565

12.2.7 格式化错误消息(FormatMessage)566

12.3.1 报告日志(RegisterEventSource、DeregisterEventSource、ReportEvent)568

12.3 事件日志568

12.3.2 读取日志(OpenEventLog、CloseEventLog、ReadEventLog)571

12.3.3 查询日志(GetNumberOfEventLogRecords)574

12.3.4 清空日志(ClearEventLog)576

13.2.1 建立连接(RasDial、RasDailFunc/RasDialFunc1/RasDialFunc2)577

13.2 远程连接577

第13章 远程访问服务577

13.1 远程访问服务概述577

13.2.2 关闭连接(RasHangUp)585

13.2.3 连接状态通知(RasConnectionNotification)586

13.3.1 遍历活动连接(RasEnumConnections)588

13.3 连接管理588

13.3.2 获取连接状态(RasGetConnectStatus)590

13.4.1 添加、修改条目(RasSetEntryProperties)591

13.4 电话簿591

13.4.2 获取条目属性(RasGetEntryProperties)594

13.4.3 重命名条目(RasRenameEntry)596

13.4.4 删除条目(RasDeleteEntry)597

13.4.5 遍历条目(RasEnumEntries)598

获取特定RAS错误代码的字符串(RasGetErrorString)601

13.5 其他601

14.2.1 初始化WinSock DLL(WSAStartup)603

14.2 WinSock DLL603

第14章 Windows套接字603

14.1 WinSock概述603

14.2.2 释放WinSock DLL资源(WSACleanup)604

14.3.1 创建套接字(socket)605

14.3 套接字605

14.3.2 从容关闭套接字(shutdown)606

14.4.1 绑定(bind)607

14.4 服务器端607

14.3.3 关闭套接字(closesocket)607

14.4.2 监听(1isten)608

14.4.3 接受(accept)609

创建连接(connect)610

14.5 客户端610

14.6.1 发送数据(send)611

14.6 数据传输611

14.6.2 发送数据到(sendto)612

14.6.3 接收数据(recv)614

14.6.4 接收数据来自(recvfrom)615

14.7.1 获取对方的套接字地址信息(getpeername)616

14.7 套接字地址信息616

14.7.2 获取本地的套接字地址信息(getsockname)617

获取最近的错误代码(WSAGetLastError)618

14.8 其他618

BITMAP620

ABC620

附录A 数据结构620

BITMAPCOREHEADER621

BITMAPCOREINFO622

BITMAPINFO623

BITMAPFILEHEADER623

BITMAPINFOHEADER624

CHOOSECOLOR627

CHOOSEFONT628

COLORREF630

CLIENTCREATESTRUCT630

COMPAREITEMSTRUCT631

CREATESTRUCT632

CONSOLE_SCREEN_BUFFER_INFO632

DEBUG_EVENT633

DELETEITEMSTRUCT634

DLGITEMTEMPLATE635

DLGTEMPLATE636

DRAWITEMSTRUCT637

FINDREPLACE638

FILETIME638

ICONINFO640

HANDLETABLE640

FIXED640

INPUT_RECORD641

LOGBRUSH642

KERNINGPAIR642

LOGFONT643

LOGPALETTE645

MDICREATESTRUCT646

MAT2646

LUID_AND_ATTRIBUTES646

MEASUREITEMSTRUCT647

MENUITEMTEMPLATE648

METAFILEPICT649

MENUITEMTEMPLATEHEADER649

MSG650

MOUSEHOOKSTRUCT650

NEWTEXTMETRIC651

MULTIKEYHELP651

OFSTRUCT653

OPENFILENAME654

PAINTSTRUCT657

OVERLAPPED657

PANOSE658

PALETTEENTRY658

POINT661

PROCESS_INFORMATION662

POINTS662

RGBTRIPLE663

RGBQUAD663

RECT663

STARTUPINFO664

SYSTEM_INFO666

SYSTEMTIME667

TEXTMETRIC668

WIN32_FIND_DATA670

WNDCLASS671

WM_CANCELMODE673

WM_ACTIVATEAPP673

附录B Windows消息673

WM_ACTIVATE673

WM_CLOSE674

WM_CHILDACTIVATE674

WM_CHAR674

WM_COMPAREITEM675

WM_COMPACTING675

WM_COMMAND675

WM_CTLCOLORBN676

WM_CREATE676

WM_CTLCOLORSCROLLBAR677

WM_CTLCOLORLISTBOX677

WM_CTLCOLORDLG677

WM_DEADCHAR678

WM_CTLCOLORSTATIC678

WM_DEVMODECHANGE679

WM_DESTORY679

WM_DELETEITEM679

WM_ENABLE680

WM_DROPFILES680

WM_DRAWITEM680

WM_FONTCHANGE681

WM_ERASEBKGND681

WM_ENTERIDLE681

WM_GETHOTKEY682

WM_GETFONT682

WM_GETDLGCODE682

WM_GETTEXT683

WM_GETMINMAXINFO683

WM_HSCROLL684

WM_HOTKEY684

WM_GETTEXTLENGTH684

WM_INITDIALOG685

WM_ICONERASEKGND685

WM_KEYDOWN686

WM_INITMENUPOPUP686

WM_INITMENU686

WM_KILLFOCUS687

WMVKEYUP687

WM_LBUTTONDOWN688

WM_LBUTTONDBLCLK688

WM_MBUTTONBLCLK689

WM_LBUTTONUP689

WM_MDIACTIVATE690

WM_MBUTTONUP690

WM_MBUTTONDOWN690

WM_MDICREATE691

WM_MDICASCADE691

WM_MDIMAXIMIZE692

WM_MDIICONARRANGE692

WM_MDIDESTORY692

WM_MDIGETACTIVE692

WM_MDISETMENU693

WM_MDIRESTORE693

WM_MDINEXT693

WM_MENUCHAR694

WM_MEASUREITEM694

WM_MDITILE694

WM_MOUSEACTIVE695

WM_MENUSELECT695

WM_MOUSEWHEEL696

WM_MOUSEMOVE696

WM_NCACTIVATE697

WM_MOVING697

WM_MOVE697

WM_NCDESTORY698

WM_NCCREAT E698

WM_NCCALCSIZE698

WM_NCHITTEST699

WM_NCMBUTTONDBLCLK700

WM_NCLBUTTONUP700

WM_NCLBUTTONDBLBLK700

WM_NCLBUTTONDOWN700

WM_NCMOUSEMOVE701

WM_NCMBUTTONUP701

WM_NCMBUTTONDOWN701

WM_NCRBUTTONDOWN702

WM_NCRBUTTONDBLCLK702

WM_NCPAINT702

WM_NEXTMENU703

WM_NEXTDLGCTL703

WM_NCLBUTTONUP703

WM_PALETTECHANGED704

WM_PAINTTICON704

WM_PAINT704

WM_PARENTNOTIFY705

WM_PALETTECHANGING705

WM_POWERBROADCAST706

WM_POWER706

WM_QUERYOPEN707

WM_QUERYNEWPALETTE707

WM_QUERYDRAGICON707

WM_RBUTTONDOWN708

WM_RBUTTONDBLCLK708

WM_QUIT708

WM_SETFOCUS709

WM_SETCURSOR709

WM_RBUTTONUP709

WM_SETHOTKOY710

WM_SETFONT710

WM_SETREDRAW711

WM_SETICON711

WM_SIZE712

WM_SHOWWINDOW712

WM_SETTEXT712

WM_STYLECHANGED713

WM_SIZING713

WM_SYSCOLORCHANGE714

WM_SYSCHAR714

WM_STYLECHANGING714

WM_SYSCOMMAND715

WM_SYSKEYUP716

WM_SYSKEYDOWN716

WM_TIMER717

WM_TIMECHANGE717

WM_USERCHANGED718

WM_USER718

WM_UNDO718

WM_WINDOWPOSCHANGING719

WM_WINDOWPOSCHANGED719

WM_VSCROLL719

COLORREF721

附录C 类型与宏721

LOBYTE722

HIWORD722

HIBYTE722

max723

MAKELONG723

LOWORD723

MAKEINTATOM724

min724

MAKELRESULT725

MAKELPARAM725

MAKEINTRESOURCE725

PALETTEINDEX726

MAKEWPARAM726

MAKEWORD726

RGB727

PALETTERGB727

热门推荐