• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            摸擬鍵盤的類

            Posted on 2009-05-29 21:58 S.l.e!ep.¢% 閱讀(317) 評論(0)  編輯 收藏 引用 所屬分類: VC

            #include <winable.h>

            class mk
            {
            public:
            ?mk(){}
            ?////按一個鍵,mSeconds表按鍵后到下一次操作延遲的時間:ms
            ?static void Key(??BYTE k,?int mSeconds=0);
            ?static void Key2(??BYTE k1,BYTE k2,??int mSeconds=0);//按2個鍵
            ?static void Key3(??BYTE k1,BYTE k2,BYTE k3,int mSeconds=0);//按3個鍵
            ?static void Click(??int x,?int y,?int mSeconds=0);//單擊
            ?static void RClick(??int x,?int y,?int mSeconds=0);//右擊
            ?static void DClick(??int x,?int y,?int mSeconds=0);//雙擊
            ?static void CtrlClick(?int x,?int y,?int mSeconds=0);//Ctrl+單擊
            ?static void Drag(int x1,int y1,?int x2,?int y2,?int mSeconds=0);//鼠標拖動
            ?virtual ~mk(){}
            };
            #endif
            /*
              VK_LBUTTON 01 鼠標左鍵
              VK_RBUTTON 02 鼠標右鍵
              VK_CANCEL 03 Control-break 過程
              VK_MBUTTON 04 鼠標中鍵
              VK_BACK 08 BACKSPACE 鍵
              VK_TAB 09 TAB 鍵
              VK_CLEAR 0C CLEAR 鍵
              VK_RETURN 0D ENTER 鍵
              VK_SHIFT 10 SHIFT 鍵
              VK_CONTROL 11 CTRL 鍵
              VK_MENU 12 ALT 鍵
              VK_PAUSE 13 PAUSE 鍵
              VK_CAPITAL 14 CAPS LOCK 鍵
              VK_ESCAPE 1B ESC 鍵
              VK_SPACE 20 SPACEBAR
              VK_PRIOR 21 PAGE UP 鍵
              VK_NEXT 22 PAGE DOWN 鍵
              VK_END 23 END 鍵
              VK_HOME 24 HOME 鍵
              VK_LEFT 25 LEFT ARROW 鍵
              VK_UP 26 UP ARROW 鍵
              VK_RIGHT 27 RIGHT ARROW 鍵
              VK_DOWN 28 DOWN ARROW 鍵
              VK_SELECT 29 SELECT 鍵
              VK_EXECUTE 2B EXECUTE 鍵
              VK_SNAPSHOT 2C PRINT SCREEN鍵(用于Windows 3.0及以后版本)
              VK_INSERT 2D INS 鍵
              VK_DELETE 2E DEL 鍵
              VK_HELP 2F HELP 鍵

            ?   VK_LWIN 5B Left Windows 鍵 (Microsoft自然鍵盤)
            ?   VK_RWIN 5C Right Windows 鍵 (Microsoft自然鍵盤)
            ?   VK_APPS 5D Applications 鍵 (Microsoft自然鍵盤)
            ?   VK_NUMPAD0 60 數字小鍵盤上的 0 鍵
            ?   VK_NUMPAD1 61 數字小鍵盤上的 1 鍵
            ?   VK_NUMPAD2 62 數字小鍵盤上的 2 鍵
            ?   VK_NUMPAD3 63 數字小鍵盤上的 3 鍵
            ?   VK_NUMPAD4 64 數字小鍵盤上的 4 鍵
            ? VK_NUMPAD5 65 數字小鍵盤上的 5 鍵
            ?   VK_NUMPAD6 66 數字小鍵盤上的 6 鍵
            ?   VK_NUMPAD7 67 數字小鍵盤上的 7 鍵
            ?   VK_NUMPAD8 68 數字小鍵盤上的 8 鍵
            ?   VK_NUMPAD9 69 數字小鍵盤上的 9 鍵
            ?   VK_MULTIPLY 6A Multiply 鍵
            ?   VK_ADD 6B Add 鍵
            ?   VK_SEPARATOR 6C Separator 鍵
            ?   VK_SUBTRACT 6D Subtract 鍵
            ?   VK_DECIMAL 6E Decimal 鍵
            ?   VK_DIVIDE 6F Divide 鍵
            ?   VK_F1 70 F1 鍵
            ?   VK_F2 71 F2 鍵
            ?   VK_F3 72 F3 鍵
            ?   VK_F4 73 F4 鍵
            ?   VK_F5 74 F5 鍵
            ?   VK_F6 75 F6 鍵
            ?   VK_F7 76 F7 鍵
            ?   VK_F8 77 F8 鍵
            ?   VK_F9 78 F9 鍵
            ?   VK_F10 79 F10 鍵
            ?   VK_F11 7A F11 鍵
            ?   VK_F12 7B F12 鍵
            ?   VK_F13 7C F13 鍵
            ?   VK_F14 7D F14 鍵
            ?   VK_F15 7E F15 鍵
            ?   VK_F16 7F F16 鍵
            ?   VK_F17 80H F17 鍵
            ?   VK_F18 81H F18 鍵
            ?   VK_F19 82H F19 鍵
            ?   VK_F20 83H F20 鍵
            ?   VK_F21 84H F21 鍵
            ?   VK_F22 85H F22 鍵
            ?   VK_F23 86H F23 鍵
            ?   VK_F24 87H F24 鍵
            ?   VK_NUMLOCK 90 NUM LOCK 鍵
            ?   VK_SCROLL 91 SCROLL LOCK 鍵
            ?   VK_ATTN F6 Attn 鍵
            ?   VK_CRSEL F7 CrSel 鍵
            ?   VK_EXSEL F8 ExSel 鍵
            ?   VK_EREOF F9 Erase EOF 鍵
            ? VK_PLAY FA Play 鍵
            ?   VK_ZOOM FB Zoom 鍵
            ?   VK_OEM_CLEAR FE Clear 鍵
            */

            void mk::Click(int x, int y, int mSeconds)
            {
            ?SetCursorPos(x,y);
            ?mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            ?mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            ?Sleep(mSeconds);
            }

            void mk::DClick(int x, int y, int mSeconds)
            {
            ?SetCursorPos(x,y);
            ?mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            ?mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            ?mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            ?mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            ?Sleep(mSeconds);
            }

            void mk::Drag(int x1, int y1, int x2, int y2, int mSeconds)
            {
            ?SetCursorPos(x1,y1);
            ?mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            ?SetCursorPos(x2,y2);
            ?mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            ?Sleep(mSeconds);
            }

            void mk::RClick(int x, int y, int mSeconds)
            {
            ?SetCursorPos(x,y);
            ?mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
            ?mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
            ?Sleep(mSeconds);
            }
            void mk::Key(BYTE k, int mSeconds)
            {
            ?keybd_event(k,0,0,0);
            ?keybd_event(k,0,KEYEVENTF_KEYUP,0);
            ?Sleep(mSeconds);
            }
            void mk::Key2(BYTE k1, BYTE k2, int mSeconds)
            {
            ?INPUT input[4];
            ??? memset(input,0,sizeof(input));
            ??? input[0].type=input[1].type=input[2].type=input[3].type=INPUT_KEYBOARD;
            ??? input[0].ki.wVk=input[3].ki.wVk=k1;
            ??? input[1].ki.wVk=input[2].ki.wVk=k2;
            ??? input[2].ki.dwFlags = input[3].ki.dwFlags = KEYEVENTF_KEYUP;
            ?
            ??? SendInput(4, input, sizeof(INPUT));
            ?
            ?Sleep(mSeconds);
            }

            void mk::CtrlClick(int x, int y, int mSeconds)
            {
            ?SetCursorPos(x,y);
            ?keybd_event(VK_CONTROL ,0,0,0);
            ?mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            ?mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            ?keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
            ?Sleep(mSeconds);
            }

            void mk::Key3(BYTE k1, BYTE k2, BYTE k3, int mSeconds)
            {
            ?if(k1==VK_CONTROL&&k2==VK_MENU&&k3==VK_DELETE)
            ??ShellExecute(NULL,NULL,"taskmgr.exe",NULL,NULL,SW_SHOW);
            ?else
            ?{
            ??INPUT input[6];
            ??memset(input,0,sizeof(input));
            ??input[0].type=input[1].type=input[2].type=input[3].type=input[4].type=input[5].type=INPUT_KEYBOARD;
            ??input[0].ki.wVk=input[5].ki.wVk=k1;
            ??input[1].ki.wVk=input[4].ki.wVk=k2;
            ??input[2].ki.wVk=input[3].ki.wVk=k3;
            ??input[3].ki.dwFlags=input[4].ki.dwFlags=input[5].ki.dwFlags=KEYEVENTF_KEYUP;
            ??SendInput(6, input, sizeof(INPUT));
            ?}
            ?Sleep(mSeconds);
            }

            久久国产乱子精品免费女| 亚洲国产成人久久综合野外| 看久久久久久a级毛片| 色综合久久久久久久久五月 | 久久久久女人精品毛片| 国产三级久久久精品麻豆三级| 免费观看成人久久网免费观看| 久久国产三级无码一区二区| 久久久久亚洲国产| 韩国三级大全久久网站| 久久亚洲高清综合| 精品久久久久久久久午夜福利| 久久综合九色欧美综合狠狠| 精品久久久久香蕉网| 精品久久久久一区二区三区| 亚洲国产另类久久久精品黑人| 青青草国产精品久久久久| 久久天天躁狠狠躁夜夜avapp| 久久国产一区二区| 精品国产乱码久久久久久呢| 国产精品久久久久一区二区三区| 亚洲AV无码久久精品蜜桃| 亚洲国产精品狼友中文久久久| 成人资源影音先锋久久资源网| 伊人久久大香线蕉综合5g| 大美女久久久久久j久久| 久久免费线看线看| 成人妇女免费播放久久久| 日韩人妻无码一区二区三区久久| 久久久久亚洲AV成人网人人软件| 韩国无遮挡三级久久| 99久久久国产精品免费无卡顿 | 久久99热这里只有精品国产| 久久se这里只有精品| 秋霞久久国产精品电影院| 无码人妻精品一区二区三区久久久| 深夜久久AAAAA级毛片免费看| 久久黄色视频| 久久久久久久亚洲精品 | 久久亚洲国产精品123区| 国产 亚洲 欧美 另类 久久|