Wolfgang Chien's Homepage | Delphi學習筆記 - 問答篇 |
我想在 application 起來時把 keyboard 的 NUMLOCK 關掉. 找了好久, 在 WINAPI 裡找到一個 SetKeyboardState(), 但是在說明裡, 卻指出來這個 API 不能用來控制 NUMLOCK, CAPSLOCK等. 請問哪裡有相關資料或元件可參考 ? 謝謝 .
幫您查了一下 MSDN 的資料, 技術文件上建議 win32 是用 keybd_event() 來處理, 可惜該方法在 NT 可以, 但 Windows 95 沒有作用. (以上是文件說的...)
所以, 如果是 Windows 95, 那還是用 SetKeyboardState() 這個 API, 仍然有作用的. 程式如下:
Procedure SetNumLock(bLockIt: boolean); Var KeyState : TKeyBoardState; begin GetKeyboardState(KeyState); if bLockIt then KeyState[VK_NUMLOCK] := 1 else KeyState[VK_NUMLOCK] := 0; SetKeyboardState(KeyState); end; procedure TForm1.Button1Click(Sender: TObject); begin SetNumLock(True); end; procedure TForm1.Button2Click(Sender: TObject); begin SetNumLock(False); end;
首頁 | 學習筆記 | 主題公園 | 軟體下載 | 關於本站 | 討論信群 | 相約下次 |