Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

DelphiÄ£Äâ¼üÅÌ¿ØÖÆCaps Lock(keybd_event)

ÒÔCaps Lock¼ü¾ÙÀý£¬ÆäËü(VK_NUMLOCK),Ààͬ£º
 
ÅжÏ״̬£º
 
·½·¨1
Level: integer;
   
Level := GetKeyState(VK_CAPITAL);
if Level = 0 then
//ûÁÁ
else
//ÁÁÁË(1)
 
·½·¨2
KeyState : TKeyBoardState;
 
GetKeyboardState(KeyState);
if KeyState[VK_CAPITAL] = 0 then
//ûÁÁ
else
//ÁÁÁË(1)
 
ÉèÖÃ״̬£º
 
 
keybd_event(VK_CAPITAL, MapVirtualkey(VK_CAPITAL,0), 0, 0);                                //Caps Lock¼ü°´ÏÂ
//ÈçÐèͬʱ°´ÏÂÁ½¼ü£¬ÔÚÖмä¼ÓÉϼ´¿É
keybd_event(VK_CAPITAL, MapVirtualkey(VK_CAPITAL,0), KEYEVENTF_KEYUP, 0);     //Caps Lock¼üËÉ¿ª
 
 
--------------------------------------------------------------------------------
 
±¸×¢£º
 
keybd_event 
 
¡¡¡¡º¯Êý¹¦ÄÜ£º¸Ãº¯ÊýºÏ³ÉÒ»´Î»÷¼üʼþ¡£ÏµÍ³¿ÉʹÓÃÕâÖֺϳɵĻ÷¼üʼþÀ´²úÉúWM_KEYUP»òWM_KEYDOWNÏûÏ¢£¬¼üÅÌÇý¶¯³ÌÐòµÄÖжϴ¦Àí³ÌÐòµ÷ÓÃkeybd_eventº¯Êý¡£ÔÚWindows NTÖиú¯Êý¼º±»Ê¹ÓÃSendInputÀ´Ìæ´úËü¡£
¡¡¡¡º¯ÊýÔ­ÐÍ£»VOID keybd_event£¨BYTE bVk£¬BYTE bScan£¬DWORD dwFlags£¬DWORD dwExtralnfo£©£»
¡¡¡¡²ÎÊý£º
¡¡¡¡bVk£º¶¨ÒåÒ»¸öÐé¾ÝÄâ¼üÂë¡£¼üÂëÖµ±ØÐëÔÚ1¡«254Ö®¼ä¡£
¡¡¡¡bScan:¶¨Òå¸Ã¼üµÄÓ²¼þɨÃèÂë¡£
¡¡¡¡dwFlags:¶¨Ò庯Êý²Ù×÷µÄÃû¸ö·½ÃæµÄÒ»¸ö±ê־λ¼¯¡£Ó¦ÓóÌÐò¿ÉʹÓÃÈçÏÂһЩԤ¶¨Òå³£ÊýµÄ×éºÏÉèÖñê־λ¡£
¡¡¡¡KEYEVENTF_EXETENDEDKEY£ºÈôÖ¸¶¨¸ÃÖµ£¬ÔòɨÃèÂëǰһ¸öֵΪOXEO£¨224£©µÄǰ׺×Ö½Ú¡£KEYEVENTF_KEYUP£ºÈôÖ¸¶¨¸ÃÖµ£¬¸Ã¼ü½«±»ÊÍ·Å£»Èôδָ¶¨¸ÃÖµ£¬¸Ã¼ü½»±»½ÓÏ¡£dwExtralnfo£º¶¨ÒåÓë»÷¼üÏà¹ØµÄ¸½¼ÓµÄ32λֵ¡£
¡¡¡¡·µ»ØÖµ£º¸Ãº¯ÊýÎÞ·µ»ØÖµ¡£
¡¡¡¡±¸×¢£º¾¡¹Ükeybd_event´«µÝÒ»¸öÓëOEMÏà¹ØµÄÓ²¼þɨÃèÂë¸øÏµÍ³£¬µ«Ó¦ÓóÌÐò²»ÄÜÓôËɨÃèÂ롣ϵͳÔÚÄÚ²¿½«É¨ÃèÂëת»»³ÉÐéÄâ¼üÂ룬²¢ÇÒÔÚ´«Ë͸øÓ¦ÓóÌÐòǰÇå³ý¼üÂëµÄUP/downλ¡£Ó¦ÓóÌÐò¿ÉÒÔÃþÄâPRINTSCREEN¼üµÄ°´ÏÂÀ´»ñµÃÒ»¸öÆÁÄ»¿ìÕÕ£¬²¢°ÑËü´æ·Åµ½¼ôÇаåÖС£ÈôÒª×öµ½ÕâÒ»µã£¬ÔòÒª½«keybd_eventµÄbVk²ÎÊýÖÃΪVK_SNAPSHOT,bScan²ÎÊýÖÃΪ0£¨ÓÃÒÔ»ñµÃÈ


Ïà¹ØÎĵµ£º

Delphiº¯Êý¼ò½é

                  Ãû³Æ ¡¡ ÀàÐÍ ¡¡¡¡¡¡ËµÃ÷
                    --------------------------------------------------------- ......

Delphi ʹÓÃ×Ô¶¨ÒåÏûÏ¢

1¡¢ÏÈÓÃConst ¶¨ÒåÒ»¸ö³£Á¿£¬ÀýÈç const WM_MyMessage=WM_USER+$200;
2¡¢ÔÚҪʵÏÖµÄunitÖж¨ÒåÒ»¸ö˽Óз½·¨
   procedure doMyMessage(var msg:TMessage);message WM_MyMessage;
3¡¢ÊµÏÖÕâ¸ö˽Óз½·¨
    procedure TForm1.doMyMessage(var msg:TMessage);
begin
  //
  if msg. ......

Smarter Records in Turbo Delphi / Delphi 2006

type
TTurboRecord = record
strict private
fNameValue : integer;
function GetName: string;
public
NamePrefix : string;
constructor Create(const initNameValue : integer) ;
property Name : string read GetName;
end;
var
Form1: TForm1;
implementation
{$R *.dfm} ......

Delphi ǶÈë»ã±à ½øRing0 360tray.exe

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TlHelp32;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Pub ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ