µ±Ç°Î»Öà : 145zÓÎÏ·Õ¾¡¡|¡¡Ä§Óò¡¡|¡¡¼¼Êõ½Ì³Ì¡¡|¡¡

ħÓò´óÄ®²å¼þºǫ́Êó±êÍ£ÁôÎïÆ·ÌáʾÏûʧµÄÍêÕû½â¾ö·½·¨

Èȶȣº
ÓôóÄ®²å¼þ°óħÓò´°¿Ú×öºǫ́½Å±¾£¬dx2ͼɫ¼ÓwindowsÊó±ê¼üÅÌģʽ£¬ÕÒͼÕÒÉ«µã»÷¶¼Õý³££¬Î¨¶ÀÊó±êÒÆµ½×°±¸»òÎïÆ·ÉÏÃæ£¬Ìáʾ¿òÉÁһϾÍûÁË£¬´ó¸ÅÒ²¾Í0.3Ãë×óÓÒ£¬¸ù±¾À´²»¼°Ê¶±ðÉÏÃæµÄÎÄ×ÖÊôÐÔ¡£Õâ¸öÎÊÌâºÜ¶àдħÓò½Å±¾µÄÈ˶¼Åöµ½¹ý£¬±ðÈ˵ĸ¨Öú¾ÍÄÜÕý³£ÐüÍ£¿´ÎïÆ·ÐÅÏ¢£¬×Ô¼ºÐ´µÄ¾Í²»ÐУ¬ÊÔÁËÒ»¶ÑÌØÊâÊôÐÔҲûÓá£ÏÂÃæ°ÑÕâ¸öÎÊÌâµÄ¸ùÔ´ºÍËùÓпÉÐеĽâ¾ö·¾¶´ÓÍ·µ½Î²ËµÇå³þ¡£

ÎÊÌâ³öÔÚÄÄ

ÏȽ²Ô­Àí¡£Ä§ÓòÕâ¸öÓÎÏ·ÀïÎïÆ·Ìáʾ¿òµÄÏÔʾ£¬¿¿µÄÊÇÊó±êÍ£ÁôÔÚÎïÆ·Í¼±êÉÏ·½³ÖÐøÒ»Ð¡¶Îʱ¼äºó£¬ÓÎÏ·ÄÚ²¿´¥·¢Ò»¸öÐüÍ£¼ÆÊ±Æ÷£¬Ê±¼äµ½Á˾ͻæÖÆÌáʾ´°Ìå¡£Ìáʾ¿òÒªÒ»Ö±±£³ÖÏÔʾ£¬ÐèÒªÁ½¸öÌõ¼þͬʱÂú×㣺һÊÇÊó±êÖ¸Õë×ø±êûÓÐÀ뿪ÎïÆ·Í¼±êµÄ¾ØÐÎÇøÓò£¬¶þÊÇÓÎÏ·³ÖÐø½ÓÊÕµ½Êó±êÔÚ¸ÃÇøÓòÄÚµÄ״̬Ðźš£

ÓÃwindowsģʽ°óÊó±êµÄʱºò£¬´óÄ®ÊÇͨ¹ýPostMessage»òÕßSendMessageÏòÄ¿±ê´°¿Ú·¢ËÍWM_MOUSEMOVEÏûÏ¢À´Ä£ÄâÒÆ¶¯¡£ÕâÖÖÏûϢģÄâÓиöÌØµã£¬ËüÖ»ÔÚµ÷ÓÃMoveToµÄ˲¼ä·¢Ò»ÌõÏûÏ¢¹ýÈ¥£¬Ö®ºó¾Í²»ÔÙ·¢ÁË¡£ÓÎÏ·´°¿ÚÊÕµ½ÕâÌõÏûÏ¢£¬ÖªµÀÊó±êŲ¹ýÀ´ÁË£¬ÓÚÊÇÆô¶¯ÐüÍ£¼ÆÊ±£¬´ó¸Å¼¸°ÙºÁÃëºóÌáʾ¿òµ¯³öÀ´¡£µ«ÎÊÌâÔÚÓÚ£¬ÓÎϷΪÁËÅжÏÊó±êÊDz»ÊÇ»¹ÔÚÎïÆ·ÉÏÃæ£¬»áÖÜÆÚÐÔµØÈ¥¶ÁÈ¡µ±Ç°Êó±êµÄÕæÊµÎ»Öᣵ±Ëü·¢ÏÖÕæÊµµÄÎïÀíÊó±êÆäʵ²¢²»ÔÚ´°¿ÚÄÚ£¬ÉõÖÁ¸ù±¾²»ÔÚÎïÆ·×ø±êÉÏ£¬¾Í»áÁ¢¿Ì¹Ø±ÕÌáʾ¿ò£¬ËùÒÔÄã¿´µ½µÄ¾ÍÊÇÉÁһϾÍûÁË¡£

¼òµ¥Ëµ£¬windowsÊó±êģʽֻÄÜÄ£ÄâÒÆ¶¯ÄÇһϣ¬Ã»·¨³ÖÐøÆÛÆ­ÓÎÏ·µÄÊó±êλÖüì²â»úÖÆ¡£ÓÎϷÿ֡»òÿ¸ô¼¸Ö¡¶¼»áУÑéÒ»´Î¹â±êλÖã¬Ò»¶Ô²»ÉϾͰÑÌáʾˢµô¡£

»»dxÊó±êģʽÊÇ×îÖ±½ÓµÄ°ì·¨

BindWindowExµÚÈý¸ö²ÎÊý²»ÒªÌîwindows£¬»»³ÉdxģʽµÄÊôÐÔ×éºÏ¡£dxģʽÏ£¬´óÄ®ÊÇͨ¹ýhookϵͳAPIµÄ·½Ê½À´Î±ÔìÊó±êλÖã¬ÓÎÏ·²»¹ÜʲôʱºòÈ¥¶Á¹â±ê×ø±ê£¬Äõ½µÄ¶¼ÊÇÄãÉèÖõÄÄǸöλÖã¬ÕâÑùÐüͣ״̬¾ÍÄÜÒ»Ö±±£³Ö¡£

Êó±êÄ£Ê½ÍÆ¼ö´ÓÕâ¸ö×éºÏ¿ªÊ¼ÊÔ£º

text
dx.mouse.position.lock.api|dx.mouse.api|dx.mouse.state.api


°ó¶¨Óï¾äд³É£º

text
dm_ret = dm.BindWindowEx(hwnd, "dx2", "dx.mouse.position.lock.api|dx.mouse.api|dx.mouse.state.api", "windows", "", 0)


Èý¸öÊôÐÔ·Ö±ð¹Ü²»Í¬µÄÊ¡£dx.mouse.position.lock.apiÊÇ·âËøGetCursorPosÕâÀàAPI£¬ÈÃÓÎÏ·¶Áµ½µÄÊó±êλÖÃÓÀÔ¶ÊÇÄã×îºóÒ»´ÎMoveToÉèÖõÄ×ø±ê¡£ÕâÊDZ£³ÖÐüÍ£µÄºËÐÄ£¬Ã»ÓÐËüÓÎÏ·¶Áµ½ÕæÊµ×ø±ê¾Í»á°ÑÌáʾˢµô¡£dx.mouse.apiÊÇÄ£ÄâdxÊó±êÊäÈ룬¸ºÔð·¢ËÍÊó±êÒÆ¶¯ºÍµã»÷µÄ¶¯×÷Ðźš£dx.mouse.state.apiÊÇËø¶¨Êó±ê°´¼ü״̬£¬ÓÐЩÓÎÏ·»áͬʱ¼ì²é°´¼ü״̬À´ÅжÏÊDz»ÊÇÓÐЧÐüÍ££¬¼ÓÉϸüÎÈÍס£

Èç¹ûÉÏÃæÕâ¸ö×éºÏ°óÍêÊó±êµã»÷²»Õý³££¬»òÕßÕÒͼÕÒÉ«ÊÜÓ°Ï죬¾Í»»×éºÏÊÔ¡£dxģʽµÄÊôÐÔÓÐÊ®¼¸ÖÖ£¬²»ÊÇÿ¸öÓÎÏ·¶¼³ÔͬһÌ×£¬µÃ×Ô¼º²â¡£

¿ÉÒÔ°´Ë³ÐòÊÔÏÂÃæÕ⼸×飺

µÚÒ»×é£¬Æ«ÖØÎ»ÖÃËø¶¨£¬ÐüͣЧ¹û×îºÃ£º

text
dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.state.api|dx.mouse.api


µÚ¶þ×飬¼ÓÊäÈëËø¶¨£¬·Àֹǰ̨Êó±ê¸ÉÈÅ£º

text
dx.mouse.position.lock.api|dx.mouse.input.lock.api|dx.mouse.state.message|dx.mouse.api


µÚÈý×飬¼æÈÝÐÔ×éºÏ£¬Àϰ汾ÓÎÏ·ÓõÃÉÏ£º

text
dx.mouse.position.lock.api|dx.mouse.focus.input.api|dx.mouse.api


µÚËÄ×飬Èç¹ûÉÏÃæ¶¼²»ÐУ¬ÊÔÊÔ¼Óraw.input£¨¸¶·Ñ°æ²ÅÓУ©£º

text
dx.mouse.position.lock.api|dx.mouse.raw.input|dx.mouse.api


ÿ×é°óÍê¶¼×öͬһ¼þÊ£º°ÑÊó±êÒÆµ½Ò»¸öÎïÆ·Í¼±êÉÏ£¬Í£Á½Ã룬¿´Ìáʾ¿òÄܲ»ÄÜÒ»Ö±ÏÔʾ¡£ÄÜÎȶ¨ÏÔʾ¾Í˵Ã÷Õâ¸ö×éºÏ¿ÉÓá£

publicÊôÐÔÀïÓÐÁ½¸ö¹Ø¼üÏî

BindWindowExµÄµÚÎå¸ö²ÎÊý£¬Ò²¾ÍÊÇpublic²ÎÊý£¬ºÜ¶àÈ˰ó¶¨Ê±Ö±½ÓÁô¿Õ£¬ÆäʵÕâÀïÃæÓÐÁ½¸öÊôÐÔ¶ÔÊó±êÐüÍ£ÓÐÖ±½ÓÓ°Ïì¡£

Ò»¸öÊÇdx.public.active.api£¬ÁíÒ»¸öÊÇdx.public.active.message¡£ÕâÁ½¸öÊǹܴ°¿Ú¼¤»î״̬µÄ¡£ÓÐЩÓÎÏ·ÅжÏÊó±êÐüͣʱ£¬»á˳´ø¼ì²é´°¿ÚÊDz»ÊÇ´¦ÓÚ¼¤»î״̬£¬Èç¹û´°¿Úû¼¤»î£¬¾ÍËãÊó±êÔÚÎïÆ·ÉÏÒ²²»ÏÔʾÌáʾ£¬»òÕßÏÔʾһϾÍÏûʧ¡£Ä§ÓòÔÚijЩ°æ±¾Àï¾ÍÓÐÕâ¸öÂß¼­¡£

public²ÎÊý¼ÓÉÏÊÔÊÔ£º

text
dm_ret = dm.BindWindowEx(hwnd, "dx2", "dx.mouse.position.lock.api|dx.mouse.api|dx.mouse.state.api", "windows", "dx.public.active.api|dx.public.active.message", 0)


dx.public.active.apiÊÇͨ¹ýAPI²ãÃæÈÃÓÎÏ·ÒÔΪ×Ô¼º´°¿ÚÒ»Ö±ÊǼ¤»îµÄ£¬dx.public.active.messageÊÇͨ¹ýÏûÏ¢²ãÃæÎ±Ô켤»î״̬¡£Á½¸öÒ»ÆðÉÏ£¬¸²¸Ç²»Í¬µÄ¼ì²â·½Ê½¡£

»¹ÓÐÒ»¸ödx.public.hide.dll¿ÉÒÔ¼ÓÉÏ£¬·ÀÖ¹ÓÎÏ·¼ì²âµ½´óÄ®µÄdll×¢Èëµ¼ÖÂһЩÒì³£ÐÐΪ£¬ËäÈ»¸úÐüͣûÓÐÖ±½Ó¹ØÏµ£¬µ«°ó¶¨Ê±¼ÓÉÏû»µ´¦£¬Ò²²»Õ¼Ê²Ã´×ÊÔ´¡£

Êó±êÒÆ¶¯·½Ê½Ò²µÃ¸Ä

ģʽ»»¶ÔÁËÖ»ÊǵÚÒ»²½£¬MoveToÔõôÓÃÒ²Ó°ÏìÐüͣЧ¹û¡£

ÓÐЩÐÂÊÖдµÄÊÇÖ±½ÓMoveToµ½ÎïÆ·×ø±ê£¬È»ºóDelay 2000µÈÌáʾ³öÀ´¡£ÕâÖÖд·¨ÔÚ²¿·ÖÓÎÏ·ÀïûÎÊÌ⣬µ«Ä§ÓòÓÐʱºò²»³ÔÕâÒ»Ìס£ÒòΪÓÎÏ·ÄÚ²¿µÄÐüÍ£´¥·¢Âß¼­£¬ÓеÄÊÇ¿¿WM_MOUSEHOVERÏûÏ¢£¬ÓеÄÊÇ×Ô¼ºÄÚ²¿¼ÆÊ±¡£Èç¹ûMoveToÖ»µ÷ÓÃÒ»´Î£¬ÓÎÏ·¿ÉÄÜÖ»ÔÚ×ʼ´¥·¢ÁËÒ»´ÎÒÆ¶¯Ê¼þ£¬Ö®ºóÄÚ²¿¼ÆÊ±Æ÷ÒòΪijЩԭÒò±»ÖØÖÃÁË¡£

¸üÎÈÍ×µÄд·¨ÊÇ£¬Òƶ¯µ½Ä¿±êλÖúó£¬Ã¿¸ôһС¶Îʱ¼ä¾ÍÔÙµ÷ÓÃÒ»´ÎMoveTo£¬Öظ´Íùͬһ¸ö×ø±ê·¢Òƶ¯Ðźţ¬Ï൱ÓÚ²»¶ÏÌáÐÑÓÎÏ·Êó±ê»¹ÔÚÕâ¡£¼ä¸ô²»ÓÃÌ«¶Ì£¬50µ½100ºÁÃëÒ»´Î¾Í¹»ÁË£¬Ì«Æµ·±·´¶øÕ¼CPU¡£

д³ÉÑ­»·´ó¸ÅÊÇÕâÑù£º

text
dm.MoveTo x, y
For i = 1 To 20
Delay 100
dm.MoveTo x, y
// ÕâÀï¿ÉÒÔ¼Ó¼ì²âÌáʾ¿òÊÇ·ñ³öÏÖµÄÅжÏ
Next


Ñ­»·´ÎÊýºÍÑÓʱ×Ô¼ºµ÷£¬Ä¿±êÊÇÈÃÌáʾ¿òÎȶ¨³öÏÖ²¢±£³Öµ½Äãʶ±ðÍêÎÄ×Ö¡£

»¹Óиö¼¼ÇÉ£¬ÒƵ½ÎïÆ·ÉÏ֮ǰ£¬ÏÈÒÆµ½ÎïÆ·ÅԱߣ¬ÔÙÂýÂýÒÆ½øÈ¥£¬Ä£ÄâÈËÊÖ²Ù×÷µÄ¹ì¼£¡£ÓÐЩÓÎÏ·µÄÐüÍ£¼ì²â¶ÔË²ÒÆ¹ýÈ¥µÄÊó±ê²»¸Ð𣬻áÈÏΪ²»ÊÇÕæÈ˲Ù×÷£¬²»´¥·¢Ìáʾ¡£·ÖÁ½Èý²½ÒƹýÈ¥£¬Ã¿²½¼ä¸ôÊ®¼¸ºÁÃ룬´¥·¢ÂÊ»á¸ßºÜ¶à¡£

ʵÔÚ²»ÐоÍÓÃ΢¶¯·¨Î¬³ÖÌáʾ

ÓÐЩ°æ±¾µÄħÓò·ÀÍâ¹Ò×öµÄ±È½ÏÑÏ£¬²»¹ÜÄãÔõô»»°ó¶¨Ä£Ê½£¬Ìáʾ¿ò¾ÍÊdzÖÐø²»Á˶à¾Ã£¬¼¸Ê®ÃëÉõÖÁ¼¸Ãë¾ÍµôÒ»´Î¡£ÕâÖÖÇé¿öÏ¿ÉÒÔÓÃ΢¶¯·¨À´Î¬³Ö¡£

Ô­ÀíºÜ¼òµ¥£¬Ìáʾ¿òÏûʧµÄ´¥·¢Ìõ¼þÊÇÊó±êÒÆ³öÁËÎïÆ·ÇøÓò¡£ÄÇÖ»ÒªÄãÔÚÌáʾ¿ò¿ìÒªÏûʧµÄʱºò£¬ÈÃÊó±êÔÚÎïÆ·ÇøÓòÄÚÇá΢¶¯Ò»Ï£¬Å²Ò»Á½¸öÏñËØ£¬ÓÎÏ·¾Í»áÈÏΪÊó±ê»¹Ôڻ£¬ÖØÐ´¥·¢ÐüÍ£¼ÆÊ±£¬Ìáʾ¿ò¾ÍÐøÉÏÁË¡£

¾ßÌå×ö·¨ÊÇÒÆµ½ÎïÆ·×ø±êºó£¬Ã¿¸ôÒ»¶Îʱ¼ä¾Í°ÑÊó±êÍùÓÒŲ1ÏñËØÔÙŲ»ØÀ´£¬»òÕßÉÏ϶¯Ò»Ï¡£Òƶ¯·ù¶ÈҪС£¬²»ÄÜÒÆ³öÎïÆ·Í¼±êµÄ·¶Î§¡£ÎïÆ·Í¼±êÒ»°ãÊÇ40x40×óÓҵĸñ×Ó£¬ÔÚÕâ¸ö·¶Î§ÄÚÀ´»ØÎ¢¶¯¾Í²»»áÈÃÌáʾÏûʧ¡£

ʾÀý´úÂ룺

text
dm.MoveTo x, y
Delay 500
// ½øÈëά³ÖÑ­»·
Do
// ÓÒÒÆ1ÏñËØ
dm.MoveTo x + 1, y
Delay 50
// ÒÆ»ØÀ´
dm.MoveTo x, y
Delay 800
// ÕâÀï¼ÓÍ˳öÌõ¼þ£¬±ÈÈçʶ±ðÍêÎÄ×Ö¾ÍÌø³ö
Loop


¼ä¸ôʱ¼ä×Ô¼º¸ù¾Ýʵ¼ÊÇé¿öµ÷¡£ÓеÄÓÎÏ·Ìáʾ¿ò5Ãë²Å¿ªÊ¼µ¹¼ÆÊ±£¬ÄǾÍ4Ã붯һ´Î¡£ÓеÄ1Ãë¾Íû£¬ÄǾÍ800ºÁÃ붯һ´Î¡£¶¯µÄ·ù¶ÈÒ²¿ÉÒÔµ÷£¬1ÏñËØ²»ÐоÍ2ÏñËØ£¬ÒÔ²»´¥·¢Ìáʾ¿òÏûʧΪ׼¡£

Õâ¸ö·½·¨µÄºÃ´¦ÊDz»Ìô°ó¶¨Ä£Ê½£¬ÄÄÅÂÄã¾ÍÊÇÓÃwindowsģʽ£¬Ö»ÒªÄÜ´¥·¢Ìáʾ¿ò£¬ÓÃ΢¶¯·¨Ò²ÄÜά³Öס¡£»µ´¦¾ÍÊǽű¾Âß¼­ÉÔ΢¸´ÔÓÒ»µã£¬Òª¿ØÖƺÃÒÆ¶¯·¶Î§ºÍƵÂÊ¡£

¼üÅÌģʽ¿ÉÄÜÒ²ÓÐÓ°Ïì

±ðС¿´¼üÅÌģʽ£¬Ä³Ð©Çé¿öϼüÅÌģʽûѡ¶ÔÒ²»á¼ä½ÓÓ°ÏìÊó±êÐüÍ£¡£ÒòΪ´óÄ®µÄ¼üÊóÄ£ÄâÓÐЩÊǹ²Ïíµ×²ãhookµÄ£¬¼üÅÌģʽ³åÍ»»òÕß²»Îȶ¨£¬¿ÉÄÜÁ¬´øÊó±êµÄ×´Ì¬Ëø¶¨Ò²³öÎÊÌâ¡£

¼üÅÌÈç¹ûÓõÄÊÇwindowsģʽ£¬Êó±êÐüÍ£ÓÐÎÊÌâµÄ»°£¬¿ÉÒ԰ѼüÅÌÒ²»»³ÉdxģʽÊÔÊÔ£º

text
dx.keypad.api


»òÕߣº

text
dx.keypad.input.lock.api


ÕûÌ×¼üÊó¶¼×ßdxģʽ£¬µ×²ãÒ»ÖÂÐÔ¸üºÃ£¬²»ÈÝÒ׳öÆæ¹ÖµÄ¼æÈÝÎÊÌâ¡£

°ó¶¨Óï¾ä±ä³É£º

text
dm_ret = dm.BindWindowEx(hwnd, "dx2", "dx.mouse.position.lock.api|dx.mouse.api|dx.mouse.state.api", "dx.keypad.api", "dx.public.active.api", 0)

ϵͳºÍÓÎÏ·ÉèÖòãÃæµÄÅŲé

ÓÐЩʱºò²»ÊDzå¼þ²ÎÊýµÄÎÊÌ⣬ÊÇϵͳ»òÕßÓÎÏ·±¾ÉíÉèÖõ¼Öµġ£

Ê×ÏÈÊÇϵͳµÄÊó±êÐüͣʱ¼ä¡£Windows¿ØÖÆÃæ°åÀïÓиöÊó±êÐüͣʱ¼äµÄÉèÖã¬ËäÈ»Ö÷ÒªÊǸøÏµÍ³×Ô¼ºµÄtooltipÓõ쬵«ÓÐЩÓÎÏ·»á¶ÁÕâ¸öÖµ¡£Ä¬ÈÏÊÇ400ºÁÃ룬Èç¹ûÄã¸Ä¹ý£¬¸Ä³ÉĬÈÏÖµÊÔÊÔ¡£

È»ºóÊÇÓÎÏ·ÀïµÄÉèÖá£Ä§ÓòÉèÖýçÃæÀïÕÒÒ»ÏÂÓÐûÓÐÎïÆ·Ìáʾ¡¢Êó±êÌáʾÏà¹ØµÄ¿ª¹Ø£¬È·ÈÏÊÇ´ò¿ª×´Ì¬¡£ÓÐЩ°æ±¾Ä¬ÈÏÌáʾʱ¼äºÜ¶Ì£¬¿ÉÒÔÔÚÉèÖÃÀïµ÷³¤Ò»µã¡£

»¹ÓÐÏÔ¿¨Çý¶¯¡£dx2ģʽÊÇ¿¿hook DirectXÀ´½ØÍ¼ºÍÄ£ÄâµÄ£¬ÏÔ¿¨Çý¶¯°æ±¾Ì«ÀÏ»òÕß̫ж¼¿ÉÄܳö¼æÈÝÐÔÎÊÌâ¡£Èç¹û֮ǰһֱÕý³££¬¸üÐÂÇý¶¯ºó³öÎÊÌâÁË£¬»Ø¹öÇý¶¯°æ±¾ÊÔÊÔ¡£

ÁíÍâҪעÒ⣬°ó¶¨dxģʽ±ØÐëÓùÜÀíԱȨÏÞÔËÐнű¾¡£ÓÒ¼ü½Å±¾»òÕß°´¼ü¾«Á飬ѡÒÔ¹ÜÀíÔ±Éí·ÝÔËÐУ¬²»È»ºÜ¶àAPI hook²»ÉÏ£¬°óÁËÒ²Êǰװó£¬Êó±ê×´Ì¬Ëø²»×¡¡£

²âÊÔʱҪעÒâµÄ¼¸¸ö¿Ó

²âÐüͣЧ¹ûµÄʱºò£¬Óм¸¸öµØ·½ÈÝÒײȿӣ¬µ¼ÖÂÄãÒÔΪij¸öģʽ²»ÐУ¬ÆäʵÊDzâµÄ·½·¨²»¶Ô¡£

µÚÒ»¸ö£¬°ó¶¨Ç°´°¿Ú±ØÐëÍêÈ«ÏÔʾ³öÀ´¡£ÓÐЩģʽ±ÈÈçdx.mouse.clip.lock.api£¬ÒªÇó°ó¶¨Ç°´°¿ÚÊÇÍêÕû¿É¼ûµÄ£¬±»µ²×¡»òÕß×îС»¯×´Ì¬Ï°ó£¬Ð§¹û»áÒì³£¡£ËùÒÔ²âÊÔµÄʱºò£¬ÏȰÑÓÎÏ·´°¿Ú°ÚºÃ£¬ÍêÕûÏÔʾÔÚÆÁÄ»ÉÏ£¬ÔÙÔËÐа󶨴úÂë¡£

µÚ¶þ¸ö£¬°ó¶¨Ê±Ç°Ì¨Êó±ê²»Òª·ÅÔÚÓÎÏ·´°¿ÚÀï¡£ÓÃÁËposition.lockÒÔºó£¬Èç¹ûÄãÕæÊµµÄÊó±êÕýºÃÒ²ÔÚ´°¿ÚÄÚ£¬Á½¸öÐźŻá´ò¼Ü£¬ÓÎÏ·Ò»»á¶ù¶Áµ½¼Ù×ø±êÒ»»á¶ù¶Áµ½Õæ×ø±ê£¬Ìáʾ¿ò¾Í»áÒ»ÉÁÒ»ÉÁµÄ¡£²âÊÔʱ°Ñǰ̨Êó±êŲµ½ÓÎÏ·´°¿ÚÍâÃæÈ¥£¬ÔÙ¹Û²ìЧ¹û¡£

µÚÈý¸ö£¬²»ÒªÖ»²âÒ»¸öÎïÆ·¡£²»Í¬Î»ÖõÄÎïÆ·¿ÉÄÜ´¥·¢Çé¿ö²»Ò»Ñù£¬±ÈÈç±³°üµÚÒ»¸ñºÍ×îºóÒ»¸ñ£¬ÓÐʱºòÒòÎª×ø±ê¼ÆËãÆ«²î£¬ÄãÒÔÎªÒÆÉÏÈ¥ÁË£¬Êµ¼ÊÉÏÆ«Á˼¸¸öÏñËØ£¬¸ÕºÃ´¦ÔÚ±ßÔµ£¬¾Í»áµ¼ÖÂÌáʾ²»Îȶ¨¡£¶à²â¼¸¸öλÖã¬ÅųýÊÇ×ø±ê²»×¼µÄÎÊÌâ¡£

µÚËĸö£¬°ó¶¨ºóÏȲâºǫ́ÕÒÉ«ÊDz»ÊÇÕý³£¡£ÓÐЩÈË»»ÁËdxÊó±êģʽºó£¬Í¼É«Ä£Ê½Ã»Åä¶Ô£¬½ØÍ¼ºÚÆÁ»òÕß»¨ÆÁ£¬Á¬ÎïÆ·ÔÚÄͼÕÒ²»µ½£¬¸ü±ð˵ÐüÍ£ÁË¡£°óÍêµÚÒ»¼þÊÂÏÈCaptureÒ»ÕÅͼ¿´¿´£¬È·ÈÏͼɫÊǺõģ¬ÔÙ²âÊó±ê¡£

»»¸öË¼Â·ÈÆ¿ªÐüÍ£

Èç¹ûÉÏÃæËùÓз½·¨¶¼ÊÔÁË£¬ÐüÍ£»¹ÊǸ㲻¶¨£¬ÄǾͻ»¸ö˼·£¬²»Í¨¹ýÐüÍ£À´»ñÈ¡ÎïÆ·ÐÅÏ¢¡£

ħÓòµÄÎïÆ·ÐÅÏ¢£¬±¾ÖÊÉ϶¼´æÔÚÄÚ´æÀï¡£Ìáʾ¿òÖ»ÊǰÑÄÚ´æÀïµÄÊý¾Ý»­³öÀ´¸øÄã¿´¡£¼ÈÈ»¶ÁÌáʾ¿òÕâô·Ñ¾¢£¬²»ÈçÖ±½Ó¶ÁÄÚ´æ¡£

ÓôóÄ®µÄÄÚ´æ¶Áд¹¦ÄÜ£¬ÏÈÕÒµ½ÎïÆ·Êý¾ÝµÄ»ùÖ·ºÍÆ«ÒÆ£¬¶Áµ½ÎïÆ·µÄID¡¢ÊôÐÔ¡¢Æ·ÖÊÕâЩÊý¾Ý£¬±Èʶ±ðÌáʾ¿òÉϵÄÎÄ×Ö¿¿Æ×¶àÁË£¬ËÙ¶ÈÒ²¿ì¡£µ±È»Õâ¸öÃż÷¸ßһЩ£¬ÐèÒªÓÃCEÖ®ÀàµÄ¹¤¾ßÈ¥ÕÒµØÖ·£¬¶ÔÐÂÊÖ²»Ì«ÓѺᣵ«Ò»µ©Ð´ºÃ£¬¾ÍÔÙÒ²²»ÓøúÐüÍ£½Ï¾¢ÁË¡£

Èç¹û²»ÏëÅöÄڴ棬»¹ÓиöÕÛÖз½°¸¡£ÓÐЩ°æ±¾µÄħÓò£¬Äã°ÑÎïÆ·Íϵ½Ä³¸öÌØ¶¨Î»Ö㨱ÈÈç±³°ü¿Õ¸ñ¡¢×°±¸À¸£©µÄʱºò£¬»áÔÚ״̬À¸»òÕßÁÄÌì¿òÏÔʾÎïÆ·ÐÅÏ¢¡£ÕâÖÖÇé¿öÏÂÄã²»ÓÃÐüÍ££¬ÍÏÒ»ÏÂÎïÆ·¾ÍÄܶÁµ½ÐÅÏ¢£¬±ÈÐüÍ£Îȶ¨¡£

ÍêÕûµÄ²âÊÔÁ÷³Ì

¸øÄãÒ»¸ö´ÓÒ×µ½ÄѵIJâÊÔ˳Ðò£¬°´Õâ¸ö²½ÖèÀ´£¬´ó¶àÊýÇé¿ö¶¼ÄÜÕÒµ½ÄÜÓõķ½°¸¡£

µÚÒ»²½£¬¹ÜÀíÔ±Éí·ÝÔËÐнű¾£¬È·±£È¨ÏÞûÎÊÌâ¡£ÓÎÏ·´°¿ÚÍêÕûÏÔʾ£¬Ç°Ì¨Êó±êÒÆ³ö´°¿Ú¡£

µÚ¶þ²½£¬ÓÃ×î»ù´¡µÄdxÊó±ê×éºÏ°ó¶¨£º

text
dm_ret = dm.BindWindowEx(hwnd, "dx2", "dx.mouse.position.lock.api|dx.mouse.api", "windows", "", 0)


°óÍê²âMoveToµ½ÎïÆ·ÉÏÄܲ»ÄܳÖÐøÏÔʾÌáʾ¡£ÄܾÍÍêÊÂÁË£¬²»ÄܼÌÐø¡£

µÚÈý²½£¬¼ÓÉÏstateÊôÐÔºÍfocusÊôÐÔ£º

text
dx.mouse.position.lock.api|dx.mouse.api|dx.mouse.state.api|dx.mouse.focus.input.api


Ôٲ⡣

µÚËIJ½£¬¼ÓÉÏpublicµÄactiveÊôÐÔ£º

text
dx.public.active.api|dx.public.active.message


Ôٲ⡣

µÚÎå²½£¬¼üÅÌÒ²»»³Édxģʽ£¬ÕûÌ×dx»·¾³£º

text
dx.keypad.api


Ôٲ⡣

µÚÁù²½£¬Èç¹û»¹²»ÐУ¬¾ÍÉÏ΢¶¯·¨£¬ÔÚµ±Ç°ÄÜÓõÄģʽÏÂÓÃÑ­»·Î¢¶¯Î¬³ÖÌáʾ¿ò¡£

µÚÆß²½£¬ÒÔÉÏȫʧ°Ü£¬¿¼ÂǶÁÄÚ´æ»òÕßÕÒÌæ´ú²Ù×÷·¾¶¡£

±ðÈ˵ĸ¨ÖúΪʲô¾ÍÐÐ

×îºó˵һÏÂΪʲôÄã¿´±ðÈ˵ĸ¨ÖúÒ²ÊÇ´óÄ®£¬È˼ҾÍÄÜÕý³£ÐüÍ£¡£Ô­ÒòºÜ¼òµ¥£¬È˼ҵİ󶨲ÎÊý¸úÄã²»Ò»Ñù¡£Äã¿´µ½µÄÖ»ÊǶ¼½Ð´óÄ®²å¼þ£¬µ«ÄÚ²¿µÄģʽ×éºÏ¡¢ÊôÐÔ´îÅä¡¢ÉõÖÁµ÷Ó÷½Ê½¶¼¿ÉÄܲ»Í¬¡£

ÓÐЩ×ö¸¨ÖúµÄÈË£¬Êó±êÓõÄÊǸ¶·Ñ°æ´óÄ®µÄ¸ß¼¶ÊôÐÔ£¬±ÈÈçdx.mouse.raw.input¡¢dx.mouse.input.lock.api2ÕâЩ£¬Ãâ·Ñ°æ3.1233ÀïûÓУ¬»òÕß¹¦Äܲ»ÍêÕû¡£¸¶·Ñ°æµÄÊó±êÄ£Äâ¸üµ×²ã£¬¼æÈÝÐÔ×ÔÈ»¸üºÃ¡£

»¹ÓÐЩÈ˲»ÊÇ´¿¿¿´óÄ®µÄÊó±êÐüÍ££¬¶øÊÇÓÃÁËÉÏÃæËµµÄ΢¶¯·¨»òÕßÄÚ´æ¶ÁÈ¡£¬±íÃæÉÏ¿´¸úÐüͣЧ¹ûÒ»Ñù£¬µ×²ãʵÏÖÍêÈ«²»Í¬¡£

ÁíÍâ¾ÍÊÇ´óÄ®°æ±¾µÄÎÊÌâ¡£²»Í¬°æ±¾µÄ´óÄ®£¬Í¬ÑùµÄ²ÎÊýÃû£¬ÄÚ²¿ÊµÏÖ¿ÉÄÜÓвîÒì¡£ÓÐЩÀϰ汾¶ÔħÓòµÄ¼æÈÝÐÔ·´¶ø¸üºÃ£¬Ð°汾¸ÄÁËijЩ»úÖÆ¾Í²»ÐÐÁË¡£Èç¹ûÄãÓõÄÊÇ×îа棬¿ÉÒÔÍË»ØÈ¥ÊÔÊÔÀϰ汾£¬·´¹ýÀ´Ò²Ò»Ñù¡£

×ÜÖ®Õâ¸öÎÊÌâûÓÐÍòÄܽ⣬¾ÍÊÇ¿¿Ò»¸ö¸öģʽ×éºÏÈ¥ÊÔ£¬ÕÒµ½ÄÜÔÚÄ㵱ǰϵͳºÍÓÎÏ·°æ±¾ÏÂÎȶ¨¹¤×÷µÄÄÇÒ»Ìס£ÊÔµÄʱºò¼ÇºÃÿ¸ö×éºÏµÄЧ¹û£¬±ðÊÔÍê¾ÍÍü£¬µ½×îºó×Ô¼º¶¼²»ÖªµÀÄĸöÄÜÓÃÄĸö²»ÄÜÓá£