使用鉤子如何鎖定鍵盤的方法分享
#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)文章
linux c語言操作數(shù)據(jù)庫(連接sqlite數(shù)據(jù)庫)
linux下c語言操作sqlite數(shù)據(jù)庫實例方法,大家參考使用吧2013-12-12C語言數(shù)據(jù)在內(nèi)存中的存儲流程深入分析
使用編程語言進(jìn)行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個變量時,就會在內(nèi)存中保留一些空間。您可能需要存儲各種數(shù)據(jù)類型的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么2022-10-10C++實現(xiàn)“隱藏實現(xiàn),開放接口”的方案
本文從一個實例講解了C++實現(xiàn)“隱藏實現(xiàn),開放接口”的方案,文章條理清新,內(nèi)容充實,需要的朋友可以參考下2015-07-07C++基礎(chǔ)入門教程(七):一些比較特別的基礎(chǔ)語法總結(jié)
這篇文章主要介紹了C++基礎(chǔ)入門教程(七):一些比較特別的基礎(chǔ)語法總結(jié),本文總結(jié)的都是一些特殊的語法,需要的朋友可以參考下2014-11-11C++ 將一個文件讀入數(shù)組再讀出數(shù)組的方法
今天小編就為大家分享一篇C++ 將一個文件讀入數(shù)組再讀出數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07