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 + java µÄ·Ö²¼Ê½Ó¦ÓÃ˼¿¼
ÓÃdelphi×ö½çÃæ²ã javaÒµÎñÂß¼²ã ÕâÑù¿´ÉÏÈ¥ºÜÃÀ°É£¿
¾ßÌåµÄʵÏÖ
java ×öÒµÎñÂß¼²ã Ó¦¸ÃÓжàÖÖÑ¡Ôñ ÆóÒµ¼¶µÄÓÐEJB3, ÇáÁ¿¼¶µÄÓÐspring
ĿǰÔÚѧϰejb3£¬¸Ð¾õÓÃÀ´×öÒµÎñÂß¼²ãÕæµÄºÜ²»´í¡£spring»¹Ã»ÓÐÁ˽â
½çÃæ²ãÓÃdelphi£¬RADÓ¦¸ÃÊÇdelphiµÄÓÅÊÆ¡£
¹Ø¼üµÄÎÊÌâµÄÈç¹û°Ñ ......
¼¼Êõ½»Á÷,DH½²½â. Õâ¸ö¹¤¾ßÊǺÃÔçºÃÔçÒÔǰдµÄ,ÎÒÕâ¸öϲ»¶Ôڼұ߿´µçÓ°±ßдд´úÂë»òÕß¿´µç×ÓÊé,ËùÒÔ¾³£»á½«ÍøÒ³ÒƵ½ÆÁÄ»µÄ×óÉϽǻòÕßÓÒÉϽÇ,¶øÇÒÒªÖö¥.ËùÒÔ¾ÍдÁËÕâÑùÒ»¸ö¹¤¾ß,Õâ¸ö¹¤¾ßÖ÷ÒªÊǶԾä±úµÄ²Ù×÷,»¹ÓоÍÊÇ´°ÌåÑùʽÒÔ¼°¼¸¸öAPIµÄÀý×Ó,±È½Ï»ù´¡. Õû¸öÎļþÔÚ here(Can't Input Chinese:() ÏÂÃæ°Ñ´úÂëÌù³öÀ´,Ï£Íû ......
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 ......
ÔÚÉè¼ÆÊý¾Ý¿âÓ¦ÓóÌÐòµÄʱºò£¬¾³£ÐèÒª½«Ò»Ð©ÐÅÏ¢´Ó³ÌÐòÖжÀÁ¢³öÀ´£¬ÒÔ±£Ö¤³ÌÐòµÄ¿ÉÒÆÖ²ÐÔ¡£ÆäÖÐ×îÖØÒªµÄÐÅÏ¢¾ÍÊÇÊý¾Ý¿âµÄÁ¬½Ó²ÎÊý¡£
ÔÚDelphiÖУ¬»ñµÃÕýÈ·µÄÊý¾Ý¿âÁ¬½Ó²ÎÊýµÄ·½·¨Ê®·Ö¼òµ¥£¬ÄãÖ»ÐèÒª½¨Á¢Ò»¸öÊý¾ÝÄ£¿é£¬ÔÚÆäÖÐÌí¼ÓÒ»¸öADO Connection,Ë«»÷Ö®£¬È»ºóÔÚµ¯³öµÄ´°¿ÚÖÐÑ¡“Use Connection String”£¬µ¥ ......
{ Private declarations }
procedure WMSysCommand (var Msg: TWMSysCommand) ; message WM_SYSCOMMAND;
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
if Msg.CmdType = SC_RESTORE then
begin
ShowMessage('SC_RESTORE');
if self.WindowState = wsMaximized then
begin
......