AutoHotkey スレッド part30

■ このスレッドは過去ログ倉庫に格納されています
2022/02/07(月) 21:22:19.36ID:eoboeZNM0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑スレ立てする時は3行にして下さい

■配布元
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

次スレは>>950が建てましょう。建てられなかったらレス番指定して頼みましょう
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2名無しさん@お腹いっぱい。 (ワッチョイ bfdb-wadS)
垢版 |
2022/02/09(水) 11:34:01.53ID:GroE8Ahi0
>>1
あげ
2022/02/10(木) 00:00:08.50ID:LwyonyI/0
スレが2つある。どうすれば
2022/02/10(木) 00:21:50.73ID:+8sQSWWd0
wikiにある左手カーソル移動を15年前に知りたかった。。。。。。
sc07B & I::Send, {Blind}{Up}
sc07B & K::Send, {Blind}{Down}
sc07B & J::Send, {Blind}{Left}
sc07B & L::Send, {Blind}{Right}
2022/02/10(木) 00:46:01.55ID:Wk9QomJed
>>3
5ch運営も重複認めてるから好きなの使えばいい
俺はこっち使うわ
2022/02/10(木) 01:17:00.94ID:Q1S3g6LJ0
sc79(変換)+A-Z0-9も活用しろよ
2022/02/10(木) 17:40:02.60ID:xT43oO6w0
D&Dしか受け付けないソフトにファイル送るための方法探していて行き着いたんですが、動きません。
関数のパラメーター指定が解っていないのかもしれないですが、アドバイス頂きたいです。

Run, notepad,,
Sleep, 1000
DropFiles(ahk_class EmEditorMainFrame3, "D:\_mov\疑惑.mp4", ptX=100, ptY=100, fNC=False)
ExitApp

以下関数本体
DropFiles(hwnd, files, ptX=0, ptY=0, fNC=False) {

https://p.ahkscript.org/?p=912e4b6a
2022/02/10(木) 20:36:48.36ID:DORJ6Qu90
最終的にドロップしたいアプリ先はなに?
EmEditorがドロップしか受け付けないということはないのでとりあえずのお試しなんたろうけど
動作を見たいだけならサンプルの通りまずはメモ帳で確認してみては
2022/02/10(木) 20:50:20.05ID:jdT+d41A0
>>7
>DropFiles(hwnd, 〜 ) {
・・・
PostMessage, WM_DROPFILES := 0x233, hDrop , 0, , ahk_id %hwnd%
}
関数へ渡す引数はウインドウハンドル(hwnd)じゃないとだめのような…
なのに ahk_class EmEditorMainFrame3 とか違うのを渡してるからじゃないかな
2022/02/10(木) 23:37:28.10ID:WabIUjFV0
^g::
^c ;@
#Down ;A
sleep, 500 ;B
Run, "C:\Program Files\xxx\xxx.exe" %clipboard% ;C
return

ctrl+g でテキストをコピーした後、コピー元のウィンドウを最小化して
クリップボードの文字列をプログラムxxxに渡して起動したいんですが

@、B、Cはそれぞれ単独だと動くけど、一緒にすると動きません
Aは何も反応しません
どうしたら良いでしょうか
2022/02/10(木) 23:42:23.78ID:5bxAhMo10
>>10
Send使えよ
2022/02/10(木) 23:49:00.76ID:WabIUjFV0
ありがとうございます
動きました
2022/02/11(金) 09:31:28.70ID:MON05gg2a
>>10
Cだけだと実行されるプログラムは最前面に表示されるしアクティブになってるけど
他と組み合わせると最背面に表示されてアクティブになりません
この違いは何が原因ですか
2022/02/11(金) 09:44:57.35ID:E/6+5Ye00
Runしただけではアクティブ化は保証されない
その時々の処理待ち時間や同時に動いてるタスクの有無で挙動が変わるので
理由を探してもしょうがないよ
確実にアクティブ化したいなら相応の処理を足したらいい
https://egg.5ch.net/test/read.cgi/software/1620768466/873
2022/02/11(金) 10:19:48.35ID:MON05gg2a
>>14
ありがとうございます
2022/02/11(金) 14:38:25.56ID:dRHEwNGk0
サンプルコード見せただけで発狂するキチガイ消えて良かったね
2022/02/11(金) 14:54:56.57ID:dtKpOz6n0
>>8
>>9
ありがとうございます
ドロップ先は動画カッターというソフトです。

うわー恥ずかしいpastbinには隠して書いたのに検証中のコード入っちゃいました...
色々試すもまだうまく動きません。

ウィンドウハンドル部分を””で囲む、ahk_id入れる、0x0000の0x取る、をやってもダメでした。
念の為ウィンドウアクティブにしてます。

WinGet, hwnd, ID, ahk_class (notopadを指定)
WinActivate, ahk_class (notopadを指定)
Sleep, 1000
DropFiles(%hwnd%, "D:\test.txt", ptX=100,ptY=100, fNC=False)
ExitApp
2022/02/11(金) 15:12:24.10ID:dtKpOz6n0
>>8
実はffmpegでカットするべくがんばったのですが「時間を変更するとリアルタイムでコマンドライン部分のテキストを書き換える」動作が上手く行かず断念していました。もうソフトに投げればいいやと。
あと00:00:00 / 00:00:00のテキストトリミングが分からず1時間以下の動画は数値変更に反映できないというお粗末な理由でも断念しました...
https://i.imgur.com/Y7dzMca.png

q::
Run, %A_ScriptDir%\_tool\movie_cutter.ahk
ControlGetText, var_winctr_get_text_in, Static2, A
StringTrimRight, var_trim_text_out, var_winctr_get_text_in, 11
Sleep, 50
ControlSend, Edit1, %var_trim_text_out%, 動画カッター
WinActivate, ahk_class MediaPlayerClassicW
Return
2022/02/11(金) 15:51:39.41ID:jkwntZTx0
>>17
DropFiles の引数 hwnd は %% で括る必要は無いよ
あとはドロップ対象のプログラムが管理者権限で動いていて、AHK側が非管理者の場合も上手くいかないと思う
2022/02/11(金) 16:02:26.35ID:E/6+5Ye00
>>17
関数のパラメータに%%は要らない
あとドロップは背面でもいけるのでアクティブにしなくてもいい
WinGet, hwnd, ID, ahk_class Notepad
DropFiles(hwnd, "D:\test.txt")

アプリ起動からやるならsleepじゃなくて>14同様pid指定したほうがいい
Run,notepad,,,pid
WinWait,ahk_pid %pid%
DropFiles(WinExist("ahk_pid " pid), "D:\test.txt")
2022/02/11(金) 16:16:31.60ID:JseNxLBV0
>>17-18
やりたいことはahkを使って何かをしたいわけじゃなく、
動画編集ソフトに動画ファイルを送る(渡す)→動画を無劣化カット
なんだとしたら Avidemux 使っとけば?
Avidemux.exe ほげ.mp4
で普通に ほげ.mp4 を編集できる状態で起動できるぞ
2022/02/12(土) 18:58:53.65ID:JTyLfvYaa
Esc::
Keywait, Esc, U
Keywait, Esc, D, T0.2
If (ErrorLevel=1)
{
Send,{Esc}
}
else
{
Send, WinMinimizeAll
}
return

esc2回でボスが来たボタンにしようと思ったのですが動きません
どこを直したら良いですか
2022/02/12(土) 19:17:29.98ID:nrDth/9S0
>>22
とりあえず>>1のwiki全体を読めとは言わないが流し見程度で良いからしてほしいな

本音は↑だけど、「サンプルコード集」とか「使用例」にはそのまま使えるスクリプトもある(>>22の答えもある)からそこ見るだけでもいい
2022/02/14(月) 16:52:00.15ID:abZhcv/w0St.V
>>20-21
ありがとうございます!
何度やってもうまくいきませんでしたが、まっさら仮想環境で期待通りに動作しました。
ただ、Notepadは成功、それ以外は全く動きません。chrome・エクスプローラー・EmEditor・avidemuxを試しましたが動きません。
後学のために、何が原因だと考えられそうでしょうか?

一応コード
https://p.ahkscript.org/?p=0fb0f891
2022/02/14(月) 16:52:19.26ID:abZhcv/w0St.V
>>20-21
ありがとうございます!
何度やってもうまくいきませんでしたが、まっさら仮想環境で期待通りに動作しました。
ただ、Notepadは成功、それ以外は全く動きません。chrome・エクスプローラー・EmEditor・avidemuxを試しましたが動きません。
後学のために、何が原因だと考えられそうでしょうか?

一応コード
https://p.ahkscript.org/?p=0fb0f891
2022/02/14(月) 16:55:41.54ID:abZhcv/w0St.V
>>21
ありがとうございます、これ、、いいですね。今後これ使います。
2022/02/17(木) 19:21:38.35ID:zmLOSuWk0
chromeで特定のページを開いている時のみスクリプトを有効にさせたいのですがうまくできません。
例えばこのページをchromeで開くとタイトルは"AutoHotkey スレッド part30 - Google Chrome"なので
以下のように書いているのですが、どうすればうまく動くようになりますでしょうか?

#IfWinActive, AutoHotkey スレッド part30 - Google Chrome
(...何らかのキー割り当て処理...)
return
#IfWinActive
2022/02/17(木) 19:59:50.22ID:MSJ1Z9eq0
2022/02/17(木) 20:01:15.01ID:MSJ1Z9eq0
>>27
>(...何らかのキー割り当て処理...)
>return
2022/02/17(木) 20:01:19.56ID:uoVMVdelr
>>27
wiki読め
タイトル指定になってない
2022/02/17(木) 20:01:32.22ID:MSJ1Z9eq0
あれ書き込めない
2022/02/17(木) 20:05:48.08ID:oC8fKynP0
>>27
普通にそのやり方で動いたぞ
>(...何らかのキー割り当て処理...)
の部分に何か問題があるんじゃねえの

#IfWinActive, AutoHotkey スレッド part30 - Google Chrome
F1::
msgbox, test
return
#IfWinActive
2022/02/17(木) 20:06:30.17ID:MSJ1Z9eq0
>>27
タイトルに間違いがないのならむしろ>>29の部分がおかしいのでは?

なんなんだろう?ちゃんと書き込めない
2022/02/17(木) 20:07:28.36ID:MSJ1Z9eq0
ちゃんと書き込めない上にダブったorz
2022/02/17(木) 20:07:55.38ID:oC8fKynP0
>>30
タイトル指定も問題無いぞ
このページをchromeで開いた時だけF1でmsgboxが出る
他のサイトだと通常のF1の動作
2022/02/17(木) 20:19:46.90ID:OJrFjzUg0
>>27
スクリプトの文字コードは UTF8 BOM で保存してますか?
2022/02/17(木) 22:19:14.58ID:zmLOSuWk0
>>32
>>33
条件式を外すと動いたので処理の部分の問題ではなさそうでした
>>27のコードで動いたという情報は助かります!

>>36
他の処理はきちんと動くので文字コードの問題でもなさそうです


みなさん返信ありがとうございます
もうちょっと試行錯誤してみようと思います
2022/02/17(木) 23:09:30.75ID:zmLOSuWk0
不本意ですが SetTitleMatchMode, 2 でタイトルの部分一致を条件にしたら無事に特定ページだけ処理を分けることができました。
タイトル丸ごとコピペだと動かなかったのが謎なので、いつか調べて解決したら一応レスしに来ます。
答えてくれた方々ありがとうございました!
2022/02/18(金) 11:00:33.94ID:mzg8lZMJ0
>>30
くっさw
2022/02/18(金) 12:39:52.70ID:p/kPZrwm0
>>27ですが原因わかりました
僕の環境ではどうやらタイトルに日本語が入っているとifの中を読み込んでくれないみたいです
タイトルに日本語が入っていると全滅、英語のみタイトルでは全てOKでした

#IfWinActive, (この部分→)AutoHotkey スレッド part30 - Google Chrome
(...何らかのキー割り当て処理...)
return
#IfWinActive
2022/02/18(金) 12:42:34.71ID:XKvUwEWr0
>>36
2022/02/18(金) 12:59:05.53ID:p/kPZrwm0
>>41
utf8の正式名称かなと勘違いしててBOM付き、BOM無しの存在を知りませんでした...
今ググってファイルを作り直したら日本語タイトルでも読み込めました...!!
>>36さん昨日指摘してくれてたのにすみません!ありがとうございます

みなさんお騒がせしました、完全解決しました!
ありがとうございましたm(_ _)m
2022/02/18(金) 13:01:28.38ID:itFn+OXV0
>>40
>>36は確認した?
2022/02/18(金) 13:03:19.27ID:itFn+OXV0
うわ、、、またしてもダブり…(´・ω・`)(´・ω・`)(´・ω・`)
2022/02/18(金) 19:25:37.26ID:KkGo5aqE0
InStr()のNeedleを複数指定するにはどうすればいいでしょうか?
,|で切っても上手くいきません。

Needle := "test"
2022/02/18(金) 19:57:43.89ID:itFn+OXV0
>>45
最終的にどのようなスクリプト作ろうとしてるか分からんけど、自分なら RegExMatch() 使うかなあ

(´・ω・`).。oO(こんどこそダブらないように…)
47名無しさん@お腹いっぱい。 (ワッチョイ efdc-i3kx)
垢版 |
2022/02/18(金) 22:12:38.50ID:KkGo5aqE0
>>46
ありがとうございます、いけました。

Needle := "test1|test2"
2022/02/19(土) 11:16:00.98ID:62pi6+Fx0
改行を含む正規表現の検索がうまく動きません。
どうしたら良いのでしょう?

clipboard = "Alpha`nBetta`nOmega"
src := Clipboard
RegexMatch(src, "(.*)`n(.*)`n", LastLetter)
MsgBox % "The last letter is: " . LastLetter2

結果 Betta が取り出せて成功するのですが
実際に文字列をコピーしてから実行させると何も取り出せないです。

Alpha
Betta
Omega


src := Clipboard
RegexMatch(src, "(.*)`n(.*)`n", LastLetter)
MsgBox % "The last letter is: " . LastLetter2
2022/02/19(土) 11:31:38.31ID:E7VNRjTq0
>>48
つ CRLF
2022/02/19(土) 16:31:15.36ID:62pi6+Fx0
>>49

なんのこと???
と、思いつつ改行を`r`nにしたら思い通りに取り出せました。
ありがとうございました
2022/02/22(火) 01:06:46.13ID:m3B4u60n0
ClassNNの上だけで機能するキーマッピングしたいのですがどうすればいいでしょうか?
2022/02/22(火) 01:23:00.22ID:DUdudIE/0
ClassNNの上かどうかを判断する関数作って#if で呼び出して判定
http://ahkwiki.net/-If
2022/03/01(火) 21:11:05.49ID:+wYPWB9B0
Everythingなどの特定のアプリケーション上でahkに割り当てたファンクションキーって動作する?
例えばF15にボリュームアップを割り当てたとすると、
デスクトップ上やChromeなどのブラウザでは動くんだけど、Everything上では動かないんだよね
2022/03/01(火) 22:09:12.74ID:YfjfhKe+0
>>53
管理者権限でahk実行してる?
2022/03/01(火) 23:45:13.59ID:+wYPWB9B0
>>54
yes
そのせいなのか
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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