AutoHotkey スレッド part35

レス数が900を超えています。1000を超えると表示できなくなるよ。
2025/04/30(水) 07:59:08.91ID:a3FmoFyv0
スクリプトのリロードはこういうの仕込んどくとよい
なんかキーがおかしいと思ったらとりあえずリロードする悪習がついてしまった

Send,{Ctrl up}{Alt up}{Shift up}{WinKey up}{SC7B up}{SC78 up}

Ctrl & RShift::
Suspend,Permit
Suspend,Off
Reload
return
2025/04/30(水) 08:08:43.98ID:KJkAXDXd0
さてはv1だな
2025/04/30(水) 09:29:03.93ID:C4DsreEM0
>>656
v1だけで起こるバグだろう
2025/04/30(水) 13:50:51.12ID:uRvI2dLQ0
>>657
Ctrl & RShift::
って何?
2025/04/30(水) 14:01:17.40ID:AnNBjRFL0
>>660
ctrlとrshiftの同時指定?
2025/04/30(水) 15:54:36.98ID:wobAJVa70
>>660
v2ホットキーのカスタムコンビネーション
https:/ahkscript.github.io/ja/docs/v2/Hotkeys.htm#combo

v1ホットキーのコンビネーションキー
http:/ahkwiki.net/Hotkeys#.E3.82.B3.E3.83.B3.E3.83.93.E3.83.8D.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.82.AD.E3.83.BC
2025/04/30(水) 22:31:50.73ID:uRvI2dLQ0
>>662
ほう

意外と知らなかったわ
数万行書いてきたけど
2025/04/30(水) 22:36:41.46ID:KJkAXDXd0
何をそんなに書くことがあるんだよ
2025/04/30(水) 23:01:33.88ID:WdOfGJcw0
Windows11でhogeのウインドウをボーダレス化したいのですがこれが最適でしょうか?
WinSet,Style,-0x40000,ahk_exe hoge.exe
WinSet,Style,-0x00C00000,ahk_exe hoge.exe
2025/04/30(水) 23:19:27.39ID:uNoBFfAm0
WinSet, Style, -0xC00000, ; タイトルバーを削除
WinSet, Style, -0x800000, ; 境界線を削除
WinSet, Style, -0x40000, ; サイズ変更枠を削除

適当だけどこれでいいんじゃ?
667名無しさん@お腹いっぱい。
垢版 |
2025/05/01(木) 07:25:24.79ID:LPAnYSIn0
>>659
v2です
v1で存在したバグなら、v2でも直ってないってことですかね
2025/05/01(木) 07:28:18.86ID:PgPBgxkF0
境界線の削除もいるのですね ありがとうございました
2025/05/01(木) 07:46:15.38ID:50RLhBEN0
>>667
どうしたらそう読み取れるのか不思議
2025/05/01(木) 11:59:55.83ID:Ixg7iRi10
v2で起きている
v1でも起きていた

v2でも直っていない

これ以外の読み取り方ある?
2025/05/01(木) 12:17:31.59ID:kAczDSpy0
>>670
あの返信で、「V2でも起きている」はどこから読み取ったの?
2025/05/01(木) 12:19:25.30ID:KUu37+Fc0
>>671
>>667
2025/05/01(木) 12:42:46.85ID:paKxRI3l0
>>662
これって、
3つ押しはできないのかね?

ctrlとかだけ?
2025/05/01(木) 12:49:15.12ID:4vNiUxb40
3つ目はGetKeyStateの結果で分岐させろ
2025/05/10(土) 02:01:24.59ID:uqeJaqPV0
v2のsettimerで動作する無名関数とアロー関数いいな
2025/05/12(月) 23:38:02.43ID:jsCFu0560
GuiにTextを追加したとき、
その文字列の表示の横幅(ピクセル)って計算できる?

背景を、その横幅に合わせたい
2025/05/13(火) 00:08:32.88ID:ZbUzl02M0
hideでshowしてguicontorolgetして再度show
2025/05/13(火) 12:07:15.60ID:Wrk0w7uO0
>>677
あ、
最初にTextをAddしたときに、その文字列の横幅になるけど、
そのTextの文字列を変更したとき、横幅が変わらないわ…
2025/05/15(木) 13:39:26.02ID:EaAsO+xw0
Macから移住してきてAHK知ったけど便利だなこれ!
コマンド覚えるのめんどくさくてドキュメントにあったUIA含むget系全部突っ込んでObjectで吐くコードの実行速度測ったら200msec程度で非常に高速だった。
DllCallでWindowsAPI直接叩いたらもっと早くなるんだろうか?
https://i.imgur.com/BMhqj5m.png
2025/05/15(木) 14:28:31.47ID:20G4ek800
画像にあるコードのうち
Time(5)
MsgBox_(a)
Time(0)
の箇所が(5,0)経過時間でメッセージボックスにかかる時間200msecが遅いと言ってる?
2025/05/15(木) 14:33:46.48ID:20G4ek800
「UIA含むget系全部」について詳しく
2025/05/15(木) 14:35:12.67ID:EaAsO+xw0
>>680
(4,5)のGetAllTitle部分
現在はAHKコマンド使っているのでこれの速度アップ期待できるならなんかいいなーという程度
MsgBox_()はまだ不慣れでスパゲッティ
2025/05/15(木) 14:36:02.04ID:XlndfuuN0
遅いとは言ってない
もっと早くなるのかと問うてるんでは?
2025/05/15(木) 14:38:10.96ID:20G4ek800
>>682
(4,5)経過時間は57msecと画像に表示
2025/05/15(木) 14:52:40.46ID:EaAsO+xw0
>>681
ドキュメントにあったwindowtitle関係とUIA InterfaceのUIA.ElementFromHandleのプロパティ片っ端から入れただけ。おそらくUIA権限の影響で全部取れてないみたいだけど17項目取得してた。
uia: Object{
;; OWN PROPERTIES (Object) ;;
status: 部分的に成功 (14/17),

https://i.imgur.com/dyPff2O.png
2025/05/15(木) 16:51:05.23ID:goYGf0hx0
ShowExplorerの右クリコンテキストメニューみたいなやつ(FilePath) {
...
}

誰か ... の部分を埋めてくれ
2025/05/16(金) 23:09:59.45ID:p81uh+Gi0
Win + 2を、#2::って書くと、
たまーに間違ってスタートメニューが出るわ…
2025/05/17(土) 05:12:17.50ID:pYcdfzaK0
winを押して少しwaitしてから2を押す動作でないとwindows側がおかしくなるんだよな
win-2に複数のウィンドウが割当たっていると確実におかしくなる

yamyで同じことしてた時は何の苦労もなく使えてたのに
2025/05/17(土) 05:56:42.81ID:UOq6XkeR0
>>688


ちゃんと言うと、Win+2を押すと、
#2::のスクリプトが実行されると同時に、スタートメニューも出る

Autohotkeyの処理がおかしいのかな…

Win11、Ahk v2で
2025/05/18(日) 17:45:22.76ID:v6f1DORU0
v2のmsgboxって、
時間で閉じるのと、always on topを同時にできないのかね…?
2025/05/18(日) 17:57:34.14ID:XA+dpzsb0
スクリプト作成依頼?
サンプルプログラムを先に提示すべき
2025/05/24(土) 23:41:07.92ID:az7Z67Ez0
v2に慣れるとv1文法が気持ち悪すぎる
2025/05/25(日) 07:07:10.15ID:tJLVxYTp0
互換性なくしてまで文法ちゃんとさせたのに、
まだちゃんとしてない部分が残りまくってるのが残念すぎる

根本は何も変えてなくて、シュガーコート的に変えてるだけなので、
土台から駄目な部分はどうやっても残る
2025/05/26(月) 02:29:01.34ID:xf+bC6R+0
そのあたりは公式のフォーラムで好きなだけ議論するのだ
2025/05/26(月) 19:48:58.58ID:PpcLw8GB0
言語を再発明する必要がそもそもあるのかという話で
使い慣れた言語から呼び出すライブラリ形式で公開した方がよっぽど役に立つ
2025/05/28(水) 09:18:25.33ID:gqNEjsmJ0
autohotkeyで、
VMwareを操作したいが…
無理?
2025/05/28(水) 09:53:22.07ID:vqCxKBfS0
座標でどうにか
2025/05/30(金) 16:38:25.68ID:Yr9jVGnY0
数が増えすぎて作った関数を覚えてない問題をみんなどうやって解決してるの?
2025/05/30(金) 17:10:52.19ID:R+Xed/n50
1. コードのドキュメンテーションを充実させる

これが最も根本的な解決策です。
関数を作る際に、その関数の目的、引数、戻り値、簡単な使い方などをコメントで記述する習慣をつけましょう。

2. 関数名をわかりやすくする

関数名だけで何をする関数なのかが推測できるような名前をつけましょう。

3. IDE (統合開発環境) / エディタの機能を活用する

多くのIDEや高度なテキストエディタには、コード探索やナビゲーションに役立つ強力な機能があります。

4. バージョン管理システム (Gitなど) を活用する

5. 既存のコードを読み解く戦略

もしすでに多くの関数を作成してしまっている場合、以下の方法で「思い出す」ことができます。
* ファイルやディレクトリがどのように分かれているかを理解することで、目的の関数がどのあたりにあるかの見当がつきます。
* メインの処理や、自分が覚えている関数から、呼び出されている関数をたどっていくことで、関連する関数を見つけられます。
* テストコードがある場合、その関数がどのように使われているか、どのような引数で呼び出されるかなどを知る良い手がかりになります。

6. 小さな単位で関数を作成する (リファクタリング)

一つの関数が多くの処理を担当していると、全体像を把握しにくくなります。
2025/06/03(火) 02:46:51.68ID:7OElfdUd0
.ahkのソースコード全スキャンし
foo() {
#if or #hotif
形式の文字列を正規表現で抽出しファイルのフルパス+行をファイルに保存

毎時or毎日ランダムに1個抽出してその個所をテキストエディタで開き、関数を眺めて記憶をリフレッシュ
不要なら削除するか!!trash!!.ahkに移動

1週間に1回程度リストを更新する

このやり方は自作メモや音楽、動画ファイルなんかにも有効
2025/06/04(水) 02:58:53.28ID:sTySmO7A0
最終的に関数のdocstringsをmarkdownでまとめてdockerでMCP化するのとclinerule化して関数作る前に似たのあるか聞くようにしたわ
702名無しさん@お腹いっぱい。
垢版 |
2025/06/10(火) 13:34:12.49ID:xbkV/Szl0
誤爆しやすくて邪魔でしかない拡大鏡、OSで無効に出来ないけど、これで無効にできてありがたい
2025/06/10(火) 14:07:42.33ID:YKHQiX1e0
win + +(;) が誤爆しやすい?

何と間違えやすいのだろうか?
2025/06/10(火) 14:25:43.02ID:pxz/swIq0
横から回答
win+l
705名無しさん@お腹いっぱい。
垢版 |
2025/06/10(火) 21:11:31.84ID:NxQurR1Y0
トレイアイコンを右クリしたときの色が全体に変わらないんだけど良い方法ありますか?
Persistent
Tray := A_TrayMenu
Tray.SetColor("888888", True)
2025/06/15(日) 16:56:43.29ID:40xoh1QB0
エクスプローラーでホイールクリックをシフト+右クリックに置き換えたら「送る」の中に本来ないものまでみえる
なんぞこれ
2025/06/15(日) 17:05:46.35ID:xDtTpMmD0
置き換えたらってどうやって?
AならB。Bは何?Aが意味不明
2025/06/15(日) 17:16:24.18ID:O7cqOaSP0
ahkの前に日本語の勉強した方がよさそう
2025/06/15(日) 18:50:51.34ID:ARJri1cg0
shift押しながらコンテキストメニュー表示したらって事?

本来見えないものって何?
もしくはスクショ貼って
2025/06/15(日) 19:01:54.12ID:vxf99+Zv0
>>706
そもそもエクスプローラーのSHIFT+右クリックは隠れてるコンテキストメニューが出てくるようになってる
設定で弄ってないければコマンドプロンプトで開くようになってたり色々
2025/06/15(日) 19:03:17.89ID:40xoh1QB0
自分のユーザーフォルダの下にあるフォルダが全部みえてるね
なんでこんな余分なもんまでって感じ
2025/06/15(日) 19:09:02.96ID:40xoh1QB0
#Requires AutoHotkey v2.0

#HotIf WinActive("ahk_exe explorer.exe")
~MButton::
{
Send "{Shift down}{RButton}{Shift up}"
}
#HotIf

コードはこんなだ
実際にSHIFT+右クリックした場合はならない
2025/06/15(日) 19:28:15.12ID:40xoh1QB0
環境はWin11別のPCでも同じという意味での再現性あり
解決が必要な問題というわけではないがもやっとする
2025/06/15(日) 20:03:38.09ID:Rk8MOAYu0
ええ?ウッソだー
Shift押しながらメニュー出したら「パスとしてコピー」とか出てくるの
常識ちゃうん?
2025/06/15(日) 20:15:35.84ID:vxf99+Zv0
元からある機能だし
シフトで送るをするとユーザー名フォルダの中にあるAppDatai以外のフォルダ全てが出てくるのは仕様なはず
2025/06/15(日) 20:41:51.87ID:EaVA3+Dg0
エクスプローラーでShift+右クリックしたら「送る」メニューに%userprofile%にあるフォルダとショートカットファイルが現れる
https:/www.askvg.com/tip-customize-hidden-extended-send-to-menu-in-windows-add-or-remove-shortcuts/
2025/06/15(日) 21:05:12.09ID:40xoh1QB0
少なくともWin11 24H2だとそれ意図的にフタしてあるみたいで手動操作だとならないんだよね
AHKにやらせるとそれ回避しちゃうってことなんだろう
2025/06/23(月) 19:37:26.43ID:9bSSIeXn0
この仕組み気に入ったぜ
使いこなせるかは微妙だが

#if
^+a:: ;; 強モード オン オフ
g_ahk_mode_strong := !g_ahk_mode_strong
return

#if WinActive("ahk_exe notepad.exe") and g_ahk_mode_strong
w::up
a::left
d::right
s::down

#if WinActive("ahk_exe notepad.exe")
^y:: send,{home}+{end}{del 2} ;; 行削除
719名無しさん@お腹いっぱい。
垢版 |
2025/07/21(月) 15:11:56.03ID:LIIxCW8P0
AutoHotkey初心者です。
質問があります。
スクリプトを書いたのですが、メモ帳が「最前面のウィンドウ」として起動する時としない時があります。
これを毎回「最前面のウィンドウ」として起動するようにするには、どう書き直したらいいのかを教えて下さい。
バージョンは「1.1.37.02」です。

;「Esc」が2回連打されたら、【メモ帳】を起動し、「Windows+↑」が押されたことにする(メモ帳のウィンドウのサイズを最大化)。
Esc::
KeyWait,Esc,U
KeyWait,Esc,D T0.2
If(ErrorLevel=1)
Send,{Blind}{Esc}
Else
Run,notepad.exe
Sleep,100
Send,#{Up}
Return
2025/07/21(月) 15:22:17.20ID:H/LSliZa0
お前もういいって
2025/07/21(月) 16:40:37.91ID:SfaUHlUp0
AIに聞いた?
722719
垢版 |
2025/07/21(月) 18:06:02.44ID:LIIxCW8P0
>>721
AIは使い方が分かりません。

ちょっとググったのですが、「WinActivate」を使えばいいのでしょうか?
スクリプトのどの部分に入れたらいいのでしょうか?
2025/07/21(月) 18:25:31.77ID:SfaUHlUp0
AIは十分に進化して人に聞くよりいい回答する場合が多い
AIの最先端の使い方って匿名相手に教えることでないから身近な人に聞くのが一番早い
2025/07/21(月) 18:36:32.74ID:vvGik2Oh0
いまどきAIは使い方がわかりませんてどういうことやねん
2025/07/21(月) 18:37:18.83ID:AIR+ffzy0
AI・・・例えば google Gemini だったら、google Gemini のトップページで「Gemini に相談」欄に質問文書けば良いだけだがな
別にアカウント作ってログインして・・・とか面倒くさいこと不要だぞ
質問内容によってはログイン必須なものもあるがスクリプト作成依頼ぐらいじゃログインしなくてもOK
2025/07/21(月) 18:45:15.39ID:SfaUHlUp0
優しい
727719
垢版 |
2025/07/21(月) 20:44:32.63ID:LIIxCW8P0
>>725
無事に「google Gemini」に質問して、希望通りの動作をするスクリプトが書けました!
AIの使い方を教えていただき、どうもありがとうございました!


;「Esc」が2回連打されたら、常に最前面で【メモ帳】を起動し、「Windows+↑」が押されたことにする(メモ帳のウィンドウのサイズを最大化)。
Esc::
KeyWait,Esc,U
KeyWait,Esc,D T0.2
If(ErrorLevel=1)
Send,{Blind}{Esc}
Else
Run,notepad.exe
WinWait,ahk_class Notepad
WinActivate,ahk_class Notepad
Send,#{Up}
Return
2025/07/21(月) 22:49:58.45ID:EkRP5glg0
>>727
AHKは{}で括ってないif elseはそれぞれ次の1行しか判定を反映させないので
そのコードだとErrorLevelの判定に関わらず、Esc押すたびにWinWait以降が実行されます

メモ帳が起動してない場合、Esc単押しでWinWaitで永遠に待ち続けることになるだけなので
問題が表面化しにくいですがバグです
729719
垢版 |
2025/07/21(月) 23:57:33.37ID:LIIxCW8P0
>>728
確かにEsc単押しでEscの動作ができなくなっていました。
「google Gemini」に質問して書き直して見ました。
ご指摘ありがとうございます!
↓で合っていますよね?

;「Esc」が2回連打されたら、常に最前面で【メモ帳】を起動し、「Windows+↑」が押されたことにする(メモ帳のウィンドウのサイズを最大化)。
Esc::
KeyWait,Esc,U
KeyWait,Esc,D T0.2
If(ErrorLevel=1)
Send,{Blind}{Esc}
Else
{
Run,notepad.exe
WinWait,ahk_class Notepad
WinActivate,ahk_class Notepad
Send,#{Up}
}
Return
2025/07/22(火) 00:24:56.71ID:EksHK52N0
AHK v1だなあ
初心者はAHK v2から使ったほうが絶対にいい

2スレ前の225は事実
> v2はメリットしかない
> v1のヘンタイ構文は少しでもプログラミング経験がある人なら発狂して精神に異常をきたす
> v2に移行すれば精神が安定してコードを量産するようになる
2025/07/23(水) 05:09:38.14ID:gx4JkHDO0
今更の質問だけどv2って押しっぱなし問題は解決されてるの?
2025/07/23(水) 08:59:06.89ID:Jh/GmGGj0
>>731
修飾キー周りのコーディングに気をつけるか、AHK以外でのキースワップをしてやれば
ある程度は防げるけど、起きる時は起きる。
2025/07/23(水) 09:08:15.97ID:rZ5vVYkF0
個人的な経験から言うと、inputで送るとなりやすい気がする
しかしながら昨今のアプリはinputじゃないと受け付けないものが
増えつつあるから悩ましい
2025/07/23(水) 10:38:47.00ID:cWg+jgV+0
変態でもいい、'' 括りとかいちいち面倒くさい
v1でしか得られないカタルシスと成分がそこにはある。
2025/07/23(水) 14:10:32.61ID:5lE5EdAG0
一貫して""なしのポリシーで書けるならまだいいかもしれないけど
そうもいかないからなあ
2025/07/23(水) 20:54:42.68ID:qyJxFZd90
なんか、
「Win + 1」とかを定義したら、
ときどき、「Win + 1」が実行されると同時に、Winキーと誤判定してスタートメニューも同時に出てしまう

v2特有の症状?
2025/07/23(水) 21:12:18.74ID:Jh/GmGGj0
>>736
v1でも起きてたと思うけど。つか頭に "~" 付ければエエだけちゃう?
Hotkeys - Definition & Usage | AutoHotkey v2
https://www.autohotkey.com/docs/v2/Hotkeys.htm#Symbols
A_MenuMaskKey - Syntax & Usage | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/A_MenuMaskKey.htm
2025/07/24(木) 07:38:25.49ID:LeQOr7PX0
>>736
誤判定じゃなく書いたとおり正しく判定されているだけでは
2025/07/24(木) 22:25:53.61ID:Chd+bm+Y0
これは根深くて、win押した変数とか自前で持たないと解決できない
yamyは何も考えずに実現できたのに
2025/07/24(木) 23:18:31.38ID:SCy/D7xX0
それってデバイスドライバレベルで書かないと無理なんでしょ?
追加でインストールでもいいからやってほしいな
2025/07/24(木) 23:26:49.39ID:Chd+bm+Y0
https://www.autohotkey.com/boards/viewtopic.php?t=97447
conclusion: windows is too slow

windowsが悪いのでahkとして直す気は無い
2025/07/25(金) 05:33:01.96ID:CRG2k/VN0
直す気がないつうか、現状の AHK の実装では手が出しようのない部分やろ。
それこそ >>740 の言う通りキーボードドライバレベルでの介入が必要になるんちゃうか?
もしかしたら、MS謹製の Ctrl2Cap と似たような実装が可能かもしれんけど。
2025/07/25(金) 06:25:37.49ID:Gqxguc8t0
ちょっとウェイト入れればいいだけ
キーボード操作なんだから、もともと超高速なんて望んでない

全ての操作に影響するから慎重にやらないといけないけど、
多くの場合、ウェイトが無いことで不具合が出るよりは、
ウェイトを入れることでより正常に動く側なので積極的にやるべき
2025/07/25(金) 13:12:46.17ID:AdSgkVdP0
>>743
これだなー

keyhistoryにちゃんとU/D記録されているからkeyの連続操作のときはwaitでUされてから次の操作するとatomなコードになる
2025/07/25(金) 15:09:47.77ID:aCkrzccR0
トラックボールSlimbladeを使っています
右クリックボタンにセンタークリック
左上のボタンにEnterキー
右上のボタンに右クリック
としたいのですが、
RButton::MButton
XButton1::Enter
XButton2::RButton
としてもうまく動作しません、どうするといいでしょうか?
2025/07/25(金) 15:51:48.49ID:q0zzwQm30
>>745
そういうのはSlimblade導入する時にインストするユーティリティTrackballWorksで基本的なキー割り当てするんだよ
(ちなみに、アプリケーション別にカスタマイズできるしahk無しでも出来ることが多い → 「その他...」メニューから)
その上でTrackballWorksで出来ないことをahkでやる
2025/07/25(金) 16:10:30.55ID:aCkrzccR0
>>746
それはわかってるんですが、kensingtonworksで不具合が出るためAHKを使おうとしています
2025/07/25(金) 16:19:02.94ID:Zd44oO6x0
まず、1なのか2なのかどっち使いたいのかからで
2025/07/25(金) 16:23:44.04ID:aCkrzccR0
>>748
とりあえず2.0をDLしましたが、希望する動作ができればどちらでもいいです
2025/07/25(金) 19:03:00.06ID:q0zzwQm30
>>747
奥側の二つのボタンはSlimblade独自のボタンだからTrackballWorksが無いと何の機能も割り当てられていないただのカチカチ音がするだけのボタン
なので、やることはTrackballWorksを再インストするなりとにかく不具合を取り除くこと以外に無くahkでは解決できないはず
2025/07/25(金) 19:14:24.29ID:loX31t5i0
「Slimblade AutoHotkey」で検索したら出てくるから動作はするのだろう
おま環でSlimbladeのインストールに失敗してるのでは?
検索に出てくる他のスクリプトは動くがそれだけ動かないというなら話は別
752名無しさん@お腹いっぱい。
垢版 |
2025/07/25(金) 19:18:13.54ID:Ext5D0PD0
>>750
ドライバを取り出す方法があり、それをやっているのでそこは問題なさそうです
ttps://note.com/twofaults/n/n4be80b080f99
kensingtonworksの話はおいておいて、4つボタンがある場合のahkでの内容について教えてください
753名無しさん@お腹いっぱい。
垢版 |
2025/07/25(金) 19:19:49.76ID:Ext5D0PD0
>>751
745で書いた内容は間違いない、ということでいいでしょうか
slimbladeのほう確認してみます
2025/07/25(金) 21:57:53.18ID:8SldqlcN0
>>737
お?

A_MenuMaskKeyってなんだろう?
解説がややこしくてよくわかんないw

~#1::とかいけそうだな
でも、仕組みがよくわかんないw
2025/07/25(金) 22:07:26.49ID:abr3QtYq0
AIに聞けばいいだろ
わからないと泣き言をいう前にAIに全部聞いたらどうか
2025/07/26(土) 20:36:56.83ID:VD7XaulT0
AIに聞いても無いと言われたんですが、実行中のtimer一覧を取得する方法ありますか?
2025/07/26(土) 20:53:19.95ID:L2dgnwCZ0
keyhistory
2025/07/27(日) 06:51:28.20ID:E10fY9gm0
AIはリファレンスページのURL貼って探してとかすると捗る
2025/07/27(日) 12:50:19.34ID:gyazo/VK0
>>754
あ、だめだな
~#1::で、1が押される
2025/08/08(金) 15:17:54.81ID:DH4JeWQp0
HHKB Studio ってスペースバーの下にマウスボタン3つ有るけど、
左ボタン+トラックポイントでドラッグができるのは当然として、
左ボタン+任意のキーでショートカットって出来る?
2025/08/08(金) 23:11:58.29ID:M4Wwwdyi0
>>760
AutoHotkeyの質問でなくHHKB Studioで出来るかという質問だよね
スレタイ検索で見つかったスレに誘導かAIに聞くかヤフー知恵袋で聞くかでどうぞ
Happy Hacking Keyboard US Part57
mevius.5ch.net/test/read.cgi/hard/1711036912
Happy Hacking Keyboard Part47
mevius.5ch.net/test/read.cgi/hard/1710776741
2025/08/09(土) 00:18:42.65ID:GRFof4Ah0
>>761
AutoHotkey で 左ボタン押下中に任意のキーを押せば
左ボタンはモディファイヤキーとして機能させられるのだろうかって質問なんだけど。
で、左ボタン押下中にトラックポイント操作すれば普通にドラッグ出来るように、と。
2025/08/09(土) 00:20:38.74ID:l0SqKkm60
やってみてどう上手くいかないのか具体的なソースを晒して質問したらいいでしょ
出来ますか? じゃねえんだよ
2025/08/09(土) 02:35:52.40ID:Ux9Xoo4f0
>>762
おまえはどこまで出来た?
他人にしか聞いてない
自分の手の内を隠しすぎ
テイカーすぎ
おまえがどこまで出来る人かを言わないと回答するのも難しい
どこまで出来て結果はどうだった?
2025/08/09(土) 03:26:23.74ID:GRFof4Ah0
質問中の件が可能なら HHKB Studio の購入に踏み切ろうかと検討中で、
現時点では HHKB Studio を所有してないのでソース云々の段階ではありません
2025/08/09(土) 05:33:29.62ID:sM1CSNE30
現物持ってないと答えられないのに、
回答厨はなんでも回答したがるんだよな
回答不能という事実は受け入れられないので、その場合は質問者が悪い
2025/08/09(土) 07:27:09.04ID:ueXdaAEt0
HHKBの方で聞くべきでは
2025/08/09(土) 13:02:51.74ID:Vh67oxES0
>>766 この板に粘着してる質問厨が悪質
>>764 受け答えが質問厨に酷似している、単純にAutoHotkeyの初心者ならそう言え
>>767 HHKBは関係ない >>764が通常のマウスで試せば良いだけ
2025/08/09(土) 17:06:40.24ID:DIkcmEuf0
>>768
HHKBの下ボタンは単なるマウスのボタンじゃない
だから普通のマウスボタンで代替できるわけじゃないのでHHKBユーザーしか分からないってのはその通り
770760
垢版 |
2025/08/10(日) 01:12:45.19ID:sK23+I5h0
参考になる記事を見つけたので報告
マウスボタンに F13~F24 を割り当ててゴニョゴニョ
最悪、Keyboard Quantizer を使えばなんとかなりそうな気がしてきた
AutoHotKey V2 による HHKB Studio のカスタマイズ
https://qiita.com/rai_suta/items/fb36494059686764d162
2025/08/10(日) 06:08:32.16ID:5sqji+/O0
モディファイア状態を自前で持たせる
という方針は、苦労ばかり多くて安定しないんだよな
99.9%動いてもたまにおかしくなる機能は使いたくない
2025/08/10(日) 06:13:18.17ID:60+s/smz0
>>770
HHKB Studioは余計なバンドルドライバがあって難儀なキーボードだな

>>760のショートカット自体はゴニョニョせず出来るのにね(通常のキーボード&マウスなら)
2025/08/10(日) 09:12:42.70ID:rLDk3RXF0
片手デバイスとして6個のキーに好みのショートカットやマウス操作を割り当てる「プログラマブルキー」レビュー、青軸メカニカルの心地良い打鍵音も
gigazine.net/news/20241224-sanwa-supply-programmable-key/

https://egg.5ch.net/test/read.cgi/software/1719681136/900

これは?
2025/08/10(日) 11:44:18.18ID:NzAirwY90
>>773
これええね
買おうかな
2025/08/10(日) 20:04:59.94ID:oqRJ8m6P0
>>770
>>762の内容を実現しようとしているのなら、実際に今のマウスの左クリックでドラッグとコンビネーションキーを
両立させるようなスクリプトを組んでみればよく分かると思いますが
根本的な矛盾が出るので、HHKBとかAHKも関係なくうまくいくことはないですよ
2025/08/10(日) 20:36:02.82ID:NzAirwY90
>>737

このA_MenuMaskKeyっていうの、
何回読んでもよくわかんない…
2025/08/10(日) 20:44:32.42ID:1d9YrVmG0
> スタートメニューやアクティブウィンドウのメニューバーが予期せぬタイミングで起動しないように、マスクキーが自動送信されます。
という説明があるからWinキーでスタートメニューが起動しないようにするものでは?(しらんけど)
2025/08/10(日) 21:13:31.23ID:5sqji+/O0
マスクキーというのはマスクの為に送信する具体的なキー
以前はCtrl固定で、今は何を送信するか指定できる
2025/08/10(日) 21:26:58.89ID:oqRJ8m6P0
>>776
修飾キーの内WinとAltは単押しした場合、それぞれスタートメニューが開く、メニューバーにフォーカスする
というWindows標準動作がありますが、この2つのキーを押下中に何らかのキーを押した場合、この標準動作はキャンセルされます

この2つのキーをフックを利用するホットキーの修飾キーとして使用する場合、Windowsがなんらかのキーを押したと認識しないことがあります
そのためAHKではWindows標準動作をキャンセルするために、状況によってA_MenuMaskKey(デフォルトではLCtrl)をSendします
ただし、LCtrlではアクティブアプリやタイミングによって誤作動が発生する可能性があるため、A_MenuMaskKeyは変更できるようになっています
実際にはあまり難しく考える必要はなく、 A_MenuMaskKey := "vkFF" をスクリプトの頭の方に書いておけばいいだけです

ページ中段にある ~LWin::Send "{Blind}{vkE8}" については、これをスクリプト内でホットキーとして指定おけば
LWin単押しによる標準動作を無効化した上で、LWinを修飾キーとして使用することができると言う内容です
2025/08/10(日) 22:04:47.17ID:NzAirwY90
>>779

んー
この返信を読んでもよくわからん…

A_MenuMaskKey := "vkE8"  でええのか?
たとえば、「Win + P」を記述したい場合。
まあ、普通に動いてるけど…
2025/08/10(日) 22:56:10.22ID:oqRJ8m6P0
>>780
A_MenuMaskKeyによって起こり得る誤作動はA_MenuMaskKeyに設定されているキーによるものだけです
デフォルトではLCtrlが押しっぱなしになったり、LCtrl+何かのキーによるショートカットが発動したりする可能性はありますが
A_MenuMaskKeyに何を設定していても、WinやAltの標準動作のキャンセルがうまくいかないと言うことはありません
したがって、とりあえずA_MenuMaskKeyにはvkE8やvkFFなどの割当がないキーを指定しておけば問題はないと言う話です

そもそもとして>>736で言っているような修飾キーとして使用する際に標準動作が誤作動として起きる場合、A_MenuMaskKeyは関係ありません
原因としては、チャタリングなどの物理的なものや、スクリプト内でなんらかの干渉しているコードがあるとかは考えられますが
単純に言えばおま環なので第三者からでは分かりません
ただし、上で書いたように ~LWin::Send "{Blind}{vkE8}" をホットキーとして指定しておけば
LWinを押した時点で標準動作はキャンセルされるので、単押しでスタートメニューが開かなくなるかわりに
修飾キーとして使用した時にスタートメニューが出てくるようなことはなくなると言うことです
2025/08/10(日) 23:06:42.78ID:5sqji+/O0
安定性を犠牲にしてやれることをとにかく増やして、
安定させる為の方策はいろいろ用意しとくから各自トライアル&エラーしてね
という方針なんだよな

安定性最優先で、安定性を損なう機能は実装しない、というのが本来だろうに
2025/08/11(月) 00:42:27.45ID:QTDuYcJm0
>>782
自分で負担を背負う意思を示さずに他人に要求すべきでない
乞食が限界突破してる
2025/08/11(月) 12:12:19.21ID:72vkpc/w0
>>781
んー

まあでも、A_MenuMaskKey := "vkE8"
って書いたら、反応が良くなった気がするわ
誤爆も今のところ無いわ
2025/08/12(火) 17:43:20.21ID:kK1whHks0
A_MenuMaskKey := "vkE8"

これ初めて知った
スクリプトの最初に設置するおまじないにしてみる
2025/08/15(金) 14:15:02.63ID:VepnBS4F0
>>782
マニュアルしかなかった頃の車にオートマを求めるのはどうかと
細かく思い通りにやれるのもAHKの売りみたいになってるし
何も考えずに使える方向に行く気はまだないのでは
2025/08/15(金) 18:59:36.44ID:JqbydU+m0
>>782
そういうのを求めるならそういうの使えばいいのでは?
2025/08/16(土) 10:33:28.69ID:ZFnWHixN0
選択肢が殆どないからな

元々yamyを使ってて、リモートワーク用のソフトがかなりキーを奪うタイプで、
起動後にyamyを再起動する必要があった
yamyは再起動が面倒なので、ホットキーで再起動できるahkに乗り換えた
ahkはいろいろできる代わりにとにかく不安定で、結局似たようなことしかできない
789名無しさん@お腹いっぱい。
垢版 |
2025/08/16(土) 13:48:17.96ID:ZbB3bdOT0
アプリによって、数字キーとテンキーの数字キーで別々の
機能を割り当ててることがあるんですが、
テンキーレスのキーボードを使ってると片方の機能が使えません
なんか良い方法無いですか
2025/08/16(土) 14:13:51.59ID:tozWWP380
外付けのテンキー買っちゃうのが多分一番ストレスなくなるよ
2025/08/16(土) 14:57:12.89ID:n3CI8wSR0
>>789
片方のキーをイジェクト(物理的なキー数減らし)してんだから出来ないのは当たり前でしょ


>>790の言うようにキー増やすかcapsキーとかで押下判定組み合わたら?
792名無しさん@お腹いっぱい。
垢版 |
2025/08/27(水) 17:46:44.15ID:iQ35Flgo0
sharepointを検索範囲に含められる?
793名無しさん@お腹いっぱい。
垢版 |
2025/08/27(水) 17:47:05.44ID:iQ35Flgo0
書くところ間違えました
2025/08/29(金) 15:39:11.89ID:36YKTVoW0
V2でタスクトレイアイコンの左クリックで何か処理することって出来ますか?
右クリックして出るメニューの増設(A_TrayMenu.Insert)や、そのメニュー項目を
A_TrayMenu.Default := "menuname" で指定することで左ダブルクリックで処理
させることは出来るんですが左シングルクリックが解らない
2025/08/29(金) 16:08:32.07ID:GqkxGuKS0
出来るできないで言えば、多分出来る…… けど AHK で用意されている範疇というよりは、
DllCall オンパレードでほぼ Windows なプログラミングな趣になる気がするな。
796794
垢版 |
2025/08/29(金) 18:14:49.37ID:36YKTVoW0
>>795
ありがとうございます。あー、そうなりますか
実現するのはかなり苦労しそうですので現時点ではダブルクリックで我慢しておきます
2025/08/29(金) 18:35:12.46ID:GqkxGuKS0
>>796
「もしあるなら誰か海外ニキが作ってないかな?」とちょいとググってみたけど、
某所にて「簡単じゃねぇよ(意訳)」とバッサリ切られてたw
2025/08/29(金) 18:51:13.19ID:NuyAu6V20
>>796
リファレンス
Menu/MenuBarオブジェクト → プロパティ → ClickCount
これは?
間違ってたらスマン
2025/08/29(金) 18:53:27.58ID:coMuEi4N0
>>796
いくつか方法がありますが、以下の説明でまったく分からないとか言うレベルでなければ、実装自体は割と簡単にできます

・A_TrayMenu.ClickCount := 1 とすることでデフォルト動作をダブルクリックではなくシングルクリックに変更する
当然ながらトレイアイコンのダブルクリックは使用できなくなります

・ACCかUIAライブラリを拾ってきて使用する
おそらく、一番簡単で汎用性が高い方法です
私は中クリックにスクリプトのリロードするように割り当てています。省略していますがこんな感じです
#Include UIA.ahk
#HotIf GetMouseClassName("Shell_TrayWnd") ; マウス下のクラス名を取得する自作関数
MButton:: {
if UIA.ElementFromPoint().Name == "MyScript_v2.ahk"
Reload()
ifまたはswitchでの判定で他のトレイアイコンにも使用可能です

・OnMessageを使用する
AHKは固有ウィンドウメッセージとして、0x404がトレイアイコンの通知メッセージとして使用されているようです
したがって、下記のようにOnMessageを指定しておくことでメッセージをインターセプトできます
OnMessage(0x404, AHK_NOTIFYICON)
AHK_NOTIFYICON(wParam, lParam, *) {
if lParam == 0x202 { ; WM_LBUTTONUP
MsgBox
return 0
}
}
800794,796
垢版 |
2025/08/29(金) 19:12:43.02ID:36YKTVoW0
>>797-799

ありがとうございます
A_TrayMenu.ClickCount := 1 このプロパティ見落としてました。これが一番簡単ですね
ダブルクリックを捨ててシングルクリックで動作するほうが自分の使い方としては合ってるかも

ライブラリ入れるのは色々大変なので後ほどOnMessageの方法を試してみます
801794,796,800
垢版 |
2025/08/29(金) 20:02:39.13ID:36YKTVoW0
ClickCount試しました。ダブルクリック諦めて良いならこれですね、何より簡単
OnMessageも試しましたがダブルクリックと同居させるには両方走らないよう自前で判定しないといけないですね
複雑にしすぎると不具合の元なので、それならSHIFTやCTRLの状態を判定して処理分岐したほうが良いのかもしれません

皆さん本当にありがとうございました
2025/09/14(日) 22:07:34.77ID:sY7MnDYe0
A_Indexってなるべく使わない方がいいんですよね
803名無しさん@お腹いっぱい。
垢版 |
2025/09/16(火) 17:30:08.03ID:rqAzinal0
2ndモニターや3rdモニターを右クリックするとマウスが飛んでしまうWin11のバグ対策ってAutohotkeyでできませんか?
解像度テキスト倍率1倍にしたら解決しますけどメニューの文字が小さくなりすぎて老眼にはきついです
804名無しさん@お腹いっぱい。
垢版 |
2025/09/16(火) 20:25:22.50ID:rqAzinal0
>>803
解決したので取り下げます
2025/09/17(水) 15:27:41.40ID:sRhl0uT50
>>789
CapslockをF13等実在しないキーにしてmodifier的に機能させる(要ChgKey)
~F13 & 1::Numpad1
~F13 & 2::Numpad2
とかやる
ウチのFILCOの91キーでは安定してる
2025/09/17(水) 22:42:45.94ID:ELMfGMJ30
押しにくくないか
2025/09/18(木) 04:14:14.63ID:o+mw5UNe0
HHKBが嫌いな俺にそれ言われても知らんがなって感じ
2025/09/18(木) 07:35:54.70ID:hF3hL3xN0
テンキーに機能を割り当てるのはぱっと押せるホットキーがたくさん欲しいアプリなので、
仮想的にテンキーを実現するより、外付けのキーを繋ぐのがおそらく正解
数値入力したい訳じゃないので、テンキーじゃない形の方が望ましい
2025/09/18(木) 08:54:20.54ID:q8xaZnpf0
>>807
お前が誰かこそ知らんがな
2025/09/18(木) 11:53:46.16ID:ICqocg3V0
>>809
なんだツィミは?
2025/09/18(木) 12:08:52.50ID:o+mw5UNe0
>>809
左手が不自由どころかアタマまでとは可哀想に
2025/09/18(木) 12:11:50.02ID:cnj66DUh0
>>811
うわ本物かよこわ
2025/09/18(木) 12:14:47.28ID:o+mw5UNe0
片手でShift+8くらいまで指が届かないとか
脳内で数字をテンキー変換できないのはさすがに能力低すぎないか
2025/09/18(木) 14:07:42.76ID:0Iq2I4/M0
>>813
身体的なものを罵倒の手段に使うな

基本的に罵倒する癖治せ
2025/09/18(木) 14:17:43.95ID:o+mw5UNe0
短指症でいじめられた中卒引きこもりかどうか知らないけどお大事に
2025/09/18(木) 14:18:49.35ID:wjYqCCbs0
ゲームやアプリで「たまに」テンキー入力をエミュレートしないとどうにもならんのあるよなって話で
数値入力の話なんて誰もしていないのだがカタワ低知能多すぎ
2025/09/18(木) 14:19:36.08ID:5ey9qvS60
根本的に罵倒体質なんだな
2025/09/18(木) 14:20:27.50ID:wjYqCCbs0
>>806
もう音声入力にしなよどうせ寝たきりなんでしょ
2025/09/18(木) 14:22:06.05ID:HikAfSvW0
ていうかマジで何で>>807が急に割り込んできた?
2025/09/18(木) 14:22:14.42ID:wjYqCCbs0
結局興味の対象が俺なのが草
こいつらどんだけ頭悪いんだっていう
2025/09/18(木) 14:24:18.23ID:o+mw5UNe0
>>812
小指詰めてる奴に本物言われて草
2025/09/18(木) 14:56:37.30ID:o+mw5UNe0
上で物理テンキー買えとか言ってる境界知能全員集まってきてて草
2025/09/18(木) 20:20:13.88ID:HaUhsEV60
AHKを滅茶苦茶使ってるがスレが無投稿なことに耐えられないから罵倒してスレを伸ばすのだ
本当は罵倒せずスレを伸ばしたいがそうすることができない
だから罵倒するのは仕方ないとお前らをプロファイリングしてみた
2025/09/18(木) 20:22:24.38ID:HaUhsEV60
>>819が特徴的で相手に投稿させよう投稿させようとしてる
2025/09/19(金) 00:53:42.05ID:gnkj7yWC0
皮肉にしか見えないのに罵倒って
言われたバカ同士の間でそのタームを大切に共有してるの草
2025/09/19(金) 00:56:07.16ID:gnkj7yWC0
>>806
こういうユーザビリティの話だと思った奴
吐き気催すほどアタマ悪いっていう
2025/09/19(金) 00:57:56.34ID:UIgsV/300
カタワと低知能ほどHHKB使いたがるのは笑えたけど
2025/09/19(金) 01:00:15.63ID:gnkj7yWC0
自分がカタワだとキーボードもあの欠損した感じが良いんだろうな
2025/09/19(金) 01:09:01.23ID:UIgsV/300
>>808
コイツなんか何を言ってるのかまったくわからないんだけど
2025/09/19(金) 01:10:24.22ID:UIgsV/300
コイツアプリからキーボードから「自分で選んでる」と思ってるらしいけど
そういう話ではぜんぜん無いって言う
2025/09/19(金) 01:15:17.25ID:PH/tYeAJ0
また2回線セットで来たのか
2025/09/19(金) 01:21:54.59ID:UIgsV/300
別に知能テストしたいわけじゃないんだがウェクスラーだと多分75-80も無いぞお前ら
母ちゃんおまえのしょうらいがしんぱいだよ
2025/09/19(金) 02:27:00.92ID:UIgsV/300
キーボードくらいしか選べない人生が可哀想すぎて泣けるわ
2025/09/19(金) 03:27:12.34ID:gnkj7yWC0
Shift+8なんてマウキーのゲームで普通に要求される操作だろ
どんだけカタワだよっていう
2025/09/19(金) 03:30:33.64ID:UIgsV/300
>>806
押しにくいとか俺が知るかよ母ちゃんに押してもらえって
2025/09/19(金) 03:32:22.61ID:gnkj7yWC0
池沼キーボード使ってる奴はほんと池沼だな
何がハッピーハッキングだよアタマハッピーセットかよ
2025/09/19(金) 06:54:03.20ID:DUFScsCY0
Shift+8押せる押せないって話はどこからきたんだよ
人に見えない物が見えるってそれ統失っぽいから医者かかったほうがいいぞ
2025/09/19(金) 12:03:57.99ID:Hs5GfuEU0
>>837
言って聴くわけないしなぁ
2025/09/19(金) 18:43:15.95ID:Jdet+CK80
Shift+8は>>813から来た
HHKBはテンキーがない
「片手でShift+8」はShift+フルキーの8のことかな
テンキーがないキーボードでフルキーの8を代わりにしたいということかな
読解力があればこれくらい読み取れると思うが読み取れないのは小学校くらいの国語力がないっぽいから国語のリカレント教育を受けたほうがいいぞ
だから何だという話はあってどうでもいい話だから気にすることもないだろ
2025/09/19(金) 19:43:24.45ID:0UN3dEXb0
>>839
その>>813の頭がおかしいって話なんだよ
急に入ってきて他人がしてない話をし始めて他人を罵倒する
他人の国語力を馬鹿にするほどの国語力の持ち主なら、
ID:o+mw5UNe0の言ってることを解説して欲しいわ
2025/09/19(金) 20:23:15.60ID:Jdet+CK80
HHKBを使ったことないが使ってみても何もいいところがなく「何だこれ」と思うもそれを口に出せないのは
歴史だけはあって日本人は伝統を大事にしようという教育を受けているために批判されないキーボードだからでその話題が出たからスレが荒れた
2025/09/19(金) 22:35:37.10ID:hPbpt0yh0
v1でこんなグローバル変数があって気持ち悪いんだけど
grepかけて気合と根性で目視で探していく以外でスマートに定義箇所を特定する方法ない?

a[0 of 0]:
LButton[0 of 0]:
RButton[0 of 0]:
Send[0 of 0]:
Shift[0 of 0]:
2025/09/20(土) 09:08:46.12ID:92NkOJy90
>>841
元々テンキーレスの話をしていただけでHHKBの話なんてしてない
ノートPCを始め、テンキーレスキーボードなんていくらでもあるのに、
突然HHKBの話を始めたのが>>807
小学生くらいの国語力がなんだって?w
2025/09/20(土) 13:40:32.54ID:11rVor0k0
ロジクールもエレコムもバッファローでさえテンキーレスあるのになぁ
2025/09/20(土) 13:42:50.60ID:MQ5R/bzg0
テンキーが要らない訳じゃなくて、
変態配列に適合できる俺スゲーがやりたいだけだしな
2025/09/20(土) 15:15:51.17ID:92NkOJy90
自身がHHKB使えないからって使える人を叩く
酸っぱいブドウそのもの
2025/09/20(土) 16:54:49.52ID:11rVor0k0
しつこい上に内容もスレに絡んで無いからからいい加減やめろ
2025/09/20(土) 21:35:55.20ID:MQ5R/bzg0
買っちゃったら仕方ないから使うだろうけど、
使わないんじゃなくて買わない
HHKB信者はここは楽園だと宣伝する北朝鮮民と同じ
2025/09/21(日) 07:34:14.23ID:v7lLdDQw0
知らんがな
気に食わないならメルカリにでも流せや
リセールバリュー高いんだから大して損しないだろ
2025/09/28(日) 01:39:41.32ID:1Kx06iHK0
try文のスタックトレースが便利すぎてtryだらけになった

みんなもそうなの?
2025/09/28(日) 08:18:03.17ID:nO/MKVcP0
入力が不定で当然エラーが想定される場合に使う
キー処理なんかエラーは起きないので使わないのが本来
2025/09/28(日) 08:33:22.28ID:2SDrG5Qw0
あとは非同期な割込み処理っぽいものが絡んでくるときとかかな?
2025/09/28(日) 08:52:27.31ID:nO/MKVcP0
低レベルフックで行儀の悪いことをする奴の存在というのが非同期割り込みそのものだけど
共存できないから行儀が悪いのであって、共存しようという努力は虚しい
2025/09/28(日) 11:59:52.77ID:4f5CN/7v0
分からなかったんでスタック(スタックトレース)を調べた

https://ahkscript.github.io/ja/docs/v2/lib/Error.htm

Stack:Errorオブジェクトが構築された時点のコールスタックを表す文字列です。
とある

v1にこのStackがないように見えた(インストールしてないんで)

http://ahkwiki.net/Catch

What、File、Line、Message、ExtraがあってStackがない

v1かv2か言うべき
2025/09/28(日) 12:02:58.98ID:vS0Z7+8A0
tryっていうかthrow {いろいろ詰まったハッシュ} をアホほど使う
正常に動け、さもなくば死ねというコードが楽すぎる
エラー通知もmsgbox、outputdebug、その他レポートファイルと好きにできるし
2025/09/28(日) 21:32:40.05ID:U1F2u7s40
AHKみたいに欲しいのがとりあえず作れればいいやって言語だと
他言語の経験があれば当たり前のことまで
わかりやすく解説する人が少ないのかな
857名無しさん@お腹いっぱい。
垢版 |
2025/10/16(木) 14:17:43.16ID:XVfqTpd20
チャットツールがEnterで送信してしまう問題。MacではKarabiner-ElementsというツールでなんとかするってのがQiitaにありました。
s://qiita.com/eri_tsuruma/items/57d30f1c350cdf5c8f96
AutoHotKeyでできるものでしょうか?

#HotIf WinActive でブラウザ特定
下記のやりかた(Alt+D)でURL判定してチャットサービスかどうか判定
s://stackoverflow.com/questions/6275405/how-can-i-get-the-current-browser-url-with-an-autohotkey-script
であとは一律enter → shift + enter にしちゃえばよいのかな

もっとよいやりかたありますか?
858名無しさん@お腹いっぱい。
垢版 |
2025/10/16(木) 15:40:35.47ID:XVfqTpd20
すみません、ぐぐったら近いやつで画像が一致したら判定するってのがありました
"Enter not sending messages to chat"
s://www.autohotkey.com/boards/viewtopic.php?t=102308
2025/10/17(金) 04:35:59.03ID:syX4q2Ul0
アルファベットキー長押しで大文字って可能でしょうか?
ChatGPTに書いてもらって何度も修正してもらったのに効きませんでした
最初は全部をまとめて指定してダメで一個にしてもダメだったのでその事自体が出来ない事なのかと
もし可能なのであればコード貼らせていただきます
v1です
よろしくお願いします
2025/10/17(金) 07:47:53.39ID:XYuQcndz0
長押しは設定する時間(秒)を基準に大きいか小さいかで判断するから通常打ち(単打ち)の時間ラグが半端なくなり"脱字"しまくりになるだろう(実際自分で確認済み)
だからそんな方法で大文字入力するのは止めた方が良いと思うけどねぇ
一回一回 [shift]+[文字キー] が面倒で連続的に大文字入力したいなら CapsLock で固定すればいいと思うんだがそれも面倒くさいとか?

どうしても長押しに拘るなら以下で
サンプルコード集 - AutoHotkey Wiki
https://ahkwiki.net/SampleCodes
「1つのキーに3種類以上の動作割り当て」
2025/10/17(金) 08:16:13.80ID:UXs9RRzq0
押した時点で入力、
長押しなら入力された文字を消して大文字を入力にすればいける
でもIMEのオンオフで挙動が変わったりするだろうから、
実用的かどうか
2025/10/17(金) 10:17:54.76ID:ouEvx/6R0
CapsLockを単体押しでCapsON/OFFさせるようにしたほうが楽じゃね?
アルファベットキーの長押しって本来はキーリピートが発生するわけなのでかなり操作性が厳しそう
863名無しさん@お腹いっぱい。
垢版 |
2025/10/17(金) 11:02:30.35ID:naC6QFu90
話はそれるけど時間を作って早いうちにv2に書き換えたほうがいいよ
2025/10/17(金) 11:35:53.32ID:xPg46aob0
v1の話をするなとw
話に入れないから
2025/10/17(金) 12:23:36.67ID:yzcJtUwT0
トグル操作はうんち
単押しでオン・シフトと押してオフ、あるいはその逆がいいよ
2025/10/17(金) 15:07:59.93ID:qiQo/7KI0
珍妙なUIにするより^uでカーソル位置の文字または範囲指定したテキストを大文字化するマクロ組んだほうが速そう
867名無しさん@お腹いっぱい。
垢版 |
2025/10/17(金) 15:47:02.88ID:naC6QFu90
ms-imeなら日本語入力時に
ctrl+pで全角英 → ctrl+oで半角英 → 以降oの度に大文字・小文字が変換される
ってのがあるけどそういう話じゃないんだろうな

勝手な想像なうえに失礼だろうけど、pc入力初心者や高齢者向けの機能なのかな。指一本入力の為に実現したいとか?
全然違うならごめんなさい
2025/10/17(金) 16:11:43.15ID:fpsrPEqz0
何となくやけど、スマホ等のスクリーンキーボード的な挙動を実現したいとか?
2025/10/17(金) 19:02:27.31ID:bVXYUNmz0
>>858
画像検索はおすすめしません

URLをAlt+Dでクリップボード経由で判定する方法以外では
Descolada氏のUIAライブラリ UIA.ahk
ttps://www.autohotkey.com/boards/viewtopic.php?f=83&t=113065
に付属している UIA_Browser.ahk
ttps://github.com/Descolada/UIA-v2/blob/main/Lib/UIA_Browser.ahk
を利用する方法が簡単です

EdgeとGeminiで試す場合のほぼ最小コードだとこれで可能です
#Requires AutoHotkey v2.0.18+
#Include UIA.ahk
#Include UIA_Browser.ahk

Edge := UIA_Browser("ahk_exe msedge.exe")

#HotIf WinActive("ahk_exe msedge.exe") && InStr(Edge.GetCurrentURL(), "gemini.google.com")
Enter:: Send("+{Enter}")
+Enter:: Send("{Enter}")
2025/10/17(金) 19:53:51.91ID:bVXYUNmz0
>>869
すいません間違えました
これだとEdgeを起動してない時や再起動した場合エラーになります

アクティブなEdgeのHWNDが変更された場合、オブジェクトを更新する仕組みがいるので
こういった処理が必要になります
IsAIChatInEdge(){
static prev_hwnd := 0, Edge
if !hwnd := WinActive("ahk_exe msedge.exe")
return false
if prev_hwnd != hwnd {
Edge := UIA_Browser("ahk_exe msedge.exe")
prev_hwnd := hwnd
}
return InStr(Edge.GetCurrentURL(), "gemini.google.com")
}

#HotIf IsAIChatInEdge()
Enter:: Send("+{Enter}")

もしくは余り好ましくないかもしれませんが、このように毎回オブジェクトを取得すればいいかもしれません
#HotIf WinActive("ahk_exe msedge.exe") && InStr(UIA_Browser("ahk_exe msedge.exe").GetCurrentURL(), "gemini.google.com")
871857
垢版 |
2025/10/18(土) 10:47:36.28ID:ae4em9ph0
>>870
ありがとうございます。
UIA そんなライブラリがあるのですね。よくみたらスレッドでも出ていましたね。すみません。HWNDについては詳しくないので調べてみます。助かりました。
2025/10/21(火) 01:18:53.20ID:5VThRTSP0
かざぐるマウスの機能でスクロールバーの上にカーソルを置いてホイールを回すと
ページスクロールさせたりするのがあってAHKで同じ事をしたいんですが
検索したところ
ControlGetFocus, control, A
SendMessage, 0x115, 3, 0, %control%, A
とやってページスクロールを送信するところまでは出来たんですが
マウスの下にスクロールバーがある時だけというのが出来なくて困ってます
どうすればスクロールバーがあるかどうかを判定できるでしょうか?
2025/10/21(火) 01:46:49.39ID:+u/TonrO0
スクロールバーなんかにこだわらず
対象のウィンドウのサイズとマウスカーソルの位置を調べて
窓枠付近5%のところでホイールスクロールしたら特別な操作させりゃいいよ

上端:タブスクロール
下端:水平スクロール
左端:特になし(何か割り当てると意図しない誤動作しまくり)
右端:垂直高速スクロール
2025/10/21(火) 02:00:41.48ID:5VThRTSP0
>>873
なるほど、そんな方法が…目から鱗ですね
ちょっと考えてみます
2025/10/21(火) 08:23:53.17ID:YBeVQhx60
>>872
>>873 さんが書いてくれているような方向性の方が実装が楽やと思う。

AHK でマウスポインタが各ウィンドウのどの要素の上にあるかというのを調べるのは
出来なくはくはないはずけど、汎用的なものはめっちゃ面倒になるはず。

ワシも「タブバー上でマウスホイールでタブ移動」を実装しようとして、
結局ウィンドウ上部から何Pixel で判定するようにしたw
それでも一応各アプリを判定して Pixel値は変えるようにしてあるけど。
876名無しさん@お腹いっぱい。
垢版 |
2025/10/21(火) 09:10:30.88ID:CasY4tyx0
>>873
めっちゃいいですね
めっちゃほしい
srcplz(地面デコ擦り土下座)
2025/10/21(火) 18:36:08.73ID:KWVL6D0k0
エクスプローラー(フォルダ)がアクティブの時だけF3の無効化ってどうやれば良い?
2025/10/21(火) 18:38:21.62ID:KWVL6D0k0
F3::Return
で良いんだろうけどエクスプローラーだけの指定方法が分からない

v1です
2025/10/21(火) 19:33:41.33ID:IJyeth4Q0
CabinetWClass
2025/10/21(火) 20:26:07.23ID:Q7bBaTGi0
>>869

これ便利?
使ってみようかな…
2025/10/22(水) 00:24:34.71ID:1Jc1Be5c0
v2を使おう
v2はv1より書きやすくなってる
後で書き換えたくなったときに後悔するだろう
2025/10/22(水) 07:44:25.39ID:EOsR0OJf0
少しはマシというだけで、根底から腐ってるのは変わらないんだけどな
2025/10/22(水) 10:28:25.29ID:oIEkDsVJ0
v1て明示してるレスにいちいち噛みつく奴は時間の無駄すぎる
2025/10/22(水) 15:56:51.83ID:dLN1TNFH0
>>879
返事遅くなった

無事にエクスプローラー上だけで動作するようになった
ありがとう

ファイル名変えるのに押し間違えて検索バーがアクティブになって、キーボード操作だけで戻るのにも苦労するからイライラしてたのこれで無くなる
2025/10/22(水) 22:37:01.76ID:d/QqMJk80
間違って[F3]押しても[ESC]→[F2]で行けるやん
2025/10/22(水) 22:38:44.53ID:PCBVLBCq0
F3::F2
にしたらいいのでは
2025/10/23(木) 13:50:03.32ID:gD0NHKmm0
エクスプローラの「フォルダを新しいウィンドウで開く」を左手でやりたくて
^{Enter}をSendしてもただのEnterに化けてしまうんだけどおま環?
2025/10/23(木) 21:43:15.97ID:/zUIWwPE0
>>885
エクスプローラー(フォルダ)の右上の検索ボックスにフォーカス行っててesc押しても何にもならないけど
2025/10/23(木) 23:44:17.61ID:kJA1PQCN0
Send "{Ctrl down}"
Sleep 100
Send "{Enter}"
Sleep 100
Send "{Ctrl up}"
これで動いた
2025/10/24(金) 08:14:54.05ID:dJdo69lo0
Enterを押したあとCtrlを放すまでの時間を多めにとる必要があるみたいね
Ctrlを押してからEnterを押すまでの時間はもっと短くしてもOKだった
2025/10/24(金) 08:42:01.14ID:sTLq8DgI0
ctrl+enterの時点で新しいウインドウが開くわけじゃなく、
explorer.exeの呼び出し時にctrlが押されてる必要あるからね
ctrl押す長さはPCの処理能力に依存する部分だよ
2025/10/24(金) 19:22:07.33ID:9mEFal/40
sleepがあれば時間は最短でいい
2025/10/25(土) 11:13:39.39ID:VQ/HhSPt0
AHKでSleep挟んで試行錯誤してる時間が一番惨めな気持ちになる
2025/10/25(土) 13:09:48.38ID:R6izkYx90
その内動作しなくなって増やしては減らしてみたいなことになる
2025/10/25(土) 13:29:48.21ID:dk3CRPpM0
要はフックの奪い合いをしていて、完全に奪うと相手がおかしくなるので、
適度に相手にもいじらせないといけない
渡しすぎると今度は自分の処理がおかしくなる
完全な実装には、競合相手の処理内容の理解が必要

そんな面倒なことは最初からしないのが正解
2025/10/25(土) 14:51:29.63ID:acDcKwfT0
結局 DllCall で Windows を叩いて色々チェックしてからやる羽目になって「AHK とは?」になるw
2025/10/25(土) 15:17:16.56ID:dk3CRPpM0
のどかみたいにデバイスドライバでやれば競合は起きない
yamyはAHKと同様にLLフックでやってるのに、何故か素直に動く
AHKのv3をもっとイケてる文法にしてデバイスドライバ版に変更するといい
2025/10/25(土) 18:20:07.90ID:kZz3spXo0
AHKっていうかMouseGestureLの話なんだけどスレ違い?
たまにジェスチャー発動時にカーソルの動きが引っ掛かることがあって
それが起きると他のウィンドウをクリックしてもアクティブにできなくなって
Alt+Ctrl+Deleteで動作を中断させるしかなくなるんだけど何が原因なんだろ
2025/10/25(土) 18:48:46.42ID:AS7G2zsk0
ジェスチャはOpenMausujiで受けてキーボードショートカットを発生させて
それをAHKで受けて処理
というアホなやり方が意外と普通にできててもう10年以上ずっとこのままだな
2025/10/26(日) 15:41:24.47ID:5Yde84eR0
>>898
修飾キーのどれかが押しっぱなしになってるのでは?
kako.5ch.net/test/read.cgi/software/1243005818/182
を入れてみると分かるかも
2025/10/26(日) 16:49:36.52ID:F0D3GODk0
Win + J:: を記述したら、
ときどき、Win + Jの実行と同時に、スタートメニューが誤爆表示されるわ
902名無しさん@お腹いっぱい。
垢版 |
2025/10/27(月) 11:32:09.55ID:ZsAEAa0Z0
管理者権限で動いているahkだと、AHK経由のソフト起動も管理者権限で動いてしまう。
これをnot管理者権限で開くようにする方法ありますか?
2025/10/27(月) 18:25:32.96ID:TaRuFJmB0
RunAs
2025/11/07(金) 14:31:36.15ID:Xxo3RejR0
うまくいかなくて困っているのでどなたか助けてください

#a:: Send(“^{a}”)

^a:: Send "{Home}"
を、記述しているのですが
#a:: Send(“^{a}”)が^a:: Send "{Home}”で上書きされてしまって同時に有効にすることができません
ちなみに^a:: Send "{Home}”をコメントアウトすると#a:: Send(“^{a}”)は有効になります
2025/11/07(金) 14:48:20.05ID:Xxo3RejR0
>>904ですが自己解決しましたので一応報告しておきます
いやぁAIって本当にすごいですね今までこうやって5chで質問して運が良ければ数日後に回答があるかもしれないというものすごく低い可能性にすがるしかなかったのに
今やAIに質問すれば秒で正確かつ詳細な答えが返ってくるんですから本当にAI最強ですね
これは本当にもう5chはソフトウェア板を含めて専門板が完全に必要なくなっちゃいましたね
雑談かリアルタイム性の高いスポーツ系の板以外はまったく存在価値がないですね
2025/11/07(金) 18:57:22.60ID:KVwAEuer0
>>905
価値無いと思う場所に書く価値は見いだしてるんだね
907名無しさん@お腹いっぱい。
垢版 |
2025/11/08(土) 02:19:34.35ID:mlgCiEVh0
AIさんは間違ってても己を信じて愚直に突き進む
2025/11/08(土) 02:37:54.48ID:2ISgKh3M0
MouseGestureLもAIでv2に移行できる?
2025/11/08(土) 07:48:42.58ID:KCIWCE1g0
答える側もググレカスって思ってる
前は検索して検索結果をコピペしてるだけ
今はAIに聞いて結果をコピペしてるだけ
だったら質問する側が自分で検索とAI質問をしたらいい
2025/11/08(土) 08:33:28.65ID:j29qIXzT0
ぐぐれば判るようなことは、今はもうぐぐらなくてもAIがやってくれる
2025/11/08(土) 15:43:11.52ID:h1/SFRUl0
ソフトウェアに関しては既にググるとか話にならないレベルでAIが有能なんだがw
仮に使うやつに問題点を言語化できる知能がないバカだっとしてもまったく問題ない
動作しないコードを貼り付けて期待する内容をセットで質問すれば動作するコードを複数候補用意してくれる
そしてそれをコピペして実際に期待した動作だった場合はその結果を伝えればなぜ動作したのかその理屈の要点をまとめて教えてくれる
実際開発現場では既にレビュアー、メンター、ペアプログラミングという工数がかなりかかってプロジェクトの人月を圧迫する工程が必要なくなったからな
まぁコードがかけない無能のお荷物にアサインされていた仕事がなくなって社内で失業者を産んでしまっているわけなのが皮肉すぎるがそれは日本の糞すぎるIT業界の闇だからAIの責任じゃないからな
2025/11/08(土) 15:48:26.92ID:UEvZH9380
消えろ
2025/11/08(土) 15:57:03.39ID:j29qIXzT0
元々大したことしとらんし
ちゃんとした要件定義さえあれば、素直に設計して、素直にコード書けばいいだけ
問題はちゃんとした要件定義が作れないこと
2025/11/08(土) 16:18:25.22ID:h1/SFRUl0
ほんそれw
日本は一部上場企業の案件ほど要件定義や仕様書が本当に毎日変わるからな
客の頭が悪すぎるんだがそれを許して実際に開発してる多重請負の末端に丸投げしてるもっと頭の悪い元請け・一次請けが一番の癌
まぁ今や元請けはほぼ間違いなく顧客の子会社でグループで金回してるだけの無能どもが要件定義と仕様書作ってるからな
そりゃIBMですらお手上げが何度も契約破棄してプロジェクト放棄して逃げ出すってわけ
2025/11/08(土) 16:22:39.92ID:hLdTjmeR0
なんかえらいしゃべるな
2025/11/08(土) 16:28:15.90ID:j29qIXzT0
海外だと自分とこで使うシステムは自分で作るんだよな
日本は何故か他社に丸投げしてしまう
そのせいで伝言ゲームで違うものができるし金も時間も無駄にかかる
誰が見ても判る不便なUIやバグがいつまでも直らない
2025/11/08(土) 16:40:01.82ID:h1/SFRUl0
だって日本の場合はゼネコンのビジネスモデルをそっくりそのまま模倣した完全に終わってる業界だからな
日本の開発最大手が親方日の丸の富士通とNECなのもゼネコンとまったく同じ
結局は利害関係者の間で金を動かしてるだけで納期が伸びれば伸びるほど儲かるってわけ
日本のソフトウェアのUI/UXやデザインが未だに20〜30年前と変わらず酷くて中国に20年遅れてるって言われる理由って誰もそんなの気にしてないから
もっというと出来が悪くて使い難いほど機能追加や保守でより予算が増えて利益がでるからな
未だに人海戦術なのも本当に人月を増やすただそれだけのためだからな
単価の高い有能なPGほど邪魔でしかなくて安い無能を多く欲しがる理由ってそういうこと
これでまともなクオリティの成果物になるわけないってわけ
2025/11/08(土) 16:45:43.37ID:j29qIXzT0
巨大なシステムまで自分で作れとは言わんけど、
webのデザインまで他人任せだからな
あんなもん一人で作れる

昔はPC得意な人が本業とは別にやってた
やっても評価されないのでやらなくなった
2025/11/08(土) 20:40:43.60ID:T50+VgE30
いまだにゲームパッド入力を出力することもできないのは
技術的に難しいの?
2025/11/08(土) 20:43:55.21ID:j29qIXzT0
確かにやって欲しいな
android用のbluetoothのコントローラをwindowsに繋ぐと、デフォルトでは何も入力されない
関係ないコードが発生して無視されてる
それを何かのキーにマッピングするだけなのに、取得してくれる奴がいない
2025/11/08(土) 22:50:39.35ID:MHy4PrWq0
>>919
ゲームパッド?
というと?
2025/11/08(土) 23:08:05.31ID:qfU3Z3g10
Joy1を発生させたり入れ替えたり
2025/11/09(日) 00:05:41.42ID:sPGQ/r9/0
>>922

やってるけど?
2025/11/09(日) 09:06:01.52ID:ASql/tzc0
なに言ってんだこのクエスチョンが必殺技だと思ってるバカ
2025/11/09(日) 09:09:48.41ID:r36OP+z90
構ってもらえたらなんでもいいんだよ
特に知識は無い
2025/11/09(日) 12:58:44.80ID:kNsV11o20
ゲームはチートが問題になってるから
チート対策でAHKが出力できないよう技術的に難しくしてるんでは
技術的に難しいができなくもないんでは
2025/11/09(日) 15:04:52.69ID:+rK0sDiu0
技術的に難しいというか、Windowsにはソフトウェア的にパッドボタンを押下するという仕組みがありません
通常は各アプリが独自に、xinput1_◯.dll(XInput)やdinput_x〇.dll(DirectInput)などのライブラリを利用して
パッドの情報を随時読み取って処理しますが、これらのライブラリはパッドに対して基本的に読み取り専用であり
入力系の動作はフィードバック機能が搭載されているバイブの作動しかできません

AHKでもこれらライブラリを利用することで、物理的な入力を阻止することはできませんが、読み取り値を元に分岐するスクリプトを動作させることは可能です
ちなみに、DirectInputの方は標準対応してますが、XInputは対応していないので、値の読み取りスクリプトを自作するか、別途XInput.ahkなどを利用する必要があります

擬似的なパッドボタンの押下には
改変したdllを使用して、アプリがパッドの状態を取得する際にインターセプトする方法(x360ceVer3)か
ソフトウェアレベルからの操作が可能な、仮想コントローラードライバ(vJoy、ViGEmなど)が必要になります
前者の方法でAHKを介入させることは、可能ですが現実的ではありません
後者はAHK-vJoy-Libraryなどの古いライブラリが存在し、いくつか紹介しているサイトもありますが
一般的なAHKスクリプトからすると難易度は割と高めになりますし、ドライバ関連は環境にもよるので
そこまでしてAHKでやる必要があるのか?という話になります
2025/11/10(月) 21:32:41.84ID:BqoaTABp0
あまり深く考えずにX360CE(Ver4、仮想コントローラ型)など使っていたが、確かにそういう事になるねえ…
まあAHKはジョイスティックまわりはほとんど変わらずXInputはXInput.ahk使うことになってる感じなのは
そもそもあまり重要視してないような気もするけど
2025/11/10(月) 21:45:15.72ID:JBCDjO7v0
>>928
windows11で、
Aボタンでwindows決定とかを無効にできないのかね?
2025/11/11(火) 12:54:41.54ID:IRe9ejMm0
外部input全部対応してるツールは過去ログにUCR.exeと書いてあったな
githubにあるよ
2025/11/11(火) 21:33:51.69ID:d75LSEnV0
この形式にしてAI丸投げするのありやな

https://i.imgur.com/6GziWq5.png
https://i.imgur.com/JNzBWZP.png
2025/11/12(水) 21:39:11.64ID:azG0U9Vb0
>>929
XInputコントローラ入力が、スタートメニューや設定などでの操作になってしまうという機能の事だとすると、
無効にするのはむずかしいように思う(これは一般のアプリでは働かないので、自分は気にしないことにした)
2025/11/12(水) 21:42:55.56ID:lBWlIRSJ0
>>932
そうそう
設定ウィンドウで、コントローラーのボタンを押すと、勝手に決定とかになっちゃう

自分で独自の操作をしたいのに
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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