[過去ログ]
AutoHotkey スレッド part30 IDのみ (1002レス)
AutoHotkey スレッド part30 IDのみ http://egg.5ch.io/test/read.cgi/software/1644313099/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
554: 名無しさん@お腹いっぱい。 [sage] 2023/09/18(月) 07:50:20.70 ID:DiSScFBT0 確率の問題なんだろうな アトムであって欲しい処理のスリットが、v1よりv2の方が広い ダーティでなくなった分だけ脆弱になってしまうっていう どこでフックの奪い合いが起きても本質的に問題ない という作りになってないと、どうしても不安定になる http://egg.5ch.io/test/read.cgi/software/1644313099/554
555: 名無しさん@お腹いっぱい。 [sage] 2023/09/18(月) 13:07:34.00 ID:cSd5nxXI0 >>553 これはダメだな 治るのか? http://egg.5ch.io/test/read.cgi/software/1644313099/555
556: 名無しさん@お腹いっぱい。 [sage] 2023/09/18(月) 22:46:50.69 ID:oUaH/YqD0 >>553 俺の環境ではそんなこと起こったことないが、公式フォーラムのバグレポート(未解決)に似たような報告があるな v2ではSendMode("Input")がデフォルトになったが、このモードがGetKeyStateに干渉しているのではないかと推測されている とりあえずEventモードなら発現しないらしいので Send("{Blind}{WheelDown}")の所をSendEventにするか、SendModeをEventにしてしばらく様子を見てみて http://egg.5ch.io/test/read.cgi/software/1644313099/556
557: 名無しさん@お腹いっぱい。 [sage] 2023/09/21(木) 18:09:14.32 ID:/qgZEuhq0 お世話になっております!また教えて頂けませんか?すみません・・・ NumLock::Run,calculator: Numロックで電卓を起動したいんですが、「既に起動している場合は、そのプロセスをアクティブにする」にあったコレを追加した時の全体の記述がわからないです・・・ 単純に追加しただけだと無限に開けてしまいます Process,Exist,calculator: ;起動しているかどうかを調べる If ErrorLevel <> 0 ;起動していた場合(ErrorLevel変数にプロセスIDが格納される) WinActivate,ahk_pid %ErrorLevel% ;そのプロセスのウィンドウをアクティブにする Else ;起動していなかった場合 calculator: ;起動する http://egg.5ch.io/test/read.cgi/software/1644313099/557
558: 名無しさん@お腹いっぱい。 [sage] 2023/09/21(木) 18:13:06.53 ID:/qgZEuhq0 >>532 あと先日のコレですが、フォアグラウンドに来てる時にはショートカットが効かない原因が全然わかりませんでした 難しいッス http://egg.5ch.io/test/read.cgi/software/1644313099/558
559: 名無しさん@お腹いっぱい。 [sage] 2023/09/21(木) 20:04:42.79 ID:3aqubDRm0 >>557 If WinExist("電卓") WinActivate, 電卓 Else Run, calc.exe http://egg.5ch.io/test/read.cgi/software/1644313099/559
560: 名無しさん@お腹いっぱい。 [sage] 2023/09/21(木) 20:33:27.57 ID:/qgZEuhq0 >>559 ありがとうございます 動きました サンプルと全然違ったw http://egg.5ch.io/test/read.cgi/software/1644313099/560
561: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 18:18:33.75 ID:QYS2Gl5t0 >>558 ifとelseで出来ました!ありがとう! http://egg.5ch.io/test/read.cgi/software/1644313099/561
562: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 18:25:41.20 ID:QYS2Gl5t0 else入ってなかったわ http://egg.5ch.io/test/read.cgi/software/1644313099/562
563: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 21:16:52.43 ID:QYS2Gl5t0 やっぱりだめでした 他のアプリがアクティブだとそっちでショートカットが発動してしまいます http://egg.5ch.io/test/read.cgi/software/1644313099/563
564: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 21:27:25.15 ID:Z0XFNyal0 そうですか 自分が書いたものを貼らないなら そうですか としか返せませんよ http://egg.5ch.io/test/read.cgi/software/1644313099/564
565: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 22:05:39.07 ID:QYS2Gl5t0 spotifyKey(key) { spotifyHwnd := WinExist("ahk_exe spotify.exe") WinGet winMM, MinMax, ahk_id %spotifyHwnd% ;ウィンドウの最大化最小化を調べる if (winMM = -1) ;最小化しているなら WinRestore ahk_id %spotifyHwnd% ;最小化を解除 ControlFocus, Chrome_RenderWidgetHostHWND1, ahk_id %spotifyHwnd% ControlSend, , %key%, ahk_id %spotifyHwnd% if (winMM = 1) ControlFocus, Chrome_RenderWidgetHostHWND1, ahk_id %spotifyHwnd% Send %key% Return } Pause:: { spotifyKey("!+{b}") Return } http://egg.5ch.io/test/read.cgi/software/1644313099/565
566: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 22:05:51.98 ID:QYS2Gl5t0 >>564 すみません上書きで消してたみたいでゴミ箱探したりしましたが結局みつからず、たぶんこんなかんじでした spotifyに直接sendしてないせいですね あと関数やら97%わかってないせいです・・・ 5~7行目だけだとSpotifyが最前面にアクティブな時だけ!+{b}が送られない理由がまるでわからくて if (winMM = 1)以降は意味分かってないのにこうやったら行けた程度のヤツで実際何も分かってないでやってます http://egg.5ch.io/test/read.cgi/software/1644313099/566
567: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 22:08:40.20 ID:QYS2Gl5t0 今は電卓のと足してコレで凌いでます Spotifyの上以外では動作するので問題はないです NumLock:: If WinExist("電卓") WinActivate, 電卓 Else Run, calc.exe return spotifyKey(key) { spotifyHwnd := WinExist("ahk_exe spotify.exe") WinGet winMM, MinMax, ahk_id %spotifyHwnd% ;ウィンドウの最大化最小化を調べる if (winMM = -1) ;最小化しているなら WinRestore ahk_id %spotifyHwnd% ;最小化を解除 ControlFocus, Chrome_RenderWidgetHostHWND1, ahk_id %spotifyHwnd% ControlSend, , %key%, ahk_id %spotifyHwnd% Return } Pause:: { spotifyKey("!+{b}") Return } http://egg.5ch.io/test/read.cgi/software/1644313099/567
568: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 23:03:49.16 ID:Z0XFNyal0 これでどうかな if (winMM = -1) { WinRestore ahk_id %spotifyHwnd% } if WinActive("ahk_id " spotifyHwnd) { Send, %key% } else { ControlFocus, Chrome_RenderWidgetHostHWND1, ahk_id %spotifyHwnd% ControlSend,, %key% } http://egg.5ch.io/test/read.cgi/software/1644313099/568
569: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 23:10:08.94 ID:aFWrFMGJ0 アクティブになってなかったらアクティブにしてから普通に Send, %key% すればいいんでないの? http://egg.5ch.io/test/read.cgi/software/1644313099/569
570: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 23:16:19.36 ID:QYS2Gl5t0 >>568 完璧に動作しました 毎度毎度すみません ありがとうございます すげー・・・ ビルゲイツかな http://egg.5ch.io/test/read.cgi/software/1644313099/570
571: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 23:17:51.06 ID:QYS2Gl5t0 >>569 初心者とかそういうレベルじゃなくて、小学生が大学の講義に来てるような状態なんで汗 そもそもひらがなしか分かってない、みたいな http://egg.5ch.io/test/read.cgi/software/1644313099/571
572: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 23:20:27.07 ID:GiZ06ZcB0 >>565-567 これ、なんとなーく動いているようだけど Chrome_RenderWidgetHostHWND1ってWindow Classでしょ 本来はClassNN、テキスト、コントロールのHWNDのいずれかを指定しなければいけないはずなんだけど Chrome_RenderWidgetHostHWND1とかIntermediate D3D Window1とか http://egg.5ch.io/test/read.cgi/software/1644313099/572
573: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 23:20:58.65 ID:lHAlZ4YK0 一人ウィザードおるよな 何で動くのかじっくり解析しないと判らない http://egg.5ch.io/test/read.cgi/software/1644313099/573
574: 名無しさん@お腹いっぱい。 [sage] 2023/09/22(金) 23:27:39.72 ID:GiZ06ZcB0 あっちゃんとClassNNだったか、すまん俺の勘違いだった 忘れてくれ http://egg.5ch.io/test/read.cgi/software/1644313099/574
575: 名無しさん@お腹いっぱい。 [sage] 2023/09/24(日) 14:22:42.43 ID:3uyZatfe0 Release v2.0.10 · AutoHotkey/AutoHotkey https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.10 Fixed crashing when a named function hotkey is used after #HotIf. Fixed numeric literals ending with a dot to not cause line continuation. Fixed pre-increment/decrement to work with chained array indexing. Fixed OnNotify/OnCommand applying styles only applicable to OnEvent. Fixed FileExist/DirExist leaking handles when emptydir\* is used. Fixed DirExist leaking handles when only files match. http://egg.5ch.io/test/read.cgi/software/1644313099/575
576: 名無しさん@お腹いっぱい。 [sage] 2023/09/24(日) 14:28:51.71 ID:rEh5+F890 なんでそんなに不安定なの http://egg.5ch.io/test/read.cgi/software/1644313099/576
577: 名無しさん@お腹いっぱい。 [sage] 2023/09/24(日) 14:29:05.38 ID:tlr4nZzK0 ユーザーの移行が本格的に始まったのか フィードバックが増えたんだろうな http://egg.5ch.io/test/read.cgi/software/1644313099/577
578: 名無しさん@お腹いっぱい。 [sage] 2023/09/25(月) 00:41:40.07 ID:Vz/pMkdm0 あるソフト(実行ファイル名をfoo.exeとします)のショートカットを殺しつつ、日本語文字入力中のショートカットは殺したくないのですが、なにか上手くやる方法はあるでしょうか? 例えば、foo.exeのショートカットキーCtrl+Uを無効にしつつ、 foo.exe内のテキストボックスで日本語入力をしているときにはIMEのCtrl+Uの機能を有効のままにしたい、 という感じです http://egg.5ch.io/test/read.cgi/software/1644313099/578
579: 名無しさん@お腹いっぱい。 [sage] 2023/09/25(月) 00:44:10.82 ID:Vz/pMkdm0 >>578 間違えて途中で送信しちゃいました foo.exeのCtrl+Uを無効にしようとして.ahkファイルに #IfWinActive,ahk_exe foo.exe ^u:: とすると日本語入力中のCtrl+Uまで無効にされてしまい困っているという状態です http://egg.5ch.io/test/read.cgi/software/1644313099/579
580: 名無しさん@お腹いっぱい。 [sage] 2023/09/25(月) 01:22:43.19 ID:H0BPCsvf0 Open InterpreterにAHK組み合わせたら本当の意味でのAutoHotKeyが実現できて笑ってる http://egg.5ch.io/test/read.cgi/software/1644313099/580
581: 名無しさん@お腹いっぱい。 [sage] 2023/09/25(月) 08:25:29.27 ID:+xBY+Yqs0 >>578 if (!A_CaretX) ;テキスト入力カーソルがオフの場合 処理A は試しました? http://egg.5ch.io/test/read.cgi/software/1644313099/581
582: 名無しさん@お腹いっぱい。 [sage] 2023/09/26(火) 04:45:18.81 ID:8jjFqO/J0 >>581 これ知らなかったので試してみましたがダメでした 多分カーソルがあるときに適用される、という感じですよね? 結局どっちも無効になってしまいます http://egg.5ch.io/test/read.cgi/software/1644313099/582
583: 名無しさん@お腹いっぱい。 [sage] 2023/09/26(火) 09:02:12.31 ID:UqTVMUhE0 (´・ω・`).。oO(「foo.exe」とかアプリ名を何で伏せるんだろう…) ・foo.exe側でCtrl+Uの割り当てを無効に変える(別のキーに割り当てる) ・日本語入力中のCtrl+Uの代わりにF6を押下する ・ahkでCtrl+U押下したらF6送出するようにする(foo.exe側のF6に何も割り当てがないこと) この内のどれかで対処する(自分が思いついたのはこれだけだった) http://egg.5ch.io/test/read.cgi/software/1644313099/583
584: 名無しさん@お腹いっぱい。 [sage] 2023/09/26(火) 10:16:47.57 ID:/VFCsiDa0 エロい奴だから http://egg.5ch.io/test/read.cgi/software/1644313099/584
585: 名無しさん@お腹いっぱい。 [] 2023/09/26(火) 12:10:25.33 ID:BqRz5POi0 エロいやつをホットキー入れてまで起動してるやつおらんやろ http://egg.5ch.io/test/read.cgi/software/1644313099/585
586: 名無しさん@お腹いっぱい。 [sage] 2023/09/26(火) 12:12:30.33 ID:/VFCsiDa0 全てのテクノロジーはエロを原動力に発展している http://egg.5ch.io/test/read.cgi/software/1644313099/586
587: 名無しさん@お腹いっぱい。 [sage] 2023/09/26(火) 13:03:53.20 ID:Y07m41ei0 chromeとかelectron系はキャレットが独自実装だから取得できないよ 昔ACCライブラリで検出しようとして上手く行かなかったわ X=%Caret_Location.x% Y=%Caret_Location.y% http://egg.5ch.io/test/read.cgi/software/1644313099/587
588: 名無しさん@お腹いっぱい。 [sage] 2023/09/27(水) 22:43:18.37 ID:5u5WHwU70 >>583 伏せないほうがいいdすかね?Win版LINEです http://egg.5ch.io/test/read.cgi/software/1644313099/588
589: 名無しさん@お腹いっぱい。 [sage] 2023/09/28(木) 20:08:11.30 ID:SIZ6DkpS0 tooltipにemoji表示する方法ありますか? http://egg.5ch.io/test/read.cgi/software/1644313099/589
590: 名無しさん@お腹いっぱい。 [sage] 2023/09/28(木) 21:09:38.26 ID:Nf8VDUte0 モノクロやけど普通に出るやろ ToolTip "🍦", 100, 150 http://egg.5ch.io/test/read.cgi/software/1644313099/590
591: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 03:56:22.34 ID:EHs419dZ0 IfInString, a, m hensuu:=1 aという変数の中にmという文字があると変数を変えるっていうだけの話なんですけど IfInString, a, 1 hensuu:=1 IfInString, a, 2 hensuu:=1 IfInString, a, 3 hensuu:=1 と検出する文字列が複数になったときにやってられないんでループで回そうとしているんですが list=[1,2,3・・・・] Loop,% list.Length() { IfInString, a, list[A_Index] hensuu:=1 break } としているんですが、”へんすう”が0のままでbreakされているようです 原因は何でしょうか? http://egg.5ch.io/test/read.cgi/software/1644313099/591
592: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 07:13:52.00 ID:aunpj35J0 原因はv1を使ってることです http://egg.5ch.io/test/read.cgi/software/1644313099/592
593: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 07:49:51.39 ID:FJNgzxOZ0 >>591 ifの後をブロックで囲ってないからifに関係なくbreakされる あと >list=[1,2,3・・・・] ここと >, list[A_Index] ここも直さないと期待通りには動かない http://egg.5ch.io/test/read.cgi/software/1644313099/593
594: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 07:58:11.28 ID:nXp5JoSn0 >>591 その例だとこうだろ hensuu:=0 a:="bred" list:=["red","green","blue"] Loop,% list.Length() { If InStr(a, list[A_Index]) { hensuu:=1 break } } msgbox % hensuu IfInStringは廃止(予定)だから使うべきじゃない 関数のInStrを使う あと、listの後にコロンが入ってない 文字列なのにダブルクォーテーションでくくってない http://egg.5ch.io/test/read.cgi/software/1644313099/594
595: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 08:11:22.14 ID:8kGAhi8Z0 ちゃんとlistの長さ分だけループ周ってるの? とか list[A_Index]がちゃんと複数文字列としてループ内で展開されてるの? とかもあるけど そもそもの話としてIfInStringじゃなくてcontains、RegExMatch()あたりを使うべき処理かと http://egg.5ch.io/test/read.cgi/software/1644313099/595
596: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 08:16:16.25 ID:nXp5JoSn0 普通は検索要素がそう多くなければ正規表現でちょちょってやるような処理よ フラグを立てるだけならfalseとtrueを使った方が後でソースを見返すときに 分かりやすくていいぞ hensuu:=false a:="bred" if RegExMatch(a,"red|green|blue") { hensuu:=true } msgbox % hensuu http://egg.5ch.io/test/read.cgi/software/1644313099/596
597: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 22:12:19.26 ID:WWZtyfbn0 AutoHotkey初心者です。 質問があります。↓のようなスクリプトを書いて実行させました(verは1.1です)。 ;「無変換」が単独で押されたら、「Backspace」が押されたことにする。 vk1D::Send,{Blind}{Backspace} ;「変換」が単独で押されたら、「Enter」が押されたことにする。 vk1C::Send,{Blind}{Enter} 通常の「Backspaceキー」と「Enterキー」ですと、キーを押し続けると削除や改行をし続けますが、 このスクリプトだと「無変換キー」と「変換キー」を押し続けても何も反応はなく、 押し上げてやっと1回だけ削除や改行をします。 これを通常の「Backspaceキー」と「Enterキー」と同じように、 キーを押し続けると削除や改行をし続けるようにするにはどのようなスクリプトを書けばいいのでしょうか? http://egg.5ch.io/test/read.cgi/software/1644313099/597
598: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 22:25:35.84 ID:FJNgzxOZ0 ↑いつもの荒らしです 触らないように http://egg.5ch.io/test/read.cgi/software/1644313099/598
599: 597 [sage] 2023/09/30(土) 22:30:58.14 ID:WWZtyfbn0 >>598 いいえ、私は荒らしではありません。 本当に分からないことがあったので、質問させていただきました。 http://egg.5ch.io/test/read.cgi/software/1644313099/599
600: 名無しさん@お腹いっぱい。 [] 2023/09/30(土) 22:31:34.90 ID:lxiWU+kb0 Blindは大抵変なことになるな http://egg.5ch.io/test/read.cgi/software/1644313099/600
601: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 23:10:22.54 ID:g6QA9piE0 >>597 これなんかおかしいよ Blindで修飾キーの押下の可能性をを示唆しているのに 無変換の単独キーって、よくわからん 例えば、Shift + BS とか Ctrl + BS は普通にエディタ使っていると 人によっては、まあまあ使うんだけど Shift + 無変換で Shift + BS になってほしいのか、ほしくないのか? どっち? http://egg.5ch.io/test/read.cgi/software/1644313099/601
602: 597 [sage] 2023/09/30(土) 23:37:47.61 ID:WWZtyfbn0 >>601 私はAutoHotkey初心者なので、「Blind」の意味もよく分かっていません。 参考にしたスクリプトに「Blind」が入っていたので、自分の方でも入れているだけです。 「Shift+無変換」で「Shift+Backspace」にはなって欲しくないです(必要と感じていないため)。 しかし、「Shift+変換」で「Shift+Enter」にはなって欲しいので、 >>597には省略して書きませんでしたが、実際のスクリプトは↓のようになっています。 ;「変換」が単独で押されたら、「Enter」が押されたことにする。 vk1C::Send,{Blind}{Enter} ;「Shift+変換」が押されたら、「Shift+Enter」が押されたことにする。 +vk1C::Send,+{Enter} 省略した理由は、「Shift+変換」は押し続けて反応して欲しいわけではなかったからですが、 今、試してみたところ、↑のスクリプトだと、「変換」単独だと押し続けて反応はしませんが、 「Shift+変換」は押し続けて反応しますね。 私の希望は以下の3点です。 ?「無変換」を押し続けると「Backspace」を押し続けたように動作して欲しい。 ?「変換」を押し続けると「Enter」を押し続けたように動作して欲しい。 ?「Shift+変換」を押したら「Shift+Enter」を押したように動作して欲しい。 http://egg.5ch.io/test/read.cgi/software/1644313099/602
603: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 23:42:14.27 ID:KnLHxxU/0 >>597 単独で押されたら って書いているということは別の行に 無変換+何かのキーとかのスクリプトを書いているんじゃないの? http://egg.5ch.io/test/read.cgi/software/1644313099/603
604: 名無しさん@お腹いっぱい。 [sage] 2023/09/30(土) 23:47:22.86 ID:KnLHxxU/0 >602 {Blind}付けるなら +vk1c:: の行は要らないのでは? http://egg.5ch.io/test/read.cgi/software/1644313099/604
605: 名無しさん@お腹いっぱい。 [sage] 2023/10/01(日) 00:07:27.97 ID:aO5V046V0 >>602 無変換だけサンプルで 変換の方はわかると思う vk1D::BS +vk1D::Del ;Shift + 無変換でdel ;*^vk1D:: ;Ctrl + 無変換は受け付ける ;他の修飾キーと無変換の組み合わせを無効化 *!vk1D:: *#vk1D:: return 当然だけど、無変換 + a など無変換を修飾キーとしたホットキーを混ぜると正しく動作しない そういうのも使いたいなあとなると、押下時間などを考慮した多少面倒なコードを書く必要がある そうすると誤爆したりする可能性があるのでお勧めしない http://egg.5ch.io/test/read.cgi/software/1644313099/605
606: 597 [sage] 2023/10/01(日) 00:24:47.36 ID:5y0E7yg10 >>603 そうです。別の行に↓のようなスクリプトを書いています。 ;「無変換+Q」が押されたら、「Alt+←」が押されたことにする(戻る)。 vk1D & q::Send,!{Left} ;「無変換+W」が押されたら、「Alt+→」が押されたことにする(進む)。 vk1D & w::Send,!{Right} >>604 今、試してみましたが「+vk1c:: の行」を消すと、 「Shift+変換」を押したら、「Shift+Enter」を押したように動作しなくなります。 >>605 スクリプト、どうもありがとうございます。 別の行に「無変換+何かのキー」のスクリプトを書くと、 「無変換」を単独で押し続けた時に「Backspace」を押し続けたように動作しなくなるということですか? そうならば、無変換キーを修飾キーとしたホットキーは使い続けたいので、 「無変換」を単独で押し続けた時に「Backspace」を押し続けたように動作して欲しいという希望は諦めることにします。 http://egg.5ch.io/test/read.cgi/software/1644313099/606
607: 名無しさん@お腹いっぱい。 [sage] 2023/10/01(日) 00:44:40.72 ID:aO5V046V0 >>606 無変換の単独押しでリピートしなくなる 他はいける 組み込んで試してみなよ http://egg.5ch.io/test/read.cgi/software/1644313099/607
608: 597 [sage] 2023/10/01(日) 08:03:39.09 ID:5y0E7yg10 >>607 おっしゃっていることがよく分かりません。 私は「無変換」を「修飾キー」として使った上で、 「無変換」単独押しをした時は(Backspaceキーとして)「キーリピート」をして削除し続けて欲しいのですが、 それはできないということでしょうか? http://egg.5ch.io/test/read.cgi/software/1644313099/608
609: 名無しさん@お腹いっぱい。 [sage] 2023/10/01(日) 08:09:26.00 ID:vJZ6he//0 >>608 無変換+q をやりたい時にまず無変換キーを押すと思うんだけど、 そこから1秒程度経過してしまったら自動的に削除リピートが始まって欲しいと? http://egg.5ch.io/test/read.cgi/software/1644313099/609
610: 名無しさん@お腹いっぱい。 [sage] 2023/10/01(日) 09:14:16.51 ID:jCSy+5iI0 キートップの文字を書き換えたかのように、そのキーを完全に置き換える どんな組み合わせで押しても置き換わって動作する という挙動をahkで書くのはなかなか大変だけど、 yamyでは1行だったんだよな http://egg.5ch.io/test/read.cgi/software/1644313099/610
611: 名無しさん@お腹いっぱい。 [sage] 2023/10/01(日) 09:37:27.76 ID:1MOKFxYN0 >>608 修飾キーっていうのは単独押しでは作用しないから修飾キーなわけでしょ 例外はWinキーで、これは単独だと離したときにスタートメニューが発動するから成立している これを無変換に当てはめるとすると、離したときにBSが発動してたらキーリピートになりようがない だから前のレスで書いたように、押下時間でリピートになったり、修飾キーになったりみたいな 仕組みにする必要がある ただBSなんかは瞬時に発動してくれないとイラつくだけだと思うんだよね 修飾キーのつもりで押したのに文字が消えたとか誤爆もあるし http://egg.5ch.io/test/read.cgi/software/1644313099/611
612: 597 [sage] 2023/10/01(日) 10:23:09.43 ID:IXVZWApm0 >>609 その通りです。 >>611 分かりやすい例えをありがとうございます。 私の希望は複雑なコードを書けば実現できそうではあるけれども、実現できたところで誤爆の可能性が高くなるのでお勧めしないということですね。 分かりました。実現できたところで不便そうなので、現在のスクリプトのまま使い続けようと思います。 http://egg.5ch.io/test/read.cgi/software/1644313099/612
613: 名無しさん@お腹いっぱい。 [] 2023/10/01(日) 18:48:40.48 ID:MIF/cMMY0 クリップボードに画像ファイルがコピーされた時に、それを開いて画像データをクリップボードに持つようにしたいのですが、どう書くのがいいでしょう? powertoyでもできたりしますか? http://egg.5ch.io/test/read.cgi/software/1644313099/613
614: 名無しさん@お腹いっぱい。 [sage] 2023/10/02(月) 07:50:12.52 ID:Y0OCwQiz0 >>613 正:それを開いて画像データをメモリに持つ 誤:それを開いて画像データをクリップボードに持つ ということ? Win10/11 以降の Snip & Sketch/Snipping Tool なら特に何もせんでも 頭36yte分の Clipborad の header/Signature? を読み飛ばしゃ PNG の 画像データがそのまま入ってる。 それ以前の場合はちょっと面倒で、歴史的経緯?でちょっと古い形式での Windows BMPデータが入っているっぽいので色々と変換せんと、今どきの BMPデータにならない。 http://egg.5ch.io/test/read.cgi/software/1644313099/614
615: 名無しさん@お腹いっぱい。 [] 2023/10/02(月) 19:37:50.10 ID:tI65VkKa0 AHK v2 の fat arrow function は () => expr というフォーマットで、式だから 1行しか書けない () => 123 {} が来る場合は JavaScript のように複数行書けたらいいのにな ``` () => { a := 123 b := 456 return a + b } ``` のように 比較的簡単に実装できそうだけど、実装すれば breaking change になってしまう 現状だと () => {} はオブジェクトを返すという意味なので。 JavaScript の場合は、{} が来たら例外的に関数本体として扱われるようになっていて便利だ http://egg.5ch.io/test/read.cgi/software/1644313099/615
616: 名無しさん@お腹いっぱい。 [sage] 2023/10/02(月) 19:38:02.65 ID:4IbfaSx20 ahk v1.1です。 エクスプローラーで使用しています。 IME.ahk を使用しています。 文字入力中(名前の変更や検索欄入力)だった場合は、 a そうでない場合は、+^a のスクリプトにしたいのですが 下記の方法だと文字入力中の判定がうまく出来ないので 教えていただきたいです。 a:: If IME_GetConverting() = 0 { Send, +^a }else{ Send, a } Return http://egg.5ch.io/test/read.cgi/software/1644313099/616
617: 名無しさん@お腹いっぱい。 [sage] 2023/10/02(月) 19:38:16.12 ID:4IbfaSx20 ahk v1.1です。 エクスプローラーで使用しています。 IME.ahk を使用しています。 文字入力中(名前の変更や検索欄入力)だった場合は、 a そうでない場合は、+^a のスクリプトにしたいのですが 下記の方法だと文字入力中の判定がうまく出来ないので 教えていただきたいです。 a:: If IME_GetConverting() = 0 { Send, +^a }else{ Send, a } Return http://egg.5ch.io/test/read.cgi/software/1644313099/617
618: 名無しさん@お腹いっぱい。 [sage] 2023/10/02(月) 19:38:30.91 ID:4IbfaSx20 ahk v1.1です。 エクスプローラーで使用しています。 IME.ahk を使用しています。 文字入力中(名前の変更や検索欄入力)だった場合は、 a そうでない場合は、+^a のスクリプトにしたいのですが 下記の方法だと文字入力中の判定がうまく出来ないので 教えていただきたいです。 a:: If IME_GetConverting() = 0 { Send, +^a }else{ Send, a } Return http://egg.5ch.io/test/read.cgi/software/1644313099/618
619: 名無しさん@お腹いっぱい。 [sage] 2023/10/02(月) 22:31:01.66 ID:JWMVaWUA0 >>615 関数の形式で書かせてほしいよね 今でも一応は,で並べて書けるけどループを書こうとすると再帰呼出しになるし まだ末尾呼び出し最適化がないから、ちょっと気にしながらになるのもなんかな http://egg.5ch.io/test/read.cgi/software/1644313099/619
620: 名無しさん@お腹いっぱい。 [sage] 2023/10/03(火) 17:39:12.06 ID:2DNPH3ID0 >>618 あなたがやりたいことは>>581の方法で実装できます ただし、検索欄等のキャレットは取得できないかもしれないので その場合は ControlGetFocus でコントロール名を照合するなどの別のアプローチが必要になるかもしれません 蛇足ですが IME_GetConverting() は変換候補ウィンドウが表示されているかどうかを判別しているだけなので 直接入力時や変換未確定(文字列に下線が付いてるだけの状態)時は文字入力中と判断されません また、IMEの仕様上の問題で別のプロセスから入力コンテキスト(変換中の情報)を取得することはできないので 外部アプリの文字入力中かどうかの判定にはそのアプリに適した様々な方法を試す必要があります http://egg.5ch.io/test/read.cgi/software/1644313099/620
621: 名無しさん@お腹いっぱい。 [sage] 2023/10/03(火) 19:30:40.48 ID:759jFrqH0 IME.ahkを有志が一部v2対応してた https://github.com/kdr-s/ime.ahk-v2/blob/master/IME.ahk GETとSETのみ http://egg.5ch.io/test/read.cgi/software/1644313099/621
622: 名無しさん@お腹いっぱい。 [sage] 2023/10/04(水) 18:56:24.73 ID:tIruFCPa0 重い腰を上げてようやくv2に移行したがv2最高だわ 普通の文法のプログラムが書けるというすばらしさ v1のサポートさっさと打ち切ってネット上の醜いv1のコード駆逐してほしい http://egg.5ch.io/test/read.cgi/software/1644313099/622
623: 名無しさん@お腹いっぱい。 [sage] 2023/10/04(水) 22:35:25.70 ID:kSzEGkao0 >>621 完全版 https://github.com/k-ayaki/IMEv2.ahk/blob/master/IMEv2.ahk http://egg.5ch.io/test/read.cgi/software/1644313099/623
624: 名無しさん@お腹いっぱい。 [] 2023/10/05(木) 06:02:55.84 ID:bWuMkV3d0 >>615 です 関数本体を宣言できる機能が1ヶ月前に v2.1-alpha で追加されたみたいです 書き方は、 () => {} ではなく、 () {} こうするらしい (たしかにこれだと breaking change にならない) ``` SetTimer(() { MsgBox "5 second timer expired." }, -5000) ``` 使い捨ての関数を宣言したいことはよくあるので便利そう https://www.autohotkey.com/docs/alpha/Functions.htm#funcexpr alpha で追加されたことに気づかずに forum で feature request して、 更に実装日を1ヶ月勘違いして数日前に実装されたのかと勘違いして返事してしまった http://egg.5ch.io/test/read.cgi/software/1644313099/624
625: 名無しさん@お腹いっぱい。 [] 2023/10/05(木) 06:18:36.34 ID:bWuMkV3d0 v2-alpha のドキュメント https://www.autohotkey.com/docs/alpha/ v2-alpha のダウンロード https://www.autohotkey.com/download/2.1/ v2-alpha のリリースノート https://www.autohotkey.com/docs/alpha/ChangeLog.htm http://egg.5ch.io/test/read.cgi/software/1644313099/625
626: 名無しさん@お腹いっぱい。 [] 2023/10/06(金) 01:45:23.21 ID:ev1enbnj0 v2.1 の無名関数を試した AHK の無名関数は、OTB style としての僅かな制約(最初の { で改行しないといけない)があるけど、 それ以外は普通に使える 無名関数がサポートされたことで、言語としての書き心地は JavaScript とかなり近くなった 無名関数が使えると発想も変わるし、多用もする機能なので、 実質的には v2.5 くらいの変化に感じる http://egg.5ch.io/test/read.cgi/software/1644313099/626
627: 名無しさん@お腹いっぱい。 [sage] 2023/10/06(金) 05:15:27.47 ID:jYxejNZf0 fat arrowで無理やり書いてたのから開放されるのか 三項演算子覚えたてみたいな見た目になるから嫌だったんだよ http://egg.5ch.io/test/read.cgi/software/1644313099/627
628: 名無しさん@お腹いっぱい。 [] 2023/10/07(土) 19:31:15.14 ID:9zvIUWci0 v2.1 では、unset というもの(JavaScript の undefined のような)が導入された これまで、引数のデフォルト値などは 0, -1, '' あたりを代入してごまかすしかなかったけど、unset できれいに(普通に)書けるようになった ``` ; これまでの書き方 myFunc(a, b := '') { if b != '' do something } ; v2.1 myFunc(a, b := unset) { if IsSet(b) do something } ``` unset 導入に伴い、?, ??, ??= 演算子も使えるようになった ``` obj?.a?.func() b := c ?? 123 d ??= 456 ``` 変数を(自分のメモ用に)宣言だけしたいときにも、適当な値を代入する代わりに unset が使える ``` ; これは実質的には何も宣言していないのと同じで、この行自体が存在しない場合と等価 a := unset ``` http://egg.5ch.io/test/read.cgi/software/1644313099/628
629: 名無しさん@お腹いっぱい。 [] 2023/10/07(土) 19:32:02.43 ID:9zvIUWci0 JavaScript のように a === undefined とは書けず、IsSet(a) と明示的にチェックする必要があるという違いがあるけれど、undefined のようなものが使えるようになった、という話 なぜ IsSet() で明示的なチェックが必要なのかというと、JavaScript の(strict mode の)場合は a という変数が存在して(宣言はされていて)その値が undefined だけど、AHK v2.1 の場合は、a := unset とすると、a という変数自体は存在しないまま IsSet() は、変数の値が unset かどうかをチェックしているのではなく、変数自体が存在するかをチェックしているからだろうと思う このことと関連して、デフォルト引数で unset を代入したとき、その引数を他の関数に渡したい場合は次のように書く ``` myFunc(a := unset) { myAnotherFunc(a ?? unset) ; myAnotherFunc(a) だと、a が unset のとき、a という変数自体が存在しないのでエラーになる } ``` http://egg.5ch.io/test/read.cgi/software/1644313099/629
630: 名無しさん@お腹いっぱい。 [sage] 2023/10/07(土) 19:53:04.05 ID:p00Uoc4y0 めんどくさいだけでメリットを感じない http://egg.5ch.io/test/read.cgi/software/1644313099/630
631: 名無しさん@お腹いっぱい。 [sage] 2023/10/08(日) 13:05:54.46 ID:SBMAHfMn0 >>628 その辺り一部は2.0.10でも使えて便利 それと別の関数に渡すやつはmyAnotherFunc(a?)でいいのでは >>630 あったらいいなが自分に来るまでなくてもいいやつなんで メリットを感じないならスルーで問題ないよ http://egg.5ch.io/test/read.cgi/software/1644313099/631
632: 名無しさん@お腹いっぱい。 [sage] 2023/10/08(日) 13:53:44.85 ID:SBMAHfMn0 なんかこれ系使ってるの書いたなと思って探してきた 前にループでRangeを使いたいって話があった後、自分でも範囲指定のが欲しくなったときのやつ ; PythonのRangeみたいなやつ(forで使うことしか考えてない) Range(start?, stop?, step?) { s := Integer(step ?? 1) if !IsSet(start) && !IsSet(stop) && !IsSet(step) c := 1 - s ; Range() else if IsSet(start) && !IsSet(stop) && !IsSet(step) c := 1 - s, m := Integer(start) ; Range(stop) else if IsSet(start) && IsSet(stop) c := Integer(start) - s, m := Integer(stop) ; Range(start, stop[, step]) else Throw Error("パラメータが変です。", "Range") return (&n) => (n := c += s, !IsSet(start) || c <= m) } http://egg.5ch.io/test/read.cgi/software/1644313099/632
633: 名無しさん@お腹いっぱい。 [] 2023/10/08(日) 23:51:41.99 ID:yx819iOD0 >>631 ほんとだ myAnotherFunc(a?) でよかった http://egg.5ch.io/test/read.cgi/software/1644313099/633
634: 名無しさん@お腹いっぱい。 [sage] 2023/10/13(金) 20:31:04.41 ID:lUFs50Mf0 v2使ってます ダブルクオーテーションで囲んだ変数を展開する方法はあるでしょうか? 調べてみたらv1の頃はできたっぽいんですが… 以下は例で、本当にやりたいのはテキストファイルに書いておいた文字列が含む変数を展開することです v := "「A_AhkVersion」" MsgBox v ; A_AhkVersionと表示されるのを2.0.10とかにしたい http://egg.5ch.io/test/read.cgi/software/1644313099/634
635: 名無しさん@お腹いっぱい。 [sage] 2023/10/13(金) 21:09:19.74 ID:kszrn8gL0 無変換(SC07B)+変換(SC079)+o はどうやって書けばいいでしょうか? ~SC079 & SC07B & o:: は動きませんでした http://egg.5ch.io/test/read.cgi/software/1644313099/635
636: 名無しさん@お腹いっぱい。 [sage] 2023/10/13(金) 22:58:19.97 ID:1crCpIhe0 >>634 https://ahkscript.github.io/ja/docs/v2/Variables.htm#Intro >>635 修飾キー(Ctrl、Shift、Alt、Win)以外の3つ以上のコンビネーションキーはサポートされていない ホットキーを2つまでにして、#IF または ホットキーの処理内で GetKeyState で3つ目以降のキー状態を取得して分岐させることは可能ではあるが そもそも使用中のキーボードによっては修飾キー以外のキーは3つ以上の同時押しを認識できない場合も多々あるのでそこら辺は環境による http://egg.5ch.io/test/read.cgi/software/1644313099/636
637: 名無しさん@お腹いっぱい。 [sage] 2023/10/13(金) 23:04:18.36 ID:ERs/JTAS0 >>634 https://www.autohotkey.com/docs/v2/lib/RegExMatch.htm#ExDeref これv1の時からTransform廃止するからこんな感じの関数でやってねって言ってたけど 関数内ローカルの展開に使えなくてTransformの代わりにならない http://egg.5ch.io/test/read.cgi/software/1644313099/637
638: 名無しさん@お腹いっぱい。 [sage] 2023/10/14(土) 00:58:11.68 ID:iMxXiXwK0 >>636 ありがとうございます アドバイス通りにやったらうまくいきました #If GetKeyState("SC07B", "P") && GetKeyState("SC079", "P") i:: SendInput, {Up} return #if ところが次の問題が~sc079 & i::を設定していると動かなくなります 同時併用はできないでしょうか? http://egg.5ch.io/test/read.cgi/software/1644313099/638
639: 名無しさん@お腹いっぱい。 [sage] 2023/10/14(土) 08:08:17.62 ID:DXkbEwUP0 >>638 SC079 & i:: if(GetKeyState("SC07B", "P")){ ;処理A } else { ;処理B } return とかどう? http://egg.5ch.io/test/read.cgi/software/1644313099/639
640: 名無しさん@お腹いっぱい。 [sage] 2023/10/14(土) 08:39:17.96 ID:281ftA3E0 >>638 実際にどういう書き方をしているかはわからんけど、おそらく #If が同条件での発動になってて ~sc079 & i:: の方が優先されているだけだと思う やり方は色々あるけど一例としてこんな感じでも動く #If !GetKeyState("SC07B", "P") ~sc079 & i::SendInput, {Down} #If #If GetKeyState("SC07B", "P") && GetKeyState("SC079", "P") i::SendInput, {Up} #If http://egg.5ch.io/test/read.cgi/software/1644313099/640
641: 名無しさん@お腹いっぱい。 [sage] 2023/10/14(土) 09:17:07.76 ID:3TcJyM+70 >>637 どうにかならないかと思ったけどあんまりどうにもならなかった ローカル変数を扱いたいときだけ列挙してクロージャにして渡して MsgBox Deref("%var1%def%var2%", varName => (var1, var2, %varName%)) 関数定義のところで受け取って Deref(Str, derefFunc?) 途中のderef部分を out .= IsSet(derefFunc) ? derefFunc(m[2]) : %m[2]% みたいな http://egg.5ch.io/test/read.cgi/software/1644313099/641
642: 名無しさん@お腹いっぱい。 [sage] 2023/10/14(土) 13:14:24.79 ID:281ftA3E0 >>634 636だけどちょっと読み違えてた。そういうことをやりたいならこんな感じで変数にしたい文字列を置き換えるかな… v := "「A_AhkVersion」「A_YYYY」" for var in ["A_AhkVersion", "A_YYYY"] v := RegExReplace(v, var, %var%) MsgBox v 連想配列を用いる方法もある。一見冗長に見えるがプログラミング的に推奨されるのはこちらの方だと思う variables := Map("A_AhkVersion", A_AhkVersion, "A_YYYY", A_YYYY) for key in variables v := RegExReplace(v, key, variables[key]) v1のTransformも内部的には同様のことやってると思う。ただ、廃止された理由にも含まれると思うけど 予想外のところが変換されてたりしてバグの温床になるのであまり推奨されない やるにしてももっとマッチパターンを厳密化した方が良い >>641 の言ってることは別の問題で、やりたくはないんだろうけど元の変数をグローバル化してしまうのが簡単ではある まあ手段が目的化してしまってる所もあるんだろうけど、 単純な文字列展開なら文字列結合やFormat関数でどうとでもなるので別にいらないのでは?とも思う http://egg.5ch.io/test/read.cgi/software/1644313099/642
643: 名無しさん@お腹いっぱい。 [sage] 2023/10/14(土) 17:31:51.42 ID:iMxXiXwK0 >>639 ありがとうございます それで完璧に動作しました! >>640 ありがとうございます アドバイス通り競合していたみたいです http://egg.5ch.io/test/read.cgi/software/1644313099/643
644: 名無しさん@お腹いっぱい。 [sage] 2023/10/14(土) 21:33:45.85 ID:3TcJyM+70 >>642 元の質問とは別で>>637の挙げてるドキュメントの話だって説明ないとわかりにくかったね、今度から気をつけるわ > 手段が目的化 はまさにそれで、パズル感覚でどうにかならないかなと考え始めたんで Transformについては自分も同意するところ http://egg.5ch.io/test/read.cgi/software/1644313099/644
645: 633 [sage] 2023/10/15(日) 13:03:37.69 ID:/B+GGiqI0 お返事をくださった皆さん、ありがとうございました 書き忘れてましたがv1でのやり方はご指摘の通りTransformでした 使う変数は組込変数で、使う場面も限定されるので、連想配列で工夫したいと思います http://egg.5ch.io/test/read.cgi/software/1644313099/645
646: 名無しさん@お腹いっぱい。 [sage] 2023/10/15(日) 15:47:01.10 ID:TKXXnipr0 https://www.autohotkey.com/docs/v2/Scripts.htm#continuation-section だいぶ前のレスで上記URLを参考にしたと思われる v2でのヒアドキュメントが変数を絡めると見にくくなる話が出てたが 継続行開始と終了の()の内側に"入れ改行位置を分けてやればいけることに気がついた F1:: { ; 公式ドキュメントの例に則った記述 MsgBox(" (Join 現在のバージョンは「 )" A_AhkVersion " ( 」です。 )", "テストメッセージ") } F2:: { ; ちょっと詰め込みすぎて逆に分かりにくかもだがこんな感じでいける MsgBox( (Comment "現在のバージョンは「" A_AhkVersion "」です。 今年は" A_YYYY "年です。 来年は" A_YYYY + 1 "年になるでしょう。 ; VSCODE AHKv2-LSP では文字列カラーになるけど、 ; Commentオプションも機能する 来月は" ((A_MM + 1 > 12) ? 1 : A_MM + 1) "月のはずです。" ), "テストメッセージ") } ただし、公式記法と違い文中の"は`"のように明示的にエスケープする必要がある その他の自動インデント判定等は普通に機能する http://egg.5ch.io/test/read.cgi/software/1644313099/646
647: 名無しさん@お腹いっぱい。 [sage] 2023/10/16(月) 06:27:36.80 ID:HnFsiC+R0 なんか無理やりヒアドキュメント使いたいってだけで本末転倒なんよ 最初の例だと F1:: { MsgBox( "現在のバージョンは「" A_AhkVersion "」です。" ,"テストメッセージ" ) } とか書けばいいだけだし、二番目の例だと逆に可読性が低くてメンテナンスに問題出やすい それに仕様の穴を突くような変態表記していると、本体更新で後々にバグとして顕在化してきて支障が出る http://egg.5ch.io/test/read.cgi/software/1644313099/647
648: 名無しさん@お腹いっぱい。 [sage] 2023/10/16(月) 10:20:02.59 ID:Bz5r9zRC0 なにがなんでもv2の欠点を欠点と認めない人がずっと頑張ってるけど その行為なんかメリットある? http://egg.5ch.io/test/read.cgi/software/1644313099/648
649: 名無しさん@お腹いっぱい。 [sage] 2023/10/16(月) 11:38:46.89 ID:Wb0gkuWM0 v3まで待つしか http://egg.5ch.io/test/read.cgi/software/1644313099/649
650: 名無しさん@お腹いっぱい。 [sage] 2023/10/16(月) 12:44:38.46 ID:JfuEMiXm0 v1のヘンタイコードに対応することは二度とないよ http://egg.5ch.io/test/read.cgi/software/1644313099/650
651: 名無しさん@お腹いっぱい。 [sage] 2023/10/16(月) 16:43:14.30 ID:eNxVDezc0 過去の資産のあるゴミ言語から 資産のないゴミ言語になった http://egg.5ch.io/test/read.cgi/software/1644313099/651
652: 名無しさん@お腹いっぱい。 [sage] 2023/10/16(月) 16:50:51.45 ID:Wb0gkuWM0 先進性があるならともかく、どっかで見たような言語を再開発する意味とは http://egg.5ch.io/test/read.cgi/software/1644313099/652
653: 名無しさん@お腹いっぱい。 [sage] 2023/10/16(月) 18:31:08.61 ID:dLR3pMBg0 すまん例が悪かった。AHKでヒアドキュメントを使いたい理由って大抵は簡易的なリストや箇条書きなどの複数行の文を出力する際に コード上で書いてあるインデントをLTrimで無視したい場合だと思うんだけど、公式例通りにやると変数が絡むとややこしくなるが、こういう風にも書けるということ 俺も理解が足りてなかったが、仕様上の穴ではなく、公式ドキュメントが分かりにくいだけで継続セクションが実際にどのようにどこまで有効であるのかという話 よく読んだら引用符で始まらない場合は式として扱われるという主旨のことが回りくどく書いてあった。正直そんなに必要になることはないし、どうでもいいと言われればそれでいいんだけどね ; 公式例 ""で囲んだ文字列内で継続セクションを開始している為()内の全てが文字列として扱われ、文中の"も文字として扱われるので、式を扱う場合は一度セクションを区切る必要がある MsgBox(" (LTrim 現在のバージョンは「 )" A_AhkVersion " (LTrim 」です。 あいうえお かき"く"けこ`nさしすせそ )" ) ; 5chの仕様の為、インデントは全角スペースに置き換え ; 文字列結合 各行頭行末に"、文中の"はエスケープ、改行もエスケープされた物のみ 全文を1行にまとめても良い MsgBox( "現在のバージョンは「" A_AhkVersion "」です。`n" "あいうえお`n" "かき`"く`"けこ`nさしすせそ" ) ; ""の位置を変え、文中の"はエスケープ 文字列結合と同じく式として扱われ、対応する()内が継続セクションと認識される MsgBox( (LTrim "現在のバージョンは「" A_AhkVersion "」です。 あいうえお かき`"く`"けこ`nさしすせそ" ) ) http://egg.5ch.io/test/read.cgi/software/1644313099/653
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 349 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s