原创 在DLL中接收系統消息的辦法

        程序中需要在DLL中接收系統消息,在網上搜了搜,總結出兩種方法:           1. 建立一個隱藏窗口           在程序開始的時候創建一個隱藏窗口,注意這個窗口必須是無模式 窗口,這樣才能隱藏起來不干

原创 OnQueryEndSession 與 OnEndSession

     Windows 在註銷、重起、關機 之前會向每個當前正在運行的應用程序發送WM_QUERYENDSESSION消息, 如果該應用程序方便關閉的話,則在此消息的消息響 應函數OnQueryEndSession()中返回非0值(TR

原创 DLL調試中斷點失效的問題

    用VS2008編寫了一個DLL工程,打算加上application進行調試,結果點下F5,DLL工程中的所有斷點都被禁掉了,顯示如下:       The breakpoint will not currently be hi

原创 DLL中導出全局變量的方法及導入時需要注意的問題

      今天做程序需要導出DLL中的一個全局指針,可是導出後只要一使用就會發生access violation,後來在網上找了找文章,原來是之前導入方法存在問題,下面把整個DLL導出導入全局函數的方法整理一下,作爲記錄。整個文章大部分

原创 windows接收登陸消息

windows接收系統登陸消息有幾種方式:   1. 通過WM_WTSESSION_CHANGE消息,需要注意的是該消息僅支持XP以上的系統,並且在使用前要調用WTSRegisterSessionNotification函數來註冊該消息。

原创 TRACE打印中文時輸出_CrtDbgReport: String too long or IO ErrorThe program的解決辦法

      今天在用TRACE語句輸出文件名的時候,發現輸出結果是_CrtDbgReport: String too long or IO ErrorThe program,再仔細看看,string長度並不長,但是包含有中文,再到網上搜一

原创 MessageBox中第一個參數hWnd的作用

MFC好久不用就會忘記,這次用到MessageBox才注意到裏面第一個參數。函數定義如下:    int MessageBox(              HWND hWnd,         LPCTSTR lpText,     

原创 關閉對話框,OnClose和OnCancel

      我們知道,在對話框中,屏蔽ESC鍵自動退出可以選擇重載OnCancel爲啞函數的方法:        void CXXXXDlg::OnCancel()      {         // TODO: Add your sp

原创 HWND和CWnd的關係及互相轉換

HWND HWND是窗口句柄,記錄了你要找的窗口對象的地址,通過這個成員記錄的地址,你能輕鬆的找到窗口對象。   CWnd   CWnd是窗口類,它把句柄和相關API封裝到一個類中,使得使用方便。   在該類中包含句柄

原创 _beginthread傳遞參數時容易犯的錯誤

     下面的程序你能看出來哪裏有問題嗎?   void MyFun() { WCHAR wszFileName[MAX_PATH] = L"C://test.txt"; _beginthread(ThreadFun, 0, wsz

原创 Android 4.x耳機插拔檢測實現方法

        本文基於Android 4.4撰寫,另外也參看了一下4.2,機制相同,也許細節方面會有所不同,這裏以4.4爲主。         Android耳機插拔可以有兩個機制實現:        1.      InputEven

原创 如何使Android應用程序獲得root權限

       寫這篇文章前,首先要感謝 Simon_fu ,他的兩篇關於 root 權限的文章對於我的工作起到了非常大的幫助,這篇文章可以說是對他的文章的一個補充。 Simon_fu 的文章可以參考如下兩個網頁: Android

原创 Android 4.x下基於wm8994的mic檢測

        本文基於Android 4.4和4.2,檢測所用codec爲wm8994。         Android和Kernel下的mic檢測是建立在headset檢測的基礎上的,具體過程如下:         1)       

原创 Android開發使用adb時出現adb server is out of date的解決方法

        最近在Android開發使用adb push時出現了一個奇怪的問題,不管執行adb push之類命令還是adb start-server,都會出現如下的錯誤提示信息: adb server is out of date

原创 log off時應用程序不退出的2種解決辦法

     最近公司開發一個加密的項目,客戶要求在log off以後加密過程不能停止,即數據轉換過程必須還要繼續。之前的程序是用MFC寫的,爲了最小化工作量,我做了一些調研,大致找到有兩種辦法。   1. 將數據轉換過程寫爲service