日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

vc++6.0 模拟鼠标点击代码 木马程序的编写 VC 模拟键盘输入

發(fā)布時間:2023/12/9 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vc++6.0 模拟鼠标点击代码 木马程序的编写 VC 模拟键盘输入 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

From: http://fengqing888.blog.163.com/blog/static/33011416201112124481/

MFC 工程

把以下代碼放到你想要響應(yīng)的函數(shù)里面就行

CPoint pt;
GetCursorPos(&pt);//獲取鼠標(biāo)在屏幕的當(dāng)前位置

SetCursorPos(100,200);//移動到某點坐標(biāo)
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);//點下右鍵
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);//松開右鍵
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//點下左鍵
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//松開左鍵




BOOL ? SetCursorPos(
   ? int ? X, ? // ? horizontal ? position
   ? int ? Y ? // ? vertical ? position
  );
  設(shè)置鼠標(biāo)位置。鼠標(biāo)指針在屏幕像素坐標(biāo)系統(tǒng)中的X,Y位置

  這個函數(shù)是用來設(shè)置Mouse位置的。可以用這個函數(shù)來移動mouse在屏幕上的移動。


  另外一個函數(shù)功能比較強,即mouse_event()


VOID ? mouse_event(

   ? DWORD ? dwFlags, ?
   ? DWORD ? dx, ?
   ? DWORD ? dy, ?
   ? DWORD ? dwData, ?
   ? DWORD ? dwExtraInfo
  );  

  設(shè)置mouse狀態(tài)。參數(shù)說明如下:

  dwFlags ? Long,下述標(biāo)志的一個組合 ? :
  MOUSEEVENTF_ABSOLUTE ? dx和dy指定鼠標(biāo)坐標(biāo)系統(tǒng)中的一個絕對位置。在鼠標(biāo)坐標(biāo)系統(tǒng)中,屏幕在水平和垂直方向上均勻分割成65535×65535個單元 ?
  MOUSEEVENTF_MOVE ? 移動鼠標(biāo) ?
  MOUSEEVENTF_LEFTDOWN ? 模擬鼠標(biāo)左鍵按下 ?
  MOUSEEVENTF_LEFTUP ? 模擬鼠標(biāo)左鍵抬起 ?
  MOUSEEVENTF_RIGHTDOWN ? 模擬鼠標(biāo)右鍵按下 ?
  MOUSEEVENTF_RIGHTUP ? 模擬鼠標(biāo)右鍵按下 ?
  MOUSEEVENTF_MIDDLEDOWN ? 模擬鼠標(biāo)中鍵按下 ?
  MOUSEEVENTF_MIDDLEUP ? 模擬鼠標(biāo)中鍵按下 ?
  dx ? 根據(jù)是否指定了MOUSEEVENTF_ABSOLUTE標(biāo)志,指定水平方向的絕對位置或相對運動 ?
  dy ? 根據(jù)是否指定了MOUSEEVENTF_ABSOLUTE標(biāo)志,指定垂直方向的絕對位置或相對運動 ?
  dwData amount ? of ? wheel ? movement
  dwExtraInfo,通常未用的一個值。用GetMessageExtraInfo函數(shù)可取得這個值。可用的值取決于特定的驅(qū)動程序。

  例如:將mouse移動到坐標(biāo)(450,100) ? 可用函數(shù):


  SetCursorPos(450,100) ? ; ? 或

  mouse_event(MOUSEEVENTF_MOVE ? ,0,450,100,GetMessageExtraInfo()); ? 來實現(xiàn)

  實現(xiàn)鼠標(biāo)單擊:

  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,GetMessageExtraInfo());
  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,GetMessageExtraInfo ? ());


  那么,如何模擬mouse不斷的移動和點擊呢?這需要用定時器完成。


  以C為例:


  在初始化程序的時候,設(shè)置時鐘:

...
case ? WM_CREATE:
  ...
  SetTimer(1, ? 1000, ? NULL);
  break;

  這樣就設(shè)置了ID號為1 ? 的時鐘事件, ? 它每秒(1000毫秒)將產(chǎn)生一個 ? WM_TIMER事件。

  然后我們在WM_TIMER事件中將入相關(guān)的處理:

case ? WM_TIMER:

{
  ...
  // ? mouse ? move ? code...
  // ? mouse ? click ? code...
  break;
}

在Delphi中,時鐘是通過一個Timer控件實現(xiàn)的。


關(guān)于時鐘事件的運用在此軟件中是很基本的一個概念。幾乎所有的工作都是在時鐘事件中完成的。如需進一步的了解時鐘的用法,請查閱相關(guān)資料。

————————————————————————————————————————————————

vc模擬鍵盤輸入
keybd_event(VK_LWIN, 0, 0 ,0);
keybd_event('M', 0, 0 ,0);
keybd_event('M', 0, KEYEVENTF_KEYUP ,0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0);
? ??
方法1:?
HWND hwnd=::FindWindow(0, "文檔1"); //假設(shè)你要找的窗口標(biāo)題為“文檔1”?
CWnd::FromHandle(hwnd)->SetForegroundWindow();?
::PostMessage(hwnd, WM_KEYDOWN, VK_ESCAPE, 0L); //發(fā)送ESC按下的鍵盤消息


方法2:這里以向記事本程序發(fā)送Ctrl+s按鍵消息為例:?
CWnd *pWnd = FindWindow("Notepad", NULL);?
if (pWnd->GetSafeHwnd())?
{?
? ?? ?pWnd->ShowWindow(SW_NORMAL);?
? ?? ?pWnd->SetForegroundWindow();
? ?? ?keybd_event(VK_CONTROL, 0, 0, 0);?
? ?? ?keybd_event('S', 0, 0, 0);?
? ?? ?keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);?
? ?? ?keybd_event('S', 0, KEYEVENTF_KEYUP, 0);?
}

對于其他程序,關(guān)鍵就是要找到就收消息的窗口句柄。

::mouse_event(1) 模擬鼠標(biāo)動作API函數(shù)mouse_event,它可以實現(xiàn)模擬鼠標(biāo)按下和放開等動作。
VOID mouse_event(
? ?? ?DWORD dwFlags, // 鼠標(biāo)動作標(biāo)識。
? ?? ?DWORD dx, // 鼠標(biāo)水平方向位置。
? ?? ?DWORD dy, // 鼠標(biāo)垂直方向位置。
? ?? ?DWORD dwData, // 鼠標(biāo)輪子轉(zhuǎn)動的數(shù)量。
? ?? ?DWORD dwExtraInfo // 一個關(guān)聯(lián)鼠標(biāo)動作輔加信息。
? ? );
其中,dwFlags表示了各種各樣的鼠標(biāo)動作和點擊活動,它的常用取值如下:
MOUSEEVENTF_MOVE 表示模擬鼠標(biāo)移動事件;
MOUSEEVENTF_LEFTDOWN 表示模擬按下鼠標(biāo)左鍵;
MOUSEEVENTF_LEFTUP 表示模擬放開鼠標(biāo)左鍵;
MOUSEEVENTF_RIGHTDOWN 表示模擬按下鼠標(biāo)右鍵;
MOUSEEVENTF_RIGHTUP 表示模擬放開鼠標(biāo)右鍵;
MOUSEEVENTF_MIDDLEDOWN 表示模擬按下鼠標(biāo)中鍵;
MOUSEEVENTF_MIDDLEUP 表示模擬放開鼠標(biāo)中鍵。


符號常量 十六進制值 指定的鼠標(biāo)或鍵盤按鍵
VK_LBUTTON 01 鼠標(biāo)左鍵
VK_RBUTTON 02 鼠標(biāo)右鍵
VK_CANCEL 03 Control-break 過程
VK_MBUTTON 04 鼠標(biāo)中鍵
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 鍵
///
對于字母鍵和非小鍵盤上的數(shù)字鍵,直接在單引號中加入該鍵就行.
比如:
a鍵:'A'
1鍵:'1'
//
VK_LWIN 5B Left Windows 鍵 (Microsoft自然鍵盤)
VK_RWIN 5C Right Windows 鍵 (Microsoft自然鍵盤)
VK_APPS 5D Applications 鍵 (Microsoft自然鍵盤)
VK_NUMPAD0 60 數(shù)字小鍵盤上的 0 鍵
VK_NUMPAD1 61 數(shù)字小鍵盤上的 1 鍵
VK_NUMPAD2 62 數(shù)字小鍵盤上的 2 鍵
VK_NUMPAD3 63 數(shù)字小鍵盤上的 3 鍵
VK_NUMPAD4 64 數(shù)字小鍵盤上的 4 鍵
VK_NUMPAD5 65 數(shù)字小鍵盤上的 5 鍵
VK_NUMPAD6 66 數(shù)字小鍵盤上的 6 鍵
VK_NUMPAD7 67 數(shù)字小鍵盤上的 7 鍵
VK_NUMPAD8 68 數(shù)字小鍵盤上的 8 鍵
VK_NUMPAD9 69 數(shù)字小鍵盤上的 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 鍵

總結(jié)

以上是生活随笔為你收集整理的vc++6.0 模拟鼠标点击代码 木马程序的编写 VC 模拟键盘输入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。