html怎么让鼠标自动移动位置,手把手教你编作弊软件之 鼠标自动移动/点击
鼠標的自動移動/點擊功能的作弊軟件重要的一個功能。如果認真看過了第二章的朋友,想必對此原理應該了解了。有很多種方法能夠實現鼠標的移動和點擊。這里講述兩個API函數:
BOOL SetCursorPos(
int X, // horizontal position
int Y // vertical position
);
設置鼠標位置。鼠標指針在屏幕像素坐標系統中的X,Y位置
這個函數是用來設置Mouse位置的。可以用這個函數來移動mouse在屏幕上的移動。
另外一個函數功能比較強,即mouse_event()
VOID mouse_event(
DWORD dwFlags,
DWORD dx,
DWORD dy,
DWORD dwData,
DWORD dwExtraInfo
);
設置mouse狀態。參數說明如下:
dwFlags Long,下述標志的一個組合 :
MOUSEEVENTF_ABSOLUTE dx和dy指定鼠標坐標系統中的一個絕對位置。在鼠標坐標系統中,屏幕在水平和垂直方向上均勻分割成65535×65535個單元
MOUSEEVENTF_MOVE 移動鼠標
MOUSEEVENTF_LEFTDOWN 模擬鼠標左鍵按下
MOUSEEVENTF_LEFTUP 模擬鼠標左鍵抬起
MOUSEEVENTF_RIGHTDOWN 模擬鼠標右鍵按下
MOUSEEVENTF_RIGHTUP 模擬鼠標右鍵按下
MOUSEEVENTF_MIDDLEDOWN 模擬鼠標中鍵按下
MOUSEEVENTF_MIDDLEUP 模擬鼠標中鍵按下
dx 根據是否指定了MOUSEEVENTF_ABSOLUTE標志,指定水平方向的絕對位置或相對運動
dy 根據是否指定了MOUSEEVENTF_ABSOLUTE標志,指定垂直方向的絕對位置或相對運動
dwData amount of wheel movement
dwExtraInfo,通常未用的一個值。用GetMessageExtraInfo函數可取得這個值。可用的值取決于特定的驅動程序。
例如:將mouse移動到坐標(450,100) 可用函數:
SetCursorPos(450,100) ; 或
mouse_event(MOUSEEVENTF_MOVE ,0,450,100,GetMessageExtraInfo()); 來實現
實現鼠標單擊:
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,GetMessageExtraInfo());
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,GetMessageExtraInfo ());
那么,如何模擬mouse不斷的移動和點擊呢?這需要用定時器完成。
以C為例:
在初始化程序的時候,設置時鐘:
...
case WM_CREATE:
...
SetTimer(1, 1000, NULL);
break;
這樣就設置了ID號為1 的時鐘事件, 它每秒(1000毫秒)將產生一個 WM_TIMER事件。
然后我們在WM_TIMER事件中將入相關的處理:
case WM_TIMER:
{
...
// mouse move code...
// mouse click code...
break;
}
在Delphi中,時鐘是通過一個Timer控件實現的。
關于時鐘事件的運用在此軟件中是很基本的一個概念。幾乎所有的工作都是在時鐘事件中完成的。如需進一步的了解時鐘的用法,請查閱相關資料。
如何實現自動滾屏?我就不細說了,有這么幾種方法,我都試過,保證沒有問題:
1. 找到IE的當前窗口后,向其發送 Scrool消息。
2. 找到IE的Scrool消息,結合前面的mouse點擊方式,自動點擊scroll條
3. 可以調用IE的com接口。使用 IHTMLDocument接口,調用put_scrollTop即可完成。另外,其實這個作弊軟件是可以全部調用IE的CM接口來完成的。主要文檔可參閱 msdn. 那些以 IHTMLxxxxxx開頭的都是IE的COM接口。
如果你有什么問題或建議,請到小輝的論壇提出。我會盡量在最快的時間里為你解答。
(小輝)
總結
以上是生活随笔為你收集整理的html怎么让鼠标自动移动位置,手把手教你编作弊软件之 鼠标自动移动/点击的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统运行iso,linux可以
- 下一篇: java时间戳版本号_maven 自动编