[爆卦]滑鼠連點程式碼是什麼?優點缺點精華區懶人包

為什麼這篇滑鼠連點程式碼鄉民發文收入到精華區:因為在滑鼠連點程式碼這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者king37937 (憶~)看板EzHotKey標題Re: [請問] 有可以設定滑鼠活動連點的程...


※ 引述《meblessme (123)》之銘言:
: 有些遊戲似乎設定成不能連點 但卻常常得大量連點
: 希望有遊戲中 能夠隨時在需要的時候 長按滑鼠就能連點
: 放開就能取消連點的程式或方法 不知道有沒有
: 版上爬過 都是要另外設熱鍵 不能隨放隨消的
: 謝謝

這種簡單功能的小程式,想想還是把它做成小教學文好了

一方面整理出來自己的思考方式,一方面也讓各位版友相互學習一下

這種近似寫程式的東西,有兩點是非常重要的

一、解決問題的思考流程 二、大量的練習

這篇改成小教學文,就是提供解決問題的思考流程的一些資訊給各位版友

-----------------------------以下正文開始-----------------------------

一、問題:希望能在按住滑鼠左鍵時能提供滑鼠連點的功能,並且在放開滑鼠左鍵時

取消自動連點的功能。

二、思考步驟:

Step 1:

因為AutoHotKey正好可以使用滑鼠左鍵的按下及放開來充當熱鍵,

因此我們馬上可以寫出如下的程式碼:

--------------------程式碼區--------------------

LButton:: ;利用滑鼠左鍵按下充當觸發熱鍵

return

------------------程式碼區結束------------------

Step 2:

因為需要連點,所以我們會需要指令Click(點擊滑鼠)、Loop(反覆),

Loop與Click的組合就可以達成連點的需求。而且為了避免連點

的速度過快,通常也會加入Sleep(休息)指令來達成降低與控制滑鼠

點擊速度。如此程式碼就變成如下:

--------------------程式碼區--------------------

LButton:: ;利用滑鼠左鍵按下充當觸發熱鍵
Loop
{
Click
Sleep, 300
}
return

------------------程式碼區結束------------------

Step 3:

現在我們需要的是放開滑鼠左鍵時可以停止連點。

這可以分成兩部分來思考:1、偵測滑鼠按鍵是否放開 2、停止連點。

關於第一點有GetKeyState(檢查按鍵狀態)指令可以使用,

至於第二點因為連點是使用Loop來完成,所以只要離開Loop就可以停止連點,

指令Break(中斷)可以達成離開Loop的功能。

總結一下,我們先偵測滑鼠左鍵是否放開,如果沒放開則繼續連點,

如果放開了那就離開Loop中斷連點。

這裡依據滑鼠按鍵的狀況有兩種不同的流程(若是...則...,若不是...則...)

這時我們需要可以控制流程的指令If...Else...。

--------------------程式碼區--------------------

LButton:: ;利用滑鼠左鍵按下充當觸發熱鍵
Loop
{
GetKeyState, state, LButton, P ;偵測滑鼠左鍵狀態
If ( state = U ) ;如果滑鼠左鍵放開
{
Break ;中斷迴圈停止連點
}
Else
{
Click
Sleep, 300
}
}
return

------------------程式碼區結束------------------

Step 4:

理論上這樣子應該就可以完成題目需求,但是在實際運作及測試後,

發現並非想像般的工作,反覆測試以及爬文後,才知道是GetKeyState

這指令上的限制。參考板上這兩篇文 #1BIATYov#1BIT-TU1 之後,

改成加入一個變數來控制滑鼠的連點與否。

--------------------程式碼區--------------------

clickStop := false ;新增的變數,用來表示是否連點

LButton:: ;利用滑鼠左鍵按下充當觸發熱鍵
Loop
{
If ( clickStop = true ) ;檢查控制變數,如果要停止連點
{
clickStop := false
Break ;中斷迴圈停止連點
}
Else
{
Click
Sleep, 300
}
}
return

LButton Up:: ;正好AutoHotKey可以用按鍵放開來當熱鍵
;只要在按鍵後方加上Up就可以了
clickStop := true ;更改變數,指定連點中止
return

------------------程式碼區結束------------------

三、總結:

大致上的思考流程就是這樣子,關於各種指令的詳細格式以及用法

就只能請各位版友自己查AutoHotKey的說明檔了。另外這是基本的

用滑鼠控制連點的方法,遊戲中是否有效就沒有測試了。

最後要說的還是請大家多看多練習了。

還有排版不好就請大家多見諒了。
※ 編輯: king37937 來自: 114.42.187.111 (02/26 00:42)
UndeadSion:《EZsoft》板文章 #19LTcpXJ 有個簡單做法提供參考 :) 02/26 01:22
king37937:看到了,簡潔有力 02/28 21:49
tingyun60426:AHK 的說明檔,有人有翻譯好的嗎? 03/05 14:33
king37937:以前我有翻譯計畫,但自己英文也不行就放棄了 03/06 19:42
tingyun60426:那還是多多參考別人的作品囉 03/07 10:51

你可能也想看看

搜尋相關網站