廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 4899 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
z26742332
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 請幫我解釋lock()函式裡面的程式碼[未解決]
LRESULT CALLBACK mouproc(int,WPARAM,LPARAM) {return 1;}
LRESULT CALLBACK keyproc(int,WPARAM,LPARAM) {return 1;}
void lock()
{
SendMessage(FindWindow(0,0),WM_SYSCOMMAND,SC_MONITORPOWER,2);
SetWindowsHookEx(WH_KEYBOARD,mouproc,GetModuleHandle(0),0);
SetWindowsHookEx(WH_MOUSE_LL,keyproc,GetModuleHandle(0),0);
}
在網路查資料時
發現該程式碼很有趣
但我不知該如何正確使用
因此來這裡請問

執行後電腦 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



大家好。
獻花 x0 回到頂端 [樓 主] From:歐洲 | Posted:2008-12-22 00:05 |
Lenki
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x10
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

//SendMessage ;傳送訊息給 HWnd
//FindWindow(0,0) ;取得第一個視窗的 HWnd
//WM_SYSCOMMAND ;用法很多,請參閱 msdn
//SC_MONITORPOWER,2 ;關閉顯示器電源(-1:開啟螢幕;1:省電模式;2:關閉電源)
SendMessage(FindWindow(0,0),WM_SYSCOMMAND,SC_MONITORPOWER,2);

//SetWindowsHookEx ;攔截系統訊息
//WH_KEYBOARD ;指定為鍵盤的訊息
//mouproc ;自定義的處理程式
//GetModuleHandle;取得目前執行程式的 Handle
SetWindowsHookEx(WH_KEYBOARD,mouproc,GetModuleHandle(0),0);
//WH_MOUSE_LL ;指定為滑鼠訊息
SetWindowsHookEx(WH_MOUSE_LL,keyproc,GetModuleHandle(0),0);


以上是查詢 MSDN 的資料;
你所貼的程式執行之後會將螢幕輸出關閉,所以畫面會先變黑
再來就是攔截鍵盤的訊息,處理的程式就是 Return 1,等於什麼事都不做……
然後又攔截滑鼠……一樣又什麼都不做。
所以電腦就重開吧!
表情

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: 因為您的參與,讓程式設計更容易!!


獻花 x0 回到頂端 [1 樓] From:臺灣中華 | Posted:2008-12-28 03:08 |
Inndy
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x5
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

這應該是用來保護程式用的吧....
只要按X就被關掉了~XD 表情


獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2010-02-05 18:04 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.056920 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言