[過去ログ] AutoHotkey スレッド part34 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
445(1): 2024/10/01(火)22:11 ID:C+MHvTF60(4/4) AAS
>>444
palemoonのウィンドウタイトルが取れていないのではなく、ダイアログ待ちで別のダイアログがヒットしているような気がします
とりあえず、開いたウェブページを保存するという挙動で良いのであれば、以下のような方法で良いと思います
F1::
; Run, %URL%
; ここにSleepを入れるか、完全にページの読み込みを待つのであれば、ImageSearchかブラウザ系のライブラリ、またはAccかUIAなどのライブラリを使用する必要があります
ControlSend, ahk_parent, ^s, ahk_class MozillaWindowClass
WinWaitActive, Save ahk_class #32770 ahk_exe palemoon.exe ; 実行ファイルがpalemoon.exeではない場合変更してください
; Send, {Enter}
MsgBox, テスト
省1
446(1): 2024/10/01(火)23:54 ID:V0wY9dtV0(1) AAS
>>421
ブラウザのタイトルとは、ウェブページのタイトルのこと?
ウェブページのタイトルがセットされるタイミングは固定されていないので、
自分で監視する必要があるよ
JavaScript で動的にタイトルをセットしているウェブページもあるし
447(1): 2024/10/02(水)04:36 ID:I/2evcvZ0(1) AAS
>>441
>>445
たびたびコードまで書いてアドバイス頂きありがとうございます。
保存先が色々異なるのでそのまま保存だと不都合が出てきてしまいます
WinGetTitleでMozillaWindowsClassで取り、
タイトルが空白で無いこと、Urlで無いこと、前のアドレスと同じでないことをまず確認して
1 Ctrl^s送出
2 4秒後待ってSaveのテキストを含む#32770のダイアログがあることを確認し、Ctrl^cでクリップボードにコピー
3 クリップボードを保存先フォルダ名とクリップボードに結合
4 クリップボードを禁則文字チェック←ここでhogehoge.com/hoge/hoge/などの禁則文字で保存時々嵌まってエラーMsgbox出力
省9
448: 2024/10/02(水)05:32 ID:Iof94shX0(1/2) AAS
WinGetListで複数のWindowを全部列挙してウィンドウスタイルでマスクするようにしないと特にブラウザなんかは正しい動作しないぞ
449: 2024/10/02(水)07:28 ID:bDszAASW0(1) AAS
Chrome なら、拡張機能 AutoControl が使いやすいんだけどね。
JavaScript で記述できるし、ページの読み込みイベントも拾ってくれる。
AHK で4秒待つとか、実現できてもスッキリしないよね。
450(1): 2024/10/02(水)13:29 ID:g4durnG80(1) AAS
リマップにしか使ってないけどv2に移行したほうがいいの?
たとえばキー押しっぱなしがなくなるとか安定性が高くなってるなら移行していいかと思ってる
451(1): 2024/10/02(水)14:36 ID:Iof94shX0(2/2) AAS
一部V2にしかない機能もあるので、過去の遺産はV1のまま使い
改修が必要なものや新規に作るものはV2にしてる
452(1): 2024/10/02(水)18:00 ID:Nya46nx90(1) AAS
前スレの225は事実
> v2はメリットしかない
> v1のヘンタイ構文は少しでもプログラミング経験がある人なら発狂して精神に異常をきたす
> v2に移行すれば精神が安定してコードを量産するようになる
リマップにしか使ってないなら移行してもメリットはない
スレでこれだけはやめてっていうのがv2を使えばいいのに使わずv1のヘンタイ構文を質問してくること
v1なんか触ってないっていう
453(1): 2024/10/02(水)19:08 ID:Za7Y0ZGq0(1) AAS
>>447
ウェブページを保存する際にメインブラウザからURLをpalemoonに渡して(またはその逆)保存しているという使い方をしていると推測します
そうであるなら、まずはWinGetTitleなどのコマンドのウィンドウ指定は全て ahk_class MozillaWindowClass ahk_exe palemoon.exe
のようにクラス名とExe名を併記するように指定してください
以前にも書きましたがFireFox系であればこの件についてはWinGetList + スタイルによる絞り込みは必要ありません
ちなみにv1のWinGetListは WinGet, OutputVar, List, WinTitle という記述になり、OutputVar1のように疑似配列として扱います
そもそもとして、ウィンドウタイトルの取得の目的が保存名に指定するためなのであれば、ウィンドウタイトルを取得する必要はないと思います
保存ダイアログのクラス名が#32770という事はWindowsの標準ダイアログが呼び出されているだけなので、ControlGetText、ControlSetTextなどが使用できます
通常であれば、ウェブページの保存名の初期値は禁則処理された状態のページタイトル + 拡張子がデフォルトなので、変更が必要な場合こちらを取得して改変したほうがスマートです
つまり、WinGetTitleも必要なければ、途中でコピペにウェイトが必要なクリップボードの操作も必要ないので、余計な要因が介入してくるのを減らすコーディングが可能と言う事です
省11
454: 2024/10/02(水)19:46 ID:acuRfLjr0(1) AAS
>>452
触ってる人が答えれば良いと思うんだけど、なんでそんなに食ってかかってんだ???
455: 2024/10/02(水)20:51 ID:M9c5GeZ+0(1) AAS
>>450
安定性とかは変わらないんじゃないだろうか
現在使っているv1のスクリプトを編集せず使い続けるだけなら、移行は必要ないと思う
編集・新規作成の必要が生じたときに移行すればよいんじゃないだろうか
456(1): 2024/10/03(木)00:16 ID:Jt0Di29D0(1/2) AAS
>>451
V2にしかない機能とは?
利用価値のあるもので
457(1): 2024/10/03(木)00:54 ID:Tz6rTMiT0(1) AAS
UTF8ファイル読み込む時とかBOMの有無とかV1だと制限があった気がする
458: 2024/10/03(木)01:09 ID:WYl35//N0(1) AAS
>>456
外部リンク[htm]:ahkscript.github.io
新機能のご紹介
新しいディレクティブ
459: 2024/10/03(木)02:42 ID:Jt0Di29D0(2/2) AAS
>>457
そうなんだ
最近v2に移植したわ
BOM付きで
460(1): 2024/10/04(金)03:38 ID:NhPmv6xu0(1) AAS
>>453
たびたびありがとうございます
palemoon本体には教えていただいたコードできちんと操作できました
ダイアログへControlGetText,SetTextやコンボボックスの選択はできるのですがボタン押したり、キー送出ができないです
これはSendコマンドでやるしかないでしょうか
ControlSend, ahk_class #32770 ahk_exe palemoon.exe,!y,
これだとAlt+!送られないです
461(2): 2024/10/04(金)18:36 ID:V34s0CwZ0(1) AAS
>>460
パラメータの指定が間違っています
ControlSend [,Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText]
!yを送りたいと言う事であれば、たぶん上書き確認のダイアログだと思うのですが
この手の確認ダイアログは、アクティブ最前面で表示されるので単に Send, y でも大丈夫なはずです
ControlSendでボタンを押すのであればControlに 「Button1」 などのClassNNか 「はい(Y)」 などのテキストを指定してください
送るキーは{Enter}や{Space}などでも構いません
ControlSendはWin32 APIによるGUI以外では、親ウィンドウに対してしか効果がないですが
Win32GUIの場合、フォーカスが対象ウィンドウの別のボタン等にある場合、大抵はフォーカスがあるボタンが指定したControlよりも優先されて押されます
YesNoダイアログの場合、初期状態では通常はNoにフォーカスがあるのでControlSendを送る前にYesにフォーカスをセットする必要があります
省11
462: 2024/10/04(金)19:19 ID:fR4T6nrD0(1) AAS
>>461
また詳しく教えていただきありがとうございます
出先なのであとでチェックします
名前をつけて保存ダイアログにSend,!sを送って保存しようとすると1%ぐらいの確率で保存ボタンにフォーカスが移るだけで押せないことがあるので嵌まってます
教えていただいたWinWaitのhelp見たらWinWaitCloseコマンドあったのでどちらも実装して試してみます
463: 2024/10/05(土)01:29 ID:ffwymIic0(1) AAS
v2使ってみたらもう戻れないくらい便利です
ぐい周りは感動した
464: 2024/10/05(土)11:12 ID:wFIatvKw0(1) AAS
指定のアプリ群をグルーピングして、それらだけまとめてキー操作を統一的に扱いたい
こんな要望を実現できるのはV2だけ
上下前次1-新書関写板覧索設栞歴
あと 538 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s