程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi技巧點滴

Delphi技巧點滴

編輯:Delphi

  1.如何檢測Insert、Capslock、NUMLock、ScrollLock狀態鍵的狀態

  Delphi可以調用Win API的Getkeyboardstate()函數。

  常量 按鍵名稱

  VK_INSERT znsert鍵

  VK_NUMLOCK Num Lock鍵

  VK_CAPITAL Caps Lock鍵

  VK_SCROLL Scroll Lock鍵

  鍵盤緩沖區每一位都有一位特定的格式,對於狀態鍵來說,最低位是1時表示狀態鍵處於ON狀態,你可以使用odd()函數來確定這一位的狀態,以下是一個簡單的例子請參考。例子中放置一個Timer控件、一個StatusBar狀態條。

  
procedure TForm1.Timer1Timer(Sender: TObject);
var ks:tkeyboardstate;
begin
getkeyboardstate(ks);//檢測鍵盤函數
if odd(ks[VK_NUMLOCK]) then
statusbar1.panels.items[0].text:=NUM
else
statusbar1.panels.items[0].text:=;
if odd(ks[VK_INSERT]) then
statusbar1.panels.items[1].text:=INSERT
else
statusbar1.panels.items[1].text:=;
if odd(ks[VK_CAPITAL]) then
statusbar1.panels.items[2].text:=CAPITAL
else
statusbar1.panels.items[2].text:= ;
if odd(ks[VK_SCROLL]) then
statusbar1.panels.items[3].text:=SCROLL
else
statusbar1.panels.items[3].text:=;
end;
end.

  2.屏蔽系統按鍵

  也許你希望程序在運行時不想讓用戶按系統按鍵 Alt-Tab 或 Ctrl-Alt-Del,那麼可以通過以下的程序來屏蔽這些按鍵。  

  
procedure TForm1.FormCreate(Sender: TObject);   var tmp,Flag :integer;
begin
  tmp := 0;
Flag := 1;
  //屏蔽 Alt-Tab
  SystemParametersInfo( SPI_SETFASTTA-SKSWITCH, Flag, @tmp, 0);
  //屏蔽 Ctrl-Alt-Del
  SystemParametersInfo( SPI_SCREENSAVERRU-NNING,Flag, @tmp, 0);  
end;
   當你要恢復功能鍵時用以下代碼:
Flag := 0;
SystemParametersInfo(SPI_SCREENSAVERRU-NNING,Flag,@temp,0);
3.隱藏和顯示Windows的任務條

  如何隱藏和顯示Windows的任務條?僅僅調用以下的函數就可以。本程序的思路實際上就是先找到標題條的句柄,然後向它發送相應消息(SW_HIDE/SW_RESTORE)即可

  
procedure hideTaskbar;
//隱藏
var wndHandle : THandle;
wnd ss : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], Shell_TrayWnd);
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_HIDE);
End;
procedure showTaskbar;
var wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], Shell_TrayWnd);
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_RESTORE);
end;
end;

  3.如何將你的程序放在Windows啟動中

  有時需要讓Windows在啟動時自動運行你的程序,如何在程序中實現呢?

  使用Regedit查找HKEY_L

[1] [2] [3] 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved