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
732名無しさん@お腹いっぱい。
垢版 |
2023/11/14(火) 08:51:40.32ID:4ufkw/A60
俺はスリープをAHKっぽくこうやってる
WinActivate,ahk_class Shell_TrayWnd
Sleep,100
Send,!{f4}
Sleep,100
Send,{Up}{Enter}
2023/11/14(火) 08:57:28.13ID:pSQoRZoU0
そもそも、rundll32.exe になんでその機能が無いんだ
2023/11/15(水) 00:23:40.26ID:2HG+ST0K0
try
 foo()
catch
 ; ignore




bar()
baz()

というバグに気がつくのに1週間かかった
挙動が謎すぎて頭おかしくなりそうだったぜ
2023/11/16(木) 01:40:35.11ID:Ssm6wYKa0
>>722
CLCLって古臭いUIだし過去のソフトと思ってたら今も更新続いてるんだな
偉い
2023/11/16(木) 03:07:08.84ID:iAWmDVf40
>>728
7+ Taskbar Tweakerの作者か!
超絶ケチな自分が人生最初で最後のDonateをした人だわ
2023/11/16(木) 08:06:45.15ID:xoUSj9v/0
>>736
俺も長年使ってるわw

ラーメンソフト w
2023/11/16(木) 08:17:58.35ID:uao/GslT0
Textifyは使えるかな
この手のソフトはいろいろあるけど、大抵動作がおかしい
2023/11/16(木) 08:30:53.13ID:uao/GslT0
あー、インストーラーの奴か
パス
2023/11/16(木) 14:30:14.59ID:OSkkf/ew0
>>738
TextifyはMSAAでテキスト取得してるから同じことAHKでACCと組み合わせてやってるわ
741名無しさん@お腹いっぱい。
垢版 |
2023/11/23(木) 04:01:16.28ID:xgRY4R0+0
本日の年と日付をいれるショートカット
FormatTime,TimeString,,yyyy_MMdd
Send,%TimeString%_
Return
で動いているのですが、MicrosoftIMEだと何故か全角になってしまいます。(2023_1123)
googleimeだと2023_1123_ときちんと半角になるのですが、常に半角でインサートする方法ないでしょうか?
IMEの設定オートコレクトで全てを半角で入力の設定をしましたが駄目でした。
宜しくお願い致します。
742名無しさん@お腹いっぱい。
垢版 |
2023/11/23(木) 04:55:43.77ID:xgRY4R0+0
すいません解決しました。
2023/11/23(木) 07:45:52.99ID:M1PYCksN0
どうやったの?
744名無しさん@お腹いっぱい。
垢版 |
2023/11/23(木) 08:02:34.98ID:xLQ95KaJ0
Clipboard使うとか?
2023/11/23(木) 08:38:58.88ID:wJkYm+IG0
日付と時刻はexcelがctrl-;とctrl-:で、
エディタも同じアサインにしたので、
それ以外に入力したい局面が無い
746名無しさん@お腹いっぱい。
垢版 |
2023/11/23(木) 16:26:51.70ID:FQJI0Qn00
age
2023/11/23(木) 17:06:17.48ID:wJkYm+IG0
回避しとる
2023/11/24(金) 18:36:54.89ID:f1zdFUGD0
日付は
datetime;;
date;;
time;;
fdatetime;;
fdate;;
ftime;;
でやってるな
~;;でhotstring展開は何かと便利
誤爆もない

:O:date;::
FormatTime,s,,yyyy/MM/dd
Send % s
return
749名無しさん@お腹いっぱい。
垢版 |
2023/11/24(金) 19:45:30.47ID:4Yiy9myC0
>>748
:O:date;::
FormatTime,s,,yyyy/MM/dd
Send % s
return
これでいけるの?エラー出るんだけど
2023/11/29(水) 20:42:43.56ID:we/lrGpo0
すみません、A_TickCountの事でお尋ねします。
If A_TickCount 30000msから60000ms
までなら指定コマンドを実行したいのですが、どう記述していいかわかりません。
よろしくお願いします。
2023/11/29(水) 21:15:00.37ID:we/lrGpo0
わかりました、Betweenでした。
752名無しさん@お腹いっぱい。
垢版 |
2023/12/05(火) 11:27:36.94ID:Wh9Ksc6F0
FormatTime,TimeString,,yyyy_MMdd
Send,%TimeString%_
Return

日付を入れるショートカット、全角だと全角入力になっちゃうのってどうしようもないのかな?
2023/12/05(火) 11:42:19.35ID:0R4KhECr0
方法1 IMEをオフにしてからSendする
方法2 Clipboardに入れてctrl+vをSendする
2023/12/05(火) 13:32:31.78ID:IPuO4dhM0
かな入力だからIMEは頻繁にon/offするけど、ローマ字の人は基本的にずっとonだしな
755名無しさん@お腹いっぱい。
垢版 |
2023/12/05(火) 15:01:25.96ID:yv4SlF+C0
で、
v2に移行していいのか?
不具合とかない?

移植がたいへんだな
756名無しさん@お腹いっぱい。
垢版 |
2023/12/05(火) 17:39:57.13ID:Wh9Ksc6F0
>>753
ありがとうございます。
クリップボードに入れるとはどういう記述を追加すればいいのでしょうか
2023/12/05(火) 18:48:25.60ID:0R4KhECr0
>>756
Clipboard := TimeString
2023/12/06(水) 03:59:49.87ID:hcY1PgK80
○やりたいこと

置換前と置換後の文字を指定した上で、

aaa,aaa

aaa
aaa (,→改行) としたい


○試したこと

↓がんばって書いたもの
^+f::
Send, ^c
ClipWait, 1
A := Clipboard
InputBox, SearchText, 置換前の文字, 置換前の文字を入力してください。
☆InputBox, ReplaceText, 置換後の文字, 置換後の文字を入力してください。
★Clipboard := RegEXReplace(A, SearchText, ReplaceText)
ClipWait, 1
Send, ^v
return

☆の時に  `n "`n" `r`n Shift+Enter など試したが全ボツ・・

★ReplaceText→"`n" としたら改行されたが、これだと特定の検索置換しか使えない・・


v1.1.34.03です・・ よろしくお願いします・・
2023/12/06(水) 07:35:38.30ID:QCf+VSRH0
>>755
(不具合は)ない。v1からの仕様変更は山程
移植は大変だが気持ちいいぞ行数減るの
2023/12/06(水) 10:04:04.46ID:h7vdOkf00
>>758
aaaが何を指しているのかよくわからんが
Clipboard:= RegEXReplace(A, SearchText, RegEXReplace(ReplaceText, ",", "`n"))
かな
761名無しさん@お腹いっぱい。
垢版 |
2023/12/06(水) 10:36:13.53ID:SB+WZnS00
>>759
そうなんだ。
不具合がないなら移植するか…

なんか上の方のレスで、
あーだこーだ言ってたのは何だったんだろう…? w
2023/12/06(水) 11:18:47.47ID:1AjfeAYD0
>>758
A = aaa,aaa
InputBox, SearchText, 置換前の文字, 置換前の文字を入力してください。 ;「,」
InputBox, ReplaceText, 置換後の文字, 置換後の文字を入力してください。 ;「,`n」
Transform, ReplaceText, Deref, %ReplaceText%
A := RegEXReplace(A, SearchText, ReplaceText)
MsgBox, %A%
2023/12/06(水) 11:24:02.59ID:1AjfeAYD0
>>761
行数が減ったからって便利になるわけじゃない
仕様変更でv1と同じようにできなくなったことも多い

よって移行するメリットがなにひとつない
2023/12/06(水) 11:27:49.59ID:qXT5hvVy0
v1の存在そのものがデメリット
最初からv2だったらどんなに良かったか
2023/12/06(水) 11:29:39.45ID:QKeYlogm0
修飾キー押しっぱなし問題はv2だと解消されてる?
単に文法が変わっただけなら移行する理由がない
2023/12/06(水) 11:33:59.45ID:qXT5hvVy0
同じ機能を奪い合って矛盾が起きてるので本質的に解決できない
のどかとかに乗り換えるしか
767名無しさん@お腹いっぱい。
垢版 |
2023/12/06(水) 12:16:34.66ID:SB+WZnS00
>>763
え?

v1でできて、v2でできないことなんてあるの?
イヤだな…
768名無しさん@お腹いっぱい。
垢版 |
2023/12/06(水) 12:17:50.85ID:SB+WZnS00
>>765
ん?

結局、不具合はあるの?
どっち?
2023/12/06(水) 16:52:13.80ID:hcY1PgK80
>>760
aaa,aaaは例文のつもりでした
どう質問すればいいか言語化が難しくて、所々エスパー気味になってしまって申し訳です・・

>>762
できました!!嬉しい!!感謝!!

皆さんありがとうございました!!
2023/12/06(水) 19:11:05.84ID:XshpwR0v0
いわゆる「修飾キー押しっぱなし病」について、
ネット上では、Sendの後にSleepを入れればいいとか(やってみたが効果は感じなかった)、
InstallKeybdHookを指定すればいいとか(これは効果を感じた)、
いろいろ書いてあるが、
単純に、修飾キーをSendした後にはその修飾キーのkeyupを送ればいいんじゃね?と思って、

SendKey(str){
Send(str)
Sleep(5)
if InStr(str,"#")
Send("{LWin Up}{RWin Up}")
if InStr(str,"^")
Send("{Ctrl Up}")
if InStr(str,"+")
Send("{Shift Up}")
if InStr(str,"!")
Send("{Alt Up}")
}

こんな関数をSendの代わりに使うようにしたら、
InstallKeybdHookを指定しなくても押しっぱなし病消えたっぽい
単にまだ出てないだけかもしれないけど
2023/12/06(水) 20:50:32.37ID:ock+wqmq0
海外の人達ってデバイスドライバ系のキーバインドソフトが必要になったら何使ってるの?
まさかのどか?それはないか
2023/12/06(水) 23:00:59.56ID:V1ueBJwG0
>>758
頑なにバグまみれの古いバージョンを使い続けるのは罰ゲームなのか苦行なのか
2023/12/07(木) 07:26:22.44ID:xZsnzk+n0
1はエラーダイアログが出てもソースにジャンプできないのが駄目すぎる
せめてフルパスと行番号が表示されてればAHKでジャンプする機能実装できるんだけど
なぜか正確なパスがわからないようになってるという
なんで最後まで放置したのか意味不明すぎる
774名無しさん@お腹いっぱい。
垢版 |
2023/12/07(木) 07:56:47.39ID:4oXjRSz70
プログラミングに慣れてる人は v2
プログラミング初心者は v1
を使うのがよいかもしれない

v2 の方が圧倒的に書きやすいけれど、
初心者にとったらどちらもチンプンカンプンだろうし、ネットに情報の多い v1 の方がむしろ書きやすいかもしれない
775名無しさん@お腹いっぱい。
垢版 |
2023/12/07(木) 09:39:32.95ID:4X2vwe/Q0
>>774
それはどうでもいいんだが、
v2に、回避不能な不具合があるのかどうか?
2023/12/07(木) 10:27:45.00ID:ecweuucs0
未知のものはあるかもしれんな
777名無しさん@お腹いっぱい。
垢版 |
2023/12/07(木) 10:54:49.82ID:4oXjRSz70
>>775
v1 に回避不能な不具合があるのかどうかは気にしないの?
2023/12/07(木) 11:37:43.11ID:VWr4EXTG0
>>775
v1とv2ははぼ別物と考えた方が良いよ

v1で出来てたことをv2で再現するのも少し手間掛かるからv2のソースはv1ほど公開する人が少ない状況だから
2023/12/07(木) 11:51:12.24ID:ecweuucs0
コード的には別物だけど、中身は同じ
できなくなることはないし、新しくできるようになることも無い

じゃあ古くていいのかというと、何でこんなに次から次へと新しい言語ができるかという話で
いけてない言語で書くのは苦痛なんだよな
ネットで拾って流用するだけの人はv1の方がいいだろうけど、
自分で書く人はv2一択
780名無しさん@お腹いっぱい。
垢版 |
2023/12/07(木) 11:56:43.42ID:4X2vwe/Q0
別物とは?
何的な意味で?

構文はどうでもいい
781名無しさん@お腹いっぱい。
垢版 |
2023/12/07(木) 11:58:06.43ID:4X2vwe/Q0
>>779
だね。
C++より難しくなければどうでもいいw

どうせv1は廃止されるんだし。
v2に不具合がなければいいがw
2023/12/07(木) 12:01:14.23ID:flxu8Gt70
>>780
いい加減自分で文書読めよ。
783名無しさん@お腹いっぱい。
垢版 |
2023/12/07(木) 12:06:23.63ID:4X2vwe/Q0
そもそも、なんでv2を作ったのか?

性能、機能アップ?
v1の構文が古くさいから?
2023/12/07(木) 13:43:20.43ID:VWr4EXTG0
もう過ぎ去った話を周回遅れで繰り返しておもろいか
2023/12/07(木) 14:10:35.73ID:zp9wGmxo0
>>783
てすと
テスト
786名無しさん@お腹いっぱい。
垢版 |
2023/12/07(木) 16:28:20.07ID:4oXjRSz70
>>781
> v2に不具合がなければいいがw

不具合はあるよ
更新履歴を見てみるといい
君が使っているソフトウェアもすべて不具合はあるよ

なぜ殊更にAHK v2に対してだけ不具合皆無を求めるの?
2023/12/08(金) 11:55:38.47ID:1pX0izMW0
>>786
v2に移行してやっていきないから何でしょ
v2のことしか考えてないとv1でやれっていう話に意味ないし
2023/12/09(土) 07:52:08.43ID:TVyjuGng0
>>779
v2推しの人っていちいち性格悪いね
2023/12/09(土) 12:37:47.79ID:7duhdXWM0
根拠乏しすぎて草
2023/12/10(日) 19:12:18.47ID:AHgvJVdF0
性格悪いっていうより生産性が低い
2023/12/10(日) 19:23:26.42ID:8ZOc5+zo0
生産性が低いっていうより体臭がきつい
2023/12/10(日) 22:48:02.70ID:xfgnMYZ20
体臭キツくても別に開発には困らんしな?
2023/12/11(月) 00:25:17.48ID:1DllKDyi0
スクリプトの起動時間を知る組み込み変数はありますか?
2023/12/11(月) 00:40:04.92ID:5t61Ow810
直接のやつはないけど、そのものズバリのサンプルが組み込み変数の項目に出てるでしょ
まずドキュメントを読んでから質問しよう
2023/12/11(月) 01:27:02.82ID:1DllKDyi0
わかりました
2023/12/13(水) 10:55:33.03ID:56JF4SPR0
2.0になって gosub ~ return が非対応になったときいて、オッチャンちょっとショック。
こんな化石のような命令を使うなって事なんだろうけど。
2023/12/13(水) 11:03:15.38ID:07I6X+Oi0
関数で書けばいいだけじゃない
そっちの方が汎用性もあるし安全だし
スコープだけちょっと気を使う必要があるけど
2023/12/13(水) 11:23:11.85ID:56JF4SPR0
ホンマその通りなんだけど、大昔の悪癖が抜けなくて。
関数化は後にして、とりあえずラベル付けてルーチン内の尻に置いておこうとやっちゃうんだよな。
2023/12/13(水) 12:46:16.21ID:SgVPAYyz0
>>798
こういうオッチャンだとみんな優しくなれるんよな
対応しろ!おかしい!とか怒鳴って現状変更迫る老害は不殺型テロリストだと思ってる
2023/12/13(水) 12:55:23.57ID:Je2XmAHf0
関数の中でタイマー呼んで、そのタイマールーチンで関数内の変数使いたい時
関数内ラベルなら問題ないけど、これを関数化しろと言われてもどうやればいいかわからない
2023/12/13(水) 13:30:43.96ID:pIpQWCSE0
ただのタイマーがそんなもん使うのがそもそもおかしい
特殊機能付きタイマーなら、そういうインターフェースに設計すれば自然と変数が渡る
2023/12/13(水) 13:32:03.30ID:pw/YUwfp0
v2だけど関数をそのまま書けるよ
Test() {
 a := "test"
 Timer() {
  ToolTip a
 }
 SetTimer Timer, -1
 Sleep 3000
 ToolTip
}
Test()
2023/12/13(水) 15:53:02.85ID:7D73zVIY0
CPU負荷かかるとミス起きるなぁ
高レベル側での処理だから仕方ないか
804名無しさん@お腹いっぱい。
垢版 |
2023/12/13(水) 17:02:27.72ID:1Si6H8v70
>>802
ちなみにこれはTimer()がクロージャーなので循環参照には気を付けてね
805名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 09:51:07.21ID:2brz0lxO0
で、
結局、v2に移行してええの?
問題ない?
2023/12/14(木) 09:58:05.13ID:/DAs7gWY0
自分で書く人なら自分で判断できるし、自分で書かない人は移行不要
807名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 13:23:59.78ID:RUDdyo9z0
>>805
プログラミング初心者はまだv1の方がいいかも
ネットの情報もv1のものが多いし
808名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 14:12:44.31ID:2brz0lxO0
>>807

C++やPythonより難しくなければ気にならない。
809名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 14:13:43.24ID:2brz0lxO0
>>807
情報も、
英語サイトしか見ないので。
2023/12/14(木) 15:29:39.49ID:Rp7ue7zA0
C++より難しいものあるかよ
英語サイトしかみないならReddit見てこいや
2023/12/14(木) 17:45:28.76ID:3JCbgbBy0
C++とPython同列にする辺り分かってないような気がするが
812名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 17:49:56.32ID:2brz0lxO0

と、バカがゴミレス
2023/12/14(木) 17:56:14.00ID:JV6NPWjT0
こいつ質問のふりしておちょくる手口の常連荒らしじゃん
814名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 18:01:23.62ID:2brz0lxO0

またゴミレスバカかよ…
2023/12/14(木) 18:22:02.25ID:HgptBGdi0
そのようだ
816名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 18:30:25.79ID:RUDdyo9z0
>>809
と言いつつ5chに頼ってる感じ?
>>805
ここで訊いてるような初心者なら、v1でないと難しいと思う
2023/12/14(木) 19:47:36.79ID:LKl14BGd0
一連のレスしておいてどうしたら自分が「ゴミレスバカ」でないと思えるの?
すごいね
818名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 20:42:19.34ID:2brz0lxO0
>>816

またゴミレス

バカが…
819名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 20:42:43.11ID:2brz0lxO0
>>816

こいつもゴミレス

バカが…
820名無しさん@お腹いっぱい。
垢版 |
2023/12/14(木) 20:43:23.30ID:2brz0lxO0
>>817

こいつもゴミレス

バカが…
2023/12/20(水) 00:53:26.32ID:sRIcY9v50
キーボードをマイナーチェンジ版に替えたら(Logicool K380→K380s)
それまでの修飾キー押しっぱなし病対策が、却って問題を引き起こすようになった
以前はホットキーを押し続けていると、たまにホットキーじゃないキーが入力される現象があったが
新しいキーボードではそういうことはなくなった
シビアなタイミングに左右されるところがあるから
製品差、個体差で現象が出たり出なかったりするんだな
2023/12/20(水) 12:41:18.15ID:LzkTx5Q/0
Keymillのようなスキャンコード表示アプリを使ったりAHKのコード内でA_PriorHotkeyの値を随時チェックすると、
キーボードの挙動って機種や接続形態で結構違うんだなってちょっと驚いたわ。
2023/12/20(水) 13:05:29.86ID:rgoAFFc/0
基本的にUSBキーボードって最終発行に至るまでに、その仕組み上、
内部で必ずソフトウェア的な変換が介在するからね
特に修飾キー周りは変なディレイがあったり、upを二回送信してたり
癖が強いやつがたまにある
824名無しさん@お腹いっぱい。
垢版 |
2023/12/20(水) 18:01:07.86ID:aMQJw63N0
IMEがONでもOFFでも半角で日付を入れる方法 今日なら2023_1220_
って入れたいんだけど調べたやつ改変しても出来ない…。

^;::InsertDate("yyyy_MM_dd_")

InsertText(Content) {
cb_bk = %ClipboardAll%
Clipboard = %Content%
Send, ^v
Sleep, 100
Clipboard = %cb_bk%
}
InsertDate(format) {
FormatTime,TimeString,,%format% ;引数formatに入れた文字列に基づいてフォーマットする
InsertText(TimeString)
}


何も反応しないんだけど、どうすればいいんでしょうか
とにかく半角で日付を入れたいです
2023/12/20(水) 18:09:19.46ID:zBm7U9Jj0
>>824
それでCtrl+;押したら2023_12_20_ってちゃんと出たけど
2023/12/20(水) 18:28:50.09ID:LzkTx5Q/0
うちの環境でも正しく実行されている。
テキストエディタや表集計上で 2023_12_20_ と出力できたし、
InsertText関数内でクリップボード情報を一次退避させるAHKの定番処理も問題ない。
もしかして、ルーチン内のバグ以前にCtrl+セミコロン のホットキーが正しく定義できていないとかかな。
2023/12/20(水) 18:54:46.17ID:LzkTx5Q/0
もしかしたら、AHK1.x系を前提に作られたWeb上のサンプルプログラムをAHK2.0で実行しちゃったとかかな。
ただ今回のものはかなり簡潔なものなので、2.0上で不具合が起こるかまでは分からないけれど。
2023/12/20(水) 18:56:09.40ID:1MxSSrdS0
まさか 2023_1220_ ←こうしたいけど、2023_12_20_ ←こう出てくるから"出来ない"って言ってるんじゃないよなあ
2023/12/20(水) 18:58:49.59ID:1MxSSrdS0
>>828
アすんません
最後まで読んでなかったorz
>何も反応しないんだけど
2023/12/20(水) 19:16:15.25ID:rgoAFFc/0
>>827
=で代入しているから、v2だとエラー出まくりで起動どころの騒ぎじゃないと思うぞ
2023/12/20(水) 20:40:35.04ID:LzkTx5Q/0
そうか、2.0は従来のアバウトな仕様を基本から整理整頓したのか。
変数名でも% %で括れば配列代わりに使えるっていう便利なあれも2.0では廃止だったら辛いなぁ。
■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

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