元々が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
2023/07/15(土) 21:48:33.57ID:Qa0kUJY20
ホットキー1つにアプリ1つ対応させてタスクスイッチさせてたら、
あっという間にキーが無くなった
大して重要でもないアプリにアクセスのいいキーを割いてしまう
だから、使用頻度の低いのは全部menuにまとめた
起動して1ストロークで切り替わるので快適
立ち上がってなかったら立ち上げもやらせるのでもうランチャーなんだけど、
タスク切り替えできるランチャーってあるのかな
あっという間にキーが無くなった
大して重要でもないアプリにアクセスのいいキーを割いてしまう
だから、使用頻度の低いのは全部menuにまとめた
起動して1ストロークで切り替わるので快適
立ち上がってなかったら立ち上げもやらせるのでもうランチャーなんだけど、
タスク切り替えできるランチャーってあるのかな
2023/07/15(土) 22:06:56.30ID:vV8ds1jY0
272名無しさん@お腹いっぱい。
2023/07/15(土) 22:52:53.90ID:x3WO43km02023/07/15(土) 23:37:49.10ID:F5l6cpD30
Gui Object - Methods & Properties | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/Gui.htm
Menu/MenuBar Object - Methods & Properties | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/Menu.htm
https://www.autohotkey.com/docs/v2/lib/Gui.htm
Menu/MenuBar Object - Methods & Properties | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/Menu.htm
2023/07/16(日) 12:50:53.11ID:BMcU1kH50
275名無しさん@お腹いっぱい。
2023/07/16(日) 13:34:32.03ID:l4qSDuiB02023/07/16(日) 13:42:03.94ID:XCq/PQra0
msgbox出して入力させても同じようなことができるけど、enter押さなくていいから軽快なんだよな
menuで選択せずにenterだけ押して終了した時のデフォルトの動作を設定したいけど、
何もせずに終わってるようにしか見えない
menuで選択せずにenterだけ押して終了した時のデフォルトの動作を設定したいけど、
何もせずに終わってるようにしか見えない
2023/07/16(日) 14:16:00.20ID:Km3KtOC30
>>275
ゴリゴリに凝ってGUIなメニューも組めるけれど、結構面倒くさいかもw
ワシは簡単にデフォルトのAHKのメニューにアイテムを追加して簡単な
設定ダアログを表示させているだけ。
https://i.imgur.com/3AbAvve.png
>>276
OnEvent の "Close" にコールバックを登録している?
ゴリゴリに凝ってGUIなメニューも組めるけれど、結構面倒くさいかもw
ワシは簡単にデフォルトのAHKのメニューにアイテムを追加して簡単な
設定ダアログを表示させているだけ。
https://i.imgur.com/3AbAvve.png
>>276
OnEvent の "Close" にコールバックを登録している?
2023/07/16(日) 16:07:12.73ID:gQLFhoYb0
>>277
最初の2行のTheいらんやろ
最初の2行のTheいらんやろ
2023/07/16(日) 16:11:54.43ID:Km3KtOC30
2023/07/17(月) 00:58:53.53ID:SbIiaArN0
>>269
どうもありがとうございます。コンバートして望み通り動作しました。
どうもありがとうございます。コンバートして望み通り動作しました。
2023/07/17(月) 04:09:59.36ID:VOOmaMxG0
メニュー使った2ストローク入力なら古のchoice使うのも手軽
https://justpaste.it/9lbtx
https://justpaste.it/9lbtx
2023/07/17(月) 07:28:27.62ID:xIH5JVqm0
[A] aaaと定義したらcase "A"で判定できるのがいいな
ahkだと、
Menu.Add "[A] aaa", MenuHandler
と定義したら
if (Item = "[A] aaa")
と書かないといけない
ahkだと、
Menu.Add "[A] aaa", MenuHandler
と定義したら
if (Item = "[A] aaa")
と書かないといけない
283名無しさん@お腹いっぱい。
2023/07/17(月) 07:58:49.86ID:vF6+yovp0 「変換」キーと「;」キーを同時押ししたときに「Shift」長押し
ということはできるでしょうか。
sc079 & sc027::Send, {Blind}{sc036 Down}
このように書いてもダメでした。
KeyWaitやGetKeyStateもコンビネーションが使えない?ようで
どう書けばよいか分からず、できるかどうかもWikiからは読み取れず
お知恵を拝借できればと。。
ということはできるでしょうか。
sc079 & sc027::Send, {Blind}{sc036 Down}
このように書いてもダメでした。
KeyWaitやGetKeyStateもコンビネーションが使えない?ようで
どう書けばよいか分からず、できるかどうかもWikiからは読み取れず
お知恵を拝借できればと。。
2023/07/17(月) 07:59:33.80ID:B2mmzP0z0
2023/07/17(月) 08:04:20.66ID:B2mmzP0z0
2023/07/17(月) 08:21:23.71ID:xIH5JVqm0
表示用文字列とIDは別個というのが自然な発想の筈なのに、
一緒にしちゃえと最初に思ったのでもう後へは引けない
上から何番目かは判るけど、メニューをそれで管理したら絶対保守性悪い
一緒にしちゃえと最初に思ったのでもう後へは引けない
上から何番目かは判るけど、メニューをそれで管理したら絶対保守性悪い
287名無しさん@お腹いっぱい。
2023/07/17(月) 16:51:36.29ID:pYrZa38K02023/07/17(月) 17:08:53.58ID:xIH5JVqm0
menu出てる間は処理を取られてるからなあ
下カーソルを押してメニュー選択しようとして、caps-xとか押してもそれは無視される
下カーソルを押してメニュー選択しようとして、caps-xとか押してもそれは無視される
2023/07/17(月) 17:13:27.67ID:B2mmzP0z0
>>287
そら割と簡単やで、ちゅうか Quick Reference にあった気がせんでもない。
例えば Ctrl+F2 に割り当てるなら
^F2:: MyGui.Show()
ってやるだけ。
面倒くさいのは MyGui := Gui() ってやったあとにひたすら Gui の内容を
構築することw
そら割と簡単やで、ちゅうか Quick Reference にあった気がせんでもない。
例えば Ctrl+F2 に割り当てるなら
^F2:: MyGui.Show()
ってやるだけ。
面倒くさいのは MyGui := Gui() ってやったあとにひたすら Gui の内容を
構築することw
2023/07/17(月) 19:22:18.19ID:XDsl//0d0
Gui Add Edit で、テキストエリアをクリックするだけで入力されている文字列が選択状態になる方法はありますか?
2023/07/17(月) 21:09:18.79ID:B2mmzP0z0
2023/07/17(月) 21:28:56.07ID:B2mmzP0z0
>>283
Blind 使ってるからちゃうか?
関数化して
sc079 & sc027::
Send, "{Shift down}"
Sleep, Delay time in msec
Send, "{Shift up}"
Return
は?
Blind 使ってるからちゃうか?
関数化して
sc079 & sc027::
Send, "{Shift down}"
Sleep, Delay time in msec
Send, "{Shift up}"
Return
は?
2023/07/18(火) 14:00:51.15ID:CF9kcEEW0
初歩的な質問ですみません
下を実行しても1までで、2と3が反応しないです
使ってるマウスはロジのM750Lなんですが同様の現象を解決できた方いたら教えてください
Xbutton1::
SendInput, {1}
KeyWait, Xbutton1, U
KeyWait, Xbutton1, D
SendInput, {2}
KeyWait, Xbutton1, U
KeyWait, Xbutton1, D
SendInput, {3}
KeyWait, Xbutton1, U
return
下を実行しても1までで、2と3が反応しないです
使ってるマウスはロジのM750Lなんですが同様の現象を解決できた方いたら教えてください
Xbutton1::
SendInput, {1}
KeyWait, Xbutton1, U
KeyWait, Xbutton1, D
SendInput, {2}
KeyWait, Xbutton1, U
KeyWait, Xbutton1, D
SendInput, {3}
KeyWait, Xbutton1, U
return
2023/07/18(火) 14:44:28.17ID:lBVfkO4n0
>>293
MouseClick と違って KeyWait には "U" というオプションはないと思うけど。
Options の説明書きを見る限りじゃ、", U" を全部取っ払ったら期待通りの
動作になるかもね。
KeyWait - Syntax & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/lib/KeyWait.htm
MouseClick と違って KeyWait には "U" というオプションはないと思うけど。
Options の説明書きを見る限りじゃ、", U" を全部取っ払ったら期待通りの
動作になるかもね。
KeyWait - Syntax & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/lib/KeyWait.htm
2023/07/18(火) 15:36:22.45ID:w+el2smL0
どういう動きにしたいのか分からないが、オレ環だとかなりゆっくり押す必要あるけど押す度に 1 → 2 → 3 → 1 → 2 → …と数字一つずつ入力される
win10 64bit Kensington SlimBlade Trackball(拡張ボタン1や2は付属ユーティリティで設定が必要な機種)
win10 64bit Kensington SlimBlade Trackball(拡張ボタン1や2は付属ユーティリティで設定が必要な機種)
2023/07/18(火) 15:46:49.31ID:XAgbB53O0
>>293
マウスやドライバによるか知らんが
XButtonとかは押し下げた瞬間にDown→Upになってしまって押しっぱなしという状態ができなかったりする
そのことと2回目の押し下げが効かないこととの関係は俺にはわからない
なんの解決にもなってなくてすまん
マウスやドライバによるか知らんが
XButtonとかは押し下げた瞬間にDown→Upになってしまって押しっぱなしという状態ができなかったりする
そのことと2回目の押し下げが効かないこととの関係は俺にはわからない
なんの解決にもなってなくてすまん
2023/07/18(火) 19:05:53.01ID:CF9kcEEW0
回答ありがとうございます
>294
Uは必要なかったんですね
間違えてるのを参考にしてたみたいです
外してやってみたのですが駄目でした
>295
相性から可能なマウス(付属ソフト?)はあるんですね
けど反応速度はほしい・・
>296
昨日1回だけ成功したんですが再現できず謎すぎました
>294
Uは必要なかったんですね
間違えてるのを参考にしてたみたいです
外してやってみたのですが駄目でした
>295
相性から可能なマウス(付属ソフト?)はあるんですね
けど反応速度はほしい・・
>296
昨日1回だけ成功したんですが再現できず謎すぎました
2023/07/18(火) 19:25:05.03ID:w+el2smL0
>>297
>>295の動きが希望通り?だったらもっと軽く動くスクリプトが↓
サンプルコード集 - AutoHotkey Wiki
https://ahkwiki.net/SampleCodes
「1.2 キーを押す度に機能を切り替え」の所にあるから参考にしてみれば?
>>295の動きが希望通り?だったらもっと軽く動くスクリプトが↓
サンプルコード集 - AutoHotkey Wiki
https://ahkwiki.net/SampleCodes
「1.2 キーを押す度に機能を切り替え」の所にあるから参考にしてみれば?
299名無しさん@お腹いっぱい。
2023/07/18(火) 23:12:13.23ID:+qf1cFv602023/07/19(水) 16:55:58.66ID:l/NP6n2/0
2023/07/21(金) 03:57:09.33ID:t06Z9tfd0
2用のWikiってないの?
2023/07/21(金) 06:00:31.08ID:Xu2CSu5b0
最初からv2しか無くて、世の中のサンプルが全部v2ならいいのに
2023/07/21(金) 08:00:41.75ID:1JPT1c3e0
v1を理解してるんだったらv2なんて難しくもなんともないのに
2023/07/21(金) 14:38:08.72ID:aUUJgDsM0
たまに V1 → V2 でガラッと変わっているものもあって、
公式のドキュメントサイトで V1 <-> V2 をいったり来たりしながら
コンバートせんとアカンことがあるけどなw
公式のドキュメントサイトで V1 <-> V2 をいったり来たりしながら
コンバートせんとアカンことがあるけどなw
2023/07/21(金) 15:01:03.32ID:TyBbyczW0
splashimageとprogressをtooltip代わりに多用してたせいで難儀してる
オブジェクト関係よく分からんので仕方無しにtooltip使ってるけどフォント変えられないのとマウスで移動させられないのがちょっと困る
オブジェクト関係よく分からんので仕方無しにtooltip使ってるけどフォント変えられないのとマウスで移動させられないのがちょっと困る
2023/07/21(金) 17:01:02.01ID:aUUJgDsM0
慣れれば、というかCやったことあるならとりあえず構造体みたいなもんやと
思っておけばおk
プロトタイプベースがどうのこうの、クラスベースで継承がどうのこうのとか
放り投げとけw
思っておけばおk
プロトタイプベースがどうのこうの、クラスベースで継承がどうのこうのとか
放り投げとけw
307名無しさん@お腹いっぱい。
2023/07/21(金) 18:14:03.38ID:CzIafqnt02023/07/21(金) 20:00:33.36ID:aUUJgDsM0
そっちかいな。
tooltip 代わりに使っていたというなら、Gui で好きなウィンドウを作ったら
ええんちゃう?
公式ドキュメントの V1 Progress / Splashimage にも非推奨で Gui を使えとあるし。
tooltip 代わりに使っていたというなら、Gui で好きなウィンドウを作ったら
ええんちゃう?
公式ドキュメントの V1 Progress / Splashimage にも非推奨で Gui を使えとあるし。
2023/07/21(金) 20:39:41.20ID:Xu2CSu5b0
v2でしか出来ない新機能
みたいなのがあれば移行を促進するけど、なんも無いもんな
動かないのは確実なのでわざわざ移植なんかしないでv1でいいやになる
みたいなのがあれば移行を促進するけど、なんも無いもんな
動かないのは確実なのでわざわざ移植なんかしないでv1でいいやになる
2023/07/21(金) 21:05:37.01ID:TyBbyczW0
AddTextで表示させることは出来るんだけどそこからがね
settimerでタイマー的に経過時間を表示させる場合毎回一からウィンドウを作るん?
それとも1回作ったあとはテキスト部分だけを書き換えたりするもんなの
他言語はUWSCくらいしかさわったことないからセオリーが分からん
settimerでタイマー的に経過時間を表示させる場合毎回一からウィンドウを作るん?
それとも1回作ったあとはテキスト部分だけを書き換えたりするもんなの
他言語はUWSCくらいしかさわったことないからセオリーが分からん
2023/07/21(金) 21:46:26.30ID:aUUJgDsM0
>>310
GUI Control Types - Syntax & Usage | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/GuiControls.htm#Progress
GUI Control Types - Syntax & Usage | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/GuiControls.htm#Progress
2023/07/21(金) 22:19:00.72ID:TyBbyczW0
t::
t := A_TickCount
Progress, M T X0 Y0 ZX0 ZY0 W120 H0
SetTimer, timer, 1000
return
timer:
Progress, , , , % ((A_TickCount - t)) // 1000 // 60 . "m経過"
return
こんな感じで移動可能なツールチップ代わりに使ってただけで進捗バーとして使ってたわけじゃないんだ
サンプル見る限り.valueでテキスト部分も書き換え可能ってわかったけど旧progressのMに相当するオプションはないっぽいのな
t := A_TickCount
Progress, M T X0 Y0 ZX0 ZY0 W120 H0
SetTimer, timer, 1000
return
timer:
Progress, , , , % ((A_TickCount - t)) // 1000 // 60 . "m経過"
return
こんな感じで移動可能なツールチップ代わりに使ってただけで進捗バーとして使ってたわけじゃないんだ
サンプル見る限り.valueでテキスト部分も書き換え可能ってわかったけど旧progressのMに相当するオプションはないっぽいのな
2023/07/22(土) 00:04:18.75ID:cqy/jwFL0
キー関係ないやん、みたいな機能ばっかりなんだよな
pythonか何かのモジュールとしてキー周りの処理に専念して、
UIとかは別の専門の人に任せた方がいいのでは
pythonか何かのモジュールとしてキー周りの処理に専念して、
UIとかは別の専門の人に任せた方がいいのでは
2023/07/22(土) 01:06:33.01ID:BF/oMHO40
ネットワークが接続されたのを検知してからアイコンを変更したいのですが
何か良い方法ないでしょうか?
runwait,netsh interface set interface Ethernet0 enabled, , Hide
Menu, Tray, Icon, C:\Windows\System32\imageres.dll,363
何か良い方法ないでしょうか?
runwait,netsh interface set interface Ethernet0 enabled, , Hide
Menu, Tray, Icon, C:\Windows\System32\imageres.dll,363
2023/07/22(土) 12:40:55.43ID:OFupoZqF0
>>314
runcmdライブラリ使ってpingの結果をregexmatchでifってTrayIcon libraryで変更すれば簡単に実装できそうだけど、わざわざAHK使わずともpython使ったら?という要望がこのスレでは多い気がする
runcmdライブラリ使ってpingの結果をregexmatchでifってTrayIcon libraryで変更すれば簡単に実装できそうだけど、わざわざAHK使わずともpython使ったら?という要望がこのスレでは多い気がする
2023/07/22(土) 13:20:04.61ID:BF/oMHO40
for文で値を確認すればよいだけでしたねスミマセン
2023/07/26(水) 09:56:13.42ID:GfKX9CCz0
AHK v2ってstaticメソッドの中からthisでクラスを参照できたんだ
知らずにずっとクラス名をベタ書きしてた
変わった仕様だが便利だな
知らずにずっとクラス名をベタ書きしてた
変わった仕様だが便利だな
2023/07/26(水) 20:07:05.52ID:wblL14z/0
v1からv2の移行の大半は機械的な置き換えだから、自動化できるわな
https://github.com/mmikeww/AHK-v2-script-converter
https://github.com/mmikeww/AHK-v2-script-converter
2023/07/26(水) 21:34:55.36ID:GfKX9CCz0
移行が面倒くさいから最初のハードルは高いけど
言語としてはv2の方がはるかにマシだから、一度移行したら二度とv1には戻れないな
v1は継ぎ接ぎだらけの奇っ怪な言語だったから
言語としてはv2の方がはるかにマシだから、一度移行したら二度とv1には戻れないな
v1は継ぎ接ぎだらけの奇っ怪な言語だったから
2023/07/26(水) 21:55:31.48ID:5eLaqzDi0
v2はlspが使えるのも便利
2023/07/27(木) 10:19:56.01ID:2+fySodc0
2023/07/27(木) 10:20:55.67ID:2+fySodc0
>>320
LSPとは何でしょうか?
LSPとは何でしょうか?
2023/07/27(木) 18:47:43.09ID:RaNL/EWb0
>>322
Language Server Protocol
コードの解析情報をエディタに提供することで、下記の様な便利機能をエディタ内で使えるようになる仕組み
構文エラーの指摘、入力補完、シグネチャ(関数名や必要な引数や戻り値等の情報)の表示、
関数や変数やクラスメソッドやホットキー等の定義一覧表示およびジャンプ、
スコープ内の変数名を一括変更、自動フォーマット等々
あの関数名は何だっけ、どんな引数が必要だっけ、とわざわざ外部ブラウザでリファレンスを確認し、
それを手動でカタカタ入力とか面倒ですよね。そういうのを少々軽減してくれます
v2用。導入にはLSPに対応したエディタが必要
https://github.com/thqby/vscode-autohotkey2-lsp
今探したらv2限定じゃなくv1のもあった。未使用なので詳細は知らない
https://github.com/helsmy/vscode-autohotkey
Language Server Protocol
コードの解析情報をエディタに提供することで、下記の様な便利機能をエディタ内で使えるようになる仕組み
構文エラーの指摘、入力補完、シグネチャ(関数名や必要な引数や戻り値等の情報)の表示、
関数や変数やクラスメソッドやホットキー等の定義一覧表示およびジャンプ、
スコープ内の変数名を一括変更、自動フォーマット等々
あの関数名は何だっけ、どんな引数が必要だっけ、とわざわざ外部ブラウザでリファレンスを確認し、
それを手動でカタカタ入力とか面倒ですよね。そういうのを少々軽減してくれます
v2用。導入にはLSPに対応したエディタが必要
https://github.com/thqby/vscode-autohotkey2-lsp
今探したらv2限定じゃなくv1のもあった。未使用なので詳細は知らない
https://github.com/helsmy/vscode-autohotkey
2023/07/28(金) 13:40:26.93ID:N9mpyyiM0
ホットキーにCtrlが入ってるとShiftの押し下げが効かなくて困ってます
半角の空白を消した{Shiftdown}の形だと動くのですが、
動くならこの表記でも問題ないでしょうか?
^D::
Send, {Shift down}
Sleep, 2000
Send, {Shift up}
return
半角の空白を消した{Shiftdown}の形だと動くのですが、
動くならこの表記でも問題ないでしょうか?
^D::
Send, {Shift down}
Sleep, 2000
Send, {Shift up}
return
325322
2023/07/28(金) 13:58:40.45ID:hw/bBjue02023/07/29(土) 15:28:44.33ID:0/bV83AT0
マンガミーヤで読んでる時だけ、下カーソルのキーリピートを遅くするとかできる?
2023/07/29(土) 15:40:32.39ID:u+ueY0wx0
できる
まずそのアプリの限定表記を覚えてから
下キーをホットキーとして
キー押下時間を検出して
押している間は任意の感覚で連打
みたいなフロー
ずぶの素人でも一日あれば作れるんじゃないかな
まずそのアプリの限定表記を覚えてから
下キーをホットキーとして
キー押下時間を検出して
押している間は任意の感覚で連打
みたいなフロー
ずぶの素人でも一日あれば作れるんじゃないかな
2023/07/29(土) 15:46:03.68ID:0/bV83AT0
キーリピートって、upなしでdownが連続するんじゃなかったっけ
2023/07/29(土) 16:06:46.65ID:u+ueY0wx0
あるけど
keywaitとかあるんで別に
keywaitとかあるんで別に
2023/07/29(土) 17:49:31.33ID:0/bV83AT0
ゆっくりキーリピートをsleepで実現すると、
sleepしてる間はキーを離しても認識しないので、
手動で連打して一時的に素早く入力しようとしても設定を超えられない
sleepしてる間はキーを離しても認識しないので、
手動で連打して一時的に素早く入力しようとしても設定を超えられない
2023/07/29(土) 18:03:04.96ID:u+ueY0wx0
押下されているか調べて、されていたら
sleepするようにしてみたら?
sleepするようにしてみたら?
2023/07/29(土) 19:02:06.65ID:0/bV83AT0
押しているからsleepしてその間に離してまた押しても無視されるので同じこと
2023/07/29(土) 19:57:46.41ID:oKRVeLg90
簡単にできるけどこの人にレスしたくないな
2023/07/29(土) 20:07:23.41ID:0/bV83AT0
そんなことわざわざ書くような精神構造の人がいるとも思えないので、単純に判らないんでしょ
2023/07/29(土) 21:08:57.18ID:E+GDG1c40
面白い題材だと思ってやってみたらできた
簡単ってほど簡単じゃなかったけど、
難しいことはしなかったから簡単なんだろうな
簡単ってほど簡単じゃなかったけど、
難しいことはしなかったから簡単なんだろうな
2023/07/29(土) 21:19:43.36ID:0/bV83AT0
sleepを使わずにもっと細かい時間単位の周期処理でやらせる方法もあるけど、
タイミングによっていろんな不具合が出そう
タイミングによっていろんな不具合が出そう
2023/07/29(土) 21:32:07.81ID:E+GDG1c40
肝はsleepをどう使うかだと思うからがんばってね
2023/07/29(土) 21:41:19.98ID:NE5aMCff0
2023/08/01(火) 05:06:51.46ID:u4ROO/up0
windowsのALT + F4みたいにウインドウ外をクリックすると閉じるGUIにしたいのですが
なにか簡単に実装できる関数があるのでしょうか?
なにか簡単に実装できる関数があるのでしょうか?
2023/08/01(火) 06:12:22.99ID:LeIBHMIx0
alt-F4をキャンセルしたい時はesc
クリックでもいいけどそもそもマウス使わずに済ませたい人用の機能だし、
元のフォーカスも失ってしまう
クリックでもいいけどそもそもマウス使わずに済ませたい人用の機能だし、
元のフォーカスも失ってしまう
2023/08/01(火) 06:36:36.43ID:+AylZDS10
元のフォーカス失ったときにどーこーする、って考えたらできそう
2023/08/01(火) 09:18:46.41ID:D6173uez0
Alt + F4 はどうでも良くて、ウインドウ外をクリックでウインドウを閉じたい
ちゅうことやと思うけれど…… それだと実現したい状況・要件が不十分やろ。
デスクトップ上に単一ウインドウしかなけりゃそれでも良いけれど、複数の
ウインドウがあったらどれを閉じるの?プロセス総ざらいとかやるとタスクバー
タスクトレイ内の常駐系とかも閉じることになるで。
ちゅうことやと思うけれど…… それだと実現したい状況・要件が不十分やろ。
デスクトップ上に単一ウインドウしかなけりゃそれでも良いけれど、複数の
ウインドウがあったらどれを閉じるの?プロセス総ざらいとかやるとタスクバー
タスクトレイ内の常駐系とかも閉じることになるで。
2023/08/01(火) 09:34:34.97ID:NSGjAKJ50
ウインドウ外をクリックでウインドウを閉じるGUI
つうことで作ってみた(非アクティブになったら閉じる訳ではない)
#NoTrayIcon
Gui, New, +HwndMyGuiHwnd, テストタイトル
Gui, Add, Text, x-0 y-0 w130 h30, テストテキスト
Gui, Show, x200 y100 h150 w250
Return
GuiClose:
ExitApp
~LButton::
MouseGetPos, , , Hwnd
if (Hwnd != MyGuiHwnd) {
gosub, GuiClose
}
Return
つうことで作ってみた(非アクティブになったら閉じる訳ではない)
#NoTrayIcon
Gui, New, +HwndMyGuiHwnd, テストタイトル
Gui, Add, Text, x-0 y-0 w130 h30, テストテキスト
Gui, Show, x200 y100 h150 w250
Return
GuiClose:
ExitApp
~LButton::
MouseGetPos, , , Hwnd
if (Hwnd != MyGuiHwnd) {
gosub, GuiClose
}
Return
2023/08/01(火) 12:21:58.81ID:pJ50EAS30
Alt+Tabの言い間違いじゃなくって
2023/08/01(火) 14:20:10.82ID:D6173uez0
ああ「Alt + Tab」か、それなら GUI の意味も分かるわw
347339
2023/08/01(火) 21:57:06.37ID:u4ROO/up0 やりたいのはALT + F4で出てくるwindowsのシャットダウンというウインドウのように
ウインドウ外をクリックすると閉じるGUIにしたいということです
>>344
左だけでなく中、右クリでもこのウインドウは閉じるので何か一括で楽な方法があるのかなと思った次第です
もう少し自分で考えてみますありがとうございました
ウインドウ外をクリックすると閉じるGUIにしたいということです
>>344
左だけでなく中、右クリでもこのウインドウは閉じるので何か一括で楽な方法があるのかなと思った次第です
もう少し自分で考えてみますありがとうございました
2023/08/02(水) 10:22:25.49ID:qZ0rgwh10
奇天烈な発想は玄人から出てこんので、もっとやれwwwおもしれー
2023/08/02(水) 13:03:59.93ID:75suMALx0
タッチパネルでウィンドウの外をタップすると
そのウィンドウが消えるというのはあると思う
そのウィンドウが消えるというのはあると思う
2023/08/02(水) 13:07:04.26ID:a9LlfJ7o0
web広告によくあるUI
2023/08/02(水) 14:39:20.58ID:6XD1QhP70
352名無しさん@お腹いっぱい。
2023/08/07(月) 15:18:37.47ID:z0wbPqBa0 #InstallMouseHook
~RButton::
KeyWait, RButton, T1
if (ErrorLevel)
{
While GetKeyState("RButton", "P")
{
Click
Sleep, 20
}
}
else if GetKeyState("WheelDown", "P")
{
Sleep 1000
Click
}
else
{
Send, {Escape}
}
return
GetKeyStateを使ってホイール回転を検出しようとすると、ホイールを回した瞬間からずっとOnが返ってくる状態になってしまう。
GPTで調べても的外れな回答しか返ってこない
わかる人誰かタスケテT〜T
~RButton::
KeyWait, RButton, T1
if (ErrorLevel)
{
While GetKeyState("RButton", "P")
{
Click
Sleep, 20
}
}
else if GetKeyState("WheelDown", "P")
{
Sleep 1000
Click
}
else
{
Send, {Escape}
}
return
GetKeyStateを使ってホイール回転を検出しようとすると、ホイールを回した瞬間からずっとOnが返ってくる状態になってしまう。
GPTで調べても的外れな回答しか返ってこない
わかる人誰かタスケテT〜T
353名無しさん@お腹いっぱい。
2023/08/07(月) 16:07:59.97ID:z0wbPqBa0 右クリックを長押しするとクリック連打、右クリックを押しながらホイールダウンでクリック、
それ以外はエスケープになるというスクリプトです。
分けて書くと別々に動いてしまうのでそれを避けるようにしています。
それ以外はエスケープになるというスクリプトです。
分けて書くと別々に動いてしまうのでそれを避けるようにしています。
2023/08/07(月) 16:27:38.76ID:AjxfGTno0
>>352
確かにそういう挙動をしめすね。ただ、
Hotkeys - Definition & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/Hotkeys.htm#Wheel
> Finally, since mouse wheel hotkeys generate only down-events
> (never up-events), they cannot be used as key-up hotkeys.
という記述が何か関係しているのかも。
もしくは(この記述絡みで)一度ホイールを動かすとAHKの内部的なフラグが
立ちっぱなしになっている?
確かにそういう挙動をしめすね。ただ、
Hotkeys - Definition & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/Hotkeys.htm#Wheel
> Finally, since mouse wheel hotkeys generate only down-events
> (never up-events), they cannot be used as key-up hotkeys.
という記述が何か関係しているのかも。
もしくは(この記述絡みで)一度ホイールを動かすとAHKの内部的なフラグが
立ちっぱなしになっている?
2023/08/07(月) 16:37:16.17ID:AjxfGTno0
なんか既視感があるなぁ、と思ったらワシも右クリック&ホイールアップ・
ダウンなスクリプトを組んだことあるわw
そのときは
~RButton & WheelUp::
~RButton & WheelDown::
でやってたな。
他に
WheelUp::
WheelDown::
と
~RButton::
なホットキースクリプトも同時にやってたけど、誤爆した記憶はないな。
全部 MouseGetPos で位置と id を取得して、それを以て処理してる。
ダウンなスクリプトを組んだことあるわw
そのときは
~RButton & WheelUp::
~RButton & WheelDown::
でやってたな。
他に
WheelUp::
WheelDown::
と
~RButton::
なホットキースクリプトも同時にやってたけど、誤爆した記憶はないな。
全部 MouseGetPos で位置と id を取得して、それを以て処理してる。
356名無しさん@お腹いっぱい。
2023/08/07(月) 17:00:56.80ID:z0wbPqBa0 自分も最初
~RButton::
~RButton & WheelUp::
~RButton & WheelDown::
でやってたんですが、それだと右クリックを離した瞬間に
~RButton::が動き出してしまうんですよね……
無効にしたり同時に動かなくする処理があればいいんですが;。;
~RButton::
~RButton & WheelUp::
~RButton & WheelDown::
でやってたんですが、それだと右クリックを離した瞬間に
~RButton::が動き出してしまうんですよね……
無効にしたり同時に動かなくする処理があればいいんですが;。;
2023/08/07(月) 18:56:52.04ID:AjxfGTno0
>>356
離した時じゃなくて押した時ちゃう?右クリで ~RButton:: へ行って、
同時にホイールを触ると~RButton & WheelUp/Down:: が動き出す。
ワシの場合は、~RButton:: の処理内容が右ダブルクリック。
設定時間内にダブルクリックを検出しなければ何もせずに終了、と
していたので特に問題は起きていない。
そこまでテストコードを書いていないからできるかどうか自信ないけれど、
~RButton:: 内に WheelUp/Down のチェックを入れるとかで
回避できそうではある。
離した時じゃなくて押した時ちゃう?右クリで ~RButton:: へ行って、
同時にホイールを触ると~RButton & WheelUp/Down:: が動き出す。
ワシの場合は、~RButton:: の処理内容が右ダブルクリック。
設定時間内にダブルクリックを検出しなければ何もせずに終了、と
していたので特に問題は起きていない。
そこまでテストコードを書いていないからできるかどうか自信ないけれど、
~RButton:: 内に WheelUp/Down のチェックを入れるとかで
回避できそうではある。
358名無しさん@お腹いっぱい。
2023/08/08(火) 00:02:10.85ID:2tx9nkkk0 ~RButton::
KeyWait, RButton, T1
If (ErrorLevel)
{
While GetKeyState("RButton", "P")
{
Click
Sleep, 20
}
}
else
{
Send, {Escape}
}
return
~RButton & WheelUp::
{
Sleep, 500
Click
}
return
~RButton & WheelDown::
{
Sleep, 1000
Click
}
return
処理内容は簡略化されてますがこんな感じです。
右クリックしながらホイールを動かすとクリックが処理されて、その後右クリックを離した所でエスケープが入力されてしまいます。
それを防ぐために~RButton::の中でホイール状態を取得しようとした結果>>352。それぞれを独立して動作させたいのですが無理なんでしょうか(ヽ´ω`)
KeyWait, RButton, T1
If (ErrorLevel)
{
While GetKeyState("RButton", "P")
{
Click
Sleep, 20
}
}
else
{
Send, {Escape}
}
return
~RButton & WheelUp::
{
Sleep, 500
Click
}
return
~RButton & WheelDown::
{
Sleep, 1000
Click
}
return
処理内容は簡略化されてますがこんな感じです。
右クリックしながらホイールを動かすとクリックが処理されて、その後右クリックを離した所でエスケープが入力されてしまいます。
それを防ぐために~RButton::の中でホイール状態を取得しようとした結果>>352。それぞれを独立して動作させたいのですが無理なんでしょうか(ヽ´ω`)
2023/08/09(水) 03:34:35.28ID:xviYZMnK0
MouseGestureLなら簡単に出来そうだから本家でも出来るんじゃね
2023/08/09(水) 18:25:52.85ID:syUydIU00
スレッド周りの設定を変にいじってなければ
こんな感じで希望しているような動作になると思う
~RButton & WheelUp::IsWheelUp := True
~RButton & WheelDown::IsWheelDown := True
~RButton::
IsWheelUp := IsWheelDown := False
KeyWait, RButton, T1
if(IsWheelUp){
ToolTip, WheelUp
}else if(IsWheelDown){
ToolTip, WheelDown
}else if(ErrorLevel){
While(GetKeyState("RButton", "P")){
a++
ToolTip, % a
Sleep, 20
}
}else{
ToolTip, Escape
}
return
こんな感じで希望しているような動作になると思う
~RButton & WheelUp::IsWheelUp := True
~RButton & WheelDown::IsWheelDown := True
~RButton::
IsWheelUp := IsWheelDown := False
KeyWait, RButton, T1
if(IsWheelUp){
ToolTip, WheelUp
}else if(IsWheelDown){
ToolTip, WheelDown
}else if(ErrorLevel){
While(GetKeyState("RButton", "P")){
a++
ToolTip, % a
Sleep, 20
}
}else{
ToolTip, Escape
}
return
361名無しさん@お腹いっぱい。
2023/08/12(土) 00:09:18.32ID:O1uhjaQy02023/08/12(土) 00:12:17.13ID:bDvu5aai0
タブキーを押しながら C キーを押したのを
4に割り当てるにはどのように書けばいいんでしょうか?
4に割り当てるにはどのように書けばいいんでしょうか?
2023/08/12(土) 00:16:11.70ID:yq4dIsr+0
普通に入力されるキーをモディファイアにするんじゃない
2023/08/12(土) 06:13:36.00ID:nmj8+2WF0
"A"で指定してるのに
Error: Target window not found.
になるのは何なんだろう
Error: Target window not found.
になるのは何なんだろう
2023/08/12(土) 11:15:30.71ID:pQJSgS+a0
A じゃなく "A" で指定してるからじゃね?
実際のスクリプト見てないから分からんけど
実際のスクリプト見てないから分からんけど
2023/08/12(土) 11:32:35.55ID:nmj8+2WF0
"A"で合ってる
大半は動いて特定のウィンドウだけエラーになる
大半は動いて特定のウィンドウだけエラーになる
2023/08/12(土) 11:48:12.98ID:LsOfcGj10
だから"を抜けという話なの
2023/08/12(土) 11:57:58.01ID:ZMeXwxNY0
よかれと思って分かりやすい表記をするのはコード実行において難しい問題よね
若い頃コマンドラインの-- <set numbers>の<>を入れなくていいの解らず一日溶かしたことある
若い頃コマンドラインの-- <set numbers>の<>を入れなくていいの解らず一日溶かしたことある
2023/08/12(土) 12:07:58.71ID:nmj8+2WF0
"を抜くと
Warning: This variable appears to never be assigned a value.
そもそも実行できない
Warning: This variable appears to never be assigned a value.
そもそも実行できない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」 [ぐれ★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★5 [ぐれ★]
- 中国外相、台湾問題巡りフランスに支持要請−高市首相発言「挑発的」 [♪♪♪★]
- 橋下徹氏 高市首相“台湾有事”発言に「政治家の失言で一部の人でも仕事がキャンセルに…我々は認めていいのかな」疑問呈す [muffin★]
- 《「最近いつした?」が口癖》国分太一 女性への“わいせつ事案”報道…目撃されていた「下ネタ好き」と「悪辣なイジり癖」 [Ailuropoda melanoleuca★]
- スリランカ人男性の強制送還「中止を」 野党議員らが入管庁に要請 [♪♪♪★]
- 【動画】上海バンダイナムコフェス、ワンピース歌ってる途中に中国政府「日本人の公演全面禁止」発令された瞬間強制終了 怖すぎ★2 [579392623]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 【んな🏡】金曜✨夜も~オールナイトんなっしょい❗🏰【姫森ルーナ】
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ171
- 人間のムカつくところ
- 【悲報】人気声優・和久井優さん、年末予定されてた上海でのファン祭りが高市早苗よって緊急中止にさせられる…😭 [339712612]
