原创 Windows API——OpenClipboard——剪切板

剪切板:系統維護的一個全局公共內存區域.每次只允許一個進程對其進行訪問。 剪切板操作方法如下:(MSDN上搜索Clipboard Operations) 1.打開剪切板Bool OpenClipboard(HWND hWndNewOwne

原创 Windows API——SHGetSpecialFolderPath——獲取系統特殊路徑

1 BOOL SHGetSpecialFolderPath( 2 HWND hwndOwner, 3 LPTSTR lpszPath, //路徑,長度至少爲MAX_PATH,Windows下即260

原创 MFC中獲得各個類的指針/句柄的總結(轉)

一般我們使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,無論是多文檔還是單文檔,都存在指針獲取和操作問題。 下 面這節內容主要是一般的框架,然後再講多線程中的指針使用。使用到的類需要包含響應的頭文件。首

原创 Windows消息循環

1 #include <Windows.h> 2 #include <tchar.h> 3 #include "resource.h" 4 5 #define MAX_LOADSTRING 100 6 TCHA

原创 windows消息大全

  消息,就是指Windows發出的一個通知,告訴應用程序某個事情發生了。例如,單擊鼠標、改變窗口尺寸、按下鍵盤上的一個鍵都會使Windows發送一個消息給應用程序。消息本身是作爲一個記錄傳遞給應用程序的,這個記錄中包含了消息的類型以及其

原创 SendMessage和PostMessage

  SendMessage 和 PostMessage 的區別   1、首先是返回值意義的區別,我們先看一下 MSDN 裏的聲明: LRESULT SendMessage(        HWND hWnd,        UINT

原创 鉤子HHOOK

基本概念     鉤子(Hook),是Windows消息處理機制的一個平臺,應用程序可以在上面設置子程以監視指定窗口的某種消息,而且所監視的窗口可以是其他進程所創建的。當消息到達後,在目標窗口處理函數之前處理它。鉤子機制允許應用程序截獲處

原创 PreTranslateMessage

MFC中CWintThread的PumpMessage函數的定義:   1 BOOL CWinThread::PumpMessage() 2 { 3 _AFX_THREAD_STATE *pState = AfxGetTh

原创 MFC消息類型——理論(轉載)

Windows系統是一個消息驅動的操作系統,消息是應用程序與操作系統交互的手段。消息的產生來源於系統事件和用戶事件,Windows用消息來調入和關閉應用程序。例如在關機操作中,Windows給所有正在運行的應用程序發出一個關機的消息,通知

原创 Windows API ——GetLogicalDriveStrings——獲取邏輯驅動器

1 TCHAR buffer[MAX_PATH]; 2 DWORD dwVal=::GetLogicalDriveStrings(MAX_PATH,buffer); 3 4 CString str; 5 for(int i =

原创 Windows API ——LoadCursor——載入鼠標

1: LoadStandardCursor使用方法 .           LoadStandardCursor用來載入系統自帶的光標 , 調用方式如下:                        HCURSOR hCursor =

原创 Windows消息中的虛擬鍵列表

Windows消息中的虛擬鍵列表 Windows消息中的虛擬鍵VK_LBUTTON    鼠標左鍵    0x01VK_RBUTTON    鼠標右鍵    0x02VK_CANCEL          Ctrl + Break   0x

原创 CString的成員函數詳解

typedef ATL::CStringT< TCHAR, StrTraitMFC_DLL< TCHAR > > CString; CString的構造函數: 1 CString( );2 CString( const CString&

原创 回調函數CALLBACK

  回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作爲參數傳遞給另一個函數,當這個指針被用爲調用它所指向的函數時,我們就說這是回調函數。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用

原创 窗口的部分顯示與隱藏

  1.添加Picture控件 2.將Picture控件拖動成一條線,放到需要界面隱藏的部分的位置 3.添加按鈕的響應代碼 1 static CRect rectSmall, rectBig, rectSeperator;//