探検


AutoHotkey スレッド part28

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 (ワッチョイ aef9-dJm7)
垢版 |
2020/04/03(金) 18:35:06.00ID:/YRSlUCD0
!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
214名無しさん@お腹いっぱい。 (ワッチョイ 0596-aTVc)
垢版 |
2020/07/19(日) 01:39:06.45ID:DHlvlCWw0
>>212
>>213
すみません、私の書き方が悪かったです。
私がしたいのは、無変換をキーキーボード上には割り当てられていない
第二のaltキー的な新たなキーにしたいのです。
2020/07/19(日) 01:55:08.22ID:N4SWN7YZ0
タスクトレイにあるアイコンを操作したくて
http://lukewarm.s101.xrea.com/myscripts/
にある 「タスクトレイアイコン操作」 スクリプトの中にある 使用例(既に起動しているAutoHotkeyのトレイアイコンを(全て)ダブルクリックする)
を実行してみたのですが何も起こりません。
なぜでしょうか?

スクリプトは以下です。
https://pastebin.com/zpFL2BA0

Tray_GetInfo(idx,ByRef hwnd,ByRef uid,ByRef msg,ByRef hicon)
のByRefと言うのがよくわからないのですが、この関数を実行すると ByRef hwnd
の位置にある実引数に自動で値が入るのでしょうか?
最後にあるLoopの中に、
msgbox, %hwnd%
を書いても全て 0 と表示されます。
2020/07/19(日) 02:02:12.40ID:62gcooW20
>>214
だからIMEで機能割り当て無くしとけば無変換キー自体は単独では何の機能も持たない
第二のaltキーのように修飾キーとして使える
IME以外にデフォルトで無変換キーに機能割り当てしてるソフトなんてまず無いし
逆にそれでなにが不都合あると言うんだ
217名無しさん@お腹いっぱい。 (ワッチョイ 0596-aTVc)
垢版 |
2020/07/19(日) 02:08:38.28ID:DHlvlCWw0
>>216
すみません、私が理解出来てませんでした。
ありがとうございます。
2020/07/19(日) 18:24:50.56ID:dirzI1+ha
>>215
ByRef は 渡した変数の内容が変更される可能性があるという認識はあっている

hwndが0になるのは、たぶん Tray_GetInfo( ) の中で
SendMessage,0x417,% idx-1,%lpTB%,ToolbarWindow321,ahk_class Shell_TrayWnd
(0x417 は TB_GETBUTTON)
に失敗しているからだと思う
その直後でErrorLevelを見るとエラーになっていると思う
回避法はわからない
管理者権限では回避できなかった

具体的にどういう操作をしたいのかによって別のやり方もあると思う
2020/07/19(日) 19:35:17.18ID:N4SWN7YZ0
>>218
回答ありがとうございます。
このスクリプトの更新日を見たら2006年とかなり古いのでwindowsの仕様が変わって
動かないのですかね?

やりたいことはタスクトレイアイコンをクリックしたいだけなのでmouseclickを使っていたのですが、
検索すると>>215にあるスクリプトが出てきたので試してみた次第です。
2020/07/19(日) 19:44:32.55ID:I29ILi9k0
win仕様もahk仕様も変わってるから難しいと思う
ANSI版(ahk basic)でやってみて動けばラッキー
2020/07/19(日) 20:09:03.48ID:Z2QAfO/e0
>>219
そのスクリプトのことは知らないけど
Win10でトレイアイコンを操作したいならWin+Bでトレイアイコンにカーソルが行く
矢印キーで選ぶかアプリケーションの頭文字のキー(AHKアイコンならA)で選択して
Enterまたはメニュー出したいときはAppsKey

これらを組み合わせればSendだけで大体の操作できる
2020/07/19(日) 20:33:01.17ID:N4SWN7YZ0
>>221
Win+Bでタスクトレイにフォーカスが行くのは知りませんでした。
ありがとうございます。
2020/07/19(日) 20:37:21.36ID:Z2QAfO/e0
>>222
比較的新しいショートカットだからね
俺も昔はトレイアイコンの画像保存しといてImageSearchでMouseMoveとかしてたけど
2020/07/20(月) 18:39:59.26ID:cqKEaSeFM
みんなエディタ何使ってるの?
AHK studio、日本語入力できないとかなんだコレ、、、
2020/07/20(月) 18:46:15.41ID:6QeqbF/D0
>>224
自分はNotepad++
226名無しさん@お腹いっぱい。 (ワッチョイ b676-h8LP)
垢版 |
2020/07/20(月) 19:59:04.61ID:TCRNHUMW0
>>224
VSCode
AHKの拡張機能がある
227名無しさん@お腹いっぱい。 (ワッチョイ b676-h8LP)
垢版 |
2020/07/20(月) 20:11:35.76ID:TCRNHUMW0
下のコードで、a.ini内のパスを相対パスにする方法ゆる募
.\\とか%A_ScriptDir%\scripts\a.batとかは一応ひと通り試したけどだめだった
[test.ahk]
IniRead, val, %A_ScriptDir%\script\a.ini, section, key
If (val != "ERROR") {
Run, %val%
}
[a.ini]
key=C:\AutoHotkey\script\a.bat
2020/07/20(月) 20:37:36.27ID:KuYhS1WK0
%A_ScriptDir%\scripts\a.bat
iniread後に
Transform, runpath, Deref, % val
https://www.autohotkey.com/docs/commands/Transform.htm#Deref

.\scripts\a.bat
AttributeString := FileExist(val)
https://www.autohotkey.com/docs/commands/FileExist.htm

スマホからなんで実際には試してない
コピペで動かなかったらすまん
2020/07/21(火) 03:48:29.75ID:aMj/sQ1Q0
特定のアプリだけミュートにできねえかなぁ
nircmd使う方法しかでてこないけど、オンゲやるとチート対策ソフトに弾かれる可能性あるから使いたくないし
2020/07/21(火) 08:45:36.20ID:IFAKf5IL0
>>229
アプリ単位で良いなら、タスクトレイのボリュームアイコンを右クリックして「音量ミキサー」を開けばできるよ
「ファイル名を指定して実行」からsndvol.exeを実行してもOK

スタートメニューから「アプリの音量」で検索すると「サウンドミキサーのオプション」が出てくるから、そっち(アプリの音量とデバイスの設定)でもできる
2020/07/21(火) 08:53:56.12ID:3rEYqijc0
>>230
だからそれをAHKなどで操作したいっつー話なんじゃねえの
知らんけど
2020/07/21(火) 10:50:53.55ID:aMj/sQ1Q0
>>230
もちろん、それでできるけどahkもしくは他の方法でもいいけどショートカットキーでやりたくてね

フルスクリーンゲームやっててyoutubeで音楽聞いてると、いちいちChromeの音量切るの面倒くさいのよ
2020/07/21(火) 11:12:19.45ID:saCvU2px0
>>229
単語並べてググって出た
https://github.com/kristoffer-tvera/mute-current-application

一部効果ないやつあるようだけど
2020/07/21(火) 11:50:16.01ID:IFAKf5IL0
>>232
RunコマンドでSndVol.exe開いて
WindowSpyで調べたミュートボタンをクリックして閉じるとかで良いんじゃないかな?
AutoHotkeyのインストールディレクトリにあるAU3_Spy.exeかWindowSpy.ahkを実行して、
ミュートボタンにカーソルあわせると「classNN」が分かるよ(ToolbarWindow324みたいなやつ)
※WindowSpy.ahkだと、Follow Mouseにチェックつけないとダメかも

なんかコード書いたら書き込めない...(´・ω・`)
2020/07/21(火) 11:54:13.07ID:IFAKf5IL0
>>232
https://pastebin.com/h5jg9UNA
こんな感じのを適当なショートカットキーで実行するとか

でも、フルスクリーンのゲームやってる時に音量ミキサー開いたら、フルスクリーンが解除されちゃったりするかな?
2020/07/21(火) 12:13:10.57ID:5XlMbZFU0
× AttributeString := FileExist(val)
AttributeとAbsoluteカン違いしてたわすまん
絶対パス取得はfile-loopでA_LoopFileLongPathじゃないと取れないか

というかini内の記述を絶対パスにしたくない(相対記述→絶対パス)って意図だと捉えてたけど
iniは絶対パス記述でAHKで省きたい(絶対→相対)って意味だったらすまん
2020/07/21(火) 13:07:13.76ID:aMj/sQ1Q0
>>233,>>235
レスありがとう、時間あるときちょっと試してみるわ
238名無しさん@お腹いっぱい。 (ワッチョイ b676-h8LP)
垢版 |
2020/07/21(火) 20:10:06.29ID:6AnSQ4cb0
>>236
ありがとう

スクリプトフォルダ内の複数のbatファイルから選択してRunするために、
データはIniファイルに突っ込んでて、
メイン環境なら絶対パスでいいけどUSBやらなんやらで持ち出したときに
動作しないから%A_ScriptDir%のノリでIniファイルに記述したいなと
239名無しさん@お腹いっぱい。 (ワッチョイ b676-h8LP)
垢版 |
2020/07/21(火) 20:12:00.29ID:6AnSQ4cb0
>>238
データは、というかBatファイルのパスをIniファイルに記述してる

bat1 = C:\AutoHotkey\script\1.bat

みたいな

それをAHKからReadしてRunさせてる
2020/07/21(火) 20:46:09.78ID:5XlMbZFU0
変数展開したいならTransform Derefだが
起点が決まってるなら相対のままworkingdir指定でもいい気がするけどね

Run, %val%, %A_ScriptDir%
241名無しさん@お腹いっぱい。 (ワッチョイ f16d-keh3)
垢版 |
2020/07/23(木) 00:41:47.27ID:pi8EOXNV0
ウィンドウが呼び出したダイアログがアクティブになった事を確認したいんですがうまくいきません
ダイアログの場合って別のやり方が必要なんですかね?
#IfWinActive ahk_exe chrome.exe
~^s::
WinWaitActive, ahk_exe chrome.exe,"名前を付けて保存", 2
if(ErrorLevel == 0){
 MsgBox, "OK"
}else{
 MsgBox, "NG"
}
2020/07/23(木) 00:54:52.04ID:OmJCQ1JO0
>>241
「名前を付けて保存」はウィンドウタイトル
あと "" は要らない
最後にReturnする
243名無しさん@お腹いっぱい。 (ワッチョイ f16d-keh3)
垢版 |
2020/07/23(木) 01:03:09.31ID:pi8EOXNV0
>>242
うまくいきました、ありがとうございます
244名無しさん@お腹いっぱい。 (ワッチョイ 0b76-Rmjr)
垢版 |
2020/07/23(木) 20:42:11.81ID:d1WuC/N20
>>240
ありがとう
道が見えた
245名無しさん@お腹いっぱい。 (ワッチョイ 0b76-Rmjr)
垢版 |
2020/07/23(木) 20:54:09.64ID:d1WuC/N20
AutoHotkey.ahk − a.ahk
|
− b.ahk
[a.ahk]
a::Gui生成
GuiClose:終了処理
[b.ahk]
b::Gui生成

こんな感じの構成でそれぞれのGuiが別物の場合、bの方のGuiCloseを書くにはどうしたら?
2GuiCloseとかは2つGuiがShowされていたらの話だと思っていて、実際に動作しなかった。
246名無しさん@お腹いっぱい。 (ワッチョイ 0b76-Rmjr)
垢版 |
2020/07/23(木) 20:57:56.41ID:d1WuC/N20
>>245
失礼、普通に動作した
247名無しさん@お腹いっぱい。 (ワッチョイ f96d-keh3)
垢版 |
2020/07/24(金) 21:59:30.61ID:soU5eOWb0
自作DLL(別プロジェクトで動作確認は取れている)をDllCallすると
ErrorLevel -3で失敗してしまうんですが、
なぜ失敗するかの具体的な特定方法ってないですかね?
一応、A_WorkingDir的にDLLは見えているはずなんですけど

もしくはahkスクリプトからluaを実行して結果を取れると解決するんですけど
248名無しさん@お腹いっぱい。 (ワッチョイ 110a-UUnj)
垢版 |
2020/07/25(土) 00:23:11.88ID:0/SfUIv30
>>247
> ErrorLevel -3
これが具体的な失敗理由ですが?

A_WorkingDirをMsgBoxなどで確認しましたか?
bitの違いは?

・DLLがシステムディレクトリかA_WorkingDir(SetWorkingDirで変更可能)にある
・AHKとDLLの 32bit 64bit の違い
2020/07/25(土) 09:25:49.79ID:Be4fX4490
>>247
一応公式も置いとくね
https://www.autohotkey.com/docs/commands/DllCall.htm#error
DLLにアクセスできないってエラーだから、32bit/64bit確認、権限のチェック、あとは絶対パスで指定してみては?
250名無しさん@お腹いっぱい。 (ワッチョイ 0b76-Rmjr)
垢版 |
2020/07/25(土) 22:27:59.07ID:0QOLAh7b0
フックについて理解ができないので質問します。(非エンジニア)

通常はスクリプト読み込み時に、OS標準のAPI経由でOS側にホットキーを登録し、
キー入力時はOS側がAHKから渡されたキーであれば、AHKに処理を回す。

フック使用時は、AHKがそのキーが入力されるかを常に監視して、入力された場合、
その入力をOS側から遮断(横取り)して、直接スクリプトを実行する。(OS側は入力されたことに気づかない)
監視している分メモリの使用量が増加するが、動作は若干高速化する。

このようなイメージでよいでしょうか?
フック仕様のデメリットは、メモリ使用量以外ありますか?

また、以下の認識はあっていますか?
UseHook = InstallKeybdHook + InstallMouseHook
251名無しさん@お腹いっぱい。 (ワッチョイ 0b76-Rmjr)
垢版 |
2020/07/25(土) 22:31:58.79ID:0QOLAh7b0
もう一つ質問です。

若干意味も理解せず、以下の記述をスクリプトの頭につけています。
皆さんは、どのような理由で、どのように記述していますか?

#Persistent
#NoEnv
#UseHook
SendMode, Input
SetWorkingDir %A_ScriptDir%\scripts
SetTitleMatchMode, 2
#MaxHotkeysPerInterval 100
2020/07/25(土) 22:48:48.53ID:kjnyEGzO0
>>251
まず一通りwikiでコマンドの意味調べりゃ良いんじゃないかな
253名無しさん@お腹いっぱい。 (ワッチョイ 0b76-Rmjr)
垢版 |
2020/07/25(土) 23:07:13.87ID:0QOLAh7b0
>>252
それは当然調査済みですが、ちゃんとはわかってません。
おそらく追加したほうが良さそうな雰囲気なので入れてます。
ただ理解は曖昧なので、参考のため皆さんの設定を知りたいなと思いまして
2020/07/25(土) 23:14:33.77ID:kjnyEGzO0
>>253
こっちだってwiki読んで理解してるだけだからそこに書いてある以上のことは知らん
そもそもなんでwikiを読んで分からないのかがこっちには分からないし
例えば #Persistent なら「スクリプトを常駐状態にする。」ってwikiに書いてあるしそのまんまの機能
これ読んで分からないって余程日本語理解力に問題あるんじゃないかと
「当然調査済み」とか言い張ってるが本当に読んでるのかよ
2020/07/26(日) 10:00:51.37ID:fmdWSWo70FOX
ちゃんと理解しないで「なんとなく」とか「記述した方が良さそうだ」とか闇雲に記述するのはどうかと思う
例えば、常駐させる必要ない自動化スクリプトに#Persistent(#NoTrayIconも)なんて記述するのはアホの極みだ
2020/07/26(日) 15:28:37.12ID:CVyG8zhZ0
>>255
常駐させる必要ないスクリプトこそ一時的にアイコン表示されるのウザいから
必ず#NoTrayIconを記述してますが何か?
闇雲に記述するのはどうかと思うのは同意
2020/07/26(日) 16:19:43.46ID:fmdWSWo70
>>255訂正…後出しだけど
X(#NoTrayIconも)
○(に加えて#NoTrayIconも)
誤解を招く舌足らずな表現でスマンかった
2020/07/26(日) 19:38:30.96ID:b9LQTrtD0
読解力に問題があるって言ってもなぁ
じゃあ日本語ならどんな分野のどんな難しい文章もわかるのか?って話になるからな。

例えば、具体的によりくだけた表現に翻訳するには知識が必要となるわけで
知識差は読解力と違うし、同じ日本語でも何言っているかわかんないってことは大いにありえるから
253の気持ちはわかるし、そんな批判するようなことでもないように感じるけどな
2020/07/26(日) 19:45:26.93ID:lfc7Fo4v0
「スクリプトを常駐状態にする。」ってこんな簡単な文章がなぜ理解できないのかって話なのに
なんでそこから日本語ならどんな分野のどんな難しい文章もわかるのか?って話に飛んでんのかな?
その発想自体が日本語の理解力足りないってことじゃねえの
2020/07/26(日) 19:50:44.21ID:b9LQTrtD0
ん〜だから、知識によって理解が変わるってことを大袈裟に言っているだけで
252 とか 254みたいな批判めいた内容言うこともないだろって話。
#Persistentがどうのとか中身は興味ないから
2020/07/26(日) 19:58:57.50ID:lfc7Fo4v0
>>260
つまり「常駐」って言葉の意味が分からないとかか?
だったらそういう質問の仕方をしないと相手に伝わる訳もないよな?
そもそも「常駐」の意味だって調べりゃ良いだけだし
ろくに調べもせずに丸投げ質問しておいて、挙句「当然調査済み」とか言ってる馬鹿は批判されて当然のこと
2020/07/26(日) 20:00:38.99ID:lfc7Fo4v0
>>260
それと>>252のどこが批判めいてるんだ?
どう見てもごく普通のアドバイスだろ
それに対して>>253みたいなこと言えばそりゃ批判されるわ
2020/07/26(日) 22:31:44.50ID:S9oLQUza0
理解力じゃなくて尋ね方の問題でしょ
このスレは横着者に厳しいので漫然とした聞き方でお薦めを得ようとしてもだめ
理解が及んでないと思う箇所をピンポイントで掘り下げて聞いた方がいいよ
2020/07/26(日) 22:37:52.93ID:ACsjU6Jp0
要するにこれ

教えて君五大要素
1. 読まない
2. 調べない
3. 試さない
4. 理解力が足りない
5. 人を利用することしか頭にない
265名無しさん@お腹いっぱい。 (ワッチョイ 0976-Rmjr)
垢版 |
2020/07/28(火) 04:19:25.54ID:TZ11IB3u0
>>251です
質問の範囲が曖昧でしたね。では、特に以下のことについてお聞きします。
>>250
・その他、皆さんの設定(常駐スクリプト)

#UsehookやSendMode, Inputが理解できていませんが、これは共にフックが関係しているためです。
フックについての理解が>>250で正しければ、それで解決します。
それから、よければ皆さんの常駐スクリプトの頭を見たいなと。
2020/07/28(火) 21:52:09.24ID:j4zhZCSu0
フック使用時は SetWindowsHookEx でフックチェーンにコールバック関数が登録され、
何らかのキーが入力されたとき、登録されたコールバック関数が呼ばれます
なので'OS側は入力されたことに気づかない'は誤りです

>また、以下の認識はあっていますか?
>UseHook = InstallKeybdHook + InstallMouseHook
あっていません

#UseHook, On
F5::
MsgBox % A_PriorKey ; A_PriorKey を使用するにはフックが必要
Return

これを実行すると、キーボードの履歴は取得できますが、マウスの履歴は取得出来ません
#InstallMouseHook をコードに加えるとマウスの履歴も取得出来ます
267名無しさん@お腹いっぱい。 (ワッチョイ 0176-QWST)
垢版 |
2020/07/30(木) 01:09:12.14ID:fMNXqak+0
テンキーでホットストリングを使用したいのですが
どのように指定したらよいのかわかりません。

「-」を2回押して「〇〇○○」の文字入力

:*?Z:--::
Clipboard = ○○○○
Send, ^v
Return

上記で一応やりたいことは出来るのですが
「-」2回入力を「NumpadSub」にしたいのですが

:*?Z:{NumpadSub 2}::
:*?Z:{NumpadSub}{NumpadSub}::
としてもうまく機能しません。
教えていただけると助かります。
2020/07/30(木) 04:58:02.48ID:bNezzCEK0
>>267
ホットストリングは入力された文字を置き換えるだけだから
テンキーだろうがそうじゃなかろうが - は同じ文字なのでテンキーか否かの区別は無い
テンキーの - のみ置き換えたいならホットキーで2回押し判定するこったな
2020/07/31(金) 08:42:13.59ID:g2I7hRAB0
>>267
サンプルコード集 - AutoHotkey Wiki
http://ahkwiki.net/SampleCodes
ここの「1つのキーに3種類以上の動作割り当て」を使うといい

余談だけど、自分はよく使う機能なんで関数にしている
んで、「Switch」が使えると最近知ってスクリプトを書き換えたが同じ変数の羅列が無くなってスッキリするね
270名無しさん@お腹いっぱい。 (ワッチョイ bd76-UJyh)
垢版 |
2020/07/31(金) 17:18:12.37ID:0oLnTWbF0
>>269
外野ですがPastebinしてもらえるとすごい助かります
2020/08/01(土) 10:56:06.64ID:wwTG8TO50
>>268
>>269
参考になりました!長押しいいですね!
早速使います!
2020/08/02(日) 20:02:58.56ID:1OIburwk0
ホイールスクロールを左右キー(←→)に割り当てているのですが、元々のスクロールも残っているようで、左右キーと同時にスクロールもしてしまいます。
1秒間に何十回も行う動作なのでこういった挙動になってしまうのでしょうか?なんとか割り当てた左右キーを動作させている時は元々のスクロールは動かないように出来ないでしょうか?
宜しくお願い致します。
2020/08/02(日) 20:08:47.09ID:1OIburwk0
申し訳有りません 解決しました
2020/08/02(日) 20:17:53.03ID:81CoHYtN0
~Left:: とかにしてなけりゃ普通は抑制されるはずだけど?
キーリピート殺さないとホイールがチャタってるみたいな状態にはなるかも知れんが

よくあるのが関係ない部分でreturn入れてて挙動不審になってるやつ
最小コードで動作検証してみて
それでも動かないならコード貼って再質問どうぞ
2020/08/02(日) 20:19:50.56ID:u9ugTsmM0
>>272
すり抜け対策なら
SetKeyDelayのPressDurationを10〜50msくらいに設定
2020/08/02(日) 20:51:32.80ID:1OIburwk0
>>274
すいませんまさに~Left::です これだとスクロールが出ちゃうんでしょうか?
~Lshift & WheelUp::Send,{Left}
~Lshift & WheelDown::Send,{Right}
2020/08/02(日) 20:53:24.65ID:zAbkO+PE0
>>276
当たり前だろ・・・
基本中の基本くらいちゃんと調べろよ
2020/08/02(日) 21:35:11.08ID:81CoHYtN0
ああLeftにホイール割当じゃなくてホイールにLeft割り当てなのか
~についてはヘルプをよく読もう
まあ理解したところでコンビネーション使う限りは避けられないだろうけど

~Lshift::からのInputコマンドか
#if getkeystat("Lshift") からの WheelUp::Left あたりかね
2020/08/02(日) 21:41:30.34ID:AFdKD/8M0
>>278
コンビネーションとかgetkeystatとか使わずに修飾キー使えばいいだけだろ
このレベルだとどうせ修飾キーの記号すら分かってないだけだろうし
2020/08/02(日) 22:19:40.60ID:81CoHYtN0
そういやそうだね
ややこしくしてすまんかった
281名無しさん@お腹いっぱい。 (オッペケ Sr05-pQu/)
垢版 |
2020/08/03(月) 15:55:03.34ID:sfF7RDEPr
Alt+Sキーを押している間、中央ボタンを押している状態にしたいのですが上手く機能しません。
!s::
MouseClick,MIDDLE

!s::MButton

!s::
Send,{MButton}
を試したのですが動きません
ご教授お願いしたいです。
2020/08/03(月) 16:30:58.17ID:ddoVblCqM
・キーリピート対策
・2行以上にまたがるホットキーラベルはreturnが必要
あたり?
2020/08/03(月) 16:33:22.00ID:OV16fhwwa
これを参考に
https://autohotkey.com/board/topic/59307-how-to-make-a-key-press-repeatedly-while-its-down/

$!s::
While ( GetKeyState("s","P") && GetKeyState("Alt","P"))
以下略

とかではどうか
2020/08/03(月) 18:46:54.16ID:EtZ/qIcU0
>>281
alt使ってるせいでMButtonの挙動が変わるな
そういうの面倒なときは無変換キーなどを修飾替わりに使った方がいい
285名無しさん@お腹いっぱい。 (オッペケ Sr05-pQu/)
垢版 |
2020/08/04(火) 02:10:47.63ID:pvHcveX7r
>>284
altキー以外ならいけるようになるものなんでしょうか?
winキーで試したところ駄目でした
ctrlはctrl+sと競合してしまいますし…
2020/08/04(火) 03:06:46.14ID:6qMp3tYz0
>>285
修飾キーはやめとけってこと
無変換と言ってるのになんで言われたこと試さないんだ
2020/08/04(火) 08:11:04.70ID:GuCHOeBV0
AutoHotkeyを使うなら英語キーボードへのこだわりを捨てた方が幸せになれるよ。
288名無しさん@お腹いっぱい。 (ワッチョイ 795a-xE3T)
垢版 |
2020/08/04(火) 08:27:11.36ID:+LKh5lCi0
>>285
Alt+Sも気づいていないだけで、何かと被ってない?
メニューバーにファイル(F)、編集(E)とかってある中に(S)使ってるのが、いくつかあると思うよ
289名無しさん@お腹いっぱい。 (オッペケ Sr05-pQu/)
垢版 |
2020/08/04(火) 15:49:03.70ID:pvHcveX7r
>>286
USキーボードなので無変換キーがありませんので…
2020/08/04(火) 17:54:00.91ID:Mz7J8e+xa
Mbuttonで試せるものを思いつかなかったので
LButtonでテスト
マウスをスクロールバーの三角矢印に置いて
sとdを同時押しでスクロール
これはうまく動いた

https://pastebin.com/hGTxhZC6
2020/08/04(火) 21:51:34.86ID:YeWR0s7Z0
メモ
管理者権限のウインドウを動かすための最新パッチを落としたら動かなかったので保存してあった旧パッチをネットにバックアップしておく
これでタスクマネージャも動かせる
https://www.axfc.net/u/4025809.zip
2020/08/04(火) 21:53:04.79ID:YeWR0s7Z0
失敗こっちで
https://www.axfc.net/u/4025810.zip
2020/08/06(木) 00:12:56.90ID:eOY3feteM
altとwasdキーで矢印キーの役割を持たせたくて!w::Upみたいに書くとaltキーが入力されたままになって結果的にaltと矢印キーの状態になっちゃうんですけどこれの対処法みたいな物はありますか?
2020/08/06(木) 00:23:34.78ID:OeT3kirv0
>>293
リマップを使わずにSendを使いな
実際にリマップがどのような動作するのかwikiをよく読んで
リマップはホットキーに変換される
2020/08/06(木) 11:58:26.53ID:RbEH3NuY0
実行ファイル名だけでRunできるかどうかを確かめる方法って
PATHに含まれるパスの1つずつに実行ファイル名を付け足してFileExistで確認するしかないですかね?
もうちょっとスマートな方法ないかなと
2020/08/06(木) 13:05:35.07ID:kGGdSQS1M
>>295
Windowsのwhereコマンドでファイルを探す
https://www.atmarkit.co.jp/ait/articles/0904/10/news115.html

なおAHKでstdout読むにはひと工夫必要
https://poimono.exblog.jp/25278401/
2020/08/06(木) 13:17:06.72ID:wvUo9/wMa
てか、なんで直接Runで確かめたら駄目なんだ
パスが通ってれば実行できるし、そうでなければ実行できない
フルパスを知る意味はあるのか?
2020/08/06(木) 14:15:55.25ID:JEPjWfkUM
RunWaitで実行して、ErrorLevel判定でだめなん?
2020/08/07(金) 23:24:35.46ID:/SyKKu4K0
>>281ですが、やはりUSキーでは特定のキーを押している時に中央ボタンを教えている状態にする…というのは厳しいものでしょうか?
>>283も試し、>>290さんのものもそのまま使ってみたのですが駄目でした(SとD同時押しで左クリック)
2020/08/07(金) 23:42:38.23ID:UYjaWn7P0
>>299
修飾キー使うのがダメなんだから無変換が無いならAppsKeyとかを修飾替わりにすれば
とにかく修飾キーを使わない方法自分の環境の中で考えろよ
2020/08/08(土) 00:56:59.60ID:d1t6RuBp0
まずホットキー割り当て関係なしに Send,{MButton} は動作した?
とりあえずF1あたりに割り付けて試してみては?

あとさ押してる間中って,{MButton down} {Mbutton up} は考慮せんでいいの?
>281や>290ではキー押してる間 MButtonカチカチ押し直してることになるけど
2020/08/08(土) 01:17:59.28ID:VqId6oIB0
>>301

F12::
Send,{MButton}
Return
で試してみたのですがそもそも中央クリックとして反応しませんね…。
MButtonでは駄目なんですかね 調べてみます
2020/08/08(土) 01:50:59.21ID:KA47kwuX0
>>302
だからdownとupをちゃんと書けって
F12押したら押してる間はMbuttonも押したままにしたいんだろ?
そしてF12離したらMbuttonも離す
そういう書き方しなよ
2020/08/08(土) 01:52:31.77ID:KA47kwuX0
そもそも何のソフトで検証してんだ
普通のユニバーサルスクロールなら
>>302のスクリプトでも動作するけど
305名無しさん@お腹いっぱい。 (ワッチョイ 595a-e++8)
垢版 |
2020/08/08(土) 02:08:24.01ID:rnkNRuHB0
>>302
>反応しませんね
ってのは目視で言ってる?それともAutoHotkeyのログにも反映されてないってこと?
そのあたりが明確じゃないと。
ホイールクリックはされてるんじゃないの?と自分も思うけど
どうにかしたいのは何かのゲームなの?
306名無しさん@お腹いっぱい。 (オッペケ Sr5d-h0Us)
垢版 |
2020/08/11(火) 16:57:50.21ID:cZVnzQoFr
全てのsendの後に300msの間隔を入れたいのですが 、sendkeyの間全てにディレイを入れるにはどうすればいいのでしょうか?
2020/08/11(火) 17:31:03.23ID:SgS7rHNJ0
>>306
SetKeyDelay
2020/08/11(火) 21:39:37.53ID:TLfH+B9q0
無変換を空打ちの時は無変換のままで他のキーと組み合わせた時にctrlキーになるみたいなスクリプトって作成可能ですか?vk1D & a::send, ^{a}みたいなのを永遠と続けていくしかないんですかね
2020/08/11(火) 22:44:38.04ID:j6KwnO/20
>>308
こんな感じで行けたけどどうでしょう
#If GetKeyState("sc07B","P")
a::
b::
c::
d::
MsgBox, %A_ThisHotkey%
return
#If
2020/08/12(水) 11:54:00.49ID:2Yw6Zztj0
>>309
無変換キーをctrlにしたいから6行目をsend,{Blind}^{%A_ThisHotkey%}に書き換えたんですけどshiftキーみたいな修飾キーを同時押しすると反応しません(ctrlとshiftとaをおしてもshiftとaになる)。どうすればいいのでしょうか?
2020/08/13(木) 16:49:16.78ID:XhLEW61l0
SetKeyDelay, は、自分が組んだマクロの前に入れておけばそのマクロだけ動いてくれるものでしょうか?
試した所適応されないのですが、この書き方だと間違っているでしょうか?

;;;googleearthのプロパティ変更
SetKeyDelay, 200
#IfWinActive ahk_class Qt5QWindowToolSaveBits
^n::
send,{Tab}
send,{Tab}
send,{Tab}
send,{Tab}
…以下略


send,{Tab}の間等、全ての間に少しだけ間隔が欲しいです。
SetKeyDelayの数値を20000などに上げてみても速度が変わらなかったので機能していないようなのですが、どこに記述すればいいものでしょうか?
ご教授頂ければと思います。お願いします。
2020/08/13(木) 17:17:21.46ID:LDN6U1Fl0
>>311
全てのホットキーに適用したいならそのスクリプトの一番ド頭に書けばいい
余計なもん一切書かずに↓のみのスクリプト新規に作って実行してみ

SetKeyDelay, 1000
^n::
send,{Tab}
send,{Tab}
send,{Tab}
send,{Tab}
Return

ちなみに^nのみに適用したいなら ^n:: の次の行に書けばいい
2020/08/13(木) 17:20:08.52ID:BcGAhrfM0
>>311
Auto-executeセクション
>>1で説明されてると思う
2020/08/16(日) 18:54:26.89ID:L+IHJT3W0
質問しといて回答貰ってもなんの返事もしない奴って
他人を利用することしか頭に無いんだろうなあ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況