使用鉤子如何鎖定鍵盤的方法分享
#include
#include
//處理按鍵消息的過程函數(shù)
LRESULT CALLBACK keyproc( int code,
WPARAM wParam,
LPARAM lParam )
{
return 1;//返回1可使鍵盤停止響應(yīng)
}
main(int argc, char* argv[])
{
SetWindowsHookEx(WH_KEYBOARD,keyproc,GetModuleHandle(NULL),0);//安裝鍵盤鉤子
printf("\n\n\n程序?qū)⒃?5妙之后返回...嘿嘿15妙內(nèi)你的鍵盤是無法工作的哦\n");
::Sleep(15000);
}
代碼中使用鉤子而無DLL的關(guān)鍵就在于GetModuleHandle(NULL), GetModuleHandle()參數(shù)為NULL得到的是調(diào)用者本身的模塊句柄,也就是說用程序本身作為DLL。因為是console程序,所以隨著程序的結(jié)束鉤子也就OVER了,所以并沒有卸載鉤子。
相關(guān)文章
數(shù)據(jù)結(jié)構(gòu)與算法中二叉樹子結(jié)構(gòu)的詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)與算法中二叉樹子結(jié)構(gòu)的詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
C語言使用結(jié)構(gòu)體實現(xiàn)簡單通訊錄
這篇文章主要為大家詳細(xì)介紹了C語言使用結(jié)構(gòu)體實現(xiàn)簡單通訊錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02
C++中的std::funture和std::promise實例詳解
在線程池中獲取線程執(zhí)行函數(shù)的返回值時,通常使用 std::future 而不是 std::promise 來傳遞返回值,這篇文章主要介紹了C++中的std::funture和std::promise實例詳解,需要的朋友可以參考下2024-05-05

