!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part27
http://egg.5ch.net/test/read.cgi/software/1555770773/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/
■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
AutoHotkey スレッド part28
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 (ワッチョイ aef9-dJm7)
2020/04/03(金) 18:35:06.00ID:/YRSlUCD02名無しさん@お腹いっぱい。 (アンパンW 2b7e-zxou)
2020/04/04(土) 14:55:58.71ID:oDQUgnR500404 いちもつ
3名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 12:03:16.10ID:GWmWDwN30 Include先も含め、AutoHotkey.ahkに関係するホットキー全体で
変数を共有するためには、その都度IniReadするしかないですか?
グローバル変数的な何かはないのかなと。
可能なら、AutoHotkey.ahkからのInclude先AHKファイルで定義した変数を共有したいのですが。
下のような構成で、bを押したときにaaAAaaと表示させたい
[AutoHotkey.ahk]
#Include a.ahk
#Include b.ahk
Return
[a.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
[b.ahk]
b::MsgBox, % AAA
変数を共有するためには、その都度IniReadするしかないですか?
グローバル変数的な何かはないのかなと。
可能なら、AutoHotkey.ahkからのInclude先AHKファイルで定義した変数を共有したいのですが。
下のような構成で、bを押したときにaaAAaaと表示させたい
[AutoHotkey.ahk]
#Include a.ahk
#Include b.ahk
Return
[a.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
[b.ahk]
b::MsgBox, % AAA
4名無しさん@お腹いっぱい。 (ワッチョイ 6511-eEke)
2020/04/05(日) 12:48:56.56ID:KUQx6rxd0 脳内で書いてないで実際に動かしてみなよ
5名無しさん@お腹いっぱい。 (ワッチョイW 25e5-HXgt)
2020/04/05(日) 15:14:23.10ID:fo7yX2Dr0 その状態でAutoHotkey.ahkを動かす分にはいける
[AutoHotkey.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
b::MsgBox, % AAA
Return
includeは全てAutoHotkey.ahkとして展開されるので↑と同義になるから
ただしaとbのincludeを逆にしたらautoexrcuteが働かない
includeの位置は要注意
[AutoHotkey.ahk]
b::MsgBox, % AAA
AAA := "aaAAaa"
a1::Return
a2::Return
Return
あと当然だが a.ahk / b.ahk を単体起動した時はAutoHotkey.ahkから起動した時のようには動作しない
[AutoHotkey.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
b::MsgBox, % AAA
Return
includeは全てAutoHotkey.ahkとして展開されるので↑と同義になるから
ただしaとbのincludeを逆にしたらautoexrcuteが働かない
includeの位置は要注意
[AutoHotkey.ahk]
b::MsgBox, % AAA
AAA := "aaAAaa"
a1::Return
a2::Return
Return
あと当然だが a.ahk / b.ahk を単体起動した時はAutoHotkey.ahkから起動した時のようには動作しない
6名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 16:49:19.64ID:GWmWDwN30 >>5
わかりました、ありがとうございます。
Includeは内容を展開しているだけだったのですね。
まずInclude元でAutoexecuteが開始し、Includeがあればその先のReturnまでAutoexecuteされ、
またInclude元に戻って、そのInclude元のReturnまではAutoexecuteされるものだと思っておりました。
自分のスクリプト郡は、Include先でReturnがあったためにそこでAutoexecuteが終わってしまっていた訳ですね。
わかりました、ありがとうございます。
Includeは内容を展開しているだけだったのですね。
まずInclude元でAutoexecuteが開始し、Includeがあればその先のReturnまでAutoexecuteされ、
またInclude元に戻って、そのInclude元のReturnまではAutoexecuteされるものだと思っておりました。
自分のスクリプト郡は、Include先でReturnがあったためにそこでAutoexecuteが終わってしまっていた訳ですね。
7名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 16:49:56.54ID:GWmWDwN30 ところで以下ような感じに、ファイルごとに役割を分け、
またそれぞれのファイル内でしか使わない変数はそのファイル内に収めておきたいのですが、
その方法はありますでしょうか?(下の構成ではInputA.ahkの2行目でAutoexecuteが終わってしまいますよね。)
あまり美しくないですが、AutoHotkey.ahkの先頭にVariables.ahkのようなものをIncludeして、そこで変数リストを作るとかしかないですかね?
[AutoHotkey.ahk]
#Include InputA.ahk
#Include InputB.ahk
またそれぞれのファイル内でしか使わない変数はそのファイル内に収めておきたいのですが、
その方法はありますでしょうか?(下の構成ではInputA.ahkの2行目でAutoexecuteが終わってしまいますよね。)
あまり美しくないですが、AutoHotkey.ahkの先頭にVariables.ahkのようなものをIncludeして、そこで変数リストを作るとかしかないですかね?
[AutoHotkey.ahk]
#Include InputA.ahk
#Include InputB.ahk
8名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 16:50:06.91ID:GWmWDwN30 [InputA.ahk]
textA := "A"
a::MsgBox, % textA
d::MsgBox, % (textA . "D")
[InputB.ahk]
textB := "B"
b::MsgBox, % textB
c::MsgBox, % (textB . "C")
textA := "A"
a::MsgBox, % textA
d::MsgBox, % (textA . "D")
[InputB.ahk]
textB := "B"
b::MsgBox, % textB
c::MsgBox, % (textB . "C")
9名無しさん@お腹いっぱい。 (ワッチョイ 25e5-4JbH)
2020/04/05(日) 17:54:59.11ID:fo7yX2Dr0 test
10名無しさん@お腹いっぱい。 (ワッチョイ 25e5-4JbH)
2020/04/05(日) 18:08:01.88ID:fo7yX2Dr0 イニシャライズを各AHK内で完結させたいならsubかfunctionにしてcall
ただし全体のグローバル変数であるという事実は変わらんが
エラった時のpastbin AHKのハイライトもあるのね
https://pastebin.com/dkUfkDTj
ただこれだと一時的に#includeをコメントアウトで外したいときにautoexecuteの
手直しも必要になるので islabel() isfunc() を入れたほうがいいかも
ただし全体のグローバル変数であるという事実は変わらんが
エラった時のpastbin AHKのハイライトもあるのね
https://pastebin.com/dkUfkDTj
ただこれだと一時的に#includeをコメントアウトで外したいときにautoexecuteの
手直しも必要になるので islabel() isfunc() を入れたほうがいいかも
11名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/06(月) 01:59:36.99ID:QgAFECbT0 >>10
なるほど確かにこれなら実現できますね!
ありがとうございました、とても勉強になりました
ところで下のようにしてみたのですが、#Include では変数が使えないみたいですね。
何かいい案はないでしょうか?
というのも、実際は10以上のファイルがあるので、ダラダラ書くよりLoopで回したいものでして・・・
https://pastebin.com/g2Gc1cDU
なるほど確かにこれなら実現できますね!
ありがとうございました、とても勉強になりました
ところで下のようにしてみたのですが、#Include では変数が使えないみたいですね。
何かいい案はないでしょうか?
というのも、実際は10以上のファイルがあるので、ダラダラ書くよりLoopで回したいものでして・・・
https://pastebin.com/g2Gc1cDU
12名無しさん@お腹いっぱい。 (ワッチョイW 25e5-HXgt)
2020/04/06(月) 03:45:46.30ID:pNj6d1Pb0 無理だが
いっそ関数ライブラリ化して全部 %A_ScriptDir%/Lib に押し込むという手もある
したらincludeそのものが不要になる
いっそ関数ライブラリ化して全部 %A_ScriptDir%/Lib に押し込むという手もある
したらincludeそのものが不要になる
13名無しさん@お腹いっぱい。 (ワッチョイ e5b1-mnXZ)
2020/04/06(月) 04:21:20.13ID:8dTlIF+30 >>11
Includeするahk内で更にInclude出来るはずだぞ(その内容は「#Include 〜.ahk」だけでも良い)
だからメインahk(AutoHotkey.ahk)内でのInclude用ahkの名前は固定しといて
メインahkでそのahkファイルを書き換えすれば手直しは要らなくなると思う
例として、メインahkにIncludeするファイル名を「Include_ahk.ahk」とし
Include_ahk.ahk内は
-----------------------------------
#Include InputA.ahk
#Include InputB.ahk
-----------------------------------
↑の2行はメインahkのautoexecute内で検索→名前取得→書き込み処理を実行して
この処理の後に「#Include Include_ahk.ahk」を記述する
拙い説明 & 出来なかったらスマヌ
もしアレだったらMGLのスクリプトが参考になると思う
Includeするahk内で更にInclude出来るはずだぞ(その内容は「#Include 〜.ahk」だけでも良い)
だからメインahk(AutoHotkey.ahk)内でのInclude用ahkの名前は固定しといて
メインahkでそのahkファイルを書き換えすれば手直しは要らなくなると思う
例として、メインahkにIncludeするファイル名を「Include_ahk.ahk」とし
Include_ahk.ahk内は
-----------------------------------
#Include InputA.ahk
#Include InputB.ahk
-----------------------------------
↑の2行はメインahkのautoexecute内で検索→名前取得→書き込み処理を実行して
この処理の後に「#Include Include_ahk.ahk」を記述する
拙い説明 & 出来なかったらスマヌ
もしアレだったらMGLのスクリプトが参考になると思う
14名無しさん@お腹いっぱい。 (ワッチョイ e5b1-mnXZ)
2020/04/06(月) 04:28:36.79ID:8dTlIF+3015名無しさん@お腹いっぱい。 (ワンミングク MMa3-YctG)
2020/04/06(月) 10:48:05.12ID:Tm/x8Nf+M https://www.autohotkey.com/docs/commands/_Include.htm
マニュアル読み直してたらv1.1.28以降はErrorlevelとコマンドライン文字列以外のすべての組み込み変数が有効とあるね
Loop,Filesのローカル組み込み変数はどうなんだろ
もし使えるなら↓みたいにできるのかも(出先からのなので試してはいない)
#include %A_SprictDir%
Loop, Files, %A_SprictDir%\*.ahk, F
If (A_LoopFileFullPath != A_SprictFullPath)
#include %A_LoopFileName%
マニュアル読み直してたらv1.1.28以降はErrorlevelとコマンドライン文字列以外のすべての組み込み変数が有効とあるね
Loop,Filesのローカル組み込み変数はどうなんだろ
もし使えるなら↓みたいにできるのかも(出先からのなので試してはいない)
#include %A_SprictDir%
Loop, Files, %A_SprictDir%\*.ahk, F
If (A_LoopFileFullPath != A_SprictFullPath)
#include %A_LoopFileName%
16名無しさん@お腹いっぱい。 (ラクッペペ MM4b-j0VC)
2020/04/07(火) 09:25:32.40ID:s8mR46Q4M ↓以下テンプレ(微修正)
----------------------------
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
↑スレ立てする時は3行にして下さい
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part27
https://egg.5ch.net/test/read.cgi/software/1555770773/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/
■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/
----------------------------
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
↑スレ立てする時は3行にして下さい
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part27
https://egg.5ch.net/test/read.cgi/software/1555770773/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/
■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/
17名無しさん@お腹いっぱい。 (ラクッペペ MM4b-j0VC)
2020/04/07(火) 09:26:20.67ID:s8mR46Q4M ■重要事項
オリジナルである、旧 "AutoHotKey" の開発は2009年9月で終了している。
現在は、そこからフォークした "AutoHotkey_L" が主流となり、2014年1月からは後のLが取れ
正式にAutohotkeyとして扱われるようになりました。
よって古いスクリプト(主にDllCall)は最新Verで動作しないものがあり、その場合はスクリプトの修正が必用です。
旧版のAHK1.0との変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。
https://www.autohotkey.com/docs/AHKL_Features.htm
http://ahkwiki.net/Addition_L
※新規利用者には最新版を推奨しますが、AHK1.0(2009年9月までのVer)の利用者はAHK1.1への移行に際して
少なからず改修が必要となります。特に、旧流行らせるページの配布物(MouseGesture等)の多くは
そのままでは動作しません。安定利用できている環境を崩して移行するかどうかは各人の判断による。
MouseGestureについては有志の方が最新AHK対応版(MouseGestureL.ahk)を配布しているのでそれを利用するのもありです。
https://hp.vector.co.jp/authors/VA018351/mglahk.html
※ACC.ahk(旧版用)とCOM.ahkはフォーラムのリンク先にファイルが存在しませんので下記から入手してください。
https://ux.getuploader.com/autohotkeyl/download/24/ACC%2BCOM.zip
※Unicode版のACC.ahkは下記(AccInfoViewer.ahk付き)またはフォーラムから入手してください。
https://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip
■質問に際して
OSの種類(7/8/10)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。
また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。
5chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、
レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。
オリジナルである、旧 "AutoHotKey" の開発は2009年9月で終了している。
現在は、そこからフォークした "AutoHotkey_L" が主流となり、2014年1月からは後のLが取れ
正式にAutohotkeyとして扱われるようになりました。
よって古いスクリプト(主にDllCall)は最新Verで動作しないものがあり、その場合はスクリプトの修正が必用です。
旧版のAHK1.0との変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。
https://www.autohotkey.com/docs/AHKL_Features.htm
http://ahkwiki.net/Addition_L
※新規利用者には最新版を推奨しますが、AHK1.0(2009年9月までのVer)の利用者はAHK1.1への移行に際して
少なからず改修が必要となります。特に、旧流行らせるページの配布物(MouseGesture等)の多くは
そのままでは動作しません。安定利用できている環境を崩して移行するかどうかは各人の判断による。
MouseGestureについては有志の方が最新AHK対応版(MouseGestureL.ahk)を配布しているのでそれを利用するのもありです。
https://hp.vector.co.jp/authors/VA018351/mglahk.html
※ACC.ahk(旧版用)とCOM.ahkはフォーラムのリンク先にファイルが存在しませんので下記から入手してください。
https://ux.getuploader.com/autohotkeyl/download/24/ACC%2BCOM.zip
※Unicode版のACC.ahkは下記(AccInfoViewer.ahk付き)またはフォーラムから入手してください。
https://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip
■質問に際して
OSの種類(7/8/10)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。
また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。
5chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、
レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。
18名無しさん@お腹いっぱい。 (ラクッペペ MM4b-j0VC)
2020/04/07(火) 09:44:35.19ID:ni8KzYV1M 以下FAQ等
■実行環境
Q1:スクリプトに書いた日本語が文字化けしちゃうんだけど...
A1:スクリプトファイルを「UTF-8」の「BOM」付きで保存する。(AHK1.1)
Q2:初めて使うけどどれを使えばいいの?
A2:AHK1.1のユニコード版を推奨。
旧流行らせるページの配布物をそのまま使う場合はAHK1.0を利用する事。
64ビットOSでAHK1.1、32ビット版の使用は制約が多いので64ビット版を強く推奨。
■リマップ・ホットキー割り当て
Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ
A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。
OS側がキーUp/Down情報を正しく返してこないのでAHKのみで対処は無理です。
レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。
例) ChangeKeyを使って[ひらがな]を[F13]にする
AutoHotkeyで任意のキーをF13にリマップする(例えばF12をF13にリマップし、スクリプトを実行)。
F12::F13
Changekeyを起動する。( https://forest.watch.impress.co.jp/library/software/changekey/ )
「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。
F12を押すとスキャンコード(0x0064はF13)が表示されるので覚えておき「終了」をクリック。
「ひらがな」キーをクリックすると「【ひらがな】キーをどのキーに変更しますか?」という
ウィンドウが表示されるので右上の「Scan code」をクリック。
覚えておいたスキャンコード(0064)を入力し、「OK」ボタンをクリック。
「登録」をクリックし、Windowsを再起動する。
■実行環境
Q1:スクリプトに書いた日本語が文字化けしちゃうんだけど...
A1:スクリプトファイルを「UTF-8」の「BOM」付きで保存する。(AHK1.1)
Q2:初めて使うけどどれを使えばいいの?
A2:AHK1.1のユニコード版を推奨。
旧流行らせるページの配布物をそのまま使う場合はAHK1.0を利用する事。
64ビットOSでAHK1.1、32ビット版の使用は制約が多いので64ビット版を強く推奨。
■リマップ・ホットキー割り当て
Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ
A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。
OS側がキーUp/Down情報を正しく返してこないのでAHKのみで対処は無理です。
レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。
例) ChangeKeyを使って[ひらがな]を[F13]にする
AutoHotkeyで任意のキーをF13にリマップする(例えばF12をF13にリマップし、スクリプトを実行)。
F12::F13
Changekeyを起動する。( https://forest.watch.impress.co.jp/library/software/changekey/ )
「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。
F12を押すとスキャンコード(0x0064はF13)が表示されるので覚えておき「終了」をクリック。
「ひらがな」キーをクリックすると「【ひらがな】キーをどのキーに変更しますか?」という
ウィンドウが表示されるので右上の「Scan code」をクリック。
覚えておいたスキャンコード(0064)を入力し、「OK」ボタンをクリック。
「登録」をクリックし、Windowsを再起動する。
19名無しさん@お腹いっぱい。 (ラクッペペ MM4b-j0VC)
2020/04/07(火) 09:45:55.32ID:ni8KzYV1M Q2:「^1::Esc」とリマップ定義したけど [Ctrl]+[1] を押したらスタートメニューが出ちゃうけどどうすればいいの?
A2:リマップは修飾キー(Ctrl,Shift,Alt,Win)の押下状態を引き継いでキー発行するので、[Ctrl]+[Esc] がキー送信されるため。
これを避けるには、「Send」コマンドを利用して明示的に修飾キーなしのキーを発行をすればよい。
^1::Send, {Esc}
Q3:[Shift], [Ctrl], [Alt], [Win]以外を修飾キーとしてキー割り当てしたいよ
A3:コンビネーションキーの機能で実現ができる。
例) 無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたい場合は以下のように記述する。
sc07B & I::Send, {Blind}{Up}
sc07B & K::Send, {Blind}{Down}
sc07B & J::Send, {Blind}{Left}
sc07B & L::Send, {Blind}{Right}
Q4:「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による)
A4:多分自分自身のキーを送って無限ループになっている。 例) 「a::Send, a 」
先頭に $ を付ければ回避できる(NT系のみ)。 例) 「$a::Send, a」
#UseHookで全部にキーボードフックを適応する方法でも可。
Q5:キーリマップを使うとキー押下中に連打するけど、マウスボタンの場合は連打しない…
A5:マウスはキーリピートしないので、Loopなどを使って自前でリピートさせてください。
Q6:ジョイスティックのリマップがうまくいきません!!助けて
A6:ジョイスティックではリマップできない。「Send」コマンドでキー発行する必要がある。
× Joy1::Esc
○ Joy1::Send, {Esc}
Q7:ジョイスティックの上下左右に割り当てたいけど、JoyLeft,JoyUpってホットキーは無いの?
A7:無い。AHKのジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。
A2:リマップは修飾キー(Ctrl,Shift,Alt,Win)の押下状態を引き継いでキー発行するので、[Ctrl]+[Esc] がキー送信されるため。
これを避けるには、「Send」コマンドを利用して明示的に修飾キーなしのキーを発行をすればよい。
^1::Send, {Esc}
Q3:[Shift], [Ctrl], [Alt], [Win]以外を修飾キーとしてキー割り当てしたいよ
A3:コンビネーションキーの機能で実現ができる。
例) 無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたい場合は以下のように記述する。
sc07B & I::Send, {Blind}{Up}
sc07B & K::Send, {Blind}{Down}
sc07B & J::Send, {Blind}{Left}
sc07B & L::Send, {Blind}{Right}
Q4:「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による)
A4:多分自分自身のキーを送って無限ループになっている。 例) 「a::Send, a 」
先頭に $ を付ければ回避できる(NT系のみ)。 例) 「$a::Send, a」
#UseHookで全部にキーボードフックを適応する方法でも可。
Q5:キーリマップを使うとキー押下中に連打するけど、マウスボタンの場合は連打しない…
A5:マウスはキーリピートしないので、Loopなどを使って自前でリピートさせてください。
Q6:ジョイスティックのリマップがうまくいきません!!助けて
A6:ジョイスティックではリマップできない。「Send」コマンドでキー発行する必要がある。
× Joy1::Esc
○ Joy1::Send, {Esc}
Q7:ジョイスティックの上下左右に割り当てたいけど、JoyLeft,JoyUpってホットキーは無いの?
A7:無い。AHKのジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。
20名無しさん@お腹いっぱい。 (ラクッペペ MM4b-j0VC)
2020/04/07(火) 09:46:33.37ID:ni8KzYV1M Q8:ジョイスティックのボタン1とボタン2の入れ替えなどはどうやってやるの?
A8:AutoHotkeyではできない。
Q9:[Ctrl][Shift][Alt]が押されっぱなしになる時がある。これってAHKのせい?
A9:AHKが原因の場合とそうでないときがある
○AHKが原因の場合
AHKには、以下のような修飾キー付きのホットキーで修飾キー無しでキーを発効する場合、
一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構がある。
しかしこのように発効するキーストロークが多い場合は、Sendコマンドが完了する前に
物理キーが押下解除されてしまっている場合がある。この齟齬が押しっぱなしの原因となる。
例) ^W::Send, {w 30}
これを回避するためには、以下の方法をとればよい:
・キー押下状態を常に監視するキーボードフックを導入する(#InstallKeybdHook)
・キー発効のコマンドを SendInput, SendPlay にする(SendModeで一括指定でもよい)
・上記二つが出来ない場合は、SetKeyDelay, 0 等としてキー発効をなるべく早く行うか、
#HotkeyModifierTimeout で修飾キー押下のタイムアウト値を長めに設定をする。
なお、他のキー発効を行うツール(クリップボードユーティリティやマウスジェスチャツールなど)が、
発効する修飾キーが原因となる場合もあるが、フックの導入でほぼ解決出来ると思われる。
○AHK以外が原因の場合
環境により異なるので何とも言えないが、以下のような環境の場合発生する事が報告されている。
・Logicool(Logitec)のマウスユーティリティSetPoint(verによっては問題ない事もあるとか)など他多数
・VirtualPC, WMWare, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている
A8:AutoHotkeyではできない。
Q9:[Ctrl][Shift][Alt]が押されっぱなしになる時がある。これってAHKのせい?
A9:AHKが原因の場合とそうでないときがある
○AHKが原因の場合
AHKには、以下のような修飾キー付きのホットキーで修飾キー無しでキーを発効する場合、
一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構がある。
しかしこのように発効するキーストロークが多い場合は、Sendコマンドが完了する前に
物理キーが押下解除されてしまっている場合がある。この齟齬が押しっぱなしの原因となる。
例) ^W::Send, {w 30}
これを回避するためには、以下の方法をとればよい:
・キー押下状態を常に監視するキーボードフックを導入する(#InstallKeybdHook)
・キー発効のコマンドを SendInput, SendPlay にする(SendModeで一括指定でもよい)
・上記二つが出来ない場合は、SetKeyDelay, 0 等としてキー発効をなるべく早く行うか、
#HotkeyModifierTimeout で修飾キー押下のタイムアウト値を長めに設定をする。
なお、他のキー発効を行うツール(クリップボードユーティリティやマウスジェスチャツールなど)が、
発効する修飾キーが原因となる場合もあるが、フックの導入でほぼ解決出来ると思われる。
○AHK以外が原因の場合
環境により異なるので何とも言えないが、以下のような環境の場合発生する事が報告されている。
・Logicool(Logitec)のマウスユーティリティSetPoint(verによっては問題ない事もあるとか)など他多数
・VirtualPC, WMWare, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている
21名無しさん@お腹いっぱい。 (ワッチョイW 25e5-3Fs8)
2020/04/07(火) 13:28:35.92ID:OicfBoSv0 テンプレ貼り乙
22名無しさん@お腹いっぱい。 (ワッチョイ c676-Blqg)
2020/04/08(水) 01:27:19.91ID:2MlwBg4U0 皆さんありがとうございます。
>>12
今回は、関数に落とし込まない方針で行きます。
>>13
つまり、↑のPastebinで貼ったコードにあるincludeFilesはInclude_ahk.ahkの記述内容から取得して、各ahkの初期化セクションへGoSub
その後Include_ahk.ahk自体を読み込むということですか?
記述内容から読み出す方法がわからないので勉強してきます。
それから、MGLのスクリプトは現状読めない+あまり複雑にはしたくないので、もしかしたら現状のままメインahkで2箇所を修正する方針でいくかもしれません。
>>15
読みました。
Include指令ではLoop系の組み込み変数は使用できないのではないですか?
工夫して、%A_LoopFileName%の部分を書き換えられれば良いと思うのですが、いかがでしょうか。これは難しいですか?
>>12
今回は、関数に落とし込まない方針で行きます。
>>13
つまり、↑のPastebinで貼ったコードにあるincludeFilesはInclude_ahk.ahkの記述内容から取得して、各ahkの初期化セクションへGoSub
その後Include_ahk.ahk自体を読み込むということですか?
記述内容から読み出す方法がわからないので勉強してきます。
それから、MGLのスクリプトは現状読めない+あまり複雑にはしたくないので、もしかしたら現状のままメインahkで2箇所を修正する方針でいくかもしれません。
>>15
読みました。
Include指令ではLoop系の組み込み変数は使用できないのではないですか?
工夫して、%A_LoopFileName%の部分を書き換えられれば良いと思うのですが、いかがでしょうか。これは難しいですか?
23名無しさん@お腹いっぱい。 (ワッチョイ 9f3e-kpEi)
2020/04/08(水) 19:25:50.63ID:hVpKLzMw0 ジョイスティックの傾きを
GetKeyState, X, JoyX, P
で取得しようとしても、「49.999237」の値しか取得できない。
だけど、autohotkeyのメニュー画面がアクティブの状態だと正常に取得できる。
他のウィンドウでも正常に取得できるようにするにはどうすればいいでしょうか
GetKeyState, X, JoyX, P
で取得しようとしても、「49.999237」の値しか取得できない。
だけど、autohotkeyのメニュー画面がアクティブの状態だと正常に取得できる。
他のウィンドウでも正常に取得できるようにするにはどうすればいいでしょうか
24名無しさん@お腹いっぱい。 (ワッチョイ 9bd3-AglQ)
2020/04/08(水) 19:50:51.07ID:3Lm0oXeq0 >>23
試したけど他のウィンドウでも普通に取得できるんだが?
試したけど他のウィンドウでも普通に取得できるんだが?
25名無しさん@お腹いっぱい。 (ワッチョイ 9f3e-kpEi)
2020/04/08(水) 20:28:09.00ID:hVpKLzMw026名無しさん@お腹いっぱい。 (ワッチョイ 9bd3-AglQ)
2020/04/08(水) 20:37:42.71ID:3Lm0oXeq0 >>25
ちなみに中央値は49.999237で合ってる
スティック左に倒したときは0.001526、右に倒した時は100.000000
環境というよりも何か根本的な勘違いじゃね
AHKの画面アクティブだけ動くってとこからして
ちなみに中央値は49.999237で合ってる
スティック左に倒したときは0.001526、右に倒した時は100.000000
環境というよりも何か根本的な勘違いじゃね
AHKの画面アクティブだけ動くってとこからして
27テンプレ貼るとき注意!! (ラクッペペ MM8e-QaPY)
2020/04/08(水) 21:31:48.00ID:OlhHP8xJM ↓以下テンプレ ※規制が厳しくなったせいで貼るときに浪人がないとBBQに規制されるので注意!!
https://pastebin.com/aYGhWqyJ
おかげで手持ちの回線全部焼かれた (#^ω^)ビキビキ
https://pastebin.com/aYGhWqyJ
おかげで手持ちの回線全部焼かれた (#^ω^)ビキビキ
28名無しさん@お腹いっぱい。 (ワッチョイ c676-q+nc)
2020/04/09(木) 04:30:25.11ID:slr7f9330 こえーよなんだよこのサイト
https://i.imgur.com/UX483M4.png
https://i.imgur.com/UX483M4.png
29名無しさん@お腹いっぱい。 (ワッチョイ 4703-zfCe)
2020/04/09(木) 19:08:11.55ID:IPYVjpWT0 F13+WASDなどでカーソルを動かせるようにしてみたけど、それ以外のキーを押すと
普通に文字が入力されてしまう。
たとえばEを押しても入力されないように無視することはできない?
普通に文字が入力されてしまう。
たとえばEを押しても入力されないように無視することはできない?
30名無しさん@お腹いっぱい。 (ワッチョイ 9b29-AglQ)
2020/04/09(木) 19:55:10.08ID:dK6YnmRs0 F13 & e:: Return
誤爆しそうなWASD周りを一通り入れときゃ良いんじゃね
誤爆しそうなWASD周りを一通り入れときゃ良いんじゃね
31名無しさん@お腹いっぱい。 (ガックシ 068e-zfCe)
2020/04/10(金) 00:26:31.34ID:BgFZovgl632名無しさん@お腹いっぱい。 (ラクッペペ MM8e-QaPY)
2020/04/10(金) 04:00:55.40ID:x144LDcxM33名無しさん@お腹いっぱい。 (ワッチョイ 4703-zfCe)
2020/04/10(金) 10:12:10.42ID:xZVTOdHh0 >>30-32
ありがとう同志たち
ありがとう同志たち
34名無しさん@お腹いっぱい。 (ワッチョイ e273-FHOM)
2020/04/10(金) 21:55:25.25ID:hnZnjAMo0 ホットキーやタイマーでラベル名の代わりに関数指定できるけど
ここで指定した関数ってLibに置いといても自動で#Includeされないのね
ここで指定した関数ってLibに置いといても自動で#Includeされないのね
35名無しさん@お腹いっぱい。 (ワッチョイ c676-zfCe)
2020/04/13(月) 00:59:19.32ID:nrV1kuRV0 OneNote2016でSend, {Up}とSend, {Down}が動作しない問題が
あっさり解決したから一応共有しとく
OS: Windows 10
AHK Version: 1.1.32.00
#If, WinActive("ahk_exe ONENOTE.EXE")
vk1D & i::ControlSend, OneNote::DocumentCanvas1, {Up}
vk1D & k::ControlSend, OneNote::DocumentCanvas1, {Down}
#If
あっさり解決したから一応共有しとく
OS: Windows 10
AHK Version: 1.1.32.00
#If, WinActive("ahk_exe ONENOTE.EXE")
vk1D & i::ControlSend, OneNote::DocumentCanvas1, {Up}
vk1D & k::ControlSend, OneNote::DocumentCanvas1, {Down}
#If
36名無しさん@お腹いっぱい。 (ワッチョイ e2ba-ydAG)
2020/04/13(月) 08:05:15.53ID:KIluxZ1e0 >>35
AHK_L1.1.08.01では
#IfWinActive ahk_class Framework::CFrame
^E::SendInput {blind}{UP}
^X::SendInput {blind}{DOWN}
#If
で動作してるが、もしかして非互換性の問題とか?
AHK_L1.1.08.01では
#IfWinActive ahk_class Framework::CFrame
^E::SendInput {blind}{UP}
^X::SendInput {blind}{DOWN}
#If
で動作してるが、もしかして非互換性の問題とか?
37名無しさん@お腹いっぱい。 (ワッチョイ c676-zfCe)
2020/04/13(月) 12:34:34.31ID:nrV1kuRV038名無しさん@お腹いっぱい。 (ワッチョイ 8e76-q+nc)
2020/04/14(火) 02:46:49.68ID:pKp7OSAA0 ahk外部の話になっちゃうんだけど
タイトルバーに .py が含まれていたら
Python辞書を指定して定型文ツールを起動みたいなことやりたいんだけど
辞書指定して起動できる定型文貼り付けツールみたいのないかな
その部分までahkで真面目に実装すると大作になりそうなんでちょっとめんどい
タイトルバーに .py が含まれていたら
Python辞書を指定して定型文ツールを起動みたいなことやりたいんだけど
辞書指定して起動できる定型文貼り付けツールみたいのないかな
その部分までahkで真面目に実装すると大作になりそうなんでちょっとめんどい
39名無しさん@お腹いっぱい。 (ワッチョイW f7e5-Y7bu)
2020/04/14(火) 08:18:24.79ID:dRMATM1W0 素直に言語補完やスニペット機能のあるエディタ使うのがいいとおもうが
タイトルバー .py ってことはこういうとこに貼る断片コードじゃなくて
ちゃんとファイルとしての作成されてるpythonスプリクトなんだろうし
タイトルバー .py ってことはこういうとこに貼る断片コードじゃなくて
ちゃんとファイルとしての作成されてるpythonスプリクトなんだろうし
40名無しさん@お腹いっぱい。 (ワッチョイ 579b-xa8R)
2020/04/17(金) 22:43:44.52ID:NUam5qRj0 winキー押下のときスクロール量を増加、
ctrl+winキーでさらにスクロール量増加、という処理をしたいです。
winキーをF13にしているんですが、ctrlがたまに抜けてwebブラウザ見てるときとかに
ズームになってしまいます。。。宜しくお願いいたします。
; スクロール量増加
F13 & WheelUp::
If GetKeyState("Ctrl", "P") ;ctrlが押されているか?の確認
{
Send, {WheelUp 20} ;ctrl含めた3つ同時押しの処理
}
Else
{
MouseClick,WheelUp,,,5 ;2つ同時押しの処理
}
Return
F13 & WheelDown::
If GetKeyState("Ctrl", "P") ;ctrlが押されているか?の確認
{
Send, {WheelDown 20} ;ctrl含めた3つ同時押しの処理
}
Else
{
MouseClick,WheelDown,,,5 ;2つ同時押しの処理
}
Return
ctrl+winキーでさらにスクロール量増加、という処理をしたいです。
winキーをF13にしているんですが、ctrlがたまに抜けてwebブラウザ見てるときとかに
ズームになってしまいます。。。宜しくお願いいたします。
; スクロール量増加
F13 & WheelUp::
If GetKeyState("Ctrl", "P") ;ctrlが押されているか?の確認
{
Send, {WheelUp 20} ;ctrl含めた3つ同時押しの処理
}
Else
{
MouseClick,WheelUp,,,5 ;2つ同時押しの処理
}
Return
F13 & WheelDown::
If GetKeyState("Ctrl", "P") ;ctrlが押されているか?の確認
{
Send, {WheelDown 20} ;ctrl含めた3つ同時押しの処理
}
Else
{
MouseClick,WheelDown,,,5 ;2つ同時押しの処理
}
Return
41名無しさん@お腹いっぱい。 (ワッチョイ ff76-xa8R)
2020/04/21(火) 02:38:03.98ID:YUMRQewr0 >>40
その書き方だと1回目は#WheelUpだけど2回目からは^#WheelUpになってるんじゃないかな?
と思っていろいろ試したけど、うまくいかなかった。
下のコードも試したけど、WheelDownはGetKeyStateが効かないらしく失敗。
(KeyHistory見たら10〜30ms押下状態維持してる感じだったし、このWhileでいけるんじゃないかと思った)
もしかしたら、SetTimerの10ms刻みくらいでいけるかも?
https://pastebin.com/wmnY8P5R
なんならChromeのズーム周りの挙動は不審なのか?
#WheelUp::Send, {WheelUp 5}
でもたまにズームするし、なんだろね
結局よくわからなかったので、他の有識者に任せます
ごめんなさい
その書き方だと1回目は#WheelUpだけど2回目からは^#WheelUpになってるんじゃないかな?
と思っていろいろ試したけど、うまくいかなかった。
下のコードも試したけど、WheelDownはGetKeyStateが効かないらしく失敗。
(KeyHistory見たら10〜30ms押下状態維持してる感じだったし、このWhileでいけるんじゃないかと思った)
もしかしたら、SetTimerの10ms刻みくらいでいけるかも?
https://pastebin.com/wmnY8P5R
なんならChromeのズーム周りの挙動は不審なのか?
#WheelUp::Send, {WheelUp 5}
でもたまにズームするし、なんだろね
結局よくわからなかったので、他の有識者に任せます
ごめんなさい
42名無しさん@お腹いっぱい。 (ワッチョイW ffdc-AOfM)
2020/04/21(火) 09:58:46.04ID:UBVe/E0a0 GetKeyStateは押下情報見てるだけで横取りしてるわけじゃなかったような
ctrl+wheelの挙動にしたくないならブラウザがCtrl押下を検知しないよう
Hotkeyかなんかで殺しとかなきゃいかんのでは
ctrl+wheelの挙動にしたくないならブラウザがCtrl押下を検知しないよう
Hotkeyかなんかで殺しとかなきゃいかんのでは
43名無しさん@お腹いっぱい。 (アウアウオー Sa2e-lSy1)
2020/04/25(土) 02:22:43.58ID:MwuvcNJDa ウィンドウの位置を配置するWINキー+↑↓←→をWINキー+IKJLにしたくていろいろやったんですけど、どうしても安定して同じように動かないです。
同じようなことやってる人がいたらサンプル見せてもらえませんか?
同じようなことやってる人がいたらサンプル見せてもらえませんか?
44名無しさん@お腹いっぱい。 (ワッチョイ 2e30-1Gce)
2020/04/25(土) 02:33:08.09ID:kLRbU++B045名無しさん@お腹いっぱい。 (ワッチョイ aea5-hR2K)
2020/04/25(土) 12:47:37.63ID:SNW5imkM046名無しさん@お腹いっぱい。 (アウアウオー Sa2e-lSy1)
2020/04/25(土) 13:56:42.52ID:MwuvcNJDa >>44
すいません。出直してきます。
すいません。出直してきます。
47名無しさん@お腹いっぱい。 (アウアウオー Sa2e-lSy1)
2020/04/25(土) 13:58:24.18ID:MwuvcNJDa >>45
キーチェンジャーで探してみます。ありがとうございます。
キーチェンジャーで探してみます。ありがとうございます。
48名無しさん@お腹いっぱい。 (ワッチョイ acf0-1Gce)
2020/04/25(土) 15:27:49.21ID:DF0bAaYE0 >>47
今もできるのか確認してないけど試してみたら?他のWinキー使ったショートカットもなくなってもいいなら
ttps://sites.google.com/site/autohotkeyjp/reference/misc/Override
>Win+L および Win+U を除き、ウィンドウズのホットキーはレジストリを以下のように書き換えることで無効化出来る。
今もできるのか確認してないけど試してみたら?他のWinキー使ったショートカットもなくなってもいいなら
ttps://sites.google.com/site/autohotkeyjp/reference/misc/Override
>Win+L および Win+U を除き、ウィンドウズのホットキーはレジストリを以下のように書き換えることで無効化出来る。
49名無しさん@お腹いっぱい。 (ワッチョイ 2c08-1Gce)
2020/04/25(土) 16:23:34.31ID:2ju+Mg1a050名無しさん@お腹いっぱい。 (ワッチョイ aea5-hR2K)
2020/04/25(土) 18:18:37.34ID:SNW5imkM0 登録し直しに関しては、
f13::LWin
で良いのでは?
f13::LWin
で良いのでは?
51名無しさん@お腹いっぱい。 (ワッチョイW ca7e-enhv)
2020/04/25(土) 23:25:50.05ID:6AVBCm7d0 CapsLockをF13にレジストリで書き換えて似たようなことしてるけどかなり快適
52名無しさん@お腹いっぱい。 (ワッチョイ 3876-Btmo)
2020/04/26(日) 16:38:48.35ID:qSNpI2+j0 ポータビリティ重視してる身としてはレジストリ書き換えは論外だから、
その前提で工夫するだろうな
その前提で工夫するだろうな
53名無しさん@お腹いっぱい。 (ワッチョイ 6bb1-QpYc)
2020/04/26(日) 21:48:28.47ID:fZASDaJl0 XPの時代はポータブルでできたけど、今はAHKを管理者権限で起動しないと完全な動作ができないんで無理
54名無しさん@お腹いっぱい。 (ワッチョイW d75a-lSy1)
2020/04/26(日) 22:44:45.23ID:2bxqh/0L0 チェンジキーアプリで、Winキー を 0x0064 にリマップし
F13 & i::Send {Lwin down}{Up}
F13 & k::Send {Lwin down}{Down}
F13 & l::Send {Lwin down}{Right}
F13 & j::Send {Lwin down}{Left}
で画面の移動できるんだけど、WINキーが押しっぱなし状態になって解除されない。。
F13 & i::Send {Lwin down}{Up}
F13 & k::Send {Lwin down}{Down}
F13 & l::Send {Lwin down}{Right}
F13 & j::Send {Lwin down}{Left}
で画面の移動できるんだけど、WINキーが押しっぱなし状態になって解除されない。。
55名無しさん@お腹いっぱい。 (ワッチョイ fa11-1Gce)
2020/04/26(日) 22:54:04.84ID:KoyAE8qb0 そりゃdownだからなあ
56名無しさん@お腹いっぱい。 (ワッチョイ a66f-1Gce)
2020/04/26(日) 23:11:47.99ID:o1f5ivz3057名無しさん@お腹いっぱい。 (ワッチョイW d75a-lSy1)
2020/04/27(月) 00:09:00.80ID:V/CoopeO0 >>56
両方やってみたけどウィンドウを移動中に効かなくなっちゃいます
両方やってみたけどウィンドウを移動中に効かなくなっちゃいます
58名無しさん@お腹いっぱい。 (ワッチョイW 4ee5-m7f2)
2020/04/27(月) 00:23:11.10ID:tTWj98L10 手元にPCないから試してないけど
F13 up:: Send {Lwin up}
は?
F13 up:: Send {Lwin up}
は?
59名無しさん@お腹いっぱい。 (ワッチョイ a66f-1Gce)
2020/04/27(月) 00:26:18.37ID:9dSvcxyQ0 >>57
移動中とか意味不明
Win10なら最大化最小化などのショートカットだろそれ
で、何がダメなのか知らんが、F13を離したときに Send, {Lwin Up} するようにすりゃ良いんじゃねえの
色々と説明不足だしもう少し頭使え
移動中とか意味不明
Win10なら最大化最小化などのショートカットだろそれ
で、何がダメなのか知らんが、F13を離したときに Send, {Lwin Up} するようにすりゃ良いんじゃねえの
色々と説明不足だしもう少し頭使え
60名無しさん@お腹いっぱい。 (ワッチョイ 84b1-R0M4)
2020/04/27(月) 12:07:24.96ID:mi7Y/HPe0 windows8.1でキーボードやマウスからの入力を一時的に無効にしようと
^b::
blockinput,on
sleep, 5000
blockinput, off
return
のように書いても普通にキー入力を受け付けています。
この命令は効果がないのでしょうか?
^b::
blockinput,on
sleep, 5000
blockinput, off
return
のように書いても普通にキー入力を受け付けています。
この命令は効果がないのでしょうか?
61名無しさん@お腹いっぱい。 (ワッチョイ a684-1Gce)
2020/04/27(月) 12:26:53.86ID:3hqSER8B0 >>60
Win10だけどうちでは管理者権限で実行すれば正常に動くぞ
普通の権限だと効果無し
ただしそのスクリプトだとCtrlを離す操作もブロックされてCtrl押されっぱなしになるから
5秒経過後blockinput, offにしたあと挙動おかしくなるからKeyWaitなどで離したあとBlockInput,onにした方が良いだろうな
Win10だけどうちでは管理者権限で実行すれば正常に動くぞ
普通の権限だと効果無し
ただしそのスクリプトだとCtrlを離す操作もブロックされてCtrl押されっぱなしになるから
5秒経過後blockinput, offにしたあと挙動おかしくなるからKeyWaitなどで離したあとBlockInput,onにした方が良いだろうな
62名無しさん@お腹いっぱい。 (ワッチョイ 84b1-R0M4)
2020/04/27(月) 12:38:53.15ID:mi7Y/HPe0 >>61
管理者権限で実行したところ上手くいきました、ありがとう。
管理者権限で実行したところ上手くいきました、ありがとう。
63名無しさん@お腹いっぱい。 (ラクッペペ MM34-rnxJ)
2020/04/27(月) 20:14:11.79ID:fuQIAEB8M >>40
昔からあるホットキーすり抜け問題
完全な回避は無理だがBlockInputやSendPlay(いろいろ制限あり)を使えば
高負荷時以外であれば回避できる
ホットキーすり抜け対策(要管理者権限)
https://pastebin.com/en1JqVym
昔からあるホットキーすり抜け問題
完全な回避は無理だがBlockInputやSendPlay(いろいろ制限あり)を使えば
高負荷時以外であれば回避できる
ホットキーすり抜け対策(要管理者権限)
https://pastebin.com/en1JqVym
64名無しさん@お腹いっぱい。 (ラクッペペ MM34-rnxJ)
2020/04/27(月) 20:15:13.63ID:fuQIAEB8M ホットキーすり抜けってなんぞや?という人はこちら
すり抜け条件
・修飾キーを入力(ホットキー、Send)
・高速で過剰な入力(ホイール回転など)
・PC負荷が掛かっている状態
ホットキーすり抜け再現スクリプト(要管理者権限)
https://pastebin.com/yHS3MAtF
すり抜け条件
・修飾キーを入力(ホットキー、Send)
・高速で過剰な入力(ホイール回転など)
・PC負荷が掛かっている状態
ホットキーすり抜け再現スクリプト(要管理者権限)
https://pastebin.com/yHS3MAtF
65名無しさん@お腹いっぱい。 (ラクッペペ MM34-rnxJ)
2020/04/27(月) 20:19:15.89ID:fuQIAEB8M +WheelDown::SendInput d ; Shift + ホイール下回転
KeyHistory
h=Hook Hotkey
i=Ignored because it was generated by an AHK script
d=Down
u=Up
■正常(入力d)
d 0.03 LShift ← キー入力
d 0.03 LShift ← キーリピート
d 0.03 LShift ← キーリピート
h d 0.02 WheelDown ← キー入力(ホットキー開始)
i u 0.02 LShift ← 修飾キー解除
i d 0.00 d ← SendInput
i u 0.00 d ← SendInput
i d 0.00 LShift ← 修飾キー復元(ホットキー終了)
■すり抜け(入力D)
d 0.03 LShift
d 0.03 LShift
d 0.03 LShift
h d 0.02 WheelDown
i u 0.02 LShift
d 0.00 LShift ← すり抜け
i d 0.00 d
i u 0.00 d
i d 0.00 LShift
KeyHistory
h=Hook Hotkey
i=Ignored because it was generated by an AHK script
d=Down
u=Up
■正常(入力d)
d 0.03 LShift ← キー入力
d 0.03 LShift ← キーリピート
d 0.03 LShift ← キーリピート
h d 0.02 WheelDown ← キー入力(ホットキー開始)
i u 0.02 LShift ← 修飾キー解除
i d 0.00 d ← SendInput
i u 0.00 d ← SendInput
i d 0.00 LShift ← 修飾キー復元(ホットキー終了)
■すり抜け(入力D)
d 0.03 LShift
d 0.03 LShift
d 0.03 LShift
h d 0.02 WheelDown
i u 0.02 LShift
d 0.00 LShift ← すり抜け
i d 0.00 d
i u 0.00 d
i d 0.00 LShift
66名無しさん@お腹いっぱい。 (ワッチョイ 7f76-x2cz)
2020/04/30(木) 02:55:18.35ID:P5SWOXvf0 %A_MyDocuments%\AutoHotkey\Lib\mylib.ahk
というファイルを作ると
#include <mylib>
で参照できるようになるというのはわかったんですが
環境変数などを設定して上記フォルダ以外の任意の検索パス(c:\src\ahk\libなど)を指定する方法はないですか?
というファイルを作ると
#include <mylib>
で参照できるようになるというのはわかったんですが
環境変数などを設定して上記フォルダ以外の任意の検索パス(c:\src\ahk\libなど)を指定する方法はないですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 兵庫・斎藤知事の会見が大荒れ……記者の菅野完氏が「人〇し」発言 [少考さん★]
- 【FF】「新幹線の指定席」に座ってたら立ち乗りの子どもが「座りたい!」と号泣…隣席の人「譲ってあげたら?」…譲る必要あるんですか 2 [少考さん★]
- 石破氏、日本国旗損壊罪に疑問 「刑罰あまり正しくない」 ★2 [蚤の市★]
- 【ボクシング】元世界王者・内藤大助 3000万円の借金返済生活 週6日勤務も「手元に残らない…」 [このもん★]
- 高市首相が国会で突如「秘書のがんステージ4」を公表にネット騒然…“招致拒否の布石では”と憶測も ★4 [少考さん★]
- 1歳誕生日「顔面ケーキ」動画が大炎上、なぜ投稿? 浮上する2つの説 [どどん★]
- 高市国旗損壊罪、処罰対象になるかどうかはその都度総合的に勘案へ😍 [399259198]
- 【高市朗報】俺たちが生きている間にシンギュってしまう模様!ただ地球上で一番邪悪なのは人類だからどうなってしまうのだろうか [219241683]
- 【高市悲報】美味しんぼで1人だけ殴っていいって言われたら誰殴る?🥺 [616817505]
- (ヽ´ん`)「マン毛濃そう」👈何をもってマン毛濃そうと判断してるんだよ [509448172]
- 🧸🤥ユメミーワールド🏡
- 高市早苗「台湾危機は自衛隊で介入」⇨中国のタングステン対日輸出ゼロ⇨三菱マテリアル製品価格3倍超 [245325974]