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£¨ÓÃÒÔ»ñµÃÈ
Ïà¹ØÎĵµ£º
ÀàµÄʼþ
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMyEvent = procedure of object; //²»´ø²ÎÊýµÄ¹ý³Ì
TMyEventExt = procedure(AName: string) of object; //´ø²ÎÊýµÄ¹ý³Ì
TForm1 = class(TForm)
......
²éÕÒÁíÍâÒ»¸ö´°¿ÚµÄ¾ä±ú£º handle := FindWindow(nil,PChar('´°¿ÚµÄ±êÌâ'));//²éµ½´°Ìå¾ä±ú
²éÕÒ×Ó´°Ì壺childHandle := FindWindowEx(handle,0,'×Ó´°ÌåÀà','×Ó´°Ìå±êÌâ');
ÁíÍâÓиöö¾Ù×Ó´°ÌåµÄAPI£¬EnumChildWindows(Ö÷´´Ìå¾ä±ú,@»Øµ÷º¯Êý,Óû§²ÎÊý);
ÓÃÕâ¸öº¯ÊýÐèÒª×Ô¼ºÐ´Ò»¸ö»Øµ÷µÄº¯Êý£¬±ÈÈ磺
function EnumChil ......
¼¼Êõ½»Á÷,DH½²½â. Õâ¸ö¹¤¾ßÊǺÃÔçºÃÔçÒÔǰдµÄ,ÎÒÕâ¸öϲ»¶Ôڼұ߿´µçÓ°±ßдд´úÂë»òÕß¿´µç×ÓÊé,ËùÒÔ¾³£»á½«ÍøÒ³ÒƵ½ÆÁÄ»µÄ×óÉϽǻòÕßÓÒÉϽÇ,¶øÇÒÒªÖö¥.ËùÒÔ¾ÍдÁËÕâÑùÒ»¸ö¹¤¾ß,Õâ¸ö¹¤¾ßÖ÷ÒªÊǶԾä±úµÄ²Ù×÷,»¹ÓоÍÊÇ´°ÌåÑùʽÒÔ¼°¼¸¸öAPIµÄÀý×Ó,±È½Ï»ù´¡. Õû¸öÎļþÔÚ here(Can't Input Chinese:() ÏÂÃæ°Ñ´úÂëÌù³öÀ´,Ï£Íû ......
ÔÚÉè¼ÆÊý¾Ý¿âÓ¦ÓóÌÐòµÄʱºò£¬¾³£ÐèÒª½«Ò»Ð©ÐÅÏ¢´Ó³ÌÐòÖжÀÁ¢³öÀ´£¬ÒÔ±£Ö¤³ÌÐòµÄ¿ÉÒÆÖ²ÐÔ¡£ÆäÖÐ×îÖØÒªµÄÐÅÏ¢¾ÍÊÇÊý¾Ý¿âµÄÁ¬½Ó²ÎÊý¡£
ÔÚDelphiÖУ¬»ñµÃÕýÈ·µÄÊý¾Ý¿âÁ¬½Ó²ÎÊýµÄ·½·¨Ê®·Ö¼òµ¥£¬ÄãÖ»ÐèÒª½¨Á¢Ò»¸öÊý¾ÝÄ£¿é£¬ÔÚÆäÖÐÌí¼ÓÒ»¸öADO Connection,Ë«»÷Ö®£¬È»ºóÔÚµ¯³öµÄ´°¿ÚÖÐÑ¡“Use Connection String”£¬µ¥ ......
ExtractFileDrive £º·µ»ØÍêÕûÎļþÃûÖеÄÇý¶¯Æ÷£¬Èç"C:"
ExtractFilePath£º·µ»ØÍêÕûÎļþÃûÖеÄ·¾¶£¬×îºó´ø“/”£¬Èç"C:\test\"
ExtractFileDir£º·µ»ØÍêÕûÎļþÃûÖеÄ·¾¶£¬×îºó²»´ø“/” ,Èç"C:\test"
ExtractFileName:·µ»ØÍêÕûÎļþÃûÖеÄÎļþÃû³Æ (´øÀ©Õ¹Ãû)£¬Èç"mytest.doc"
ExtractFileExt ·µ»ØÍ ......