MFC + Win32 API速查

目錄

2.1 窗口簡介

2.3 窗口之間的關係

2.4 窗口的大小、位置和佈局

2.5 顯示窗口

2.6 窗口屬性

2.7 對話框

2.8 其他

設備上下文——DC

3.3 設置和獲取DC的各種屬性

3.4 區域操作

3.5 裁剪操作

3.6 座標變換

3.7 顏色和調色板

3.8 其他

基本畫圖函數

4.2 路徑相關函數

4.3 處理DC對象

4.4 圖元文件

4.5 其他

位圖和圖標

5.3 設置和獲得位圖和圖標的各種屬性

5.4 位塊操作

菜單處理

6.1 菜單的簡單操作

6.2 菜單項處理

6.3 其他

文件處理

7.1 創建、讀寫和撤銷文件

7.2 設置和獲得文件的各種信息

7.3 目錄處理

7.4 文件查找

7.5 磁盤信息

7.6 壓縮文件

7.7 其他

同步

8.1 同步對象

8.2 關鍵區段

8.3 原子性訪問變量

8.4 等待事件發生

8.5 其他

處理文本和字體

9.1 文本

9.3 字體

硬件和系統

10.1 鍵盤

10.2 鼠標

10.3 光標

10.4 時鐘

10.5 系統信息

 Windows 消息

11.1 消息系統概述11.2 消息處理

11.3 消息隊列

11.4 其他

進程和線程

12.1 進程和線程概述12.2 進程

12.3 線程

12.4 調試

12.5 線程局部數據區

12.6 進程間通信



2.1 窗口簡介


2.2.1 創建普通窗口(CreateWindow、CreateWindowEx)
2.2.2 關閉窗口(CloseWindow)
2.2.3 銷燬窗口(DestroyWindow)


2.3 窗口之間的關係


2.3.1 父子關係(SetParent、GetParent、IsChild)
2.3.2 遍歷窗口(EnumWindow、EnumWindowProc、EnumChildWindows、EnumChildProc)
2.3.3 獲取指定的子窗口(ChildWindowFromPoint、ChildWindowFromPointEx)
2.3.4 獲得特定的窗口(GetWindow、GetTopWindow、GetNextWindow、GetDesktopWindow)


2.4 窗口的大小、位置和佈局


2.4.1 獲取窗口大小(GetWindowRect、GetClientRect)
2.4.2 調整窗口大小(AdjustWindowRect、AdjustWindowRectEx)
2.4.3 設置和獲取窗口位置(SetWindowPos)
2.4.4 移動窗口位置(MoveWindow)
2.4.5 設置一組窗口位置(BeginDeferWindowPos、DeferWindowPos、EndDeferWindowPos)
2.4.6 設置和獲取窗口布局(SetWindowPlacement、GetWindowPlacement)
2.4.7 設置和獲得視口座標起點(SetViewportOrgEx、GetViewportOrgEx)
2.4.8 設置和獲取視口座標範圍(SetViewportExtEx、GetViewportExtEx)
2.4.9 設置和獲取窗口座標起點(SetWindowOrgEx、GetWindowOrgEx)
2.4.10 設置和獲取窗口座標範圍(SetWindowExtEx、GetWindowExtEx)
2.4.11 座標起點的偏移操作(OffsetViewportOrgEx、OffsetWindowOrgEx)


2.5 顯示窗口


2.5.1 顯示單個窗口(ShowWindow、ShowWindowAsync、OpenIcon)
2.5.2 彈出式窗口(ShowOwnedPopups、GetLastActivePopup)
2.5.3 顯示子窗口(CascadeWindows、TileWindows、ArrangeIconicWindows)
2.5.4 判斷各種顯示狀態(IsIconic、IsWindowVisible、IsZoomed)


2.6 窗口屬性


2.6.1 設置和獲取窗口名(SetWindowText、GetWindowText、GetWindowTextLength)
2.6.2 設置和獲取窗口標記長字(SetWindowLong、GetWindowLong)
2.6.3 設置和獲取前臺窗口(SetForegroundWindow、GetForegroundWindow)


2.7 對話框


2.7.1 創建對話框(DialogBox、CreateDialog、CreateDialogIndirect、MessageBox、MessageBoxEx、MessageBoxIndirect)
2.7.2 獲取控件及其ID(GetDlgItem、GetDlgCtrlID)
2.7.3 設置獲取控件的顯示文本(SetDlgItemText、SetDlgItemInt、GetDlgItemText、GetDlgItemInt)
2.7.4 獲取下一個TAB控件(GetNextDlgTabItem)
2.7.5 對話框過程(DefDlgProc、DialogProc)
2.7.6 對話框座標和屏幕座標間的轉換(MapDialogRect)
2.7.7 撤銷對話框(EndDialog)


2.8 其他


2.8.1 查找窗口(FindWindow、FindWindowEx)
2.8.2 設置窗口Z座標(BringWindowToTop)
2.8.3 確定窗口屬性(IsWindow、IsWindowUnicode)
2.8.4 設置和獲取激活態窗口(SetActiveWindow、GetActiveWindow)
2.8.5 窗口閃爍(FlashWindow)
2.8.6 獲取指定點處的窗口(WindowFromPoint)
2.8.7 遍歷線程所有窗口(EnumThreadWindows、EnumThreadWndProc)


設備上下文——DC


3.2.1 創建DC(CreateDC、CreateCompatibleDC)
3.2.2 撤銷DC(ReleaseDC、DeleteDC)
3.2.3 獲得窗口DC(GetWindowDC、GetDC、GetDCEx)
3.2.4 保存和恢復DC(SaveDC、RestoreDC)


3.3 設置和獲取DC的各種屬性


3.3.1 獲得DC起始點座標(GetDCOrgEx)
3.3.2 設置顯示配置(ChangeDisplaySettings、ChangeDisplaySettingsEx)
3.3.3 遍歷顯示設備和其配置(EnumDisplayDevices、EnumDisplaySettings)
3.3.4 設置和獲取DC畫刷顏色(SetDCBrushColor、GetDCBrushColor)
3.3.5 設置和獲取DC畫筆顏色(SetDCPenColor、GetDCPenColor)
3.3.6 設置和獲取DC中各種對象(SelectObject、GetCurrentObject)
3.3.7 獲取DC中對象的信息(GetObject、GetObjectType、GetStockObject)


3.4 區域操作


3.4.1 新建橢圓區域(CreateEllipticRgn、CreateEllipticRgnIndirect)
3.4.2 新建多邊形區域(CreatePolygonRgn、CreatePolyPolygonRgn)
3.4.3 新建矩形區域(CreateRectRgn、CreateRectRgnIndirect)
3.4.4 新建圓矩形區域(CreateRoundRectRgn)
3.4.5 區域之間的操作(EqualRgn、ExcludeUpdateRgn)
3.4.6 區域上繪圖操作(FillRgn、FrameRgn、InvertRgn、PaintRgn)


3.5 裁剪操作


3.5.1 設置和獲取裁剪區域(SelectClipRgn、SelectClipPath、GetClipRgn、ExtSelectClipRgn)
3.5.2 裁剪區域間的運算(ExcludeClipRect、IntersectClipRect、OffsetClipRgn)


3.6 座標變換


3.6.1 客戶區座標與屏幕座標的變換(ClientToScreen、ScreenToClient)
3.6.2 設備座標與邏輯座標的變換(DPtoLP、LPtoDP)
3.6.3 窗口間的座標變換(MapWindowPoints)


3.7 顏色和調色板


3.7.1 創建新調色板(CreatePalette)
3.7.2 啓用調色板(SelectPalette、RealizePalette)
3.7.3 設置和獲取調色板顏色條目(SetPaletteEntries、GetPaletteEntries)
3.7.4 設置系統調色板的工作方式(SetSystemPaletteUse)
3.7.5 設置和獲取顏色調整(SetColorAdjutstment、GetColorAdjustment)
3.7.6 獲取匹配顏色(GetNearestColor、GetNearestPaletteIndex)


3.8 其他


3.8.1 滾動窗口(ScrollDC)
3.8.2 偏移操作(OffsetRect、OffsetRgn)
3.8.3 點、矩形和區域的關係(PtInRegion、PtVisible、RectInRegion、RectVisible)
3.8.4 縮放視口和窗口大小(ScaleViewportExtEx、ScaleWindowExtEx)
3.8.5 由給定DC獲取相聯繫的窗口(WindowFromDC)
3.8.6 獲取特定設備的信息(GetDeviceCaps)
3.8.7 撤銷DC中的對象(DeleteObject)


基本畫圖函數


4.1.1 點(SetPixel、SetPixelV、GetPixel)
4.1.2 線(LineTo、LineDDA、LineDDAProc、MoveToEx、Polyline、PolylineTo)
4.1.3 曲線(PolyBezier、PolyBezierTo、PolyDraw)
4.1.4 弧(AngleArc、Arc、ArcTo、SetArcDirection、GetArcDirection)
4.1.5 橢圓(Ellipse)
4.1.6 弦(Chord)
4.1.7 矩形(Rectangle、Roundrect、DrawEdge、DrawFocusRect、FillRect)
4.1.8 多邊形(Polygon、PolyPolygon、PolyPolyline)
4.1.9 餅圖(Pie)


4.2 路徑相關函數


4.2.1 啓動和終止路徑繪圖(BeginPath、EndPath)
4.2.2 曲線到直線(FlattenPath)
4.2.3 填充路徑(FillPath、StrokeAndFillPath)
4.2.4 邊界處理(StrokePath、WidenPath)
4.2.5 封閉路徑(CloseFigure)
4.2.6 獲取路徑區域(PathToRegion)
4.2.7 獲取路徑(GetPath)
4.2.8 撤銷路徑(AbortPath)


4.3 處理DC對象


4.3.1 新建畫筆(CreatePen、CreatePenIndirect、ExtCreatePen)
4.3.2 新建畫刷(CreateBrushIndirect、CreateHatchBrush、CreateDIBPatternBrushPt、CreatePatternBrush、CreateSolidBrush、GetSysColorBrush)
4.3.3 設置和獲取背景顏色和模式(GetBkColor、GetBkMode、SetBkColor、SetBkMode)


4.4 圖元文件


4.4.1 創建圖元文件(CreateEnhMetaFile、CreateMetaFile)
4.4.2 複製圖元文件(CopyEnhMetaFile、CopyMetaFile)
4.4.3 打開圖元文件(GetEnhMetaFile)
4.4.4 關閉圖元文件(CloseEnhMetaFile、CloseMetaFile)
4.4.5 撤銷圖元文件(DeleteEnhMetaFile、DeleteMetaFile)
4.4.6 繪製圖元文件(PlayEnhMetaFile)


4.5 其他


4.5.1 啓動和終止繪圖(BeginPaint、EndPaint)
4.5.2 獲取需更新區域(GetUpdateRect、GetUpdateRgn)
4.5.3 繪圖操作生效(InvalidateRect、InvalidateRgn、ValidateRect、ValidateRgn)
4.5.4 設置和獲取最大繪圖緩衝(GdiSetBatchLimit、GdiGetBatchLimit)
4.5.5 刷新緩衝(GdiFlush)
4.5.6 設置和獲取窗口可繪圖區域(SetWindowRgn、GetWindowRgn)
4.5.7 禁止在窗口繪圖(LockWindowUpdate)
4.5.8 繪製桌面(PaintDesktop)
4.5.9 更新窗口(RedrawWindow)
4.5.10 撤銷繪圖操作(CancelDC)
4.5.11 描繪標準控件(DrawFrameControl)
4.5.12 設定畫圖效果(DrawState、DrawStateProc)
4.5.13 設置和獲取系統顏色(SetSysColors、GetSysColor)


位圖和圖標


5.2.1 創建位圖(CreateBitmap、CreateBitampIndirect、CreateCompatible、Bitmap、CreateDIBitmap、CreateDIBSection、LoadBitmap、LoadImage)
5.2.2 創建圖標(CreateIcon、LoadIcon、LoadCursorFromFile)
5.2.3 撤銷圖標(DestoryIcon)


5.3 設置和獲得位圖和圖標的各種屬性


5.3.1 設置和獲取位圖的位數據(SetBitmapBits、GetBitmapBits)
5.3.2 設置和獲取DIB(SetDIBits、GetDIBits)
5.3.3 設置和獲取DIB顏色表(SetDIBColorTable、GetDIBColorTable)
5.3.4 設置和獲取位圖的大小(GetBitmapDimensionEx、SetBitmapDimension Ex)
5.3.5 獲取圖標信息(GetIconInfo)


5.4 位塊操作


5.4.1 各種位塊操作方式(BitBlt、PatBlt、PlgBlt、StretchBlt、MaskBlt、TransparentBlt)
5.4.2 設置和獲取位操作模式(SetROP2、GetROP2、SetStretchBltMode、GetStretchBltMode)
5.5 其他
5.5.1 複製位圖和圖標(CopyImage、CopyIcon)
5.5.2 從文件中搜尋圖標(ExtractIcon、ExtractIconEx、ExtractAssociatedIcon)
5.5.3 顯示圖標(DrawIcon、DrawIconEx)


菜單處理


6.1 菜單的簡單操作


6.1.1 生成新菜單(CreateMenu、CreatePopupMenu)
6.1.2 裝載菜單(LoadMenu、LoadMenuIndirect)
6.1.3 撤銷菜單(DestoryMenu、DeleteMenu、RemoveMenu)
6.1.4 獲取菜單(GetMenu、GetSubMenu、GetSystemMenu)
6.1.5 增添菜單(AppendMenu)


6.2 菜單項處理


6.2.1 設置和獲取菜單項信息(SetMenuItemInfo、GetMenuItemInfo)
6.2.2 設置和獲取缺省菜單項(SetMenuDefautlItem、GetMenuDefaultItem)
6.2.3 獲取菜單項的ID(GetMenuItemID)
6.2.4 獲取菜單項數(GetMenuItemCount)
6.2.5 獲取菜單項的範圍大小(GetMenuItemRect)
6.2.6 高亮顯示菜單項(HiliteMenuItem)
6.2.7 菜單項屬性(CheckMenuItem、EnableMenuItem、CheckMenuRadioItem)
6.2.8 添加菜單項(InsertMenuItem)
6.2.9 獲取某點處的菜單項(MenuItemFromPoint)


6.3 其他


6.3.1 設置窗口的菜單(SetMenu)
6.3.2 判定句柄是否指向菜單(IsMenu)
6.3.3 上下文菜單(TrackPopupMenu、TrackPopupMenuEx)
6.3.4 顯示菜單條(DrawMenuBar)
6.3.5 圖形菜單項(SetMenuItemBitmaps)


文件處理


7.1 創建、讀寫和撤銷文件


7.1.1 創建文件(CreateFile、lcreat、GetTempFileName)
7.1.2 設置文件讀寫位置(SetFilePointer、_llseek、_lseek)
7.1.3 寫入文件(WriteFile、lwrite、hwirte)
7.1.4 異步寫入文件(WriteFileEx、FileIOCompletionRoutine)
7.1.5 讀入文件(ReadFile、_lread、_hread)
7.1.6 異步讀入文件(ReadFileEx)
7.1.7 複製文件(CopyFile、CopyFileEx、CopyProgressRoutine)
7.1.8 更改文件名(MoveFile、MoveFileEx)
7.1.9 關閉文件(CloseHandle、_lclose)
7.1.10 刪除文件(DeleteFile)


7.2 設置和獲得文件的各種信息


7.2.1 獲取文件大小(GetFileSize)
7.2.2 獲取文件類型(GetFileType)
7.2.3 設置和獲取文件時間信息(SetFileTime、GetFileTime)
7.2.4 獲取文件版本信息(GetFileVersionInfo、GetFileVersionInfoSize、VerQueryValue)
7.2.5 是否可執行文件(GetBinaryType)
7.2.6 長文件名和短文件名的轉換(GetFullPathName、GetShortPathName)
7.2.7 由文件句柄獲取文件信息(GetFileInformationByHandle)
7.2.8 設置文件結束標誌(SetEndOfFile)
7.2.9 設置和獲取文件屬性(SetFileAttributes、GetFileAttributes)


7.3 目錄處理


7.3.1 創建新目錄(CreateDirectory、CreateDirectoryEx)
7.3.2 刪除目錄(RemoveDirectory)
7.3.3 獲取系統路徑(GetSystemDirectory)
7.3.4 獲取臨時路徑(GetTempPath)
7.3.5 獲取Windows完整目錄(GetWindowsDirectory)
7.3.6 設置和獲取當前目錄(SetCurrentDirectory、GetCurrentDirectory)


7.4 文件查找


7.4.1 查找第一個文件(FindFirstFile)
7.4.2 查找下一個文件(FindNextFile)
7.4.3 查找指定文件(SearchPath)
7.4.4 查找結束(FindClose)


7.5 磁盤信息


7.5.1 獲取可用邏輯驅動器(GetLogicalDrives)
7.5.2 獲取可用邏輯驅動器信息(GetLogicalDriveStrings)
7.5.3 設置和獲取卷標信息(SetVolumeLabel、GetVolumeInformation)
7.5.4 獲取磁盤空閒空間(GetDiskFreeSpace、GetDiskFreeSpaceEx)
7.5.5 獲取磁盤類型(GetDriveType)


7.6 壓縮文件


7.6.1 初始化內部緩衝區(LZInit)
7.6.2 打開壓縮文件(LZOpenFile)
7.6.3 讀入壓縮文件(LZRead)
7.6.4 壓縮文件指針定位(LZSeek)
7.6.5 獲取壓縮文件大小(GetCompressedFileSize)
7.6.6 獲取壓縮文件全名(GetExpandedName)
7.6.7 複製和解壓縮文件(LZCopy)
7.6.8 關閉壓縮文件(LZClose)


7.7 其他


7.7.1 設置和獲取字符集(SetFileApisToANSI、SetFileApisToOEM、AreFileApisANSI)
7.7.2 聯繫文件和I/O端口(CreateIoCompletionPort、PostQueuedCompletion Status、GetQueuedCompletionStatus)
7.7.3 更新文件緩衝區(FlushFileBuffers)
7.7.4 加鎖和解鎖文件(LockFile、LockFileEx、UnlockFile、UnlockFileEx)
7.7.5 撤銷文件IO(CancelIO)
7.7.6 比較文件時間信息(CompareFileTime)
7.7.7 設備IO操作(DeviceIoControl)
7.7.8 DOS時間轉換爲Win32時間(DosDateTimeToFileTime)
7.7.9 Win32時間轉換爲Dos時間(FileTimeToDosDateTime)
7.7.10 Win32時間轉換本地時間(FileTimeToLocalFileTime)


同步


8.1 同步對象


8.1.1 生成同步對象(CreateEvent、CreateMutex、CreateSemaphore、Create WaitableTimer)
8.1.2 打開同步對象(OpenEvent、OpenMutex、OpenSemaphore、OpenWaitable Timer)
8.1.3 關鍵段(EnterCriticalSection、LeaveCriticalSection、DeleteCritiaclSection)


8.2 關鍵區段


8.2.1 初始化關鍵區段(InitializeCriticalSection、InitializeCriticalSectionAnd SpinCount)
8.2.2 非阻塞進入關鍵區段(TryEnterCriticalSection)
8.2.3 設置關鍵區段的計數(SetCriticalSecitonSpinCount)


8.3 原子性訪問變量


8.3.1 原子性比較(InterlockedCompareExchange)
8.3.2 原子性交換(InterlockedExchange)
8.3.3 原子性增加(InterlockedIncrement、InterlockedExchangeAdd)
8.3.4 原子性減少(InterlockedDecrement)


8.4 等待事件發生


8.4.1 觸發一個事件並等待另一個事件(SignalObjectAndWait)
8.4.2 等待單個事件發生(WaitForSingleObject、WaitForSingleObjectEx)
8.4.3 等待多個事件發生(WaitForMultipleObjects、WaitForMultipleObjectsEx)
8.4.4 等待消息(MsgWaitForMultipleObjects、MsgWaitForMultipleObjectsEx)


8.5 其他


8.5.1 設置事件狀態(SetEvent、ResetEvent、PulseEvent)
8.5.2 釋放互斥量(ReleaseMutex)
8.5.3 釋放信號燈(ReleaseSemaphore)
8.5.4 設置可等待定時器狀態(SetWaitableTimer、CancelWaitableTimer)


處理文本和字體


9.1 文本


9.1.1 顯示文本(DrawText、DrawTextEx、TextOut、ExTextOut、TabbedTextOut、GrayString、OutputProc、PolyTextOut)
9.1.2 設置和獲取文本屬性(SetTextAlign、GetTextAlign、SetTextColor、GetTextColor)
9.1.3 調整和獲取字符間距(SetTextCharacterExtra、GetKerningPairs)
9.1.4 獲得字符串的寬和高(GetTextExtentPoint32、GetTabbedTextExtent)
9.1.5 獲取字符串的信息(GetCharacterPlacement)
9.1.6 調整字符串(SetTextJustification)


9.3 字體


9.3.1 創建新字體(CreateFont、CreateFontIndirect、CreateScalableFontResource)
9.3.2 在系統中添加和刪除字體(AddFontResource、RemoveFontResource)
9.3.3 獲取字體的寬度(GetCharABCWidths、GetCharWidth、GetCharWidth32、GetCharWidthFloat、GetCharaABCWidthsFloat)
9.3.4 獲取字體的各種信息(GetTextMetric、GetFontLanguageInfo)
9.3.5 字體的寬高比( GetAspectRatioFilterEx、SetMapperFlags)
9.3.6 獲取字體的字型名(GetTextFace)
9.3.7 遍歷系統字體(EnumFontFamiliesEx、EnumFontFamiExProc)


硬件和系統


10.1 鍵盤


10.1.1 設置和獲取鍵盤佈局(ActivateKeyboardLayout、GetKeyboardLayout、GetKey boardLayoutList、GetKeyboardLayoutName)
10.1.2 裝載和卸載鍵盤佈局(LoadKeyBoardLayout、UnloadKeyBoardLayout)
10.1.3 獲得和設置鍵盤狀態(GetKeyboardState、SetKeyboardState)
10.1.4 獲得鍵盤類型(GetKeyboardType)
10.1.5 獲得按鍵名(GetKeyNameText)
10.1.6 獲得按鍵狀態(GetKeyState、GetAsyncKeyState)
10.1.7 虛擬按鍵到掃描碼(MapVirtualKey、MapVirtualKeyEx)
10.1.8 虛擬按鍵到ASCII碼(ToAscii、ToAsciiEx)
10.1.9 虛擬按鍵到Unicode(ToUnicode、ToUnicodeEx)
10.1.10 字符到虛擬按鍵(VkKeyScan、VkKeyScanEx)
10.1.11 OEM碼到掃描碼(OemKeyScan)
10.1.12 註冊和撤銷系統熱鍵(RegisterHotKey、UnregisterHotKey)
10.1.13 插入鍵盤事件(SendInput、keybd_event)


10.2 鼠標


10.2.1 獲得鼠標輸入點序列(GetMouseMovePoints)
10.2.2 獲得和設置雙擊間隔(GetDoubleClickTime、SetDoubleClickTime)
10.2.3 鼠標左右鍵設置(SwapMouseButton)
10.2.4 鼠標捕獲和釋放(SetCapture、GetCapture、ReleaseCapture)
10.2.5 捕獲離開和滑過事件(TrackMouseEvent)
10.2.6 插入鼠標事件(mouse_event)
10.2.7 探測拖動(DragDetect)


10.3 光標


10.3.1 新建和撤銷光標(CreateCursor、LoadCursorFromFile、DestroyCursor)
10.3.2 設置和獲取光標(SetCursor、GetCursor)
10.3.3 設置和獲取光標位置(SetCursorPos、GetCursorPos)
10.3.4 設置和獲取光標活動範圍(ClipCursor、GetClipCursor)
10.3.5 顯示光標(ShowCursor)
10.3.6 設置系統光標(SetSystemCursor)


10.4 時鐘


10.4.1 設置和獲取系統時間(SetSystemTime、GetSystemTime、GetSystemTimeAsFileTime)
10.4.2 設置和獲取當地時間(SetLocAltime、GetLocAltime)
10.4.3 獲取自啓動以來的微秒數(GetTickCount)
10.4.4 獲取和設置系統調整時間( GetSystemTimeAdjustment、SetSystemTimeAdjustment)
10.4.5 設置和獲取時區信息(SetTimeZoneInformation、GetTimeZoneInformation)
10.4.6 獲取高精度時間(QueryPerformanceCounter、QueryPerformance Frequency)
10.4.7 設置定時器(SetTimer)
10.4.8 設置定時器回調函數(TimerProc)
10.4.9 撤銷定時器(KillTimer)


10.5 系統信息


10.5.1 獲取系統各種度量信息(GetSystemMetrics)
10.5.2 設置和獲取系統參數(SystemParametersInfo)
10.5.3 確定處理器的特性(IsProcessorFeaturePresent)
10.5.4 獲取和設置計算機名(GetComputerName、SetComputerName)
10.5.5 獲取用戶名(GetUserName)
10.5.6 獲取操作系統版本信息(GetVersionEx)
10.5.7 獲取系統信息(GetSystemInfo)


 Windows 消息


11.1 消息系統概述
11.2 消息處理


11.2.1 發送消息(SendMessage、SendMessageCallback、SendNotifyMessage、SendMessageTimeout、PostThreadMessage、PostMessage、PostQutiMessage、BroadcastSystemMessage)
11.2.2 回覆消息(ReplyMessage)
11.2.3 獲取消息(GetMessage、WaitMessage、PeekMessage)
11.2.4 處理消息(TranslateMessage、DispatchMessage)
11.2.5 設置和獲取消息的附加信息(SetMessageExtraInfo、GetMessageExtra Info)
11.2.6 獲取消息的伴隨信息(GetMessagePos、GetMessageTime)
11.2.7 註冊新窗口消息(RegisterWindowMessage)


11.3 消息隊列


11.3.1 獲取隊列狀態(GetQueueStatus)
11.3.2 獲取隊列中輸入消息狀態( GetInputState)


11.4 其他


11.4.1 是否重入(InSendMessage、InSendMessageEx)


進程和線程


12.1 進程和線程概述
12.2 進程


12.2.1 創建新進程(CreateProcess、CreateProcessAsUser)
12.2.2 獲取進程對象(OpenProcess)
12.2.3 獲取進程起始信息(GetStartupInfo)
12.2.4 設置和獲取工作集大小(SetProcessWorkingSetSize、GetProcessWorkingSetSize)
12.2.5 設置和獲取進程的優先級(SetPriorityClass、GetPriorityClass)
12.2.6 進程的動態優先級(SetProcessPriorityBoost、GetProcessPriorityBoost)
12.2.7 設置和獲取退出參數(SetProcessShutdownParameters、GetProcessShutdownParameters)
12.2.8 獲取進程的退出代碼(GetExitCodeProcess)
12.2.9 設置和獲取環境參數(GetEnvironmentStrings、SetEnvironmentVariable、GetEnvironmentVariable、FreeEnvironmentVariable)
12.2.10 獲取進程的時間信息(GetProcessTime)
12.2.11 獲取進程的版本信息(GetProcessVersion)
12.2.12 獲取當前進程(GetCurrentProcess、GetCurrentProcessID)
12.2.13 等待進程空閒(WaitForInputIdle)
12.2.14 結束進程(ExitProcess、TerminateProcess)
12.2.15 獲取命令參數(GetCommandLine、CommandLineToArgvW)


12.3 線程


12.3.1 創建新線程(CreateThread)
12.3.2 設置和獲得線程優先級(SetThreadPriority、GetThreadProority)
12.3.3 線程的調度(SuspendThread、SwitchToThread、ResumeThreadExitThread 、TerminateThread、Sleep、SleepEx)
12.3.4 設置線程的輸入隊列(AttachThreadInput)
12.3.5 線程的動態優先級( SetThreadPriorityBoost、GetThreadPriorityBoost)
12.3.6 獲取線程的時間信息(GetThreadTimes)
12.3.7 獲取線程的退出碼(GetExitCodeThread)


12.4 調試


12.4.1 調試指定進程(DebugActiveProcess)
12.4.2 設置斷點(DebugBreak)
12.4.3 等待異常發生(WaitForDebugEvent)
12.4.4 重新啓動線程(ContinueDebugEvent)
12.4.5 設置調試級別(SetDebugErrorLevel)
12.4.6 發送一串字符給調試器(OutputDebugString)
12.4.7 是否處於被調試態(IsDebuggerPresent)
12.4.8 控制轉移到調試器(FatalExit)
12.4.9 設置和獲取線程上下文(SetThreadContext、GetThreadContext)
12.4.10 獲取線程選擇子的描述符(GetThreadSelectorEntry)
12.4.11 讀寫進程內存(WriteProcessMemory、ReadProcessMemory)


12.5 線程局部數據區


12.5.1 分配(TlsAlloc)
12.5.2 釋放(TlsFree)
12.5.3 設置和獲取變量值(TlsSetValue、TlsGetValue)


12.6 進程間通信


12.6.1 創建映射文件(CreateFileMapping)
12.6.2 打開映射文件(OpenFileMapping)
12.6.3 映射文件到內存(MapViewOfFile、MapViewOfFileEx)
12.6.4 撤銷映射(UnmapViewOfFile)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章