[過去ログ] AutoHotkey スレッド part30 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(7): (ワッチョイ 196c-AiWJ) 2022/02/07(月)21:22 ID:eoboeZNM0(1) AAS
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑スレ立てする時は3行にして下さい

■配布元
外部リンク:autohotkey.com

■前スレ
AutoHotkey スレッド part29
2chスレ:software

■日本語解説等
AutoHotkey Wiki
省15
2
(2): (ワッチョイ bfdb-wadS) 2022/02/09(水)11:34 ID:GroE8Ahi0(1) AAS
>>1
あげ
3
(2): (ワッチョイ d7dc-rHYk) 2022/02/10(木)00:00 ID:LwyonyI/0(1) AAS
スレが2つある。どうすれば
4: (ワッチョイ 57dc-rHYk) 2022/02/10(木)00:21 ID:+8sQSWWd0(1) AAS
wikiにある左手カーソル移動を15年前に知りたかった。。。。。。
sc07B & I::Send, {Blind}{Up}
sc07B & K::Send, {Blind}{Down}
sc07B & J::Send, {Blind}{Left}
sc07B & L::Send, {Blind}{Right}
5
(1): (スッップ Sdbf-EhkZ) 2022/02/10(木)00:46 ID:Wk9QomJed(1) AAS
>>3
5ch運営も重複認めてるから好きなの使えばいい
俺はこっち使うわ
6: (ワッチョイ d776-zD41) 2022/02/10(木)01:17 ID:Q1S3g6LJ0(1) AAS
sc79(変換)+A-Z0-9も活用しろよ
7
(1): (ワッチョイ 57dc-rHYk) 2022/02/10(木)17:40 ID:xT43oO6w0(1) AAS
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) {

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

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

?、?、?はそれぞれ単独だと動くけど、一緒にすると動きません
?は何も反応しません
省1
11: (ワッチョイ 377f-wadS) 2022/02/10(木)23:42 ID:5bxAhMo10(1) AAS
>>10
Send使えよ
12
(1): (ワッチョイ 9fcc-e/Vd) 2022/02/10(木)23:49 ID:WabIUjFV0(2/2) AAS
ありがとうございます
動きました
13: 10 (アウアウアー Sa4f-Bi1Y) 2022/02/11(金)09:31 ID:MON05gg2a(1/2) AAS
>>10
?だけだと実行されるプログラムは最前面に表示されるしアクティブになってるけど
他と組み合わせると最背面に表示されてアクティブになりません
この違いは何が原因ですか
14
(2): (ワッチョイW b758-+jW8) 2022/02/11(金)09:44 ID:E/6+5Ye00(1/2) AAS
Runしただけではアクティブ化は保証されない
その時々の処理待ち時間や同時に動いてるタスクの有無で挙動が変わるので
理由を探してもしょうがないよ
確実にアクティブ化したいなら相応の処理を足したらいい
2chスレ:software
15
(1): 10 (アウアウアー Sa4f-Bi1Y) 2022/02/11(金)10:19 ID:MON05gg2a(2/2) AAS
>>14
ありがとうございます
16: (ワッチョイ f786-v6+h) 2022/02/11(金)14:38 ID:dRHEwNGk0(1) AAS
サンプルコード見せただけで発狂するキチガイ消えて良かったね
17
(4): (ワッチョイ 9fdc-rHYk) 2022/02/11(金)14:54 ID:dtKpOz6n0(1/2) AAS
>>8
>>9
ありがとうございます
ドロップ先は動画カッターというソフトです。

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

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

WinGet, hwnd, ID, ahk_class (notopadを指定)
WinActivate, ahk_class (notopadを指定)
省3
18
(1): (ワッチョイ 9fdc-rHYk) 2022/02/11(金)15:12 ID:dtKpOz6n0(2/2) AAS
>>8
実はffmpegでカットするべくがんばったのですが「時間を変更するとリアルタイムでコマンドライン部分のテキストを書き換える」動作が上手く行かず断念していました。もうソフトに投げればいいやと。
あと00:00:00 / 00:00:00のテキストトリミングが分からず1時間以下の動画は数値変更に反映できないというお粗末な理由でも断念しました...
画像リンク[png]:i.imgur.com

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%, 動画カッター
省2
19: (ワッチョイ 9f02-zD41) 2022/02/11(金)15:51 ID:jkwntZTx0(1) AAS
>>17
DropFiles の引数 hwnd は %% で括る必要は無いよ
あとはドロップ対象のプログラムが管理者権限で動いていて、AHK側が非管理者の場合も上手くいかないと思う
20
(2): (ワッチョイW b758-+jW8) 2022/02/11(金)16:02 ID:E/6+5Ye00(2/2) AAS
>>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")
21
(3): (ワッチョイ d7b1-ArIk) 2022/02/11(金)16:16 ID:JseNxLBV0(1) AAS
>>17-18
やりたいことはahkを使って何かをしたいわけじゃなく、
動画編集ソフトに動画ファイルを送る(渡す)→動画を無劣化カット
なんだとしたら Avidemux 使っとけば?
Avidemux.exe ほげ.mp4
で普通に ほげ.mp4 を編集できる状態で起動できるぞ
22
(1): 10 (アウアウアー Sa6e-GONP) 2022/02/12(土)18:58 ID:JTyLfvYaa(1) AAS
Esc::
Keywait, Esc, U
Keywait, Esc, D, T0.2
If (ErrorLevel=1)
{
Send,{Esc}
}
else
{
Send, WinMinimizeAll
省4
23
(1): (ワッチョイ dfb1-WOoO) 2022/02/12(土)19:17 ID:nrDth/9S0(1) AAS
>>22
とりあえず>>1のwiki全体を読めとは言わないが流し見程度で良いからしてほしいな

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

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

一応コード
外部リンク:p.ahkscript.org
26: (中止 47dc-M+RP) 2022/02/14(月)16:55 ID:abZhcv/w0St.V(3/3) AAS
>>21
ありがとうございます、これ、、いいですね。今後これ使います。
27
(7): (ワッチョイ a7b1-ABVx) 2022/02/17(木)19:21 ID:zmLOSuWk0(1/3) AAS
chromeで特定のページを開いている時のみスクリプトを有効にさせたいのですがうまくできません。
例えばこのページをchromeで開くとタイトルは"AutoHotkey スレッド part30 - Google Chrome"なので
以下のように書いているのですが、どうすればうまく動くようになりますでしょうか?

#IfWinActive, AutoHotkey スレッド part30 - Google Chrome
(...何らかのキー割り当て処理...)
return
#IfWinActive
28
(1): (ワッチョイ dfb1-gG8U) 2022/02/17(木)19:59 ID:MSJ1Z9eq0(1/5) AAS

29
(2): (ワッチョイ dfb1-gG8U) 2022/02/17(木)20:01 ID:MSJ1Z9eq0(2/5) AAS
>>27
>(...何らかのキー割り当て処理...)
>return
30
(3): (オッペケ Src7-WY/Q) 2022/02/17(木)20:01 ID:uoVMVdelr(1) AAS
>>27
wiki読め
タイトル指定になってない
31: (ワッチョイ dfb1-gG8U) 2022/02/17(木)20:01 ID:MSJ1Z9eq0(3/5) AAS
あれ書き込めない
32
(2): (ワッチョイ d6c1-B80Q) 2022/02/17(木)20:05 ID:oC8fKynP0(1/2) AAS
>>27
普通にそのやり方で動いたぞ
>(...何らかのキー割り当て処理...)
の部分に何か問題があるんじゃねえの

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

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

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

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

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

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

Needle := "test"
46
(4): (ワッチョイ dfb1-gG8U) 2022/02/18(金)19:57 ID:itFn+OXV0(3/3) AAS
>>45
最終的にどのようなスクリプト作ろうとしてるか分からんけど、自分なら RegExMatch() 使うかなあ

(´・ω・`).。oO(こんどこそダブらないように…)
47: (ワッチョイ efdc-i3kx) 2022/02/18(金)22:12 ID:KkGo5aqE0(2/2) AAS
>>46
ありがとうございます、いけました。

Needle := "test1|test2"
48
(2): (ワッチョイ 0358-GR5V) 2022/02/19(土)11:16 ID:62pi6+Fx0(1/2) AAS
改行を含む正規表現の検索がうまく動きません。
どうしたら良いのでしょう?

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

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

Alpha
Betta
省4
49
(3): (ワッチョイW 0358-PSpK) 2022/02/19(土)11:31 ID:E7VNRjTq0(1) AAS
>>48
つ CRLF
50
(1): (ワッチョイ 0358-GR5V) 2022/02/19(土)16:31 ID:62pi6+Fx0(2/2) AAS
>>49

なんのこと???
と、思いつつ改行を`r`nにしたら思い通りに取り出せました。
ありがとうございました
51
(1): (ワッチョイ cfdc-tv0P) 2022/02/22(火)01:06 ID:m3B4u60n0(1) AAS
ClassNNの上だけで機能するキーマッピングしたいのですがどうすればいいでしょうか?
52: (ワッチョイW b358-aVlX) 2022/02/22(火)01:23 ID:DUdudIE/0(1) AAS
ClassNNの上かどうかを判断する関数作って#if で呼び出して判定
外部リンク:ahkwiki.net
53
(1): (ワッチョイ 0674-rneQ) 2022/03/01(火)21:11 ID:+wYPWB9B0(1/2) AAS
Everythingなどの特定のアプリケーション上でahkに割り当てたファンクションキーって動作する?
例えばF15にボリュームアップを割り当てたとすると、
デスクトップ上やChromeなどのブラウザでは動くんだけど、Everything上では動かないんだよね
54
(2): (ワッチョイ cab2-g6h8) 2022/03/01(火)22:09 ID:YfjfhKe+0(1) AAS
>>53
管理者権限でahk実行してる?
55
(1): (ワッチョイ 0674-rneQ) 2022/03/01(火)23:45 ID:+wYPWB9B0(2/2) AAS
>>54
yes
そのせいなのか
56
(1): (ワッチョイ 4e81-8W3/) 2022/03/01(火)23:52 ID:AoOE2nmn0(1) AAS
yes
57: 2022/03/02(水)19:43 ID:XwNJnufL(1/2) AAS
今まではコンパイル済み実行ファイルを
使うだけの消費者だったアタシ。
最近、自分で改良してスクリプトを書いてみたら
思いの外手こずって衰えを感じます。



こちとら、空手初段、 C言語 100段じゃい!
なめんな、こらぁ ('# ‘ω‘ )
58
(1): 2022/03/02(水)19:47 ID:XwNJnufL(2/2) AAS
PCのクリックゲーでアタシがネットで作業をしている時でも

「バックグラウンドでゲームのウインドウへ
毎秒50回の左クリックを連打しつつ、数字キーを押して技を発動する」

そういうのをやってます。(' ‘ω‘ )

ウインドウのフォーカスがゲーム本体にある時は動作するけど、
そうでなくなった途端になぜか数字キーだけが押されない。
左クリック連打は効いているのに。マジクソだわ、この国。
59
(2): ケンカ100段、C言語100段のこどおじ (ワッチョイ c6f4-U4gN) 2022/03/02(水)19:51 ID:XwNJnufL0(1) AAS
; This is a test post.

Hage::Fusa
60
(1): (ワッチョイ 6f73-g6h8) 2022/03/02(水)21:35 ID:mHBtCTL30(1) AAS
>>58
めでたしめでたし
61
(4): C言語100段 (' ‘ω‘ )◆iD93.8lby6 (ワッチョイ c6f4-U4gN) 2022/03/04(金)00:34 ID:v/3ypSMl0(1/2) AAS
autoclick:
if !(WinActive("ahk_id" . actWin) && (A_TimeIdlePhysical < 50 && !mouseMoved))
{
ControlSend, , 3, ahk_id %actWin%
; Send directly to Digit3 to the window.
cx := xp%currentClick%
cy := yp%currentClick%
ControlClick, x%cx% y%cy%, ahk_id %actWin%,,,, NA
currentClick := % Mod(currentClick + 1, totalClicks)
}
省6
62
(1): (ワッチョイ ff29-g6h8) 2022/03/04(金)01:40 ID:ZUYcCarh0(1/3) AAS
>>61
関係無いかもしれんけど
SetKeyDelayでPressDurationを100msくらいにセットしてみてはどうだろう
裏に行ったとき一瞬すぎると反応出来てない可能性
63
(1): (ワッチョイW 6f58-NmiW) 2022/03/04(金)03:09 ID:u6iSGFuE0(1/2) AAS
ControlSendは任意のContolに直Sendするためのコマンドだが
必ずしもバックグラウンドSendを保証するものではない
アプリや送り先Controlによってはうまく動かないことはある

ControlSendはWindowではなくContolに対するコマンドなので
送り先のControlをちゃんと指定したほうが成功率は上がる
ClassNNよりcontrolHWNDがおすすめ
外部リンク[B0]:ahkwiki.net
64: 2022/03/04(金)03:22 ID:v/3ypSMl(1) AAS
さんくす! 試してみます!

コントロールとウインドウとウインドウハンドルの違いもわからん。
右も左も上も下も
前も後ろも分からん!
AutoHotKeyのWikiって関数へのリンクはあるけど
専門用語へのリンクが無いよな。
65
(1): C言語100段◆iD93.8lby6 (ワッチョイ c6f4-U4gN) 2022/03/04(金)04:01 ID:v/3ypSMl0(2/2) AAS
>>61
あ、なんか分かってきた。

人の書いたスクリプトを編集・改変しているから気づかなかった。
これ、関数内で直線的に処理が行われているだけじゃないんだな。

マウスクリックが発生してアクティヴ・ウインドウが変わった時に
他所の関数の処理に飛んでるわ。
そこで ahk_id の値が書き換わってる、
だから、ゲームウインドウが後ろに行った時に
ControlSend が届いていない。 見えてきたな (' ‘ω‘ )
66: (ワッチョイ ff29-g6h8) 2022/03/04(金)04:56 ID:ZUYcCarh0(2/3) AAS
>>65
ahk_id の値が書き換わってるんだったら ControlClick の方も裏に行ったら動かないはずでは?
1-
あと 936 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.273s*