²é¿´: 914  |  »Ø¸´: 5
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

zsglly

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] Windows XPϵͳÖÐÈçºÎÆÁ±Î Ctrl+Alt+Del¡¢Alt+TabÒÔ¼°Ctrl+Esc¼üÐòÁÐ

¶ÔÓÚÓùýWindowsµÄÈË£¬¼¸ºõûÓÐÈ˲»ÖªµÀCtrl+Alt+Del×éºÏ¼ü£¬ÓÈÆäÊÇÔÚʹÓþ­³£ËÀ»úµÄWindows9xʱ£¬Ê¹ÓÃËüµÄƵÂʸü¸ß£¬ÕâÒ»×éºÏ¼üÊÇרÃÅΪÁËϵͳ°²È«Æð¼ûÌṩµÄ½ô¼±³ö¿Ú¡£VC֪ʶ¿âÔÚÏßÔÓÖ¾µÚ11ÆÚ£¬ac952_z_cnÔÚËûµÄ¸öÈËרÀ¸ÖÐд¹ýһƪ¹ØÓÚÕâ·½ÃæµÄÎÄÕ£º¡°WINDOWS NT/2000ÏÂÈçºÎÆÁ±ÎCTRL+ALT+DEL¡±¡£Òò´Ë±¾ÎIJàÖØÓÚ½éÉÜÔÚWindows XPÖÐÈçºÎʵÏÖÆÁ±ÎCTRL+ALT+DEL×éºÏ¼ü£¬Ò²¾ÍÊÇÈÎÎñ¹ÜÀíÆ÷£¬ÈÎÎñÇл»×éºÏ¼ü£¨Alt+Tab£©£¬ÈÎÎñÀ¸ºÍ¡°¿ªÊ¼¡±²Ëµ¥£¨Ctrl+Esc£¬VK_LWIN£¬VK_RWIN£©¡£Õâ¸ö·½·¨Ò²ÄÜÓ¦ÓÃÓÚWindows 2000»·¾³¡£
    ÔÚWindows 9x/MeϵͳÖУ¬ÆÁ±ÎCtrl+Alt+DelºÍ¸÷ÖÖÈÎÎñ¿ª¹Ø¼üµÄ·½·¨ÊÇͨ¹ýÏÂÃæµÄ·½·¨ÊµÏֵģº BOOL bOldState;
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &bOldState, 0);      
    MS´óÀÐÈÏΪÕâÖÖ·½·¨ºÜÒµÓ࣬ËùÒÔÔÚWindows NT/2000/XPÖжԴ˽øÐÐÁËÐ޸ġ£ÔÚÕâЩ½ÏеÄWindows°æ±¾ÖÐÓû§µÇ½ʹÓÃWinlogonºÍGINA¡ª¡ªGraphical Identification and Authentication£¬Òâ˼ÊÇͼÐλ¯µÄÉí·ÝÈÏÖ¤£¬Í¦ÏÅ»£È˵ÄÊDz»ÊÇ£¡Æäʵ¾ÍÄÇô»ØÊ¡£WinlogonÊÇWindowsϵͳµÄÒ»²¿·Ö£¬ËüרÃÅÌṩ½»»¥Ê½µÇ½֧³Ö£¬¶øGINAÔòÊÇWinlogonÓÃÀ´ÊµÏÖÈÏÖ¤µÄÒ»¸öDLL¡ª¡ªÕâ¸öDLL¾ÍÊÇmsgina.dll¡£WlxInitialize¡¢WlxActivateUserShell±ãÊÇÆäÖÐÊä³ö£¬µ±È»²»ÖªÕâÁ½¸ö£¬»¹ÓбðµÄ¡£Ç°Õß½øÐÐ×ÔÉíµÄ³õʼ»¯£¬ºóÕß¼¤»îÓû§µÄÍâ¿Ç³ÌÐò¡£Windows¾ÍÊÇÓÃÕâ¸öDLLÀ´ÊµÏÖÓû§Ãû+¿ÚÁîµÄÉí·ÝÈÏÖ¤µÄ£¬µ«ÊÇ¿ª·¢ÈËÔ±¿ÉÒÔÓÃ×Ô¼ºµÄGINA´úÌæmsgina.dll¡£ÀýÈ磬ʵÏÖÖÇÄÜ¿¨¡¢ÊÓÍøÄ¤É¨ÃèÒÇ¡¢DNA¼ì²éµÈµÈÈÏÖ¤»úÖÆÀ´´úÌæÊäÈëÓû§Ãû+¿ÚÁîÐÎʽµÄÉí·Ý¼ì²é¡£ ÏÂÃæµÄ±í¸ñÖÐÁгöÁËÓëGINAÓйصÄÈ«²¿º¯Êý¡£ÆäÖÐÓÐÒ»¸öÊÇWlxLoggedOnSAS£¬µ±°´ÏÂCtrl+Alt+Del ¼üʱ£¬Winlogon±ãµ÷ÓÃÕâ¸öº¯Êý¡£  

GINA º¯ÊýÒ»ÀÀ±í º¯Êý  ÃèÊö  
WlxActivateUserShell ¼¤»îÓû§Íâ¿Ç³ÌÐò  
WlxDisplayLockedNotice ÔÊÐíGINA DLL ÏÔÊ¾Ëø¶¨ÐÅÏ¢  
WlxDisplaySASNotice  µ±Ã»ÓÐÓû§µÇ½ʱ£¬Winlogonµ÷Óô˺¯Êý  
WlxDisplayStatusMessage Winlogon ÓÃÒ»¸ö״̬ÐÅÏ¢µ÷Óô˺¯Êý½øÐÐÏÔʾ  
WlxGetConsoleSwitchCredentials  Winlogonµ÷Óô˺¯Êý¶ÁÈ¡µ±Ç°µÇ½Óû§µÄÐÅÈÎÐÅÏ¢£¬²¢Í¸Ã÷µØ½«ËüÃÇ´«µ½Ä¿±ê»á»°  
WlxGetStatusMessage  Winlogon µ÷Óô˺¯Êý»ñÈ¡µ±Ç°×´Ì¬ÐÅÏ¢  
WlxInitialize  Õë¶ÔÖ¸¶¨µÄ´°¿ÚλÖýøÐÐGINA DLL³õʼ»¯  
WlxIsLockOk  ÑéÖ¤¹¤×÷Õ¾Õý³£Ëø¶¨  
WlxIslogoffOk  Ñé֤עÏúÕý³£  
WlxLoggedOnSAS  Óû§Òѵǽ²¢ÇÒ¹¤×÷վûÓб»¼ÓËø£¬Èç¹û´Ëʱ½ÓÊÕµ½SASʼþ£¬ÔòWinlogon µ÷Óô˺¯Êý  
WlxLoggedOutSAS  Ã»ÓÐÓû§µÇ½£¬Èç¹û´ËʱÊÕµ½SASʼþ£¬ÔòWinlogon µ÷Óô˺¯Êý  
WlxLogoff  ÇëÇó×¢Ïú²Ù×÷ʱ֪ͨGINA DLL   
WlxNegotiate  ±íʾµ±Ç°µÄWinlogon°æ±¾ÊÇ·ñÄÜʹÓÃGINA DLL  
WlxNetworkProviderLoad  ÔÚ¼ÓÔØÍøÂç·þÎñÌṩ³ÌÐòÊÕ¼¯ÁËÉí·ÝºÍÈÏÖ¤ÐÅÏ¢ºó£¬Winlogon µ÷Óô˺¯Êý  
WlxRemoveStatusMessage  Winlogon µ÷Óô˺¯Êý¸æËßGINA DLL Í£Ö¹ÏÔʾ״̬ÐÅÏ¢  
WlxScreensaverNotify  ÔÊÐíGINAÓëÆÁÄ»±£»¤²Ù×÷½»»¥  
WlxShutdown  ÔڹرÕ֮ǰWinlogon µ÷Óô˺¯Êý£¬ÔÊÐíGINAʵÏÖÈκιرÕÈÎÎñ£¬ÀýÈç´Ó¶Á¿¨Æ÷ÖÐÍ˳öÖÇÄÜ¿¨  
WlxStartApplication  µ±ÏµÍ³ÐèÒªÔÚÓû§µÄÉÏÏÂÎÄÖÐÆô¶¯Ó¦ÓóÌÐòʱµ÷Óô˺¯Êý  
WlxWkstaLockedSAS µ±¹¤×÷Õ¾±»Ëø¶¨£¬Èç¹û½ÓÊÕµ½Ò»¸öSAS£¬ÔòWinlogon µ÷Óô˺¯Êý  


    ÔÚĬÈÏÇé¿öÏ£¬GINAÏÔʾµÇ½¶Ô»°¿ò£¬Óû§ÊäÈëÓû§Ãû¼°¿ÚÁî¡£ËùÒÔÒªÏëÆÁ±ÎµôCtrl+Alt+Del£¬Ôò¿ÉÒÔдһ¸öеÄMyGina.dll£¬ÆäÖÐÌṩ½Ó¿Úµ÷ÓÃmsgina.dllµÄº¯ÊýWlxLoggedOnSAS£¬´Ó¶øÊµÏÖCtrl+Alt+DelÆÁ±Î¡£»òÕß±àдһ¸ö¼üÅÌÇý¶¯³ÌÐòÀ´ÊµÏÖ¡£  
    ÄѵÀÆÁ±ÎCtrl+Alt+DelÕæµÄÏóÉÏÊöËù˵µÄÄÇôÂé·³Âð£¿ÓÐûÓиüºÃµÄ·½·¨ÄØ£¿´ð°¸Êǿ϶¨µÄ¡£ËùÒÔÍüµôGINA°É£¬Ê¹ÓòÙ×÷ϵͳµÄ²ßÂÔÉèÖÃÍêÈ«¿ÉÒÔ¸ãµàÕâ¸öÎÊÌâ¡£·½·¨ÊǽøÈë"¿ªÊ¼"²Ëµ¥£¬Ñ¡Ôñ"ÔËÐÐ"£¬È»ºóÔÚÔËÐжԻ°¿òÖÐÊäÈë"gpedit.msc"£¬Æô¶¯WindowsϵͳµÄ×é²ßÂԱ༭Æ÷¡£ÔÚ×ó±ß´°¸ñ²é¿´"Óû§ÅäÖÃ|¹ÜÀíÄ£°å|ϵͳ|µÇ¼/×¢Ïú"£¬ÔòÔÚÓұߴ°¸ñ²ßÂÔÀï²»ÄÑ·¢ÏÖ"½ûÓÃÈÎÎñ¹ÜÀíÆ÷"Ò»Ïî¡£
  
×é²ßÂԱ༭Æ÷  

ͨ¹ý¶ÔÕâ¸ö²ßÂÔµÄÉèÖÿÉÒÔÆÁ±ÎµôCtrl+Alt+Del¡£Èç¹ûҪͨ¹ý±àд´úÂëÀ´ÊµÏÖ£¬Ôò±ØÐë²Ù×÷ÏÂÃæµÄ×¢²á±íÏ HKCU\
Software\
  Microsoft\
   Windows\
    CurrentVersion\
     Policies\
      System\DisableTaskMgr = dword:1
      
Èç´ËÉèÖÃÖ®ºó£¬ÔòÔÚWindows XPÖУ¬Èç¹ûÓû§°´ÏÂCtrl+Alt+Del£¬Ôò»áµ¯³öÒ»¸ö³ö´í¶Ô»°¿ò´íÎóÐÅÏ¢  ×¢ÒâÕâÀï¼ÙÉèÔÚ¿ØÖÆÃæ°åÖС°Óû§Õʺš±¹ÜÀíµÄ¡°Ñ¡ÔñµÇ¼ºÍ×¢ÏúÑ¡ÏÉèÖÃÆôÓÃÁË¡°Ê¹Óû¶Ó­ÆÁÄ»¡±Ò»Ïî
µÇ¼ѡÏî

[ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-27 at 10:22 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

×öÈËÒªºñµÀ°¡£¡ºñµÀ°¡£¡
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zsglly

ľ³æ (ÖøÃûдÊÖ)

ºÜ±§Ç¸£¬±¾À´ÊÇÓÐͼƬµÄ£¬µ«ÊÇÕ³Ìù²»ÉÏÀ´£¬´ó¼Ò¾Í½«¾Í¿´ÁË£¡
×öÈËÒªºñµÀ°¡£¡ºñµÀ°¡£¡
5Â¥2005-12-27 20:59:59
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 6 ¸ö»Ø´ð

zsglly

ľ³æ (ÖøÃûдÊÖ)

·ñÔò£¬XP½«Ê¹ÓÃWindowsµÄ´«Í³µÇ¼ģʽ£¬ÒªÇóÓû§ÊäÈëÕÊ»§Ãû¡£²¢ÇÒCtrl+Alt+Del×éºÏ¼üµÄ ÐÐΪҲºÍ´«Í³µÄÐÐΪһÑù£¬×¢²á±íÖÐDisableTaskMgrµÄÉèÖÃÒ²Ö»Êǽ«µÇ¼/×¢Ïú¶Ô»°¿òÖеÄÈÎÎñ¹ÜÀíÆ÷°´Å¥ÆÁ±Î»òÖûҡ£ ÓÐÈË¿ÉÄÜ»áÎÊ£¬ÓйØÈÎÎñ¹ÜÀíÆ÷µÄÎĵµÓÖûÓÐÃ÷ȷ˵Ã÷£¬ÄÇÄãÊÇÔõô֪µÀDisableTaskMgrÊÇÓÃÀ´½ûÓÃÈÎÎñ¹ÜÀíÆ÷µÄÄØ£¿¸æËßÄã°É£¬ ÎÒÊÇÔÚʹÓÃGPEDITʱ·¢Ïֵġ£GPEDITÊÇÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬²»½ö¿ÉÒÔÓÃËüÀ´±à¼­²ßÂÔ£¬»¹¿ÉÒÔÓÃËüÀ´·¢ÏÖ²ßÂÔ¡£ÀûÓÃÕâ¸ö¹¤¾ß ¿ÉÒÔÇáËÉ¿ØÖÆWindowsµÄÐí¶à¶«Î÷£¬´ÓÐí¿ÉȨÏ޵ĴæÈ¡µ½ÊÇ·ñʹÓÃIEµÄ´«Í³Íâ¹Û£¬´ÓÊÇ·ñÏÔʾ¶Ô»°¿òÖеÄPlaces Barµ½ÊÇ·ñÓÃCtrl+Alt+Del Æô¶¯ÈÎÎñ¹ÜÀíÆ÷¡£×ÜÖ®ÓÃËü¿ÉÒÔÅäÖÃÉϰٸö½çÃæÐÐΪ£¬Òò´ËËüÊÇÒ»¸ö×ãÒÔÈÃϵͳ¹ÜÀíÔ±´¹ÑÓÈý³ßµÄ¹¤¾ß¡£ Ò»µ©ÕÒµ½Á˸ÐÐËȤµÄ²ßÂÔ£¬ÄÇÈçºÎÖªµÀÏàÓ¦µÄ×¢²á±íλÖÃÄØ£¿ÓÐÁ½ÖÖ·½·¨¡£µÚÒ»ÖÖÊDZȽϴÖ³µÄ°ì·¨£ºÔÚÐ޸IJßÂÔµÄǰºó½«×¢²á±íÊä³öµ½ Ò»¸ö.regÎļþ£¬È»ºó±È½ÏËüÃÇÓÐʲô²»Í¬¡£ËùÓеIJßÂÔÎÞÍâºõÒÔϵÄËĸö×¢²á±í¼ü£º // Óû§Ö¸¶¨
HKEY_CURRENT_USER\Software\Policies  
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies

// »úÆ÷Ö¸¶¨  
HKEY_LOCAL_MACHINE\Software\Policies  
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies      
    µÚ¶þÖÖ·½·¨ÊÇÖ±µ·ÐÅÏ¢Ô´Í·--¼ì²éÃèÊö²ßÂԵĹÜÀíÄ£°åÎļþ£¨.adm£©¡£ÏÂÃæÊÇWindows XPµÄsystem.admÎļþ¶Ô DisableTaskMgrµÄÃèÊö£º£¨Windows 2000¶Ô´ËµÄÃèÊöÉÔÓв»Í¬£¬Æäϸ½ÚÇë²Î¿¼Windows 2000µÄ×ÊÔ´¿ª·¢°ü£© CATEGORY !!CADOptions
    #if version >= 4
        EXPLAIN !!CADOptions_Help
    #endif
    KEYNAME "Software\Microsoft\Windows\CurrentVersion\Policies\System"

    POLICY !!DisableTaskMgr     
        #if version >= 4
            SUPPORTED !!SUPPORTED_Win2k
        #endif

        EXPLAIN !!DisableTaskMgr_Help
        VALUENAME "DisableTaskMgr"
    END POLICY

    ;
    ; More Ctrl+Alt+Del policies here...
    ;

END CATEGORY ; Ctrl+Alt+Del options
¡­¡­
¡­¡­
DisableTaskMgr_Help="·ÀÖ¹Óû§Æô¶¯''ÈÎÎñ¹ÜÀíÆ÷''(Taskmgr.exe)¡£\n\nÈç¹û¸ÃÉèÖñ»ÆôÓ㬲¢ÇÒÓû§ÊÔͼÆô¶¯ÈÎÎñ¹ÜÀíÆ÷£¬ÏµÍ³
»áÏÔʾÏûÏ¢£¬½âÊÍÊÇÒ»¸ö²ßÂÔ½ûÖ¹ÁËÕâ¸ö²Ù×÷¡£\n\nÈÎÎñ¹ÜÀíÆ÷ÈÃÓû§Æô¶¯»òÖÕÖ¹³ÌÐò£¬¼àÊÓ¼ÆËã»úÐÔÄÜ£¬²é¿´¼°¼àÊÓ¼ÆËã»úÉÏËùÓÐÔËÐÐ
ÖеijÌÐò (°üº¬ÏµÍ³·þÎñ)£¬ ËÑË÷³ÌÐòµÄÖ´ÐÐÎļþÃû£¬¼°¸ü¸Ä³ÌÐòÔËÐеÄÓÅÏÈ˳Ðò¡£"
DisableTaskMgr="ɾ³ýÈÎÎñ¹ÜÀíÆ÷"  
ÒÔÉÏÊÇDisableTaskMgrµÄÃèÊöƬ¶Ï  

    ÕýÊÇÔÚÕâ¶ÎÃèÊöÖÐKEYNAME ºÍVALUENAMEÖ¸¶¨ÁË×¢²á±íµÄ¼üÖµ¶Ô¡£ÀûÓÃÕâÖÖ·½·¨£¬Äã¿ÉÒÔΪ×Ô¼ºµÄÓ¦ÓóÌÐò´´½¨¹ÜÀíÄ£°åºÍ²ßÂÔ£¬µ«±à¼­ºÍä¯ÀÀ.admÄ£°åÎļþµÄ±à¼­Æ÷±ØÐëÖ§³ÖUnicode×Ö·û¡£ÈçNotepad»òÕßWordPadµÈ¶¼¿ÉÒÔ¡£´ËÍ⣬ʹÓùÜÀíÄ£°åÎļþ£¬ÏµÍ³¹ÜÀíÔ±¿ÉÒÔÓÃËüΪÕû¸ö×éÖ¯ÅäÖÃÐèÒªµÄ²ßÂÔ¡ª¡ªÓÉ´Ë¿ÉÒÔ¿´³ö£¬´ËÎļþÔÚϵͳÖеĵØÎ»¾Ù×ãÇáÖØ£¡ÓйØÄ£°å¹ÜÀíÎļþ¸ñʽµÄÏêϸÐÅÏ¢Çë²Î¿¼Æ½Ì¨SDK¡£×îºóÐèҪǿµ÷µÄÊÇDisableTaskMgrÖ»ÊǽûÓÃCtrl+Alt+DelµÄ¹¦ÄÜ¡£ÏÂÃæÎÒÃÇÀ´ÌÖÂÛÈçºÎ²¶»ñËüµÄ°´¼üÐòÁС£ÒªÏë½Ø»ñCtrl+Alt+Del£¬ÓÐÈýÖÖ¿ÉÑ¡ÔñµÄ·½·¨£º  
1¡¢ ±àдһ¸öGINA´úÀí£»´Ë·½·¨ÎÒÃÇÔÚÒÔºóµÄÎÄÕÂÖнéÉÜ¡£Êµ¼ÊÉÏ£¬ac952_z_cnµÄ¸öÈËרÀ¸ÎÄÕ£º¡°WINDOWS NT/2000ÏÂÈçºÎÆÁ±ÎCTRL+ALT+DEL¡±Ê¹ÓõľÍÊÇÕâÖÖ·½·¨¡£  
2¡¢ ±àдһ¸ö¼üÅÌÇý¶¯³ÌÐò£»±¾ÎÄÀý×Ó³ÌÐòʹÓõķ½·¨¡£  
3¡¢ ÓÃ×Ô¼ºµÄ³ÌÐò´úÌæÈÎÎñ¹ÜÀíÆ÷³ÌÐòTaskMgr.exe¡£  
ÆÁ±ÎCtrl+Alt+Del½â¾ö·½°¸µÄ¾ßÌåʵÏÖϸ½ÚÇë²Î¿¼±¾ÎĵÄÀý×Ó´úÂë¡£  
    ÏÂÃæÈÃÎÒÃÇÀ´½â¾öÆÁ±ÎÈÎÎñÇл»¼üÐòÁеÄÎÊÌ⣬ÕâЩ¼üÐòÁаüÀ¨Alt+Tab¡¢Ctrl+Esc¡¢Alt+Esc¡¢VK_LWIN/VK_RWINÒÔ¼°ÈÎÎñÀ¸¡£ÔÚºÜÔçÒÔǰµÄWindow 3.1Äê´ú£¬´¦ÀíÕâ¸öÎÊÌâµÄ·½·¨ÊÇͨ¹ýWM_SYSKEYDOWNʵÏÖ¡£µ½ÁËWindows 9xʱÆÚ£¬±¾ÎÄÇ°ÃæÌáµ½¹ý¶ÔÕâ¸öÎÊÌâµÄ´¦Àí·½·¨£¬Ê¹ÓÃSPI_SETSCREENSAVERRUNNING¡£µ«ÊǽøÈëWindows NT 4.0 £¨SP3 +£©£¬Windows 2000ÒÔ¼°Windows XPʱ´ú£¬¶ÔÕâ¸öÎÊÌâµÄ´¦ÀíÒѾ­ÓÐËù²»Í¬£¬±ØÐëдһ¸öµÍ¼¶µÄ¼üÅÌÇý¶¯¹³×Ó¡£²»ÒªÅ£¬ÒòΪҪʵÏÖÕâ¸ö¹³×Ó²¢²»ÊǺÜÄÑ¡£±¾ÎÄÏÂÃæ»á½éÉÜÈçºÎʵÏÖÕâ¸ö¼üÅ̹³×Ó¡£Ò»°ãÀ´½²£¬ÏµÍ³¼¶¹³×Ó±ØÐëÊÇÒ»¸öDLL¡£ÏÂÃæÊDZ¾ÎÄÌṩµÄÒ»¸ö¼üÅ̹³×ÓDLLµÄÔ´´úÂëÆ¬¶Ï£¨TaskKeyHook.dll£©£ºÍ·Îļþ
////////////////////////////////////////////////////////////////
//TaskKeyHook.h
//
#define DLLIMPORT __declspec(dllimport)

DLLIMPORT BOOL DisableTaskKeys(BOOL bEnable, BOOL bBeep);
DLLIMPORT BOOL AreTaskKeysDisabled();

ʵÏÖÎļþ
////////////////////////////////////////////////////////////////
// TaskKeyHook.cpp
//
#define _WIN32_WINNT 0x0500 // for KBDLLHOOKSTRUCT
#include          // MFC core and standard components

#define DLLEXPORT __declspec(dllexport)

//////////////////
// App (DLL) object
//
class CTaskKeyHookDll : public CWinApp {
public:
   CTaskKeyHookDll()  { }
   ~CTaskKeyHookDll() { }
} MyDll;

////////////////////////////////////////////////
// ÏÂÃæµÄ´úÂë±íʾÕâÒ»²¿·ÖÔÚ´ËDLLËùÓÐʵÀýÖ®¼ä¹²Ïí
// µÍ¼¶¼üÅ̹³×ÓÒ»¶¨ÊÇϵͳ¼¶µÄ¹³×Ó
//  
#pragma data_seg (".mydata"
HHOOK g_hHookKbdLL = NULL; // ¹³×Ó¾ä±ú
BOOL  g_bBeep = FALSE;     // °´Ï·Ƿ¨¼üʱ·äÃùÏìÁå
#pragma data_seg ()
#pragma comment(linker, "/SECTION:.mydata,RWS" // ¸æËßÁ´½ÓÆ÷£º½¨Á¢Êý¾Ý¹²Ïí¶Î

//////////////////////////////////
// µÍ¼¶¼üÅ̹³×Ó
// ½Ø»ñÈÎÎñת»»¼ü£º²»´«µÝÖ±½Ó·µ»Ø
//
LRESULT CALLBACK MyTaskKeyHookLL(int nCode, WPARAM wp, LPARAM lp)
{
   KBDLLHOOKSTRUCT *pkh = (KBDLLHOOKSTRUCT *) lp;

   if (nCode==HC_ACTION) {
      BOOL bCtrlKeyDown =
         GetAsyncKeyState(VK_CONTROL)>>((sizeof(SHORT) * 8) - 1);

      if ((pkh->vkCode==VK_ESCAPE && bCtrlKeyDown) || // Ctrl+Esc
          // Alt+TAB
          (pkh->vkCode==VK_TAB && pkh->flags & LLKHF_ALTDOWN) ||   
          // Alt+Esc
          (pkh->vkCode==VK_ESCAPE && pkh->flags & LLKHF_ALTDOWN)||  
          (pkh->vkCode==VK_LWIN || pkh->vkCode==VK_RWIN)) { // ¿ªÊ¼²Ëµ¥
         if (g_bBeep && (wp==WM_SYSKEYDOWN||wp==WM_KEYDOWN))
            MessageBeep(0); // ·äÃù
         return 1; // ²»ÔÙÍùCallNextHookEx´«µÝ£¬Ö±½Ó·µ»Ø
      }
   }
   return CallNextHookEx(g_hHookKbdLL, nCode, wp, lp);
}

////////////////////////////////////////////////
// ÊÇ·ñÆÁ±ÎÈÎÎñ¼üÐòÁСª¡ªÒ²¾ÍÊÇ˵¼üÅ̹³×ÓÊÇ·ñ°²×°£¿
// ×¢£ºÕâÀï¼ÙÉèûÓÐÆäËü¹³×Ó×öͬÑùµÄÊÂÇé
//
DLLEXPORT BOOL AreTaskKeysDisabled()
{
   return g_hHookKbdLL != NULL;
}

////////////////////////////////////////////////
// ÆÁ±ÎÈÎÎñ¼ü£º°²×°µÍ¼¶¼üÅ̹¹
// ·µ»Øµ±Ç°ÊÇ·ñÆÁ±Î±êÖ¾£¨TRUE/FALSE£©
//
DLLEXPORT BOOL DisableTaskKeys(BOOL bDisable, BOOL bBeep)
{
   if (bDisable) {
      if (!g_hHookKbdLL) {
         g_hHookKbdLL = SetWindowsHookEx(WH_KEYBOARD_LL,
            MyTaskKeyHookLL, MyDll.m_hInstance, 0);
      }

   } else if (g_hHookKbdLL != NULL) {
      UnhookWindowsHookEx(g_hHookKbdLL);
      g_hHookKbdLL = NULL;
   }
   g_bBeep = bBeep;

   return AreTaskKeysDisabled();
}      
    TaskKeyHook Êä³öÁ½¸öº¯Êý£ºDisableTaskKeys ºÍ AreTaskKeysDisabled¡£Ç°Õß°²×°WH_KEYBOARD_LL ¹³×Ó£»ºóÕßÅжÏÕâ¸ö¹³×ÓÊÇ·ñ°²×°¡£´Ë¼üÅ̹³×ӵĴ¦Àí˼·ÊǽػñAlt+Tab£¬Ctrl+Esc£¬Alt+EscÒÔ¼°Windows ¼üVK_LWIN/VK_RWIN£¬¹ØÓÚÕâÁ½¸ö¼ü£¬ÉÔºò»áÓÐÏêϸÃèÊö¡£µ±¹³×ÓÅöµ½ÕâЩ¼üʱ£¬ËüÖ±½Ó·µ»Øµ½µ÷ÓÃÕߣ¬¶ø²»Êǽ«´¦Àí´«µÝ¸øCallNextHookEx ¡£ LRESULT CALLBACK MyTaskKeyHookLL(...)
{
   if (/* ÈÎÎñ¼ü*)
      return 1; // Á¢¼´·µ»Ø
   return CallNextHookEx(...);
}      
    TaskKeyHookµÄ´ó²¿·ÖʵÏÖ¶¼ºÜ¼òµ¥¡£Ö»ÓÐÒ»¸öµØ·½Óõ½ÁËÒ»µãС¼¼ÇÉ£º¼ÈʹÓÃ#pragma data_seg ÃüÃû°üº¬È«³ÌÊý¾ÝµÄÊý¾Ý¶Î£¬²¢ÇÒÓÃ#pragma comment (linker...)¸æËßÁ´½ÓÆ÷ÈÃÕâ¸öÊý¾Ý¶ÎΪ¹²Ïí¶Î¡£ÊµÏÖϸ½ÚÇë²Î¿¼Ô´´úÂë¡£ ±¾Îĸ½´øµÄÀý×Ó³ÌÐò£¨TrapKeys.exe£©»ã¼¯ÁËÉÏÊö¼¸¸öÓÐ¹ØÆÁ±Î¼üÅ̰´¼üÐòÁеŦÄÜ£¬³ý´ËÖ®Í⣬Ëü»¹ÓÐÒ»¸ö¹¦ÄܾÍÊǽûÓÃÈÎÎñÀ¸¡£ÒòΪ¼ÈÈ»½ûÓÃÁËÈÎÎñת»»¼ü£¬ÄÇôһ°ãÀ´Ëµ£¬Ò²±ØÈ»Òª½ûÓÃÈÎÎñÀ¸£¬·ñÔò½ûÓÃÈÎÎñת»»¼ü¾ÍûÓÐÒâÒåÁË¡£½ûÓÃÈÎÎñÀ¸µÄ¾ßÌå·½·¨ÈçÏ£º HWND hwnd = FindWindow("Shell_traywnd", NULL);//ÕÒµ½ÈÎÎñÀ¸
EnableWindow(hwnd, FALSE); // ½ûÓÃÈÎÎñÀ¸
×öÈËÒªºñµÀ°¡£¡ºñµÀ°¡£¡
2Â¥2005-12-27 20:57:28
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zsglly

ľ³æ (ÖøÃûдÊÖ)

ÊÇÀý×Ó³ÌÐòÔËÐл­Ã棺  
@@@@
  
TrapKeys³ÌÐòÔËÐл­Ãæ  

ÒÔÏÂÊÇTrapKeys³ÌÐòµÄʵÏÖ´úÂ룺 /////////////////////////////////////////////////
// TrapKeys.cpp
//
#include "stdafx.h"
#include "resource.h"
#include "StatLink.h"
#include "TaskKeyMgr.h"

////////////////////
// Ö÷¶Ô»°¿ò
//
class CMyDialog : public CDialog {
public:
   CMyDialog(CWnd* pParent = NULL) : CDialog(IDD_MYDIALOG, pParent) { }

protected:
   HICON m_hIcon;
   CStaticLink m_wndLink1;
   CStaticLink m_wndLink2;
   CStaticLink m_wndLink3;

   virtual BOOL OnInitDialog();

   // ÃüÁî/UI µÄ¸üд¦Àí
   afx_msg void OnDisableTaskMgr();
   afx_msg void OnDisableTaskKeys();
   afx_msg void OnDisableTaskbar();
   afx_msg void OnUpdateDisableTaskMgr(CCmdUI* pCmdUI);
   afx_msg void OnUpdateDisableTaskKeys(CCmdUI* pCmdUI);
   afx_msg void OnUpdateDisableTaskbar(CCmdUI* pCmdUI);
   afx_msg LRESULT OnKickIdle(WPARAM,LPARAM);

   DECLARE_MESSAGE_MAP()
};

///////////////////////////////////////////////////////
// ±ê×¼µÄMFC ¶Ô»°¿òÓ¦ÓÃÀà´úÂë¡£
//
class CMyApp : public CWinApp {
public:
   virtual BOOL InitInstance() {
      // ³õʼ»¯app£ºÔËÐжԻ°¿ò
      CMyDialog dlg;
      m_pMainWnd = &dlg;
      dlg.DoModal();
      return FALSE;
   }
   virtual int ExitInstance() {
      // ΪÁ˰´È«Æð¼û£¬ÔÚÍ˳ö³ÌÐòµÄʱºò£¬½«ËùÓнûÓõÄÏîÄ¿¸´Ô­
      CTaskKeyMgr:isable(CTaskKeyMgr::ALL, FALSE);
      return 0;
   }
} theApp;

BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
   ON_COMMAND(IDC_DISABLE_TASKKEYS,OnDisableTaskKeys)
   ON_COMMAND(IDC_DISABLE_TASKBAR, OnDisableTaskbar)
   ON_COMMAND(IDC_DISABLE_TASKMGR, OnDisableTaskMgr)
   ON_UPDATE_COMMAND_UI(IDC_DISABLE_TASKKEYS, OnUpdateDisableTaskKeys)
   ON_UPDATE_COMMAND_UI(IDC_DISABLE_TASKBAR, OnUpdateDisableTaskbar)
   ON_UPDATE_COMMAND_UI(IDC_DISABLE_TASKMGR, OnUpdateDisableTaskMgr)
   ON_MESSAGE(WM_KICKIDLE,OnKickIdle)
END_MESSAGE_MAP()

///////////////////////////////////////////////
// ³õʼ»¯¶Ô»°¿ò£º×ÓÀ໯³¬Á´½Ó±ú¼ÓÔÔͼ±ê
//
BOOL CMyDialog::OnInitDialog()
{
   CDialog::OnInitDialog();

   // ³õʼ»¯³¬Á´½Ó
   m_wndLink1.SubclassDlgItem(IDC_EMAIL,this);
   m_wndLink2.SubclassDlgItem(IDC_VCKBASEURL,this);
   m_wndLink3.SubclassDlgItem(IDC_VCKBASELINK,this);

   // ×Ô¼ºÉèÖöԻ°¿òͼ±ê¡£MFC²»»áΪ¶Ô»°¿òÓ¦ÓóÌÐòÉèÖÃËü
   m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
   SetIcon(m_hIcon, TRUE);       // ´òͼ±ê
   SetIcon(m_hIcon, FALSE);      // Сͼ±ê
   
   return TRUE;
}

////////////////////////////////////////////////////////
// ÃüÁî/UI ¸üд¦Àí£ºÐ´ÕâЩ¶«Î÷Ó¦¸ÃºÜÇáËÉ¡£

void CMyDialog::OnDisableTaskKeys()
{
   CTaskKeyMgr:isable(CTaskKeyMgr::TASKKEYS,
      !CTaskKeyMgr::AreTaskKeysDisabled(), TRUE); // ·äÃù
}
void CMyDialog::OnUpdateDisableTaskKeys(CCmdUI* pCmdUI)
{
   pCmdUI->SetCheck(CTaskKeyMgr::AreTaskKeysDisabled());
}
void CMyDialog::OnDisableTaskbar()
{
   CTaskKeyMgr:isable(CTaskKeyMgr::TASKBAR,
      !CTaskKeyMgr::IsTaskBarDisabled());
}
void CMyDialog::OnUpdateDisableTaskbar(CCmdUI* pCmdUI)
{
   pCmdUI->SetCheck(CTaskKeyMgr::IsTaskBarDisabled());
}
void CMyDialog::OnDisableTaskMgr()
{
   CTaskKeyMgr:isable(CTaskKeyMgr::TASKMGR,
      !CTaskKeyMgr::IsTaskMgrDisabled());
}
void CMyDialog::OnUpdateDisableTaskMgr(CCmdUI* pCmdUI)
{
   pCmdUI->SetCheck(CTaskKeyMgr::IsTaskMgrDisabled());
}

[ Last edited by zsglly on 2005-12-30 at 17:13 ]
×öÈËÒªºñµÀ°¡£¡ºñµÀ°¡£¡
3Â¥2005-12-27 20:58:30
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zsglly

ľ³æ (ÖøÃûдÊÖ)

////////////////////////////////////////////////////////
// ÒªÏëÈÃON_UPDATE_COMMAND_UIÕý³£¹¤×÷£¬ÕâÊDZØÐèµÄ¡£
//  
LRESULT CMyDialog::OnKickIdle(WPARAM wp, LPARAM lCount)
{
   UpdateDialogControls(this, TRUE);
   return 0;
}      
   °´ÉÏÊö·½·¨¾¡¹Ü½ûÓÃÁËÈÎÎñÀ¸£¬µ«ÊÇ»¹ÓÐÒ»¸ö»ú¹ØÃ»Óд¦Àí£¬ÄǾÍÊǰ´ÏÂWindows¼üÈÔÈ»¿ÉÒÔµ¯³ö¡°¿ªÊ¼¡±²Ëµ¥¡£ÏÔÈ»ÔÚ´¦ÀíVK_LWIN֮ǰ£¬ÈÎÎñÀ¸²»»á¼ì²éÊÇ·ñ±»ÆôÓá£Ò»°ãÀ´½²£¬Èç¹ûij¸ö´°¿Ú±»ÆÁ±Îµô£¬ÄÇôËü¾Í²»ÔٻᴦÀíÓû§ÔÚÕâ¸ö´°¿ÚµÄÊäÈ롪¡ªÕâ¾ÍÊÇËùνµÄ½ûÓã¨Disable£©µÄº¬Ò塣ͨ³£µ÷ÓÃEnableWindow(FALSE)ºó×ÔÈ»¾Í´ïµ½ÁËÕâ¸öÄ¿µÄ¡£µ«ÊÇ´¦ÀíVK_LWIN/VK_RWIN°´¼üµÄ´úÂë¾ö²»»áÈ¥¼ì²éÈÎÎñÀ¸ÆôÓÃ/½ûÓÃ״̬¡£¶Ô´Ë£¬±¾ÎĵĴ¦Àí°ì·¨ÈÔÈ»ÊÇÀûÓüüÅ̹³×Ó¡£ÐÞ¸ÄÒ»ÏÂTaskKeyHookʵÏÖ£¬Ôö¼Ó¶ÔWindows¼üµÄ²¶»ñ¡£ÕâÑù°´Ï¡°¿ªÊ¼¡±²Ëµ¥¼üÖ®ºóʲôҲ²»»á·¢Éú¡£Ï£ÍûûÓЩµôÆäËüµÄ°´¼ü¡£Èç¹ûÄÄλ¶ÁÕß·¢ÏÖ©µôÁËʲô¼ü£¬ÇëºÍÎÒÁªÏµ£¬ÒÔ±ã°ÑËü¼Óµ½¼üÅ̹³×ÓÖÐÈ¥¡£ÎªÁ˼òµ¥Æð¼û£¬ÎÒÔÚÀàCTaskKeyMgrÖзâ×°ÁËËùÓнûÓõĺ¯Êý¡£ÏÂÃæÊÇÕâ¸öÀàµÄ¶¨Òå»÷ʵÏÖÎļþ£º TaskKeyMgr
////////////////////////////////////////
// TaskKeyMgr.h
//
#pragma once
#include "TaskKeyHook.h"

/////////////////////////////////////////////////////////////////////
// ʹÓÃÕâ¸öÀà½ûÓÃÈÎÎñ¼ü£¬ÈÎÎñ¹ÜÀíÆ÷»òÈÎÎñÀ¸¡£
// ÓÃÏàÓ¦µÄ±êÖ¾µ÷ÓÃDisable£¬È磺CTaskMgrKeys:isable(CTaskMgrKeys::ALL)£»
//  
class CTaskKeyMgr {
public:
   enum {
      TASKMGR  = 0x01,  // ½ûÓÃÈÎÎñ¹ÜÀíÆ÷(Ctrl+Alt+Del)
      TASKKEYS = 0x02,  //½ûÓÃÈÎÎñת»»¼ü(Alt-TAB, etc)
      TASKBAR  = 0x04,  //½ûÓÃÈÎÎñÀ¸
      ALL=0xFFFF        //½ûÓÃËùÓж«Î÷L
   };
   static void Disable(DWORD dwItem,BOOL bDisable,BOOL bBeep=FALSE);

   static BOOL IsTaskMgrDisabled();
   static BOOL IsTaskBarDisabled();
   static BOOL AreTaskKeysDisabled() {
      return ::AreTaskKeysDisabled(); // µ÷ÓÃ DLL  
   }
};

CPPʵÏÖ
////////////////////////////////////////////////////////////////
// TaskKeyMgr.cpp
//
#include "StdAfx.h"
#include "TaskKeyMgr.h"

#define HKCU HKEY_CURRENT_USER

// ÓÃÓÚ½ûÓÃÈÎÎñ¹ÜÀíÆ÷²ßÂÔµÄ×¢²á±í¼üÖµ¶Ô
LPCTSTR KEY_DisableTaskMgr =
   "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System";
LPCTSTR VAL_DisableTaskMgr = "DisableTaskMgr";

///////////////////////////////////////////
// ½ûÓÃÏà¹ØµÄÈÎÎñ¼ü
//  
// dwFlags   =  ±íʾ½ûÓÃʲô
// bDisable   = ½ûÓÃΪ (TRUE) £¬·ñÔòΪÆôÓà (FALSE)
// bBeep    =  °´Ï·Ƿ¨¼üÊÇ·ñ·äÃù£¨Ö¸Õë¶ÔÈÎÎñ¼ü£©
//
void CTaskKeyMgr:isable(DWORD dwFlags, BOOL bDisable, BOOL bBeep)
{
   // ÈÎÎñ¹ÜÀíÆ÷ (Ctrl+Alt+Del)
   if (dwFlags & TASKMGR) {
      HKEY hk;
      if (RegOpenKey(HKCU, KEY_DisableTaskMgr,&hk)!=ERROR_SUCCESS)
         RegCreateKey(HKCU, KEY_DisableTaskMgr, &hk);

      if (bDisable) { // ½ûÓÃÈÎÎñ¹ÜÀíÆ÷£¨disable TM£©£º set policy = 1
         DWORD val=1;
         RegSetValueEx(hk, VAL_DisableTaskMgr, NULL,
            REG_DWORD, (BYTE*)&val, sizeof(val));

      } else { // ÆôÓÃÈÎÎñ¹ÜÀíÆ÷£¨enable TM£©
         RegDeleteValue(hk,VAL_DisableTaskMgr);
      }
   }

   // ÈÎÎñ¼ü (Alt-TAB etc)
   if (dwFlags & TASKKEYS)
      :isableTaskKeys(bDisable,bBeep); // °²×°¼üÅ̹³

   // ÈÎÎñÀ¸
   if (dwFlags & TASKBAR) {
      HWND hwnd = FindWindow("Shell_traywnd", NULL);
      EnableWindow(hwnd, !bDisable);
   }
}

BOOL CTaskKeyMgr::IsTaskBarDisabled()
{
   HWND hwnd = FindWindow("Shell_traywnd", NULL);
   return IsWindow(hwnd) ? !IsWindowEnabled(hwnd) : TRUE;
}

BOOL CTaskKeyMgr::IsTaskMgrDisabled()
{
   HKEY hk;
   if (RegOpenKey(HKCU, KEY_DisableTaskMgr, &hk)!=ERROR_SUCCESS)
      return FALSE; // ûÓд˼ü£¬²»½ûÓÃ

   DWORD val=0;
   DWORD len=4;
   return RegQueryValueEx(hk, VAL_DisableTaskMgr,
      NULL, NULL, (BYTE*)&val, &len)==ERROR_SUCCESS && val==1;
}      
    Õâ¸öÀàÖеĺ¯Êý¶¼ÊǾ²Ì¬µÄ£¬Êµ¼ÊÉÏCTaskKeyMgrÍêÈ«¾ÍÊÇÒ»¸öÃû×ֿռ䡣Äã¿ÉÒÔÔÚ×Ô¼ºµÄ³ÌÐòÖÐËæÐÄËùÓûµØÊ¹ÓÃËü¡£ÀýÈ磬½ûÓÃÈÎÎñת»»°´¼üºÍÈÎÎñÀ¸£¬µ«ÊDz»½ûÓÃCtrl+Alt+Del£º CTaskKeyMgr:isable(CTaskKeyMgr::TASKKEYS |
                     CTaskKeyMgr::TASKBAR, TRUE);      
    ´ËÍ⣬»¹Óм¸¸öº¯ÊýÊÇÓÃÀ´¼ì²éµ±Ç°½ûÓÃÁËÄÄЩ¶«Î÷£¬ÉõÖÁ¿ÉÒÔÔÚÓû§°´Ï½ûÓüüʱ·¢³ö·äÃùÉù¡­¡­×Ô¼ºÈ¥ÏíÊÜPaulµÄÔ´´úÂë°É£¡
×öÈËÒªºñµÀ°¡£¡ºñµÀ°¡£¡
4Â¥2005-12-27 20:58:49
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 274Çóµ÷¼Á +5 ¹Ë¾ÅóÏҪǫÐé 2026-03-24 5/250 2026-03-24 18:43 by jhhcooi
[¿¼ÑÐ] ÕÐ08¿¼Êýѧ +7 laoshidan 2026-03-20 16/800 2026-03-24 17:52 by ÎÚÀ­¶ùɽÂö
[¿¼ÑÐ] ×ÊÔ´Óë»·¾³ µ÷¼ÁÉêÇë(333·Ö) +7 holy J 2026-03-21 7/350 2026-03-24 17:24 by xiaohai104
[¿¼ÑÐ] Çóµ÷¼Á +5 ÁÖ֮Ϧ 2026-03-24 5/250 2026-03-24 17:16 by dick_runner
[¿¼ÑÐ] Ò»Ö¾Ô¸211 ³õÊÔ270·Ö Çóµ÷¼Á +5 ¹ÈÓêÉϰ¶ 2026-03-23 6/300 2026-03-24 16:32 by laoshidan
[¿¼ÑÐ] 300Çóµ÷¼Á£¬²ÄÁÏ¿ÆÑ§Ó¢Ò»Êý¶þ +5 leaflight 2026-03-24 5/250 2026-03-24 16:25 by laoshidan
[¿¼ÑÐ] 384Çóµ÷¼Á +3 ×Óϵ²© 2026-03-22 6/300 2026-03-23 21:45 by ×Óϵ²©
[¿¼ÑÐ] 336»¯¹¤µ÷¼Á +4 Íõ´ó̹1 2026-03-23 5/250 2026-03-23 18:32 by allen-yin
[¿¼ÑÐ] 291 Çóµ÷¼Á +4 »¯¹¤2026½ì±ÏÒµÉ 2026-03-21 5/250 2026-03-23 16:46 by »¯¹¤2026½ì±ÏÒµÉ
[¿¼ÑÐ] Çóµ÷¼ÁÒ»Ö¾Ô¸º£´ó£¬0703»¯Ñ§Ñ§Ë¶304·Ö£¬Óдó´´ÏîÄ¿£¬Ëļ¶Òѹý +6 ÐÒÔËÁ¨Á¨ 2026-03-22 10/500 2026-03-22 20:10 by edmund7
[¿¼ÑÐ] 285Çóµ÷¼Á +6 ytter 2026-03-22 6/300 2026-03-22 12:09 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ071000£¬Çóµ÷¼Á +4 ÑØ°¶Óб´¿Ç6 2026-03-21 4/200 2026-03-22 07:21 by ilovexiaobin
[¿¼ÑÐ] »¯Ñ§µ÷¼Á +5 yzysaa 2026-03-21 5/250 2026-03-21 22:12 by peike
[¿¼ÑÐ] 0805²ÄÁÏ320Çóµ÷¼Á +3 ÉÎïÓï 2026-03-20 3/150 2026-03-21 15:46 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] Äϲý´óѧ²ÄÁÏר˶311·ÖÇóµ÷¼Á +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[¿¼ÑÐ] 22408 344·Ö Çóµ÷¼Á Ò»Ö¾Ô¸ »ªµç¼ÆËã»ú¼¼Êõ +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[¿¼ÑÐ] 330Çóµ÷¼Á +4 С²Ä»¯±¾¿Æ 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á£¬Ò»Ö¾Ô¸:ÄϾ©º½¿Õº½Ìì´óѧ´óѧ £¬080500²ÄÁÏ¿ÆÑ§Ó빤³Ìѧ˶£¬×Ü·Ö289·Ö +4 @taotao 2026-03-19 4/200 2026-03-20 22:14 by JourneyLucky
[¿¼ÑÐ] ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶337Çóµ÷¼Á +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[¿¼ÑÐ] ²ÄÁÏ¿¼Ñе÷¼Á +3 xwt¡£ 2026-03-19 3/150 2026-03-19 11:22 by wãåÑôw
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û