元々がIDのみの表示で番号の始まっているスレを途中から別の表示で乗っ取るのは「背乗り」行為に当たるので、IDのみの表示で進行とします
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part29
https://egg.5ch.net/test/read.cgi/software/1620768466/
■日本語解説等
AutoHotkey Wiki
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/
■その他のテンプレ(5chのURL規制が厳しいのでpastebinに退避しました)
https://pastebin.com/raw/bWipuNmt
探検
AutoHotkey スレッド part30 IDのみ
■ このスレッドは過去ログ倉庫に格納されています
2022/02/08(火) 18:38:19.33ID:UTRGyCNl0
2022/02/10(木) 15:45:10.69ID:WabIUjFV0
キンドルストアで売ってる唯一の日本語マニュアル買ってみたんだけど
ボリューム無かった
もうちょっと色々情報欲しかった
ボリューム無かった
もうちょっと色々情報欲しかった
3名無しさん@お腹いっぱい。
2022/02/11(金) 10:02:20.40ID:12WhonFv0 それぞれのコマンドの使い方
新しく加わっていくコマンド
バージョンが変わって削除されたコマンドはどう確認すればいいの?
新しく加わっていくコマンド
バージョンが変わって削除されたコマンドはどう確認すればいいの?
4名無しさん@お腹いっぱい。
2022/08/05(金) 19:59:48.12ID:0sEFrCso0 ふあああ
5名無しさん@お腹いっぱい。
2022/08/06(土) 07:53:15.43ID:bxMhPJ900 お、普通の表示で立ってる
よかったあの表示気持ち悪いし邪魔臭くて嫌いなんだ
よかったあの表示気持ち悪いし邪魔臭くて嫌いなんだ
2022/08/12(金) 17:44:44.58ID:gepA59Dc0
ChromeのDOMって操作できる?
FireFoxでもいいけど
FireFoxでもいいけど
7名無しさん@お腹いっぱい。
2022/08/12(金) 20:08:12.42ID:wga9M1ej0 https://www.autohotkey.com/boards/viewtopic.php?t=42890
ブラウザ自動化なら個人的にPythonでSelenium使ったほうが汎用性高いと思う
スクレイピングならBeautiful Soup 4
ちょっとDOM弄りたいならUserscript
ブラウザ自動化なら個人的にPythonでSelenium使ったほうが汎用性高いと思う
スクレイピングならBeautiful Soup 4
ちょっとDOM弄りたいならUserscript
2022/08/20(土) 16:00:14.36ID:DC/mpmo50
このダイアログが出た状態から
d:\src\test.ahkの2行目にタグジャンプする方法ってないの?
全世界のAHKユーザーは手動でジャンプしてるの
---------------------------
test.ahk
---------------------------
Error at line 2.
Line Text: test
Error: This line does not contain a recognized action.
The program will exit.
---------------------------
OK
---------------------------
d:\src\test.ahkの2行目にタグジャンプする方法ってないの?
全世界のAHKユーザーは手動でジャンプしてるの
---------------------------
test.ahk
---------------------------
Error at line 2.
Line Text: test
Error: This line does not contain a recognized action.
The program will exit.
---------------------------
OK
---------------------------
9名無しさん@お腹いっぱい。
2022/08/25(木) 20:50:53.77ID:KCQBMTmu0 ClassNNのテキストはどうやって取得すればいいですか?
10名無しさん@お腹いっぱい。
2022/08/28(日) 20:37:58.64ID:4Ld0lk3O0 んー
2022/10/01(土) 08:56:55.79ID:BZE5Zfde0
tps://qiita.com/catfist/items/22efb95194d8b2b270e1
を元に引数を渡せるようにしてみた
cuteExecALT.exe 実行ファイル 引数
; タスクバーをブリンクさせず強制的にアクティベート
#WinActivateForce
; 引数に実行ファイルのフルパスを与える(Bluewindからの使用を想定)
; http://usbcafe.blog111.fc2.com/blog-entry-103.html
ExePath = %1%
Argument = %2%
SplitPath, ExePath, ExeName
Process,Exist,%ExeName%
if ErrorLevel<>0
WinActivate,ahk_pid %ErrorLevel%
else
Run,%ExePath% %Argument%
return
を元に引数を渡せるようにしてみた
cuteExecALT.exe 実行ファイル 引数
; タスクバーをブリンクさせず強制的にアクティベート
#WinActivateForce
; 引数に実行ファイルのフルパスを与える(Bluewindからの使用を想定)
; http://usbcafe.blog111.fc2.com/blog-entry-103.html
ExePath = %1%
Argument = %2%
SplitPath, ExePath, ExeName
Process,Exist,%ExeName%
if ErrorLevel<>0
WinActivate,ahk_pid %ErrorLevel%
else
Run,%ExePath% %Argument%
return
2022/12/21(水) 16:13:00.91ID:knyn9FQ50
mousegesturelは2.0に対応するのかな
2023/01/07(土) 09:21:26.65ID:k8PWupBR0
テステス
2023/01/09(月) 05:54:47.41ID:SbiXzeCZ0
規制された?
2023/01/15(日) 13:17:40.08ID:MvNFHUkJ0
TEST
2023/01/16(月) 21:09:56.01ID:J7VhRFDb0
書けた!
2023/01/21(土) 22:29:52.40ID:O9/s6Vjc0
あなたはこのスレッドにはもう書けません?
2023/01/22(日) 00:58:51.93ID:Tm/c0CE40
test
2023/01/22(日) 18:02:03.10ID:mlOoBT3e0
余所でやってください。
2023/01/26(木) 07:46:23.49ID:CIme8OXU0
ただ今制限を設けております
2023/01/30(月) 07:20:53.01ID:nkvbieUz0
テスト
22名無しさん@お腹いっぱい。
2023/02/03(金) 13:40:49.51ID:tLksw/I00 前スレで選択したファイルを移動するFileMove教えていただいたものですけど、F16でこのフォルダへ移動、F17でこのフォルダへ…と各キーで各フォルダに割り当てる方法ないでしょうか?
;;F16で選択したファイルをYに移動
DestDir := "Y:\"
F16::
Send, ^c
Loop, Parse, clipboard, `n, `r
{
FileMove, %A_LoopField%, %DestDir%
}
clipboard :=
return
;;F17で選択したファイルをY:\tomatoに移動
DestDir := "Y:\tomato"
F17::
Send, ^c
Loop, Parse, clipboard, `n, `r
{
FileMove, %A_LoopField%, %DestDir%
}
clipboard :=
return
この記述ですとF16は機能するのですがF17は機能しませんでした
https://www.autohotkey.com/boards/viewtopic.php?t=69707
を参考にしています。宜しくお願い致します。
;;F16で選択したファイルをYに移動
DestDir := "Y:\"
F16::
Send, ^c
Loop, Parse, clipboard, `n, `r
{
FileMove, %A_LoopField%, %DestDir%
}
clipboard :=
return
;;F17で選択したファイルをY:\tomatoに移動
DestDir := "Y:\tomato"
F17::
Send, ^c
Loop, Parse, clipboard, `n, `r
{
FileMove, %A_LoopField%, %DestDir%
}
clipboard :=
return
この記述ですとF16は機能するのですがF17は機能しませんでした
https://www.autohotkey.com/boards/viewtopic.php?t=69707
を参考にしています。宜しくお願い致します。
2023/02/03(金) 14:47:42.20ID:LANQPsMI0
F16::
DestDir := "Y:\"
略
F17::
DestDir := "Y:\tomato"
略
DestDir := "Y:\"
略
F17::
DestDir := "Y:\tomato"
略
24名無しさん@お腹いっぱい。
2023/02/03(金) 17:25:22.79ID:tLksw/I00 >>23
ありがとうございます
ただこちら試していて分かったのですが、フォルダ名に日本語が入っていると機能しないんですね…
"Y:\書類"ですと機能せずアルファベットですと動きました
autohotkey自体の仕様で、この辺りはさすがにどうしようもないですよね?
ありがとうございます
ただこちら試していて分かったのですが、フォルダ名に日本語が入っていると機能しないんですね…
"Y:\書類"ですと機能せずアルファベットですと動きました
autohotkey自体の仕様で、この辺りはさすがにどうしようもないですよね?
2023/02/04(土) 05:27:20.19ID:oKa8UIma0
>>24
スクリプトファイルの文字コードをUTF-8 BOM付きにする
スクリプトファイルの文字コードをUTF-8 BOM付きにする
26名無しさん@お腹いっぱい。
2023/02/04(土) 22:55:50.47ID:Hk/oyai50 >>25
ありがとうございます…感動です。これでワンボタンで特定のフォルダへ移動出来るようになりました
何十個もあると本当に移動できているのか確認するすべがないので怖いですが…とにかく感謝です
ありがとうございます
ありがとうございます…感動です。これでワンボタンで特定のフォルダへ移動出来るようになりました
何十個もあると本当に移動できているのか確認するすべがないので怖いですが…とにかく感謝です
ありがとうございます
2023/02/05(日) 02:20:54.45ID:tXpgRt7Z0
左SHIFTを2回連打(2回目を離した)ときに起動したいアプリがあるんだけど
SHIFT押しっぱなしで英大文字が入力できなくなってしまう...
簡単に実装できないの?
SHIFT押しっぱなしで英大文字が入力できなくなってしまう...
簡単に実装できないの?
2023/02/05(日) 08:49:24.13ID:5m2deuZX0
俺はできる
29名無しさん@お腹いっぱい。
2023/02/07(火) 03:53:33.05ID:m+G7oWrP0 altとXでカタカナに変換をしたいのですが、結構な頻度でaltキーが押しっぱなしになってしまいます。
解決方法や他に良い一発カタカナ変換の方法ないでしょうか?
;altとXでカタカナに変換
SetKeyDelay, 0
!x::
Send,{F6}
return
解決方法や他に良い一発カタカナ変換の方法ないでしょうか?
;altとXでカタカナに変換
SetKeyDelay, 0
!x::
Send,{F6}
return
2023/02/07(火) 04:50:27.45ID:72hpDNxz0
カタカナ変換って言ったらCtrl+Iだろ
なんでそんな押しにくい場所に
それにIME周りは状態ON/OFFで挙動変えないといけないから面倒
AHKに頼らずIME側のキーカスタマイズでやったほうが楽じゃね
なんでそんな押しにくい場所に
それにIME周りは状態ON/OFFで挙動変えないといけないから面倒
AHKに頼らずIME側のキーカスタマイズでやったほうが楽じゃね
2023/02/10(金) 09:13:31.27ID:Fan/G82J0
基本US配列なんですがJP配列をトグルで切り替えるにはどうしたらいいですか?
やりたいことは
F13 & Spaceを一度押すとUS→JP(例えば+2::Send, @ が有効)になり
もう一度F13 & Spaceで無効になる、という感じです
ahkファイルをサスペンドすると他のホットキーまで使えなくなるのでトグル切替にしたいです
やりたいことは
F13 & Spaceを一度押すとUS→JP(例えば+2::Send, @ が有効)になり
もう一度F13 & Spaceで無効になる、という感じです
ahkファイルをサスペンドすると他のホットキーまで使えなくなるのでトグル切替にしたいです
2023/02/10(金) 09:19:40.77ID:Fan/G82J0
2023/02/10(金) 10:30:41.84ID:MnsaaDmR0
>>31
>F13 & Spaceを一度押すとUS→JP(例えば+2::Send, @ が有効)になりもう一度F13 & Spaceで無効になる
素人が思いつくのは、フラグをオン/オフして #IF を使う
>F13 & Spaceを一度押すとUS→JP(例えば+2::Send, @ が有効)になりもう一度F13 & Spaceで無効になる
素人が思いつくのは、フラグをオン/オフして #IF を使う
2023/02/10(金) 11:00:12.96ID:8wvoSwvS0
ahkでやるのは本末転倒じゃないの?
Windowsなら普通は言語からキーボードレイアウトを追加して
Win+Spaceで切り替えるのが普通だと思うけど
Windowsなら普通は言語からキーボードレイアウトを追加して
Win+Spaceで切り替えるのが普通だと思うけど
2023/02/10(金) 21:31:55.47ID:KOfPDD7w0
押したキーがahkにとってどういう名称のキーとして認識されているか簡潔に確認するにはどうしたらいいんでしょうか
a~zなどは調べるまでもないですが、例えばゲームパッドのそれぞれのボタンなどはどう認識されているかわかりません
CUIやGUI上に押すたびに記録されて、できればそれをコピペして手早く取り出せるような方法がいいです
a~zなどは調べるまでもないですが、例えばゲームパッドのそれぞれのボタンなどはどう認識されているかわかりません
CUIやGUI上に押すたびに記録されて、できればそれをコピペして手早く取り出せるような方法がいいです
2023/02/11(土) 17:28:52.84ID:vStIZvs50
>ULE4JISを試しましたがエクスプローラでは使えないので
タスクスケジューラでログオン時に最上位特権実行させればイケるでしょ
タスクスケジューラでログオン時に最上位特権実行させればイケるでしょ
2023/02/12(日) 21:38:52.12ID:wAIifo6Q0
>>35
1.AHK(スクリプト)のウィンドウを表示して
2.メニューからView-Key history and scipt info
3.調べたいキーを押す
4.メニューからView-Key history and scipt info
1.AHK(スクリプト)のウィンドウを表示して
2.メニューからView-Key history and scipt info
3.調べたいキーを押す
4.メニューからView-Key history and scipt info
2023/02/13(月) 00:26:02.67ID:IBQcR0l60
努力だ。勉強だ。それが天才だ
2023/02/13(月) 22:10:18.25ID:vprSE+NJ0
-y(▼。▼メ)Ξ(▼。▼メ)/⌒-~ポイッ!!
2023/02/14(火) 02:14:30.19ID:k+AHi9uy0
昨日から使い始めたけどどうやっても使えない所が3つあった
というのはUSBドングル刺して使うリモコンのメディアキーのVolume_Up Volume_Down Volume_Mute
この3つが何も起こらないので検索したりキーリスト間違ってないか確かめたが何も変わらない
スキャンコード表示して調べたら原因はスキャンコードを使ってないことと判明
どうやらキーボードのメディアキーでなくリモコンなのでキーを吐いてなかった
なんとかしたいがこの3つはやってることは結果的に同じなのだろうがキー吐いてないので無理か
既出の[全角/半角][ひらがな/カタカナ][キャプスロック]のキー押しっぱなし問題にも参った
実はこれ使うまではKeySwapでキー変更して数年使ってきたのだがUSBリモコンのメディアキーを変更したくてこのソフト1本で行こうとしてたのだが
キー押しっぱなし問題の解決がレジストリのキー変更ソフトにまた頼らざるを得ないとは思わなんだ
まぁこのソフトは上の欠点以外なら何でも出来ると言ってもいい汎用性から使うことにしたがリモコンがキー吐かないのは想定外だった
というのはUSBドングル刺して使うリモコンのメディアキーのVolume_Up Volume_Down Volume_Mute
この3つが何も起こらないので検索したりキーリスト間違ってないか確かめたが何も変わらない
スキャンコード表示して調べたら原因はスキャンコードを使ってないことと判明
どうやらキーボードのメディアキーでなくリモコンなのでキーを吐いてなかった
なんとかしたいがこの3つはやってることは結果的に同じなのだろうがキー吐いてないので無理か
既出の[全角/半角][ひらがな/カタカナ][キャプスロック]のキー押しっぱなし問題にも参った
実はこれ使うまではKeySwapでキー変更して数年使ってきたのだがUSBリモコンのメディアキーを変更したくてこのソフト1本で行こうとしてたのだが
キー押しっぱなし問題の解決がレジストリのキー変更ソフトにまた頼らざるを得ないとは思わなんだ
まぁこのソフトは上の欠点以外なら何でも出来ると言ってもいい汎用性から使うことにしたがリモコンがキー吐かないのは想定外だった
2023/02/14(火) 09:33:39.56ID:Q1zAT7Yx0
このサイトの最初にあるスクリプトでHIDデバイスとして認識される?https://www.autohotkey.com/board/topic/36304-hidextended-input-devices-ms-natural-keyboard-4000-etc/
キャプチャしてリモコンキー押して何か表示される?
もし表示されるならDllCallゴリゴリしまくれば解決できるのかもしれない
(自分にはそのスキル皆無だけど)
ちな上のスクリプトはautohotkeyU32.exeじゃないと動かないと思う
自分はオレ環でどうしてもThumbRemapが使えなかったので前述のGetRawInputDeviceメソッドでタッチ検出してる
キャプチャしてリモコンキー押して何か表示される?
もし表示されるならDllCallゴリゴリしまくれば解決できるのかもしれない
(自分にはそのスキル皆無だけど)
ちな上のスクリプトはautohotkeyU32.exeじゃないと動かないと思う
自分はオレ環でどうしてもThumbRemapが使えなかったので前述のGetRawInputDeviceメソッドでタッチ検出してる
2023/02/14(火) 12:37:18.09ID:310xcsUI0
>>40
キーとして吐き出さないようなのが微妙ですが、AHKだとこちらおすすめ
・(3) AutoHotInterception (AHI): Multi-Keyboard / Multi-Mouse support for AHK. Per-device blocking! - AutoHotkey Community
https://www.autohotkey.com/boards/viewtopic.php?t=45307
上記のAHKサポート終わったので後継がC# GUIで開発されてます。
・Snoothy/UCR: Universal Control Remapper [Alpha]
https://github.com/Snoothy/UCR
キーとして吐き出さないようなのが微妙ですが、AHKだとこちらおすすめ
・(3) AutoHotInterception (AHI): Multi-Keyboard / Multi-Mouse support for AHK. Per-device blocking! - AutoHotkey Community
https://www.autohotkey.com/boards/viewtopic.php?t=45307
上記のAHKサポート終わったので後継がC# GUIで開発されてます。
・Snoothy/UCR: Universal Control Remapper [Alpha]
https://github.com/Snoothy/UCR
4340
2023/02/14(火) 16:13:19.48ID:QNgIy5BT0 >>41 >>42
紹介されたソフトを試したが使い方が難しく翻訳などして使い方を調べたが正常に使うことは残念ながら出来なかったけど
色々ありがとう
結局KeySwapは削除しキー押しっぱなし問題でF13等に割り振るのにブログで紹介されてるChange Keyでキー変更をKeySwapと同じにし
目的のリモコンの[ブラウザ ホーム] → [スペース] [ブラウザ 戻る] → [ホーム]の2つを変更 [音量 大][音量 小][消音]はキー吐きなしで不可ということに
キー押しっぱなし問題でChange Key使うことになったのでAutoHotkeyで全部やろうとキー変更で時間かけて調べた10個程度の設定は削除したので
今のところAutoHotkeyの設定はリモコン用2つの設定だけになってしまったがキーボードやリモコンを使い易くする設定を追加しないとソフトが勿体ないと言えるほど
色々出来るのでこれからやろうと思う
ちなみにリモコンはG20S PRO https://androidpctv.com/g20s-pro-bt-review/
※メディア・数字・BS・ホーム・方向・ページUDは通常キー同様なのでキー変更可能
紹介されたソフトを試したが使い方が難しく翻訳などして使い方を調べたが正常に使うことは残念ながら出来なかったけど
色々ありがとう
結局KeySwapは削除しキー押しっぱなし問題でF13等に割り振るのにブログで紹介されてるChange Keyでキー変更をKeySwapと同じにし
目的のリモコンの[ブラウザ ホーム] → [スペース] [ブラウザ 戻る] → [ホーム]の2つを変更 [音量 大][音量 小][消音]はキー吐きなしで不可ということに
キー押しっぱなし問題でChange Key使うことになったのでAutoHotkeyで全部やろうとキー変更で時間かけて調べた10個程度の設定は削除したので
今のところAutoHotkeyの設定はリモコン用2つの設定だけになってしまったがキーボードやリモコンを使い易くする設定を追加しないとソフトが勿体ないと言えるほど
色々出来るのでこれからやろうと思う
ちなみにリモコンはG20S PRO https://androidpctv.com/g20s-pro-bt-review/
※メディア・数字・BS・ホーム・方向・ページUDは通常キー同様なのでキー変更可能
2023/02/14(火) 21:33:20.73ID:xlp6NYZy0
>>43
41のやつは使い方難しくないよ。
最初のスクリプトを全部コピペで新しいahkファイル作ってAutohotkeyU32.exeに投げるだけ。
GUIでキャプチャしておいてリモコンの消音とか押してみてGUIにログが流れてきたら一筋の光明あり。
といっても、じゃあその先のスクリプト組もうと思っても恐ろしく難しいんよね
41のやつは使い方難しくないよ。
最初のスクリプトを全部コピペで新しいahkファイル作ってAutohotkeyU32.exeに投げるだけ。
GUIでキャプチャしておいてリモコンの消音とか押してみてGUIにログが流れてきたら一筋の光明あり。
といっても、じゃあその先のスクリプト組もうと思っても恐ろしく難しいんよね
2023/02/14(火) 22:46:48.70ID:QNgIy5BT0
>>44
ありがと それ古い方AutoHotkey_1.1.36.02で投げたら反応あった ※元々実行ファイルが2.0.2になかったね
[音量 大] HND 131153 HID Size 3 Count 1 Ptr 49612784 Input 03E900
[音量 小] HND 131153 HID Size 3 Count 1 Ptr 49612784 Input 03EA00
[消音] HND 131153 HID Size 3 Count 1 Ptr 49612784 Input 03E200
2.0.2にこれらの数値をいくつか入れたけど反応無しだったけど まぁ適当に入れても使えるわけないか
上の数値の正しい書式が有ってAutoHotkeyで使えるかどうかは不明だけどダメ元で調べてみる
あとこのソフトは古くからあるので解説サイトとかブログの設定入れても新しい2.0.2では殆どエラー吐いて使えなかった
設定の書式が短くなったり変わったらしく使えるように短くして2.0.2用にするのが少し面倒だったけど古い方がそのまま使えていいのかもしれないね
ネット情報の殆どが1.1用?ばかりだったので
ありがと それ古い方AutoHotkey_1.1.36.02で投げたら反応あった ※元々実行ファイルが2.0.2になかったね
[音量 大] HND 131153 HID Size 3 Count 1 Ptr 49612784 Input 03E900
[音量 小] HND 131153 HID Size 3 Count 1 Ptr 49612784 Input 03EA00
[消音] HND 131153 HID Size 3 Count 1 Ptr 49612784 Input 03E200
2.0.2にこれらの数値をいくつか入れたけど反応無しだったけど まぁ適当に入れても使えるわけないか
上の数値の正しい書式が有ってAutoHotkeyで使えるかどうかは不明だけどダメ元で調べてみる
あとこのソフトは古くからあるので解説サイトとかブログの設定入れても新しい2.0.2では殆どエラー吐いて使えなかった
設定の書式が短くなったり変わったらしく使えるように短くして2.0.2用にするのが少し面倒だったけど古い方がそのまま使えていいのかもしれないね
ネット情報の殆どが1.1用?ばかりだったので
2023/02/15(水) 01:31:27.77ID:8QbFNS1a0
VSCode使うとAHKで自前で書いた関数の補完や
関数前に書いたJavaDoc的な説明コメントをヒントとして表示してくれたりするの?
関数前に書いたJavaDoc的な説明コメントをヒントとして表示してくれたりするの?
2023/02/15(水) 02:44:41.74ID:dV0ccaqa0
>>45
inputがちゃんと一意になってるね
自分も詳しいわけじゃないけど
DLLCallのGetRawInputDeviceInfoでメモリアドレスに色々な情報を読み出してて
その一意の番号もメモリアドレスのどっかに展開されてて、その場所を特定してうまく取り出すことができればAHK側で好きなように処理できる。
ただ引数やらデータの型やらメモリに呼び出すまでのお作法やら、素人が一日や二日で紐解けるようなレベルじゃない。
でも、根気よくスクリプトとにらめっこして試行錯誤繰り返していればいつか目的達成できると思う
inputがちゃんと一意になってるね
自分も詳しいわけじゃないけど
DLLCallのGetRawInputDeviceInfoでメモリアドレスに色々な情報を読み出してて
その一意の番号もメモリアドレスのどっかに展開されてて、その場所を特定してうまく取り出すことができればAHK側で好きなように処理できる。
ただ引数やらデータの型やらメモリに呼び出すまでのお作法やら、素人が一日や二日で紐解けるようなレベルじゃない。
でも、根気よくスクリプトとにらめっこして試行錯誤繰り返していればいつか目的達成できると思う
2023/02/16(木) 21:19:31.80ID:wBGsdM8x0
>>46
v2ならAutoHotkey v2 Language Supportで
v2ならAutoHotkey v2 Language Supportで
2023/02/24(金) 22:20:53.40ID:lyZ5EZMW0
#Persistentで常駐させているスクリプトがあるんですが、
あるホットキーによるスクリプト実行時のみ一時的に無効にして、スクリプト終了時に再度有効化する方法ってありますか?
常駐スクリプトはアクティブウィンドウが切り替わり時に自動実行するもので、おそらくよく使われているものかと思います。
ウィンドウを短時間にいくつか切り替えたり、クリックメニューを出したりさせているせいか、常駐スクリプトの割り込みが多数発生して
あるスクリプトでは、WinWaitActiveが働かず時間切れになります。
割り込みを禁止しようとしてもコールバック関数自体のスレッド優先度が高過ぎて難しいような気がします。
何か方法はありますでしょうか?
myFunc := RegisterCallback("WinActivateHandler")
myHook := DllCall("SetWinEventHook"
, "UInt", 0x00000003 ; eventMin : EVENT_SYSTEM_FOREGROUND
, "UInt", 0x00000003 ; eventMax : EVENT_SYSTEM_FOREGROUND
, "UInt", 0 ; hModule : self
, "UInt", myFunc ; hWinEventProc :
, "UInt", 0 ; idProcess : All process
, "UInt", 0 ; idThread : All threads
, "UInt", 0x0003 ; dwFlags : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS
, "UInt")
WinActivateHandler(hWinEventHook, event, hwnd, idObject, idChild, thread, time) {
}
あるホットキーによるスクリプト実行時のみ一時的に無効にして、スクリプト終了時に再度有効化する方法ってありますか?
常駐スクリプトはアクティブウィンドウが切り替わり時に自動実行するもので、おそらくよく使われているものかと思います。
ウィンドウを短時間にいくつか切り替えたり、クリックメニューを出したりさせているせいか、常駐スクリプトの割り込みが多数発生して
あるスクリプトでは、WinWaitActiveが働かず時間切れになります。
割り込みを禁止しようとしてもコールバック関数自体のスレッド優先度が高過ぎて難しいような気がします。
何か方法はありますでしょうか?
myFunc := RegisterCallback("WinActivateHandler")
myHook := DllCall("SetWinEventHook"
, "UInt", 0x00000003 ; eventMin : EVENT_SYSTEM_FOREGROUND
, "UInt", 0x00000003 ; eventMax : EVENT_SYSTEM_FOREGROUND
, "UInt", 0 ; hModule : self
, "UInt", myFunc ; hWinEventProc :
, "UInt", 0 ; idProcess : All process
, "UInt", 0 ; idThread : All threads
, "UInt", 0x0003 ; dwFlags : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS
, "UInt")
WinActivateHandler(hWinEventHook, event, hwnd, idObject, idChild, thread, time) {
}
2023/02/25(土) 00:04:25.73ID:awlsmlYs0
あるホットキーの初段で、常駐させているスクリプトをサスペンドして
終了時に復帰させればいいだけなんじゃ
終了時に復帰させればいいだけなんじゃ
2023/02/25(土) 00:19:10.21ID:dPIaFFwM0
>>49
hookはこちらを
[Class] WinHook - AutoHotkey Community
https://www.autohotkey.com/boards/viewtopic.php?f=6&t=59149
hookはこちらを
[Class] WinHook - AutoHotkey Community
https://www.autohotkey.com/boards/viewtopic.php?f=6&t=59149
2023/02/25(土) 17:27:22.34ID:IlkaxhTt0
Suspendは試しましたが割り込みますね
Suspendはホットキーの無効化だった気がするので常駐スクリプトには効かないんでしょうか
WinHookは...本文の説明にもある通り難解そうですね やはり単純には行かないのですかね
Suspendはホットキーの無効化だった気がするので常駐スクリプトには効かないんでしょうか
WinHookは...本文の説明にもある通り難解そうですね やはり単純には行かないのですかね
2023/02/25(土) 18:34:27.22ID:FZpliw6N0
>>52
スマートな方法かどうかは知らないけど
あるホットキーで変数フラグ立ててホットキー処理の最後でフラグ倒して
常駐スクリプトの各コマンドにフラグ倒れてる場合のみ実行の条件つけるとかは?
上手く行くかはまったく分からない
スマートな方法かどうかは知らないけど
あるホットキーで変数フラグ立ててホットキー処理の最後でフラグ倒して
常駐スクリプトの各コマンドにフラグ倒れてる場合のみ実行の条件つけるとかは?
上手く行くかはまったく分からない
2023/02/25(土) 18:38:38.42ID:FZpliw6N0
常駐スクリプト側にもフラグ付けて特定のホットキーと排他実行するようにしたほうがいいのかな?
2023/02/25(土) 18:55:19.57ID:H2bxHiEl0
2023/02/27(月) 01:27:48.69ID:pfZK3vd10
>>52
サンプルもドキュメントもきれいに整備されてて簡単
モニタースクリプトもあるし
unhookメソッドもご覧の通り
Method: UnHook(hWinEventHook)
Method: UnHookAll()
サンプルもドキュメントもきれいに整備されてて簡単
モニタースクリプトもあるし
unhookメソッドもご覧の通り
Method: UnHook(hWinEventHook)
Method: UnHookAll()
2023/03/07(火) 12:30:05.34ID:YBcczSzi0
マウスの横のボタンにctrlを割り当ててるんですが、
ダブルクリックみたいに2回押した時にshiftとして動作させたいみたいなのってどうやったらできますか?
ダブルクリックみたいに2回押した時にshiftとして動作させたいみたいなのってどうやったらできますか?
2023/03/07(火) 14:15:05.56ID:iXHDEhaA0
KeyWaitで二回目の押下判定してErrorLevelで分岐
2023/03/08(水) 01:52:07.69ID:iQbD6ijV0
#UseHook On
}
sc07B::
key := "sc07B"
KeyWait, %key%, T0.3
If(ErrorLevel){ ;長押しした場合
KeyWait, %key%
return
}
KeyWait, %key%, D, T0.2
If(!ErrorLevel){ ;2度押しした場合
Send {sc07B down} ;
Send {shift down} ;
KeyWait, %key%
Send {shift up} ;
return
}else{ ;短押しした場合
KeyWait, %key%
return
}
#UseHook Off
}
sc07B::
key := "sc07B"
KeyWait, %key%, T0.3
If(ErrorLevel){ ;長押しした場合
KeyWait, %key%
return
}
KeyWait, %key%, D, T0.2
If(!ErrorLevel){ ;2度押しした場合
Send {sc07B down} ;
Send {shift down} ;
KeyWait, %key%
Send {shift up} ;
return
}else{ ;短押しした場合
KeyWait, %key%
return
}
#UseHook Off
2023/03/08(水) 02:05:13.60ID:iQbD6ijV0
教えてもらったErrorLevelでググったところこんな感じのスクリプトがあったので、
改変してやってみたらある程度思ったような動作になりました
ただ、ctrlキーは特殊なようで起動キーをctrlにした場合は動作しないようです
現在マウスキーにctrlを当ててるので代わりに上記の無変換を割り当てたらできないかと思ったんですが、
キーボードの無変換で行った時はできるのにマウスからやるとなぜか動かない
無変換キー単押しは機能するので押せてないわけでもないようなんですが
むずいっす
改変してやってみたらある程度思ったような動作になりました
ただ、ctrlキーは特殊なようで起動キーをctrlにした場合は動作しないようです
現在マウスキーにctrlを当ててるので代わりに上記の無変換を割り当てたらできないかと思ったんですが、
キーボードの無変換で行った時はできるのにマウスからやるとなぜか動かない
無変換キー単押しは機能するので押せてないわけでもないようなんですが
むずいっす
2023/03/08(水) 02:09:01.10ID:iQbD6ijV0
マウスのボタン押下⇒キーボードの無変換押下と2度押し動作効きます
マウスの二度押しだけが認識されないようですね
スクリプトに何か問題あるでしょうか
マウスの二度押しだけが認識されないようですね
スクリプトに何か問題あるでしょうか
2023/03/13(月) 08:13:23.71ID:k3yB0gZ70
stdin/outが使えないのがたまに不便だな
シェルスクリプト的に使えるexeも欲しい
シェルスクリプト的に使えるexeも欲しい
2023/03/13(月) 11:09:57.19ID:46CMp74p0
>>61
マウスに割り当ててる方の無変換が、ボタンを押しっぱなしにしててもすぐに離されてるとか
マウスに割り当ててる方の無変換が、ボタンを押しっぱなしにしててもすぐに離されてるとか
2023/03/13(月) 22:02:47.95ID:ugPvzASQ0
アクティブでないサブウィンドウを直接閉じる方法はあるでしょうか?
例えば秀丸エディタの検索ウィンドウを消去したい時、秀丸がアクティブなら
winclose, ahk_class #32770
だけで消せるのですが秀丸がアクティブでないなら一度秀丸をアクティブにしてから
winclose, ahk_class #32770
を実行しないと検索ウィンドウが消えません。
これを秀丸がアクティブでない状態で消す方法はないでしょうか?
例えば秀丸エディタの検索ウィンドウを消去したい時、秀丸がアクティブなら
winclose, ahk_class #32770
だけで消せるのですが秀丸がアクティブでないなら一度秀丸をアクティブにしてから
winclose, ahk_class #32770
を実行しないと検索ウィンドウが消えません。
これを秀丸がアクティブでない状態で消す方法はないでしょうか?
2023/03/15(水) 07:27:39.83ID:zT06UOBQ0
>>64
WinCloseもWinKillもアクティブなウィンドウか、一番前面のウィンドウが対象みたいなので
非アクティブウィンドウにキーを送ってみたらどうでしょう
^+F12::
DetectHiddenWindows, On ;ウィンドウ探索時に非表示になっているウィンドウを検出対象にする
ControlSend, , {Esc}, ahk_class #32770 ahk_exe Hidemaru.exe ;Escで秀丸の検索ウィンドウは消える
Return
WinCloseもWinKillもアクティブなウィンドウか、一番前面のウィンドウが対象みたいなので
非アクティブウィンドウにキーを送ってみたらどうでしょう
^+F12::
DetectHiddenWindows, On ;ウィンドウ探索時に非表示になっているウィンドウを検出対象にする
ControlSend, , {Esc}, ahk_class #32770 ahk_exe Hidemaru.exe ;Escで秀丸の検索ウィンドウは消える
Return
2023/03/15(水) 16:18:33.18ID:NvftbLsi0
#32770はダイアログ全般のクラス名だから他のソフトのものに誤爆してるんじゃないかな
WinClose, ahk_class #32770 [秀丸エディタプロセス名での指定]
でいけない?
とりあえずサクラエディタでは以下で出来た
WinClose, ahk_class #32770 ahk_exe sakura.exe
WinClose, ahk_class #32770 [秀丸エディタプロセス名での指定]
でいけない?
とりあえずサクラエディタでは以下で出来た
WinClose, ahk_class #32770 ahk_exe sakura.exe
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★3 [おっさん友の会★]
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【高市悲報】マルハニチロ ニッスイ キョクヨー スシロー、急落 下落 [165981677]
- 【速報】中国、水産物輸入停止★2 [989870298]
- 「日本の保守層のご機嫌を取りながら、中国、ロシア、アメリカのご機嫌も取る」👈こういう総理がいれば良かったよな [762037879]
- 【悲報】もし中国と戦争になったら「プロ野球選手」も徴兵されるの🤔 [616817505]
- 【悲報】高市早苗さん、たった一人で日本を崩壊へ導く [714769305]
