AutoHotkey スレッド part30 IDのみ

■ このスレッドは過去ログ倉庫に格納されています
2022/02/08(火) 18:38:19.33ID:UTRGyCNl0
元々が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
2023/09/01(金) 12:57:45.45ID:qhzzshke0
includeするならプロセスは1つだけど
両方動かすんじゃないの?
2023/09/01(金) 19:29:28.33ID:aCFUmNnL0
v2で
a := 1
b := &a
%b% := 2
と同じように
tmp := {a:1}
b := &tmp.a
%b% := 2
でbにtmp.aのVarRefがほしいんだけど&tmp.aでエラーが出ちゃう
これどうやったらいいの?
2023/09/01(金) 20:46:26.25ID:0/jYgXFo0
>>418
直接にはできない。

関数 - 定義と使用法|AutoHotkey v2
https://ahkscript.github.io/ja/docs/v2/Functions.htm#ByRef
2023/09/01(金) 21:17:49.17ID:aCFUmNnL0
>>419
仕様でできなかったんですね
オブジェクトの方を持ち歩くようにします
ありがとうございました
> 既知の制限事項:
> オブジェクトのプロパティ(foo.barなど)やA_Clipboardなどの 組み込み変数に対してVarRefを構成することはできないので、これらをByRefで渡すことはできない。
2023/09/02(土) 17:26:28.26ID:xDVNYmLx0
何か V2.0.4/2.0.6 でエンバグしてるんやって。
スクリプトが動かんようになったって人はアップデートしてみるのも手。

Release v2.0.7 · AutoHotkey/AutoHotkey
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.7
2023/09/02(土) 18:33:36.19ID:X8oxdeT80
v2.0.7
2023/09/03(日) 14:39:01.92ID:dL6VhtA+0
ヒアドキュメントの仕様が変わってわけわからん

ver.1の頃は
MsgBox, % "
(
 さて、
 あなたのバージョンは 「" A_AhkVersion "」ですわね。
 オホホ
)"

でよかったのがver.2になってから

MsgBox("
(
さて、
あなたのバージョンは「
)"A_AhkVersion "
(
」ですわね。
オホホ
)")

とかしないといけなくなって可読性がー
2023/09/03(日) 15:01:38.43ID:8zusJ6RA0
理解しているのにわけわからん
とは、どういうことなのか?
長文の文字列は変数に格納するのが通例なんで
関数化されたmsgboxに直接使わなければいいんじゃね
2023/09/03(日) 15:20:17.21ID:0KBNlEKj0
v2 仕様やとこんな感じやろ(場合よって「"」の位置に気を使う必要がある)。

MsgBox "
(
Here Document,
HERE!!!
)"
2023/09/03(日) 15:31:18.57ID:Xi/Z1aW+0
改行が意味持ってたり、括弧無しでもokだったり、未だに古臭い
v3に期待
2023/09/03(日) 15:39:07.37ID:0KBNlEKj0
変数絡みやとちょっと面倒くさいことになるかな?
%VarRef% なパターンやと埋め込めるみたいやけど。

MsgBox "
(
AutoHotkey version is`s
)" A_AhkVersion "
(
.
Here Document,
HERE!!!
)"
2023/09/03(日) 16:01:47.82ID:0KBNlEKj0
ああ、v2 やと %VarRef% も埋め込まれへんみたい。
2023/09/03(日) 16:48:50.59ID:dL6VhtA+0
いやMsgBoxとの取り合わせが悪いとかじゃなくて
式を埋め込めなくなってるのが個人的に致命傷
%VarRef%もだめだしさ

あとオプション周りの挙動がだいぶ変わったように見えて混乱中
2023/09/03(日) 17:16:51.07ID:dL6VhtA+0
ヒアドキュメントに式を埋め込めて、実際に表示されるメッセージを想像しやすいのがよかったのに…
できるっぽい説明あったけど、実際の書き方がまるで理解できなかったし、いま読み返すと全然別の説明っぽい

> If ( or ) appears in the options of a potential continuation section (other than as part of the Join option), the overall line is not interpreted as the start of a continuation section. In other words, lines like (x.y)() and (x=y) && z() are interpreted as expressions. A multi-line expression can also begin with an open-parenthesis at the start of a line, provided that there is at least one other ( or ) on the first physical line. For example, the entire expression could be enclosed with (( ... )).

> ( or ): If an opening or closing parenthesis appears to the right of the initial opening parenthesis (except as a parameter of the Join option), the line is reinterpreted as an expression instead of the beginning of a continuation section. This enables expressions like (x.y)[z]() to be used at the start of a line, and also allows multi-line expressions to start with a line like (( or (MyFunc(.

そしてこういうのに限ってサンプルがない。詰んだ。寝る
2023/09/03(日) 18:24:58.98ID:lC0PTvot0
>>423
Format関数使えば多少見やすくなるかも

MsgBox(Format("
(
さて、
あなたのバージョンは「{1}」ですわね。
オホホ、{2}年ですわ。
)", A_AhkVersion, A_YYYY))
2023/09/03(日) 18:46:21.42ID:Xi/Z1aW+0
pythonでf文字列の実装が妙に遅かったのと同様に、
なんか埋め込むのを嫌う風習があるんだよな
便利なのはperlとかでとっくに判ってたのに
2023/09/03(日) 21:59:50.39ID:PW2pKi2Q0
2系の押しっぱ病はいつになったら治るんだ…
2023/09/03(日) 22:09:25.95ID:0KBNlEKj0
>>433
>>396 な話じゃなくて?
2023/09/03(日) 22:14:39.29ID:Xi/Z1aW+0
なんでもないビュアーがすごい行儀悪くキーをフックしてるみたいで、
それを起動した状態で他のソフトを使うと高確率で押しっぱなしになる

開いたまま他のことをしない、しか回避方法が無い
2023/09/03(日) 22:38:34.74ID:8zusJ6RA0
そういうアプリはどんどん名前出していこうぜ
情報共有してこその掲示板なわけだし
2023/09/04(月) 12:28:15.52ID:K09FILDQ0
epubビュアーのKinoppyだけどね
ahkからKinoppyを何か制御するでもなく、ただいるだけでいろいろおかしくなる
2023/09/04(月) 21:28:18.16ID:dQWiiGqe0
>>437 解決の参考にならんかもだが、Kinoppyをインストールして俺環で常駐しているMyScriptに下記のホットキーを追加し
メインアプリとビューアー起動した状態で他のアプリ色々起動したり、しばらく別のことやってたけど特に問題は発生しなかった

問題になりそうな点をあげるとclass名が独特でGUID部分が起動毎に変わるのと
ビューアーの方はExplorer等と同様にahk_exeではhwndが取得できなかったくらい
なのでこれらを含めたウィンドウ指定を直接じゃなくてもGroupやExcludeTitleなんかで行っているとおかしくなる
そうでないなら残念ながらおま環の可能性が高い

; 俺環での関係ありそうな設定
SetTitleMatchMode("RegEx")
InstallKeybdHook()
InstallMouseHook()
A_MenuMaskKey := "vkFF"
return

; メインアプリ
; Kinoppy for Windows
; ahk_class HwndWrapper[Kinoppy.exe;;feff14f8-8819-45a6-9cc5-5edbb2951528]
; ahk_exe Kinoppy.exe
#HotIf WinActive("Kinoppy for Windows ahk_class HwndWrapper\[Kinoppy.exe;; ahk_exe Kinoppy.exe")
XButton1:: MsgBox(WinGetTitle("A"))
LCtrl:: MsgBox(WinGetTitle("A"))
#HotIf

; ビューアー 本は最初から付いてた奴
; [1/160] scripta 18号(2011年冬号、紀伊國屋書店
; ahk_class HwndWrapper[Viewer20.exe;;5f512ab6-52a1-4bc8-8445-abdb7c67f500]
; ahk_exe Viewer20.exe
#HotIf WinActive("ahk_class HwndWrapper\[Viewer20.exe;;")
XButton1:: MsgBox(WinGetTitle("A"))
LCtrl:: MsgBox(WinGetTitle("A"))
#HotIf
2023/09/05(火) 23:11:23.66ID:uAjrKV030
質問なのですが ctrl+マウス左クリック で 左クリック を送りたいのですが

^lbutton::
mouseclick,left, , , , 0
return

と書いても左クリック単発ではなくctrl+左クリックになってしまいます
どのように書けばいいですか?
2023/09/05(火) 23:27:03.44ID:fMQvsfZE0
Send,{LButton}
2023/09/05(火) 23:29:11.87ID:08fzEwC60
>>439
MouseClick - Syntax & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/lib/MouseClick.htm
2023/09/05(火) 23:50:46.44ID:uAjrKV030
>>440, 441
ありがとうございます
試したところそのスクリプトでだいたいは上手くいくのですが10回に1回ぐらいはctrl+左クリックになります

具体的にはブラウザのリンクをこのスクリプトをオンにしてctrl+左クリックするとだいたいは元のタブで開くのですが
10回に1回くらいは別タブで開いてしまいます(左クリックだと元タブでリンクが開き、ctrl+左クリックだと別タブで開く)。

これを防止するためにも ^lbutton:: の開始から終了までは強制的にctrlを押していない状態に出来ないでしょうか?
2023/09/05(火) 23:57:06.56ID:U/8+P8mP0
クリックする前に
Send {Ctrl Up}
でも書いておけば?
うまくいくかは知らんけど
2023/09/06(水) 00:04:12.54ID:9rLt8Dwp0
>>443
試したけどだめでした

https://keyboard-test.space/jp/

このサイトでキーの入力状態見てたら Send {Ctrl Up} の瞬間だけ ctrlの入力がオフになっても
次の瞬間またctrlが押された状態になるのでスクリプトが終わるまでずっと {Ctrl Up} の状態を保たないとだめそう
2023/09/06(水) 00:11:36.92ID:GGW0aUGl0
すごいサイトだな
ahkにも似たような機能あるけど
2023/09/06(水) 07:15:27.62ID:Yei4EXvP0
Getkeystateってマウスもいけたっけ?
いけるなら物理的に離されてからup打つとか
2023/09/06(水) 07:53:03.76ID:sYM0CPD00
>>442
Remarks に書いてあることまでちゃんと読んだ?
Remarks
This command uses the sending method set by SendMode.
The Click command is recommended over MouseClick because:
 1. It automatically compensates when the left and right mouse buttons are
swapped via the control panel.
 2. It is generally easier to use.
To perform a shift-click or control-click, use the Send command before and
after the operation as shown in these examples:



The SendPlay mode is able to successfully generate mouse events
in a broader variety of games than the other modes. In addition,
some applications and games may have trouble tracking the mouse
if it moves too quickly. The speed parameter or SetDefaultMouseSpeed
can be used to reduce the speed (in the default SendEvent mode only).

Some applications do not obey a ClickCount higher than 1 for the mouse wheel.
For them, use a Loop such as the following:



The BlockInput command can be used to prevent any physical mouse activity by the user from disrupting the simulated mouse events produced by the mouse commands. However, this is generally not needed
for the SendInput/Play modes because they automatically postpone
the user's physical mouse activity until afterward.

There is an automatic delay after every click-down and click-up of
the mouse (except for SendInput mode and for turning the mouse wheel).
Use SetMouseDelay to change the length of the delay.
448439
垢版 |
2023/09/06(水) 12:17:42.07ID:9rLt8Dwp0
以下で問題無く動くこと確認しました

^lbutton::
BlockInput, on
send, {click, left}
BlockInput, off
return

しかしBlockInput, onが管理者権限でないと機能しないので使用はためらっています
2023/09/06(水) 12:58:50.79ID:ltUQDciW0
>>448
ブラウザ何使ってるか知らんけど、chrome(chromium系)ならchromeのwebストアで「open link same tab」で検索するとやりたい系の拡張出てくるから拡張導入で実現すれば?
2023/09/06(水) 13:01:25.15ID:ltUQDciW0
>>449
あ、スマン ctrl+左クリックかー
>>449は取り消し
2023/09/06(水) 18:44:01.82ID:Yb6yqz+60
>>448
要はCtrlが物理的に押し下げられている間に発生するキーリピートを止めればいいので下記のような方法でもできるが
これだとKeyNameと同名の既存のホットキーがある場合上書きしてしまうため、既存のホットキーをOnにし直す必要がある
あと >>444 のサイトは物理キーと論理キーの区別がされてないのでこの様なケースではテストして使うには不適切だと思うぞ

^LButton::
Hotkey, LCtrl, disable_key, On
Hotkey, RCtrl, disable_key, On
Send, {LButton}
Hotkey, LCtrl, disable_key, Off
Hotkey, RCtrl, disable_key, Off
return

disable_key:
return
2023/09/06(水) 20:22:25.18ID:X26chPwY0
数日パソコンつけっぱにしたら暴走する事ってありますか?
昨日から入力で文字出なかったり重く感じて来たと思ったら今日「っっっっっっっっ」以上の連打状態になったり日本語オンオフが連打状態になったりして、文字入力関係で何かあるとすればこれだけかなって
パソコン再起動で直ったんですがおま環でしょうか?
それか何か記述がおかしくて影響する事とか
ただ今まで問題無くここ数日で追記した事もありません
Win11
V1
2023/09/06(水) 20:25:31.25ID:lmw46YqV0
ただのahkあるある
2023/09/06(水) 21:25:42.58ID:uFzGHYTO0
>>452
そういう時はPC再起動の前にIMEの再起動だね
ググればバッチ書いてるのがすぐ出てくると思う
原因は1回だけでは何とも…
2023/09/06(水) 22:09:08.69ID:9rLt8Dwp0
>>451
ありがとうございます

試すとそのスクリプトを単独の.ahkファイルに書くと問題なく動作するのですが
自分が普段使ってる他にも長々と別のスクリプトが書いてある.ahkファイルの中に書くと
5回に1回ぐらい失敗(ctrl+左クリックが送られる)します

何かの処理が間に合わずに物理ctrlキーが割り込んできているのかと思い以下のようにsleepを挿入しても同じように失敗します

^LButton::
Hotkey, LCtrl, disable_key, On ;LCtrl::return と同じ
Hotkey, RCtrl, disable_key, On
sleep, 500
Send, {LButton}
sleep, 500
Hotkey, LCtrl, disable_key, Off ;上で定義したLCtrlのホットキーを削除
Hotkey, RCtrl, disable_key, Off
sleep, 500
return
disable_key:
return

何でctrlが割り込んで来ちゃうんですかね?
2023/09/06(水) 23:02:51.49ID:Yb6yqz+60
>>455
そうなるとコード全体を見てみないと分からんが
全コード晒すのもそれを解析するのも現実的でないのでとりあえず適当に思い当たるのを挙げとくと
・同条件でトリガーされるホットキーで他に干渉しているものがないかチェックして、あればHotkeyで無効にする
・SetKeyDelay 及び SetMouseDelay を変更しているなら戻す
・SendInput もしくは SendPlay を使用する
・Send, {LButton} の前に Send, {Blind}{LCtrl Up}{RCtrl Up} を入れ明示的に押し上げる
・Hotkey, LCtrl, disable_key, On P100 のように優先度を上げる
・#UseHook を使う
・ホットキーやスレッド周りの設定で極端な設定をしているものがあれば戻す
とまあ基本手当たり次第かな、がんばって
2023/09/08(金) 00:16:48.01ID:suMaKzxk0
質問させてください
AHKでWin10のBluetoothをオン/オフ切り替えるコマンドってありませんか?
2023/09/08(金) 07:45:00.03ID:GbWsAhNI0
>>457
AHK にはないやろ。

autohotkey bluetooth on off - Google 検索
https://www.google.com/search?q=autohotkey+bluetooth+on+off
2023/09/08(金) 08:55:55.00ID:+ULrgBan0
runがあるんだからahkだけで何でもできる
2023/09/08(金) 09:32:53.12ID:GbWsAhNI0
>>459
>>458 の上位にヒットするエントリの中にその辺りの tips もある。
2023/09/08(金) 09:38:25.14ID:MNBExYpU0
runしないといけないってことはahkで出来ないことじゃね?
2023/09/08(金) 09:58:48.37ID:YMO30/bT0
ただの言葉遊びだが、>>457の質問の仕方もちょっとあれだな
恐らくAHK経由で制御できるかを知りたいんだろうが
コマンドと書いてしまっているから、存在しないので、「ない」
という答えが返ってくるはめになる
制御スイッチとしてのスクリプトを書けるかといえば書ける
2023/09/08(金) 13:21:18.66ID:suMaKzxk0
>>462
質問の仕方が悪くて失礼しました
「AHK経由で制御する方法」を知りたかったです

>>458 >>460
参考にさせて貰います
ありがとうございました
2023/09/08(金) 17:58:23.82ID:+ULrgBan0
::の後{の前に改行がいるルールは、何の役に立ってるの?
続けて書いても誤解は無いと思うけど
2023/09/08(金) 18:43:25.14ID:i4UroxiT0
v2の話?
v2ならホットキーは関数だから、そういう書式ルールなんでとしか
ただOTBも許容しているから、別に前でなくてもいいよね

F1::{
Run "Explorer"
}
2023/09/08(金) 18:52:15.25ID:gx8PwsTd0
>>464
パーサの役に立ってるよ
2023/09/08(金) 21:28:52.01ID:GbWsAhNI0
>>464
ちゅうかさ、AHK v2 にそんな「ルール」はないやろ。

「行末の{」に対して、オブジェクト or OTB の判定が入るだけで。

Scripts - Definition & Usage | AutoHotkey v2
https://www.autohotkey.com/docs/v2/Scripts.htm#continuation-expr
2023/09/08(金) 21:38:01.87ID:+ULrgBan0
OTBで書けるケースが限定されている、というルールでしょ
そんなややこしいことにするメリットが判らん
2023/09/08(金) 22:05:34.06ID:zFwuV2d30
>>467
ところが行末でなくてもいいだな、これが

F1::
{ Soundbeep
Run "Explorer"
}
2023/09/08(金) 22:35:10.31ID:GbWsAhNI0
>>468
そもそも論としてホットキー等の記述として「XX:: ~」が原則になっているので
OTBとしての記述が限定されるというのは合理的やとと思うで。
「XX:: {」に対してどう判定する?
>>466でパーサーの都合と書かれているけれど、まさにその通りやと思うで。

>>469
>>467 のリンク先を読めばわかるが「行末の{」に対する判定、エラー吐きの
基準であって、「{は行末に限る」としているわけじゃない。
2023/09/08(金) 22:43:00.25ID:+ULrgBan0
全然判らん
何と何を誤解するという具体例とかあるの
2023/09/08(金) 22:55:06.64ID:zFwuV2d30
>>470
後から読んだんでしょ
正直に言いなさいw
2023/09/09(土) 08:49:36.22ID:pR8NjTB70
v1みたいに処理が一つなら省略できるんだから別にいいじゃん
スクリプトの改行で文句言う奴なんて初めて見たぜ
2023/09/09(土) 13:53:20.96ID:xOfvB+/e0
なんかよく分からないその人なりのこだわりがあるんだろ。
2023/09/09(土) 15:42:27.29ID:feDxAAkf0
何かの互換性の維持の為とかならまあ仕方ないけど、
そんなの関係なくて単に面倒くさいという理由で合理性が欠如してたら、
もうちょっと頑張れよと思うのは仕方ない
2023/09/09(土) 21:56:07.18ID:dR4zuzdz0
>>472
>>467を読んでも{が行末に限るって言ってるとは思わないけど、>>467ではそう主張してたでしょってこと?
2023/09/10(日) 15:58:51.93ID:ZkN65p7R0
AutoHotkeyって、ネーミング通りホットキーに操作を割り当てるだけの物かと思ってスルーしてたけど
調べたら色々出来るんだね

こんなことならUWSC(作者死亡、6年更新ない)に手を出さず、最初からAutoHotkeyにしとけば良かった。
2023/09/10(日) 16:09:06.76ID:oMtz/ggC0
今からでも遅くはありません
勇者よ、学ぶのです
2023/09/10(日) 16:11:04.10ID:ItMWkI4Z0
ImageSearchまだ使ったことないけど、使いこなすと可能性が広がりそうだな
2023/09/10(日) 16:24:59.90ID:oXJfo1RU0
>>477
pythonと組み合わせるのをおすすめする

UIはAHK、処理はpython
2023/09/10(日) 16:36:29.30ID:ApyovvyA0
Keyhac って Python だったよな
2023/09/10(日) 16:46:52.42ID:ItMWkI4Z0
のどかにラッパーを追加してpythonのモジュールみたいにできないかな
ぶっちゃけ、キーの入れ替え以外は全部pythonでできる
2023/09/10(日) 16:57:15.43ID:ItMWkI4Z0
ラッパーていうか、アプリそのものだな
のどかはデバイスドライバとそれを使う本体で構成されてるので、
APIを解析してのどか以外からデバイスドライバを使うことも可能
APIの全機能をカバーしただけの低レベルpythonモジュールをまずこさえて、
それを利用してahkのスクリプトを理解できる上位モジュールから呼び出す
2023/09/11(月) 11:00:53.01ID:ia7g+DFl0
>>481
keyhacは修飾キー周りの設定がめんどいのと更新止まってるから使ってないな
2023/09/11(月) 20:36:49.65ID:AdChF0Gh0
Release v2.0.8 · AutoHotkey/AutoHotkey
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.8
486322
垢版 |
2023/09/11(月) 20:38:32.90ID:tG+HBWzg0
>>485
2.0移植するか…

数万行の移植… w
2023/09/11(月) 20:39:27.89ID:tG+HBWzg0
>>485
v1.0は
あんまり更新されないな…
2023/09/11(月) 20:51:26.09ID:H9PG0Vk20
メンテナンスだけなんだから
そりゃ当然だわ
2023/09/11(月) 21:17:56.44ID:AdChF0Gh0
公式のダウンロードページでも「Download v1.1 (deprecated)」になってるしな。
セキュリティ絡みかよっぽどなバグでもない限りアップデートはないやろ。
2023/09/11(月) 21:27:50.78ID:tG+HBWzg0
>>480
Pythonと組むって、
具体的に何やるの?

Pythonを使う意図は?
2023/09/11(月) 21:28:32.59ID:tG+HBWzg0
>>490
Pythonは
AI作ってるとこだわ…
492名無しさん@お腹いっぱい。
垢版 |
2023/09/12(火) 02:41:12.62ID:ZxfrDDhW0
漠然とした質問ですがAHKって何に使ってますか?
自分はpython書くくらいしかPCで作業しないので
Pythonであまり使わない@に()を割り当てたり
=と""を打ちやすくしたりしてみたのですが
他に割り当てるほどのことが何も思いつきません

何でもできるツールなので、使い方がわかってないだけだと思うのですが……
切り取り貼り付けなどのショートカットをワンプッシュでできるようにしてみたのですが元々Ctrl+C、Vとかはかなり押しやすい配置なのであまり便利になりませんでした

皆さんが複雑な作業でホットキー設定して便利だと感じているものって何かありますか?
2023/09/12(火) 03:06:37.00ID:TCPOB/1O0
>>492
文書を保存したときに、
.ahk なら再読み込み
.html ならブラウザで表示
セットで操作するショートカットをまとめておく
2023/09/12(火) 04:30:06.97ID:48RxhFtI0
>>492
JISキーボードをUS104ドライバで動作でANSI配列化してるけど、
USには無い5キー(無変換、変換、かな、\、\)は、AHKの「SC::VK」でキードライバ代替させてる
2023/09/12(火) 07:42:20.39ID:Nluft5rv0
mayu -> yamy -> ahk と流れてきて、設定を連綿と引き継いでいる
最初にやりたかったのは、ダイヤモンドカーソル
CapsLock+esdxがカーソルキーになる

他にも極力ホームポジションから動かなくていいように、ファンクションキーとか、
かな入力の一部を別のキーに追加

あとは特定アプリ限定で、マウスでしか操作出来ない機能にキーアサインを追加
2023/09/12(火) 08:32:49.30ID:GBoxE6db0
関数ライブラリ廃止がクソすぎる やってられん
2023/09/12(火) 11:28:42.32ID:qk3wwP0M0
>>492
IMEオンオフ切り替えを含め、遠いキーをなるべく手元に
アクティブウィンドウ枠をIMEオンオフに応じて色付け
再変換:半角文字列を未確定全角に‖未確定全角文字列を確定英数字に
アクティブタイトルバーに暗記したい英単語を順次表示
発音記号、欧文文字ダイレクト入力
アプリ一発起動
各種メディアプレーヤーのホットキーを統一
ClipboardHisoryをAHK版にして、カスタマイズ

自分のスクリプトを点検したら、こんな感じでした。
2023/09/12(火) 11:49:46.07ID:UAm/ijNJ0
>>496
人のコードを使ったりするときに意図せず読み込まれて名前空間が、って開発の気持ちもわかるけど
自分で管理できる分には気楽に使えてAHKをカスタマイズしてる感もあったもんね
2023/09/12(火) 12:43:04.65ID:uIyr4Ei90
別に新規作成のテンプレに必ず使うライブラリ書くとかしておけば
良いだけでしょ
大げさに騒ぎすぎ
2023/09/12(火) 13:14:01.88ID:Nluft5rv0
使ったことないけど、includeするのとは違う名前の管理してくれるの?
2023/09/12(火) 13:56:53.17ID:0mkXggI90
>>492
こういうの読んで参考にしてみては?
https://qiita.com/ryoheiszk/items/092cc5d76838cb5a13f1
2023/09/12(火) 21:03:09.06ID:V/2CrKsZ0
>>496
わかりみしかない

>>492
日時・曜日・年号、記号、使い捨てパスワード生成、ウィンドウ切替、ランチャ、ショートカットのリマップ
2023/09/12(火) 22:19:12.36ID:48RxhFtI0
>>492
左手側に置いたテンキーパッドをAHKでリマップして
マウスボタン、チルト&ホイール、ポインタ1pix移動、矢印Page系キー。
右手のマウス本体ボタンは殆ど使わなくなった
2023/09/13(水) 15:48:09.66ID:m4N6UCY60
>>392
>>395
なんか笑った

再起動を避けるメリットって具体的に何ですか?
2023/09/13(水) 17:24:56.06ID:5W893Rfo0
>>503
おもしろいね

ドラッグドロップできるの?
2023/09/13(水) 17:30:46.12ID:Wgwsv5oV0
そもそもブラウザ以外でマウスを使わない
2023/09/13(水) 17:46:36.73ID:el7ZvXLi0
シェルもCUIかよ
男らしいなw
2023/09/13(水) 21:54:54.11ID:Ep4twdpZ0
>>505
出来るよ。キーリピート防いで、長押保持
NumPad◆::
Click,Left,D
KeyWait,NumPad◆ ;リピート連打防止長押保持
Click,Left,U
Return

それとドラッグ用に、クリックON/OFFトグルも
NumPad▼::
Click,Left,D
Sleep 200 ;×無いと即OFF誤動作
KeyWait,NumPad▼,D ;押込検知
Click,Left,U
Return
2023/09/14(木) 08:58:24.57ID:yiUXLhWC0
a::
Click,L,D
KeyWait,%A_ThisHotKey%
Click,L,U
Return

これ系のホットキー、自前ウィンドウ(GUIやListLines)のタイトルバーに対して押すと
クリックされっぱなしになっちゃうんだけどおま環?
2023/09/14(木) 11:25:43.09ID:KPv1xtwM0
かきこめるのかな
511名無しさん@お腹いっぱい。
垢版 |
2023/09/14(木) 11:38:55.24ID:KPv1xtwM0
https:〜〜=99 というある99番目のページurl があって
StringTrimLeftとStringTrimrightで、https:〜〜= までと 99 に切り分けて
99を数値処理して、再結合して98番目をひらき、97番目をひらき・・・を繰り返したいんですが
https://ahkwiki.net/-Concat で結合すると*の箇所でlist_numが数値ではなく文字列になってしまい実現できません
どうやって解決できるでしょうか?

StringGetPos, OutputVar, url_list,=, R1 ,
StringTrimLeft,list_num,url_list,OutputVar+1
StringTrimRight,url_list,url_list,StrLen(list_num)

Loop,5
{
Sleep,1000
list_url := url_list list_num *
Run,%list_url%
list_num =list_num-1
2023/09/14(木) 11:47:07.84ID:KJr2fbsG0
どこにキー入力の要素が
2023/09/14(木) 12:05:09.94ID:qDtiR+3o0
>>509
まずそのコードだけのスクリプト作って動かしてみればいい
それで正常に動作するなら既存スクリプトのコードの問題、そうでなければおま環

>>511
そのコードの一番下の代入が=になってるからでしょ
2023/09/14(木) 12:17:00.09ID:KPv1xtwM0
>>513
凡ミスでしたありがとうございます。
2023/09/14(木) 12:27:01.77ID:KJr2fbsG0
=と==を大文字小文字の区別の為だけに使い分けて、
そのせいで代入を:=にするのはどう考えてもデメリットが大きいので、
=は代入にしてしまった方がいい
2023/09/14(木) 13:11:14.76ID:yGaUQqIl0
>>508
ん?
これで、どうやってドラッグ&ドロップするの?
具体的に

マウスポインタを動かすのは?
2023/09/14(木) 17:42:45.40ID:DzQdSu6f0
>>516
>>503
右手マウス左手キーボードのスタイルでしょ
俺も腱鞘炎対策にクリック連打とかはキーボードに割り当ててる
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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