AutoHotkey スレッド part26
: [sage] 2018/04/25(水) 18:08:09.39:LmrG+Efz0 !extend:on:vvvvv:1000:512 !extend:on:vvvvv:1000:512 ■配布元 ttp://jump.5ch.net/?http://ahkscript.org/download/ ■前スレ AutoHotkey スレッド part25 ttps://egg.5ch.net/test/read.cgi/software/1505357560/ "> ttps://egg.5ch.net/test/read.cgi/software/1505357560/ ■日本語解説等 AutoHotkey Wik ttp://jump.5ch.net/?http://ahkwiki.net AutoHotkeyを流行らせるページ(ミラー) ttp://jump.5ch.net/?http://ahk.xrea.jp/ (不調時は ttp://jump.5ch.net/?http://hdd.s300.xrea.com/ahk/ ) AutoHotkeyJp(過去ログdatあり) ttp://jump.5ch.net/?http://sites.google.com/site/autohotkeyjp/ Autohotkey日本語ヘルプ(chmファイル) ttp://jump.5ch.net/?http://www6.atwiki.jp/eamat/ Autohotkey専用うpろだ ttp://jump.5ch.net/?http://ux.getuploader.com/autohotkeyl/ 簡易スクリプト掲示板 ttp://jump.5ch.net/?http://pastebin.com/ ■派生版 IronAhk (.NET製、クロスプラットフォーム) ttp://jump.5ch.net/?https://github.com/polyethene/IronAHK AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生) ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/39588-autohotkeydll/ VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) : [sage] 2018/04/25(水) 18:08:50.08:LmrG+Efz0 ■重要事項 オリジナルである、旧 "AutoHotKey" の開発は2009年9月で終了している。 現在は、そこからフォークした "AutoHotkey_L" が主流となり、2014年1月からは後のLが取れ 正式にAutohotkeyとして扱われるようになりました。 よって古いスクリプト(主にDllCall()を利用しているスクリプト)は最新Verで動作しないものがあり、 その場合はスクリプトの修正が必用です。 旧版のAHKとの変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。 → ttp://jump.5ch.net/?http://ahkscript.org/docs/AHKL_Features.htm → ttp://jump.5ch.net/?http://ahkwiki.net/Addition_L ※新規利用者には最新版を推奨しますが、旧AHK(2009年9月までのVer)の利用者は新AHKへの移行に際して 少なからず改修が必要となります。特に、旧流行らせるページの配布物(MouseGesture等)の多くは そのままでは動作しません。安定利用できている環境を崩して移行するかどうかは各人の判断による。 MouseGestureについては有志の方が最新AHK対応版(MouseGestureL.ahk)を配布しているのでそれを 利用するのもありです。 ttp://jump.5ch.net/?http://hp.vector.co.jp/authors/VA018351/mglahk.html ttp://jump.5ch.net/?http://code.google.com/p/mousegesturel/ ※ACC.ahk(旧版用)とCOM.ahkはフォーラムのリンク先にファイルが存在しませんので下記から入手してください。 ttp://jump.5ch.net/?http://ux.getuploader.com/autohotkeyl/download/24/ACC%2BCOM.zip ※Unicode版のACC.ahkは下記(AccInfoViewer.ahk付き)またはフォーラムから入手してください。 ttp://jump.5ch.net/?http://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip ■質問に際して OSの種類(XP/Vista/7)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。 また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。 2chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、 レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) : [sage] 2018/04/25(水) 18:09:56.45:LmrG+Efz0 ■過去スレ Part1 ttp://pc7.2ch.net/test/read.cgi/software/1098531338/ Part2 ttp://pc7.2ch.net/test/read.cgi/software/1129836713/ Part3 ttp://pc11.2ch.net/test/read.cgi/software/1157043396/ Part4 ttp://pc11.2ch.net/test/read.cgi/software/1184556627/ Part5 ttp://pc11.2ch.net/test/read.cgi/software/1201502896/ Part6 ttp://pc11.2ch.net/test/read.cgi/software/1219130051/ Part7 ttp://pc12.2ch.net/test/read.cgi/software/1230694774/ Part8 ttp://pc12.2ch.net/test/read.cgi/software/1243005818/ Part9 ttp://pc12.2ch.net/test/read.cgi/software/1253888736/ Part10 ttp://pc12.2ch.net/test/read.cgi/software/1265518996/ Part11 ttp://hibari.2ch.net/test/read.cgi/software/1280482227/ Part12 ttp://hibari.2ch.net/test/read.cgi/software/1296446228/ Part13 ttp://anago.2ch.net/test/read.cgi/software/1317156599/ Part14 ttp://anago.2ch.net/test/read.cgi/software/1333372506/ Part15 ttp://anago.2ch.net/test/read.cgi/software/1349735581/ Part16 ttp://anago.2ch.net/test/read.cgi/software/1367725658/ Part17 ttp://anago.2ch.net/test/read.cgi/software/1383384464/ Part18 ttp://anago.2ch.net/test/read.cgi/software/1398655195/ Part19 ttp://anago.2ch.net/test/read.cgi/software/1411360229/ Part20 ttp://anago.2ch.net/test/read.cgi/software/1422427426/ Part21 ttp://anago.2ch.net/test/read.cgi/software/1437910497/ Part22 ttp://potato.2ch.net/test/read.cgi/software/1452881399/ Part23 ttp://potato.2ch.net/test/read.cgi/software/1470936221/ Part24 ttp://egg.2ch.net/test/read.cgi/software/1487149472/ Part25 ttps://egg.5ch.net/test/read.cgi/software/1505357560/ : [sage] 2018/04/25(水) 18:10:28.71:LmrG+Efz0 以下FAQ等 ■実行環境 Q1:スクリプトに書いた日本語が文字化けしちゃうんだけど... A1:スクリプトファイルを「UTF-8」の「BOM」付きで保存する。(AHK1.1の場合) Q2:初めて使うけどどれを使えばいいの? A2:AHK1.1のユニコード版を推奨。 旧流行らせるページの配布物をそのまま使う場合は本家をそのまま利用する事。 64ビットOSでAHK1.1 32ビット版の使用は制約が多いので、64ビット版を強く推奨。 ■ リマップ・ホットキー割り当て Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。 OS側がキーUp/Down情報を正しく返してこないのでAHKのみで対処は無理です。 レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。 例) ChangeKeyを使って[ひらがな]を[F13]にする AutoHotkeyで任意のキーをF13にリマップする(例えばF12をF13にリマップし、スクリプトを実行)。 F12::F13 Changekeyを起動する。( ttp://jump.5ch.net/?http://www.forest.impress.co.jp/library/software/changekey/ ) 「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。 F12を押すとスキャンコード(0x0064はF13)が表示されるので覚えておき「終了」をクリック。 「ひらがな」キーをクリックすると「【ひらがな】キーをどのキーに変更しますか?」という ウィンドウが表示されるので右上の「Scan code」をクリック。 覚えておいたスキャンコード(0064)を入力し、「OK」ボタンをクリック。 「登録」をクリックし、Windowsを再起動する。 : [sage] 2018/04/25(水) 18:11:04.96:LmrG+Efz0 Q2:「^1::Esc」とリマップ定義したけど [Ctrl]+[1] を押したらスタートメニューが出ちゃうけどどうすればいいの? A2:リマップは修飾キー(Ctrl,Shift,Alt,Win)の押下状態を引き継いでキー発行するので、[Ctrl]+[Esc] がキー送信されるため。 これを避けるには、「Send」コマンドを利用して明示的に修飾キーなしのキーを発行をすればよい。 ^1::Send, {Esc} Q3:[Shift], [Ctrl], [Alt], [Win]以外を修飾キーとしてキー割り当てしたいよ A3:コンビネーションキーの機能で実現ができる。 例) 無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたい場合は以下のように記述する。 sc07B & I::Send, {Blind}{Up} sc07B & K::Send, {Blind}{Down} sc07B & J::Send, {Blind}{Left} sc07B & L::Send, {Blind}{Right} Q4:「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による) A4:多分自分自身のキーを送って無限ループになっている。 例) 「a::Send, a 」 先頭に $ を付ければ回避できる(NT系のみ)。 例) 「$a::Send, a」 #UseHookで全部にキーボードフックを適応する方法でも可。 Q5:キーリマップを使うとキー押下中に連打するけど、マウスボタンの場合は連打しない… A5:マウスはキーリピートしないので、Loopなどを使って自前でリピートさせてください。 Q6:ジョイスティックのリマップがうまくいきません!!助けて A6:ジョイスティックではリマップできない。「Send」コマンドでキー発行する必要がある。 Joy1::Esc ○ Joy1::Send, {Esc} Q7:ジョイスティックの上下左右に割り当てたいけど、JoyLeft,JoyUpってホットキーは無いの? A7:無い。AHKのジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。 : [sage] 2018/04/25(水) 18:11:38.18:LmrG+Efz0 Q8:ジョイスティックのボタン1とボタン2の入れ替えなどはどうやってやるの? A8:AutoHotkeyではできない。 Q9:[Ctrl][Shift][Alt]が押されっぱなしになる時がある。これってAHKのせい? A9:AHKが原因の場合とそうでないときがある ○AHKが原因の場合 AHKには、以下のような修飾キー付きのホットキーで修飾キー無しでキーを発効する場合、 一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構がある。 しかしこのように発効するキーストロークが多い場合は、Sendコマンドが完了する前に 物理キーが押下解除されてしまっている場合がある。この齟齬が押しっぱなしの原因となる。 例) ^W::Send, {w 30} これを回避するためには、以下の方法をとればよい: ・キー押下状態を常に監視するキーボードフックを導入する(#InstallKeybdHook) ・キー発効のコマンドを SendInput, SendPlay にする(SendModeで一括指定でもよい) ・上記二つが出来ない場合は、SetKeyDelay, 0 等としてキー発効をなるべく早く行うか、 #HotkeyModifierTimeout で修飾キー押下のタイムアウト値を長めに設定をする。 なお、他のキー発効を行うツール(クリップボードユーティリティやマウスジェスチャツールなど)が、 発効する修飾キーが原因となる場合もあるが、フックの導入でほぼ解決出来ると思われる。 ○AHK以外が原因の場合: 環境により異なるので何とも言えないが、以下のような環境の場合発生する事が報告されている。 ・ Logicool(Logitec)のマウスユーティリティSetPoint(verによっては問題ない事もあるとか)など他多数 ・VirtualPC, WMWare, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている : [sage] 2018/04/25(水) 18:13:01.36:LmrG+Efz0 ■ IME関連 Q1:IMEのOn/Offの切り替えや、状態を得るにはどうすればいいの? A1: ttp://jump.5ch.net/?http://www6.atwiki.jp/eamat/pages/17.html の「IME.ahk」を使いましょう。 Q2:IMEが現在文字を入力している、または変換中であるかどうかを得ることはできる? A2:↑のIME.ahkで一部可能(IEやFirefox,MS-Wordのようにインライン化しているアプリでは無理) ■ その他 Q1:「a=abc」と「a:="abc"」って違いがある? / 「If a=1」と「If (a=1)」って違いがある? A1:意味としては違いは無い。単体では、コマンド形式(共に前者)の方が「式」形式(同後者)より*少し*速い。 複数条件の場合、IfのネストよりはAND(&&)条件で「式」を並べた方が速い。 が、バッチでかなりの回数(数万↑~)回したりする場合以外は、体感出来るほどの差はない。 Q2:テキストエディタでキーワードの色づけなどをしたいんだけど。 A2:wikiに各種エディタの定義ファイル及びキーワード一覧あり。( ttp://jump.5ch.net/?http://ahkwiki.net/Tools ) Q3:GUI作るのめんどくせ~~ A3:海外の有志が作ったツールを使うと楽。 SmartGUI Creator ( ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/738-smartgui-creator/ ) GUI Creator ( ttp://jump.5ch.net/?http://ahkscript.org/boards/viewtopic.php?f=6&t=303 ) Q4:AHKってマルチスレッドじゃないの? タイマーやMsgBox, WinWait, KeyWaitを使ってるけど思った通りに動かない。 A4:「擬似マルチスレッド」です。最後に割り込んだスレッドが終わるまで元スレッドは動きません。 MsgBox、WinWait、KeyWait、Process,WaitClose などをタイマーで複数動かす時は注意。 > 要は処理系統が複数同時に走らないってこと。図にするとこんな感じ。 > → 実行中、 …:割り込み終了待ち > 元スレッド →→→→→→……………………………………→→→→ > ★割込 ↑再開 > 割り込みスレ →→→→…………→→→→→→END > ◆割込 ↑再開 > 更に割り込み →→→END : [sage] 2018/04/25(水) 18:13:41.91:LmrG+Efz0 Q5:AHK(A32)、AHKLx86(U32)、AHKLx64(U64)の共存は出来る? A5:それぞれを違うフォルダにインストールする(最新版は分ける必要無し) 但し、インストーラーを使って最後にインストールしたAutohotkeyに対して ahkファイルの関連付けが行われるので、レジストリエディタ(Regedit.exe)や FileTypesMan等のツールを使って関連付を変更してください。 ahkファイルをAHK(A32)、ahlファイルをAHKLx86(U32)、ah6ファイルをAHKLx64(U64) といったように別々の拡張子に関連付けが可能です。 それぞれに関連付けしたファイルに対してドラッグアンドドロップを有効にするにはレジストリの [HKEY_CLASSES_ROOT\ファイルタイプの名前\ShellEx\DropHandler] の (規定) のデータを {86C86720-42A0-1069-A2E8-08002B30309D} にする。 : [sage] 2018/04/25(水) 18:14:14.78:LmrG+Efz0 Q6:Windows Vista(以降)で管理者権限のウィンドウ操作やSendPlayが効かないんだけど? A6:OSのセキュリティ機能であるユーザーアカウント制御(UAC)にブロックされている。 ■回避策 1:管理者として実行 Autohotkey.exeを右クリックしてプロパティを開き、「互換性」→「管理者としてこのプログラムを実行する」にチェック。 スクリプトに記載する方法もある( ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/94126-ahk-problem-with-uac-and-privileges/ ) 2:対策パッチ 実行ファイルのマニフェスト書き換え、自己署名証明書のインストールが行われる。 ※AutoHotkey.exeはProgram Files以下に置く必要がある。 ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/70449-enable-interaction-with-administrative-programs/ 3:UAC停止 ※注意!! 必ずHIPS機能がある他のセキュリティ対策ソフトを導入してください。 「コントロールパネル」→「ユーザーアカウント」 Vista:「ユーザーアカウント制御の有効化または無効化」→ チェックボックスをオフ。 7/8/8.1:「ユーザーアカウント制御設定の変更」→ スライドバーを一番下に。 ※Windows 8/8.1では上記に加えレジストリを変更する必要があります。(注意:Windowsストアアプリが実行できなくなる) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System 「EbableLUA」の値を「0」に変更。 : [sage] 2018/04/25(水) 18:15:50.08:LmrG+Efz0 ■AutoHotkeyの系譜 ┌ AHK64(統合) │ AutoIt .│ ┌ AHK_U(統合) │ │ │ AutoHotkey(1.0) ─ Autohotkey_L ┬ Autohotkey(1.1) ←いまここ │ │ │ └ IronAHKラ │ └ Autohotkey v2(α版) │ │ └ AutoHotkey.dll .├ AutoHotkey_H v2 │ │ │ │ └ AutoHotkey_H │ └ AutoHotkey_Nラ ■メインストリーム AutoHotkey 1.0(開発終了) ttp://jump.5ch.net/?http://www.autohotkey.com/ Autohotkey 1.1 (Autohotkey_L) ttp://jump.5ch.net/?http://ahkscript.org/ ■開発中 Autohotkey v2(下位互換性を排除して操作利便性の向上) ttp://jump.5ch.net/?http://ahkscript.org/v2/ : [sage] 2018/04/25(水) 18:17:09.98:LmrG+Efz0 ■派生版 IronAhk(.NET製、クロスプラットフォーム。開発終了) ttp://jump.5ch.net/?http://www.ironahk.net/ AutoHotkey.dll(真のマルチスレッド対応) ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/39588-autohotkeydll/ AutoHotkey_N(開発終了) AutoHotkey_H ttp://jump.5ch.net/?http://www.autohotkey.net/~HotKeyIt/AutoHotkey/files/AutoHotkey-txt.html ■統合 AHK_U(Unicode版) ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/46563-unicode-version-of-autohotkey/ AHK64(64bit版) ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/53878-autohotkey64-64-bit-autohotkey-l-updated-62410/ ■スクリプト作成支援ツール AutoHotKey専用エディター ※必須ではありあせん。 SciTE4AutoHotkey ttp://jump.5ch.net/?http://fincs.ahk4.net/scite4ahk/ GUI作成ツール SmartGUI Creator ttp://jump.5ch.net/?http://www.autohotkey.com/board/topic/738-smartgui-creator/ GUI Creator ttp://jump.5ch.net/?http://ahkscript.org/boards/viewtopic.php?f=6&t=303 AutoGUI ttp://jump.5ch.net/?https://www.autohotkey.com/boards/viewtopic.php?t=10157 ※テンプレここまで : [sage] 2018/04/25(水) 18:33:05.31:WfXMHUs0D 乙 : [sage] 2018/04/25(水) 20:04:21.60:GF4dHQGk0 スレ立て乙 情報後出しする質問者ってほんと面倒くさいな : [sage] 2018/04/26(木) 09:47:55.59:n4DMlqzA0 わざわざ文句たれる回答者も面倒くさいいけどな : [sage] 2018/04/26(木) 13:40:08.34:vwRWVNXZ0 指摘してくれるうちが華 うちはもうめんどくさそうな質問者はスルーしてるわ とりあえず次スレ建ってないうちに1000まで埋めるのは勘弁な : [sage] 2018/04/26(木) 16:58:43.17:DkF8shxO0 面倒くさいやつ発見w : [sage] 2018/04/26(木) 17:02:54.87:38C04UHoa うわどっちもめんどくせえ このスレ要らなくね : [sage] 2018/04/26(木) 17:07:15.87:QqPH1PF20 要らないと思うやつは見なけりゃいいだけ : [sage] 2018/04/26(木) 19:53:03.58:dMnrJ+/E0 ほんとこれなんだが 最近多いよなスレが廃れるまで粘着アンチするガイジ : [sage] 2018/04/26(木) 20:51:55.89:DlGBEGXR0 はい次の方 : [sage] 2018/04/29(日) 14:33:44.26:DpZ5UVTP0NIKU ウィンドウスタイルについてお尋ねします。 ウィンドウ右上のバツボタンを非表示にするにはどうすればいいでしょうか?。 最小化や最大化の非表示は出来るんですよ。 ttp://jump.5ch.net/?https://sites.google.com/site/autohotkeyjp/reference/misc/Styles : [sage] 2018/05/04(金) 04:22:49.25:xSAW4Ml30 1.1.28に上げたら反応良くなった気がする 気のせいかな : [sage] 2018/05/04(金) 14:18:28.00:GcFBWfJy0 関数ライブラリの自動インクルードでマージされたファイルのAutoexecuteセクションは無視される これは仕様で問題ないと思うけど 呼び出し元が if true 処理1 else で終わっていると、処理1に続いて延々実行される まあelseで終わるのがまともじゃないからまず引っ掛からないだろうけど : [sage] 2018/05/04(金) 19:10:02.11:jys2WM8C0 バツボタンをピンポイントで非表示にするのはOS側の仕様でできなかったと思う タイトルバーまるごと消していいならスタイルのどれかでできたはず : [sage] 2018/05/04(金) 21:03:33.60:RMQ1LgDk0 タイトルバー非表示のウィンドウスタイル見つけました。 とりあえずこのまま様子見ていきたいと思います。 ありがとうございました。 : [sage] 2018/05/04(金) 23:39:23.14:RMQ1LgDk0 すみません、続いて質問です。 If A_ThisHotKey = esc だった場合に次の処理に移行するにあたって、”esc”の部分をカラにしたいのですが出来ますでしょうか。 : [sage] 2018/05/05(土) 00:19:09.50:Do4xRxCi0 できない あと見つけましたで終わらせないで結果も書くようにして あとで同じことしたい人の参考にならんでしょ : [sage] 2018/05/05(土) 00:55:49.00:zYXtUspU0 了解、以後気を付けます。 WinSet, Style, -0xC40000, A : [sage] 2018/05/05(土) 01:04:43.22:lf6rRJKL0 質問なのです AHKでタスクバーとスタートボタン消してるけど ウィンドウを最大化してもタスクバーのあった場所までしか広がらない これは実際は見えなくしてるだけで存在はしてるって解釈でいいのかな? できればウィンドウを最大化した時に画面いっぱいに広げたいんだけど何か方法は無いだろうか #T: if TaskBarHide = { WinHide, ahk_class Shell_TrayWnd WinHide, ahk_class Button TaskBarHide = 1 } Else { WinShow, ahk_class Shell_TrayWnd WinShow, ahk_class Button TaskBarHide = } Return : [sage] 2018/05/05(土) 02:15:18.79:E5it3ph40 OS側の設定で「タスクバーを隠す」にしとけば? 便乗質問させてほしいんだけどこの方法でタイトルバー消したウィンドウを元に戻すコマンドってありますか? : [sage] 2018/05/05(土) 02:24:07.73:zYXtUspU0 -を+にするだけです。 WinSet, Style, +0xC40000, A : [sage] 2018/05/05(土) 02:27:06.59:E5it3ph40 ありがとうございます : [sage] 2018/05/05(土) 02:30:45.11:zYXtUspU0 ちなみにトグル動作は以下になります。 @:: WinGet Style, Style, A If(Style & 0xC40000) { WinSet, Style, -0xC40000, A } else { WinSet, Style, +0xC40000, A } return : [sage] 2018/05/05(土) 06:28:48.21:lf6rRJKL00505 隠すのが嫌だから消したいんだろボケ : [sage] 2018/05/05(土) 06:35:45.56:5xwdF/wU00505 @::WinSet, Style, ^0xC00000, A : [sage] 2018/05/05(土) 06:38:49.75:tBQxxFrn00505 エスパースレじゃないんだから条件あるなら先に書けよカス 後出し厨の分際で威張るな : [sage] 2018/05/05(土) 07:38:14.09:lf6rRJKL00505 死ねよゴミ豚チンカス野郎 : [sage] 2018/05/05(土) 07:38:37.06:lf6rRJKL00505 死ね : [sage] 2018/05/05(土) 07:39:44.03:lf6rRJKL00505 お願い死んでくださいハゲ : [] 2018/05/05(土) 07:40:01.25:lf6rRJKL00505 死ねゴミ : [sage] 2018/05/05(土) 07:44:22.87:XmqP7MH/00505 なんか朝から顔真っ赤なのがいるな NGName 4a87-+sgt : [sage] 2018/05/05(土) 07:48:01.85:lf6rRJKL00505 みんな条件あるかAHK使ってんだろボケ わざわざ聞くなよカス オマエも死ねデブ : [sage] 2018/05/05(土) 07:49:09.72:lf6rRJKL00505 ハゲ : [sage] 2018/05/05(土) 07:49:28.70:lf6rRJKL00505 ハゲ : [sage] 2018/05/05(土) 07:52:00.96:lf6rRJKL00505 このスレの奴らは玄人気取りになろうと必死な池沼ばかりのゴミが多い : [sage] 2018/05/05(土) 07:58:50.00:lf6rRJKL00505 ば~か : [sage] 2018/05/05(土) 08:01:13.31:lf6rRJKL00505 オマエも死ね : [sage] 2018/05/05(土) 08:20:50.07:Do4xRxCi00505 空気を読まずにマジレスすると タスクバー非表示にするタイミングで一緒に"自動的に隠す"も実行すりゃいいだけじゃないの? ttp://jump.5ch.net/?https://teratail.com/questions/53160 winapiをAHKで使う方法については説明しない : [sage] 2018/05/05(土) 08:50:57.89:lf6rRJKL00505 だから、隠すと消すでは意味が違うだろぉおおおおおおお このハゲーぇええええええええええええ 自動的に隠すプログラムで実証済みだボケ : [sage] 2018/05/05(土) 08:55:59.29:Do4xRxCi00505 消すだけ、隠すだけでは足りないなら 消す+隠す でいけばいいじゃない : [sage] 2018/05/05(土) 09:57:09.36:lf6rRJKL00505 俺はオマエラに殺された 絶対許さない : [sage] 2018/05/05(土) 10:56:34.36:pLzR2m2h00505 ? : [sage] 2018/05/05(土) 15:57:39.34:Vq+lHIqX00505 今度からはちゃんと空気読んで池沼は相手にしないように心掛けましょう : [sage] 2018/05/05(土) 17:48:36.62:lf6rRJKL00505 死んでください : [sage] 2018/05/05(土) 19:26:41.14:Do4xRxCi00505 うまく行かなかったようで何より : [sage] 2018/05/05(土) 19:56:26.44:lf6rRJKL00505 おまえらみたいな馬鹿とは全く会話が成り立たないことに気づいた : [sage] 2018/05/06(日) 01:58:51.80:EY9d64qI0 すみません、質問です。 DetectHiddenWindows, On SetTitleMatchMode, 2 PostMessage, 0x111, 65305,,, Script.ahk このコマンドはサスペンドをトグルで動作させます。 明確にオンを送信、オフを送信するにはどうすれば良いですか?。 よろしくお願いします。 : [sage] 2018/05/06(日) 02:31:10.42:2Sg2f0BA0 送るの独自メッセージにしてOnMessageで受ければ : [sage] 2018/05/06(日) 02:55:34.32:EY9d64qI0 ああ、できそうです。 ちょっと待ってください。 : [sage] 2018/05/06(日) 03:08:35.08:EY9d64qI0 やっと出来ました、結果を張っておきます。 スマートじゃないかもしれませんけけど。 ;送信側.ahk DetectHiddenWindows, On SetTitleMatchMode, 2 1::PostMessage , 1919, 1, , , Recieve.ahk ;Suspendオン 2::PostMessage , 4545, 1, , , Recieve.ahk ;Suspendオフ ;受信側.ahk OnMessage( 1919, "1919" ) OnMessage( 4545, "4545" ) return 1919( wParam, lParam, msg, hwnd ) { If( wParam = 1 ) Suspend, On } Return 4545( wParam, lParam, msg, hwnd ) { If( wParam = 1 ) Suspend, Off } Return : [sage] 2018/05/06(日) 04:58:52.30:ZNom+fkk0 自演乙 : [] 2018/05/06(日) 13:48:58.27:l4DQHX+J0 ジョイスティック入力についてお願いします。 ボタン割り当てでjoy1~32までは問題なくできたのですが、joy33以降でエラーがでます。 joy33以降も割り当てる方法をお願いします。 使用機器はCLIP STUDIO TABMATEです。 : [sage] 2018/05/06(日) 16:52:02.92:6g8UgXkD0 仕様上32ボタンまでしか扱えない ttp://jump.5ch.net/?http://ahkwiki.net/KeyList#.E3.82.B8.E3.83.A7.E3.82.A4.E3.82.B9.E3.83.86.E3.82.A3.E3.83.83.E3.82.AF : [sage] 2018/05/06(日) 18:58:38.04:E3SSUCLf0 ハードにF13~F24割り当てたら44ボタンまでいけそうだけど もってないから自分で試してみて : [sage] 2018/05/07(月) 20:12:41.82:PFka6De50 数年前にこのスレで色々質問しながら、以下のようなスクリプトでディスプレイ電源状態を取得していました。 これは AHK U32 では今でも動くのですが、U64 にしたら動かなくなりました。 UInt を UInt64 にしたり Ptr にしたりするのだと思うのですが、DllCall のことはよく分かっていません。 どなたかご指南いただけないでしょうか。 Init: hRecipient := WinExist() DISP_GUID := "{6fe69556-704a-47a0-8f24-c28d936fda47}" VarSetCapacity(DISP_STAT, 16, 0) DllCall("ole32\CLSIDFromString", "UInt", &DISP_GUID, "UInt", &DISP_STAT) hDisp := DllCall("RegisterPowerSettingNotification", "UInt", hRecipient, "UInt", &DISP_STAT, "UInt", 0) OnMessage(0x0218, "DispStatChange") Subroutine: DispStat := NumGet(lParam + 16 + 4) ; <- ここにディスプレイ電源の状態が反映される 参考ページ ttp://jump.5ch.net/?https://msdn.microsoft.com/en-us/library/aa373195%28VS.85%29.aspx ttp://jump.5ch.net/?https://msdn.microsoft.com/en-us/library/aa373196%28v=vs.85%29.aspx : [sage] 2018/05/07(月) 20:20:37.01:PFka6De50 一部間違えてました。subroutine のところは以下に訂正です。 DispStatChange(wParam, lParam, msg, hwnd) { global DispStat DispStat := NumGet(lParam + 16 + 4) } : [sage] 2018/05/08(火) 00:26:27.03:3k99+Zl90 以前のスレはコチラでした ttps://anago.5ch.net/test/read.cgi/software/1422427426/197-198 : [sage] 2018/05/08(火) 07:36:20.82:eAnc/ZRN0 Ctrl+Bとか、何かのキーを押したら、MsgBoxで取得した値を表示するスクリプトを 書いてくれたら実験に協力しようという気になる人が増えると思う。 U32ではこのスクリプトでこのように表示されていましたが、U64では○○ですとか。 : [sage] 2018/05/08(火) 08:58:50.45:4lleQLIXH #SingleInstance, FORCE Gui, +LastFound hRecipient := WinExist() DISP_GUID := "{6fe69556-704a-47a0-8f24-c28d936fda47}" VarSetCapacity(DISP_STAT, 16, 0) DllCall("ole32\CLSIDFromString", "UInt", &DISP_GUID, "UInt", &DISP_STAT) hDisp := DllCall("RegisterPowerSettingNotification", "UInt", hRecipient, "UInt", &DISP_STAT, "UInt", 0) OnMessage(0x0218, "DispStatChange") OnExit("ExitSub") SetTimer, DispTimer, 1000 Return DispStatChange(wParam, lParam, msg, hwnd) { global DispStat DispStat := NumGet(lParam + 16 + 4) } ExitSub() { global hDisp DllCall("UnregisterPowerSettingNotification", "UInt", hDisp) } !F10:: Msgbox, % DispStat ? "Display On" : "Display Off" DispTimer: If DispStat Return Msgbox, % DispStat ? "Display On" : "Display Off" ExitApp : [sage] 2018/05/08(火) 09:02:07.82:4lleQLIXH ありがとうございます。 上記 は U32 で単独動作する AHK スクリプトです。 Windows 10 x64 1803 + AHK U32 1.1.28.02 で確認しました。 Alt + F10 では "Display On" と表示されます。また画面が消えると "Display Off" と表示して終了します。 これを AHK U64 で動作するようにしたいのですが、どなたかご助言いただけないでしょうか。 : [sage] 2018/05/08(火) 09:04:01.30:4lleQLIXH 連投失礼いたします。 を AHK U64 上で動かすと、画面が消えたことが認識できないことが問題点です。 : [sage] 2018/05/08(火) 10:02:38.02:eAnc/ZRN0 私の環境では、NumGetのところを DispStat := NumGet(lParam + 16 + 4,0,"UInt") にすると Display Off の表示が確認できましたよ。 : [sage] 2018/05/08(火) 14:34:21.89:x9o+pxbr0 私のところでも正常動作しました。ありがとうございました! しかし ,0,"UInt" を付けることで何が違うのか良く分かりません。 もし宜しければ教えていただけないでしょうか。 : [sage] 2018/05/08(火) 23:14:26.94:eAnc/ZRN0 U32とU64で動作が違うというので、怪しい箇所がそこだと予想しただけなので、 実際にどのような処理の違いがあるのかは分かりませんが、 OSが32bitか64bitかによって、メモリ参照系関数でパラメータを省略した時の動作が変わるのは ありがちということで。 : [sage] 2018/05/08(火) 23:32:04.34:BpdqTmJx0 指定した座標値と座標値の間の数値を毎回ランダムに選んでにクリックさせることは可能ですか? : [] 2018/05/09(水) 08:43:34.91:4z3a6k9s0 Numpad1 & Numpad2:: CoordMode,Mouse,Screen Random(min,max) { Random, out, %min%, %max% return out } MouseClick, , % Random(890,940), % Random(670,730), , 5, Sleep, 1000 MouseClick, , % Random(400,450), % Random(670,730), , 5, Sleep, 4500 MouseClick, , % Random(250,450), % Random(240,400), , 5, Send, 1 Send, Q MouseClick, , % Random(530,610), % Random(230,270), , 5, Send, 1 Send, Q Sleep, 1000 MouseClick, , % Random(250,450), % Random(240,400), , 5, Send, {F5} MouseClick, , % Random(530,610), % Random(230,270), , 5, Send, {F5} Sleep, 5000 MouseClick, , % Random(158,325), % Random(509,541), , 5, MouseClick, , % Random(653,819), % Random(509,545), , 5, Return ttps://autohotkey.com/board/topic/93034-random-mouse-click-within-specific-range/ ここ見てこのような形で解決できました : [sage] 2018/05/09(水) 08:54:31.30:qIZ333Sy0 キー割り当てが仮のものじゃないとすると、テンキー入力で 123 とか素早くタイプすると誤爆しそうな予感。 : [sage] 2018/05/09(水) 11:09:38.07:4z3a6k9s0 動作させつつscriptを編集する最中、見事誤爆しまくりだったのでwin keyに割当て直しました…。 : [sage] 2018/05/11(金) 15:02:48.96:GZ4fS0Ie0 質問なのですが、マウスのサイドボタンを押している間をAltの押しっぱなしにしたくて以下のように書きました xbutton1::send,{alt down} return xbutton1 up::send{alt up} return ゆっくり操作するには問題ないのですが、ボタンの押してから離すまでの間隔が早すぎる場合 altキーが押しっぱなし状態になってしまいます これが押しっぱなし病でしょうか? なにかボタンを素早く操作しても押しっぱなしにならないようなうまい書き方はないでしょうか? : [sage] 2018/05/11(金) 15:33:52.86:FitVeey70 早すぎてdownより先にupが発生してるとかでは SetTimerとかSleepで{alt up}を少し遅らせてみたらどうだろうか : [sage] 2018/05/11(金) 15:52:12.97:GZ4fS0Ie0 SetTimeはどう使うのでしょうか? Sleepは色々入れてみましたが効果なしでした : [sage] 2018/05/11(金) 16:30:08.12:WPPdckIF0 xbutton1::alt って無理なんだっけ? : [sage] 2018/05/11(金) 17:34:53.06:+f4qK3bT0 単一キーのdownは押しっぱなし病の元 : [sage] 2018/05/11(金) 18:09:44.97:1zMSR+x6a Hookとかそのへんのおまじないで治ることもある : [sage] 2018/05/11(金) 22:07:05.40:9yuFSHXX0 #ifwinactive, ahk_exe abc.exe で、ahk_exe abc.exeの部分をconstでいいので変数にしたいのです たとえば、 title=ahk_exe abc.exe とかして #ifwinactive, %title% とか出来ませんか。 スクリプト全体に渡ってこのようなことが出来れば、titleを変えるだけでいろいろと便利なのですが : [sage] 2018/05/11(金) 22:14:47.29:FgREsXqR0 #If WinActive(title) : [sage] 2018/05/11(金) 22:15:54.53:9yuFSHXX0 ありがとうございました : [sage] 2018/05/11(金) 22:35:14.67:wgcvYVTT0 近いことやってるけど、押してる間じゃ無くてトグルでやってる。 *AppsKey::Send % (t:=!t) ? "{Shift Down}" : "{Shift Up}" : [sage] 2018/05/12(土) 03:50:58.79:ElsJxBgC0 ほんとだ、普通にそれで出来ました その書き方だと単体で使用するにはどれだけ高速にボタンを押し離ししても押しっぱなしは生じないのですが 条件を付けたりすると、やはりボタンの素早い操作には処理が追いつかないようで押しっぱなしが生じます 自分はyoutubeのプレイヤー上だけで動作するように下のように条件を付け足したらやはり押しっぱなしが生じるようになりました XButton1:: PixelGetColor, color, 1880 , 200 PixelGetColor, color2, 1915 , 140 MouseGetPos,xpos,ypos if (color == 0xFFFFFF && color2 == 0xCDCDCD && 510<xpos && xpos<1360 && 195<ypos && ypos<670) { XButton1::alt return } else { MouseClick,MIDDLE return } 三項演算というやつでしょうか? すいません、もう少し具体的に教えていただけないでしょうか : [sage] 2018/05/12(土) 07:41:50.79:D09dT/mX0 ↓こんなので良いんじゃないかな? #if checker() XButton1::alt #if checker() { PixelGetColor, color, 1880 , 200 PixelGetColor, color2, 1915 , 140 MouseGetPos,xpos,ypos if(color == 0xFFFFFF && color2 == 0xCDCDCD && 510<xpos && xpos<1360 && 195<ypos && ypos<670) { return 1 } else { return 0 } } : [sage] 2018/05/12(土) 09:07:21.06:q3q1kDjq0 の書き方だとラベルの二重定義になってると思うんだがエラーにならずに動いてるん? : [sage] 2018/05/12(土) 10:36:47.40:ElsJxBgC0 特にエラーは出ずに動きました その書き方でかなり押しっぱなしは発生しなくなったのですがそれでも数十回に一回は発生します そこで xbutton1 up::send,{Alt up} を書き足して、押しっぱなしが発生した場合でも即座に解除されるようにしました しかしこれだとフォーカスがメニューバーに移るのでその後にyoutubeのプレイヤー下部をクリックさせてフォーカスを プレイヤーに戻るようにして、最終的に下のように書いたら上手くいきました、ありがとうございました SetTitleMatchMode, 2 #if checker() xbutton1::alt return xbutton1 up:: send,{Alt up} MouseMove,860,660,0 MouseClick,left MouseMove,900,420,0 return #if checker() { PixelGetColor, color, 1880 , 200 PixelGetColor, color2, 1915 , 140 MouseGetPos,xpos,ypos if(color == 0xFFFFFF && color2 == 0xCDCDCD && 510<xpos && xpos<1360 && 195<ypos && ypos<670 && WinActive("YouTube - Mozilla Firefox")) { return 1 } else { return 0 } } : [sage] 2018/05/12(土) 12:10:18.14:mbfaXoIA0 ブラウザによってはアクセラレーターキーを無効化出来る設定があるぜよ : [sage] 2018/05/12(土) 21:26:21.82:rCHokzEy0 SetKeyDelay, , 500 RButton:: Send, {RButton} Return SetKeyDelayでPressDurationを指定してもマウスボタンには利きません SetMouseDelayにはPressDurationの設定がありません マウスボタンを押してから離すまでの時間を指定するには Send, {RButton Down} Sleep Up : [sage] 2018/05/12(土) 21:27:53.07:rCHokzEy0 スミマセン途中で誤送信してしまいました Send, {RButton Down} Sleep, 500 Send, {RButton Up} とその都度Sleep入れるしか無いのでしょうか? : [sage] 2018/05/13(日) 02:37:32.12:f1BK+2eu0 のスクリプトを試しに下のように書き換えたら chcker() の条件を全く無視して動作するようになりました SetTitleMatchMode, 2 #IfWinActive,YouTube - Mozilla Firefox if (checker()){ xbutton1::alt return xbutton1 up:: send,{Alt up} MouseMove,860,660,0 MouseClick,left MouseMove,900,420,0 return checker() { PixelGetColor, color, 1880 , 200 PixelGetColor, color2, 1915 , 140 MouseGetPos,xpos,ypos if(color == 0xFFFFFF && color2 == 0xCDCDCD && 510<xpos && xpos<1360 && 195<ypos && ypos<670 ) { return 1 } else { return 0 } } #IfWinActive if(checker()) のように自分で定義した関数はifの中に使えないのでしょうか? : [sage] 2018/05/13(日) 03:29:16.70:f1BK+2eu0 すいません、if (checker()){ } の最後の } が抜けてます : [sage] 2018/05/13(日) 07:42:47.80:PU8DYjWs0 リマップとホットキースクリプトの違いなど、いろいろとツッコミどころがあったけど、 動作しているならまぁいいかと思っていましたが、こうなってくると、もう、 具体的に何が目的なのかを書いてくれた方が良いかもね。 全く別のアプローチで解決する可能性があるので。 : [sage] 2018/05/13(日) 08:17:14.33:f1BK+2eu0 目的はfirefoxのEnhancer for YouTubeというアドオンを使うと マウスカーソルがyoutubeのプレイヤー上にある時に、alt+マウスホイール上下で ボリュームを調整できるのでこれをマウス操作だけで完結できるように マウスサイドボタンにaltを割り当てるということです ちなみに if(checker()) が機能しないのは仕様でしょうか? それとも他に書き方があるのか、 #if checker() にしないと駄目ということでしょうか? : [sage] 2018/05/13(日) 08:25:28.46:tzlDO4vq0 まあ>90の段階でこうなる予感はしてた #ifとifの違いをきちんと把握しよう ifはラベルの外に書いても機能しない ifwinactiveの確認が必要ならcheckerの中に入れ込んで #if checker() の形は崩さないようにする ていうか動いてるみたいだからスルーしてたけど xbutton1::alt (リマップ) と xbutton1 up:: て同時に使って大丈夫なんだっけ? : [sage] 2018/05/13(日) 08:39:56.55:PU8DYjWs0 じゃ、こういうことなのかな #IfWinActive,YouTube - Mozilla Firefox xbutton1 & WheelUp::Send,!{WheelUp} xbutton1 & WheelDown::Send,!{WheelDown} #IfWinActive : [sage] 2018/05/13(日) 10:29:48.42:81EHtS+00 俺もEnhancer for YouTube使ってるけど、そもそもYoutubeのプレイヤーって ホイールアップダウンで、ボリュームのアップダウンしない? うちは普通になってるんだけど。 : [sage] 2018/05/13(日) 12:25:30.19:f1BK+2eu0 そう書きたいのですがおま環というかエレコムのマウスドライバの関係だと思うのですが WheelUp WheelDown WheelRight WheelLeft に関するスクリプトだけが謎のタイミングで急にautohotkeyが認識しなくなるので (その際他のマウスボタンやキーボードに関するスクリプトは問題ない) 仕方なくホイールの上下、ティルトを含めないスクリプトにしています この症状については以前このスレで質問させてもらい、色々試しましたが解決しませんでした なにかアイデアはないでしょうか? ボリュームの上にカーソルを持っていくと出来るのですが、プレイヤー上のどこでも ボリュームを操作したいので : [sage] 2018/05/13(日) 14:28:04.11:PU8DYjWs0 こんなのもいけそうだけど。 xbutton1 & LButton::Send,+{Up} xbutton1 & RButton::Send,+{Down} : [sage] 2018/05/13(日) 17:26:37.62:f1BK+2eu0 ・ボタンクリックでの音量調整はどうしてもホイール操作に比べ時間が掛かってしまう ・且つ、で書いたように xbutton1 & WheelUp::Send,!{WheelUp} としたいがなぜかマウスのウィール操作を急に autohotkeyが受け付けなくなってしまうので出来ない なのでのような面倒な書き方になっています 色々提案して下さってありがとうございます : [sage] 2018/05/13(日) 18:18:36.96:tzlDO4vq0 とりあえずchecker()の頭に IfWinNotActive ,YouTube - Mozilla Firefox return 0 を入れたら希望の動作にはなるんじゃない 美しくはないけど : [sage] 2018/05/13(日) 20:03:27.01:0+/Cihjs0 Windows 10 (1803) + AHK (1.1.28.02) でシステムクロックのウィンドウを出すために以下のような操作をしています しかしこれでタスクトレイへのクリックが送られない時がよくあるのですが、何が問題なのでしょうか ControlClick, TrayClockWClass1, ahk_exe explorer.exe ahk_class Shell_TrayWnd : [sage] 2018/05/13(日) 21:19:28.34:S9LI0lKr0 試したけどタスクバーが非アクティブだとスカすることがあるみたいですね WinActivate, ahk_class Shell_TrayWnd を手前に入れたらウチでは失敗しなくなったけど : [sage] 2018/05/13(日) 21:31:43.63:0+/Cihjs0 おーこれは良いアイディア。コチラでもバッチリでした。ありがとう! : [sage] 2018/05/13(日) 22:09:59.89:H9IWDP130 これでも出来た ControlSend, TrayClockWClass1, {Enter}, ahk_class Shell_TrayWnd : [sage] 2018/05/15(火) 15:38:04.99:78ifrD+i0 WheelScroll.ahk作者さん 手持ちVERUPしていたらアップして下さい! くれくれでごめんなさい_(._.)_ : [sage] 2018/05/15(火) 16:32:44.84:Ym6pn8BO0 作者さんじゃないけど… ホイールスクロール - eamat @Cabinet - アットウィキ ttp://jump.5ch.net/?https://www6.atwiki.jp/eamat/pages/30.html でも、win10使いなら標準でホイールリダイレクト出来るようになってるから使う必要ないと思う 加速機能が必要なら別だが… : [sage] 2018/05/15(火) 17:12:59.28:78ifrD+i0 お気遣いありがとうございます。 shift+横スクロールをメインに、加速以外を使っている感じです。 普通のコントロールじゃないソフトが多くて、手放せないんです。 : [sage] 2018/05/16(水) 01:11:54.75:CcEi62G10 すみません、明日中に上げますので少々お待ちを 以前報告いただいたexcel関連の問題ですよね 修正した記憶はあるんですが手元のソースはなぜか巻き戻ってまして 修正内容もまるっと記憶の彼方という(汗 もいちどデバッグして直す箇所の特定もできたんで今度は大丈夫と思います : [sage] 2018/05/16(水) 08:32:35.87:FdEiwpS40 お時間いただきまして、ありがとうございます!!!! : [sage] 2018/05/16(水) 14:54:11.54:CcEi62G10 お待たせしました WheelScroll.ahk 2018.05.16 ・Shift+ホイール での横スクロールホットキーの復帰 ・Excelで分割/固定ウィンドウでスクロールできなくなっていたのを修正 分割時 : 縦横共に互換モードに戻した(操作するスクロールバーを指定する必要があるため) 固定時 : 非表示のスクロールバーは見ないようにした ・モダンUI対策 起動時に1回だけレジストリを確認するように変更 (今まではホイール回すたびに毎回見に行ってた) ttp://jump.5ch.net/?https://img.atwikiimg.com/www6.atwiki.jp/eamat/attach/30/6/WheelScroll_20180516.zip ttp://jump.5ch.net/?https://github.com/eamatt/WheelScroll.ahk スクリプト修正よりgitの使い方ググってた時間のほうが長いという : [sage] 2018/05/16(水) 16:12:56.07:CcEi62G10 アドレス修正 ttp://jump.5ch.net/?https://img.atwikiimg.com/www6.atwiki.jp/eamat/attach/30/7/WheelScroll_20180516.zip : [sage] 2018/05/16(水) 17:46:55.96:4hkzuek2H AHK とちょっと違う質問なのですがお許し下さい ChgKey.exe で CapsLock キーに修飾キーになりそうなキーを割り当てたいのですが、 Shift、Ctrl、Alt、Win、PrtScr、Pause、変換、無変換、 その他 OS で強固に制御しているキー *以外* でどんなキーを割り当てたら良いでしょうか アイディアいただけますと幸いです。 : [sage] 2018/05/16(水) 17:56:26.80:I4HJqw7S0 F13~F24(スキャンコードで登録) あとAppsKeyも俺は修飾キー替わりに使ってる : [sage] 2018/05/16(水) 18:57:25.17:QKszEjpp0 うんこ : [sage] 2018/05/17(木) 09:13:31.52:QuQV8BL30 ご対応賜りまして感謝致します。 やりたいこと全てが出来るようになりました! ありがとうございました!!!!!! : [sage] 2018/05/17(木) 21:33:21.39:cFMfNLbs0 IME 制御は例の関数を使うとして IME オンでも無変換を押下している時には IME がオフになる (無変換を離せば IME オンに戻る) という制御はどうやったら出来るでしょうか イマイチよいアイディアが出なくて… : [sage] 2018/05/17(木) 22:01:04.20:Vcj1petK0 無変換:: で get:=IME_GET() と IME_SET(0) して 無変換 up:: で IME_SET(get) で戻すのでは何か問題が出るの? : [sage] 2018/05/18(金) 18:59:21.02:KKx2zzQZ0 回りくどくていまいち何のためにって感じだな SetTimerで自動制御すりゃ楽だろ SetTimer, Timer01, 1000 ;━━━━━━━━━━━ IMEをオンにしたいキー:: IME_SET(1) } Timer01: ;タイマー01をセット If(A_TimeIdlePhysical>10000) ;10秒間操作がなかったら(キー操作中はタイマーリセット) IME_SET(0) ;半英数(IMEをオフにする) Return : [sage] 2018/05/18(金) 20:15:42.06:bjTYS26a0 質問してレス貰ってるのにそれに対して何も答えない奴って何なんだろうな : [sage] 2018/05/18(金) 20:55:46.45:XgWrM3wa0 無変換+アルファベットキーを普通のキー入力に使うってことなのかな? 勿体無い。 : [sage] 2018/05/18(金) 21:17:35.97:KKx2zzQZ0 すまんオンとオフが逆だな 普通はIMEをオフに戻すから勘違いしたわ しかし、IMEがオンに戻るって発想が変だな どういうシーンを想定してんだろ : [sage] 2018/05/18(金) 21:20:50.83:XgWrM3wa0 日本語入力中に短い英単語を打ちたい時とかを想定しているんじゃないかな。 : [sage] 2018/05/18(金) 21:58:14.22:j5bAicz60 フォトショの場合 ショートカットキー押してすぐ離すとツール切替 長押しは押してる間だけツール有効 (離したら元のツールに戻る) けどそんなイメージ? IMEの場合はワンキーでオンオフ切り替えのみだから 手動でオフってまたオンでも手数は変わらない気もするけど あとIMEオンのまま英数入力ならSHIFT押しながらでできるね まあ全部大文字になっちゃうから小文字や先頭のみ大文字にしたいなら変換候補出す必要あるけど : [sage] 2018/05/19(土) 13:28:30.64:wVFjDZxF0 みなさんご返答ありがとうございます IME 関数をちょっとカスタマイズしていたのを思いだして、それで動かなくなっていました みたいなので出来そうでした やりたい事は みたいなので、どこかのページでチラッと見たネタを思い出した次第です しかし普通に modifier として使う方が便利そうかも… : [sage] 2018/05/19(土) 19:28:58.96:mdGAX3F40 お前のやりたい事と124のやり方は全く違うんだが みたいなので出来そうとか適当言い過ぎだわ : [sage] 2018/05/19(土) 21:23:30.22:KK99Bs8a0 [変換]にIMEオン [無変換]にIMEオフ をIME設定で登録して、日本語入力時は[変換]キー押してから半角英数は[無変換]キー押してから と癖付けて運用する方が後々面倒にならないと思う(IME関数は別の目的で使う) 自分はそんな感じにしてるけど、別にお勧めするわけじゃない : [sage] 2018/05/19(土) 22:20:28.93:5Aa/E7Ht0 自分は半角/全角キーをIMEオン、英数(CapsLock)キーをIMEオフに登録して 変換キーと無変換キーはまた別の用途に使ってる デフォルトのトグルは不便だよね : [sage] 2018/05/19(土) 23:03:38.21:KK99Bs8a0 >デフォルトのトグルは不便だよね そうそう、自分の場合は左手小指用「BS」キーにリマップしてる まあ、本人が使いやすいようキー割り当てしてるんだから他人がとやかく言う筋合いはないんだが、つい… : [sage] 2018/05/19(土) 23:22:42.13:lAcun/c30 そういえばIMEトグルを変換に割り当てる目的でahk使い始めたんだった あのころはリマップもIME関数もなかったからshift+半全をsendしてた記憶 : [sage] 2018/05/19(土) 23:29:25.82:5Aa/E7Ht0 IMEトグルを変換に割り当てるだけならAHK使う必要ないんだけど : [sage] 2018/05/20(日) 00:11:27.02:ioKewk350 自分環境が特殊過ぎると他人のパソコンを使う時に大変なんだよな。 パソコンの講師とか。 : [sage] 2018/05/20(日) 00:48:58.75:Iao0w2V+0 んだな 当時勤めてた会社で不特定のPC(主に納品用)を触ってて ちょっとの使用でもストレスだった ahkなら自分が使うときだけ常駐させれば他の人が誤爆することもないし exeとiniだけ持ってけばよかったから楽だったわ : [sage] 2018/05/26(土) 04:57:24.57:oa9ABaVl0 1.1.29.00 WinMoveがバグってる : [sage] 2018/05/26(土) 06:22:15.62:mnVTUBCe0 WinMoveすると落ちる 使い物にならないから戻すか : [sage] 2018/05/26(土) 06:27:56.12:mnVTUBCe0 ttp://jump.5ch.net/?https://autohotkey.com/boards/viewtopic.php?f=14&t=49578 既にフォーラムで報告されてた : [sage] 2018/05/26(土) 06:50:32.10:SEDZc1bo0 報告ありがとう : [sage] 2018/05/26(土) 15:02:17.71:oa9ABaVl0 MsgBox,% f() f(){ Try Return, Format("123") Finally OutputDebug, % "999" } これなんで999が返ってくるん? : [sage] 2018/05/27(日) 03:04:05.71:mNfKe8MB0 Windows10のエクスプローラーで表示>レイアウトの設定の状態を取得する方法ってありませんか? : [sage] 2018/05/27(日) 04:18:41.66:mNfKe8MB0 に捕捉 レイアウトの設定とはアイコンサイズ大/中/小や「一覧」「詳細」などの設定項目のことです 現在開いてるウィンドウがどの設定になっているか、出来れば判別したいです : [sage] 2018/05/27(日) 10:16:19.80:FDRrCAGv0 Regshotで設定差分調べる。 : [sage] 2018/05/28(月) 21:15:45.40:X5zesDO70 Tryステートメント中のReturnの実行前にも Finallyステートメントが処理されるからじゃないの? : [sage] 2018/05/29(火) 15:43:12.15:ynECSFQ70NIKU LButton::Click を実行するとマウスの左長押しが使えなくなってしまうのですが なにか良い方法はないでしょうか? (実際はClickまでの間にいろいろな条件が入り,条件の有無に関わらず最後にClickはいれたい) : [sage] 2018/05/29(火) 16:04:45.62:qIxenpTI0NIKU LButtonに割り振るとか、ぶっちゃけ正気の沙汰とは思えない どうしてもというなら、~Lbutton::やLButton up::を駆使して使うしか : [sage] 2018/05/29(火) 16:24:09.50:FTnm1fK80NIKU LButton:: はOSが自動やってくれてる左クリ系制御を全て無効にして分捕るということなので 相応の制御を自力で一から入れ込まないといけなくなるよ 長押しはもちろんドラッグもね MouseGestureL.ahkみたいに徹底的にやるなら不可能ではないが方法は簡単ではない あとスクリプトがフリーズしたり暴走したときマウス無しでAHKスプリクトを 終了させるキーボードスキルも要求される #if で条件つけて稼働場所を限定するか 押下キャンセルは諦めて ~Lbutton:: で対応するかあたりが 簡単な対応方法かと : [] 2018/05/29(火) 17:14:25.84:ynECSFQ70NIKU ,150 ありがと 長押しだけならまだしもドラッグとかも制御しないとだし諦める方向でいきます よく使うキー(マウスだけど)ほどリマップするとロクなことにならないか… : [sage] 2018/05/29(火) 17:15:49.07:zu3Xn/320NIKU Send, {Blind}{LButton down} KeyWait, LButton Send, {Blind}{LButton up} : [sage] 2018/05/29(火) 17:18:21.62:zu3Xn/320NIKU Finallyブロックがいつ処理されようとReturnの内容変わる意味がわからない ↓これすらバージョンに乗っ取られる Try { Return, A_AhkPath } Finally { var := A_AhkVersion } : [sage] 2018/06/03(日) 01:58:55.04:Zz0+tDU+0 1.1.29.01来たね : [sage] 2018/06/04(月) 01:34:29.00:2J5jkB1m0 Runコマンドだと10回中8回は起動に失敗するアプリがあります。 しかしダブルクリックで起動すると100%確実に起動しします。 このような時に他に何か良い方法はありますか?。 : [sage] 2018/06/04(月) 01:48:10.15:Gs/XQrbx0 失敗する理由が良く分からないけど、プロセスが存在しなかったらLoopで繰り返しRunを試みる そしてプロセスが存在したらBreakするようにすれば良いのでは? それでもダメなら管理者権限とか見直した方が良いかと : [sage] 2018/06/04(月) 03:40:36.93:2J5jkB1m0 わかりました、やってみます。 : [sage] 2018/06/06(水) 08:46:29.43:pq6dH1r600606 指定したウインドウがアクティブになったときになにかをする、ということって出来ますか : [sage] 2018/06/06(水) 08:47:15.03:pq6dH1r600606 Dllその他を使ってもいいです : [sage] 2018/06/06(水) 08:55:48.02:Fnr7cl+N00606 最近のパソコンならSetTimerで監視してもそんなにパフォーマンスを気にしなくても大丈夫な気がする。 : [sage] 2018/06/06(水) 09:11:20.56:itZOp+je00606 SetWindowsHookExとOnMessage使えばいけるんじゃね SetTimer使うほうが簡単だと思うけど : [sage] 2018/06/06(水) 09:19:29.77:QDPlyGjY00606 ttp://jump.5ch.net/?https://sites.google.com/site/agkh6mze/howto/winevent でできると思う : [sage] 2018/06/06(水) 09:38:52.60:pq6dH1r600606 おおお、これはありがとう SetWinEventHook : [sage] 2018/06/06(水) 18:20:36.97:DAkGEPen00606 そのページの見本だけではアンフックされないから注意 myHook := DllCall("SetWinEventHook"...ry OnExit("UnhookWinEvent") return UnhookWinEvent() { if (myHook) DllCall("UnhookWinEvent", "Ptr", myHook) ; ttp://jump.5ch.net/?https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd373671(v=vs.85).aspx } : [sage] 2018/06/06(水) 18:22:52.34:DAkGEPen00606 訂正 global myHook := DllCall("SetWinEventHook"...ry : [sage] 2018/06/06(水) 19:18:49.38:kCzLbrdp00606 If the client's thread ends, the system automatically calls this function. って書いてあるけど : [sage] 2018/06/06(水) 20:08:26.81:DAkGEPen00606 スクリプトを終了させる場合は必要ないのね、ありがと : [sage] 2018/06/06(水) 22:16:07.19:Tho0roqH0 基本的な使い方の質問なんだけど ReloadってReloadが書かれてるスクリプトしか再読込してくれないよな? つーわけで全部のスクリプトに ~^s::Reload を書いてるんだけど、みんなはどうやってるの? : [sage] 2018/06/06(水) 22:36:47.61:LgGqWI680 メインの常駐スクリプトはAutoHotkey.ahk一つのみなので何も困らない 他の複数スクリプトを常駐させたい場合はAutoHotkey.ahkに#Include書いておけば メインをReloadするだけで他も一緒にリロードできる あと余談だけど#SingleInstance forceを付けとけばスクリプト再実行するだけで確認ダイアログ出さずに即座にリロードできる : [sage] 2018/06/06(水) 23:16:55.24:itZOp+je0 うちもリロードにホットキー割り当ててるのはAutohotkey.ahkだけだな 他のスクリプトは使う時だけ起動だしリロードさせたいときは都度タスクトレイ右クリから選んでる : [sage] 2018/06/06(水) 23:33:40.39:+RADH46Q0 ホットキー1つで全部のスクリプトを再起動させたいなら、こんな感じかな ^+a:: run,スクリプトAのパス /r sleep,10 run,スクリプトBのパス /r sleep,10 reload return 先にreloadを持ってくると、その時点で再起動するから、それ以降のパス付のリロードの記述が あっても意味なしになると思う : [sage] 2018/06/07(木) 00:02:29.94:QFEim0ee0 俺も #Include が良いと思うよ。 別々に再起動したいから分けるもんだし。 : [sage] 2018/06/07(木) 01:23:10.17:M9wP2dqd0 #Includeでうまいこといけた の余談も参考になったわ サンクス : [sage] 2018/06/08(金) 18:34:21.32:BQ6ELLYn0 v1.1.29.01にしたら、「半角/全角」キーに「Esc」を割り当てられなくなってしまった…… orz : [sage] 2018/06/09(土) 14:28:35.83:5tbx7+6D0 msgboxのフォントを指定する事は出来ませんか?。 : [sage] 2018/06/09(土) 20:33:16.22:SYGh9yCY0 過去何度も同じ質問あるけどMsgboxはAutoHotKeyで作っているのではなく Windows由来のものなので無理(Windows側のフォントを変えるなら別だけど) Msgboxと似たようなことしたい場合はググれば出てくる : [sage] 2018/06/10(日) 00:30:19.09:qyZNhA650 ああ、GUIで作成すっれば良いんですね。 msgboxに拘り過ぎてGUIの事をわすれていました。 : [sage] 2018/06/10(日) 14:05:19.29:iGxHhiEo0 レジストリ操作してWindowsのフォントを変更→msgboxを出す という方法もあるんやぞ : [sage] 2018/06/10(日) 15:59:58.80:qyZNhA650 それは私には高度そうですね。 GUIで作成しましたのでこれで良しとします。 : [sage] 2018/06/10(日) 16:30:39.62:Sc4ly2P1H やり方教えて。 : [sage] 2018/06/10(日) 16:31:24.67:Sc4ly2P1H やり方教えて。 : [sage] 2018/06/10(日) 17:05:53.64:+dLhpj100 #ifブロックのネストはできないのか ダブりエラーで弾かれる : [sage] 2018/06/10(日) 17:28:56.51:ksuuGlG10 横からだが… Win10のシステムフォント耐えられんかったから、いくつかソフト探してみたけど ttps://freesoft-100.com/review/meiryo-ui-mo-daikirai.html これが自分には使いやすかった。スレチだから後は試してみてちょうだい : [sage] 2018/06/10(日) 19:42:10.70:u54rRvmV0 ああ、これ見たことある。 : [sage] 2018/06/10(日) 21:51:17.37:bKv1nP1ZM meiryoなんて大嫌い でシステムフォントをmeiryoに変える矛盾 遊ゴシック見づらいんだよ : [sage] 2018/06/10(日) 22:09:43.17:U7BX7w+c0 別にフリーフォントをインストールしても構わんのだろう? : [sage] 2018/06/10(日) 22:22:54.28:+LJpkf3H0 良いディスプレイ買えよ : [sage] 2018/06/10(日) 23:39:25.65:t7L4s73I0 モニタはナナオのいい奴使ってるし眼鏡も中近に変えたばかりよ 等幅はRicty、Myrica、Cica あたりを気分で使い分けてるけど Pは個人的に明瞭が一番見やすいと感じる : [sage] 2018/06/11(月) 00:01:43.60:2MCm+kMz0 いい加減スレチなんで自重しろ : [sage] 2018/06/11(月) 23:06:49.37:sbPTjzXk0 autohotkeyを管理者で起動しています スタートアップに登録してOSを起動するとUACが当然でてくるんですけど UAC回避のためにタスクスケジューラで最高特権でやろうとするも Ahkファイル起動だとうまくいきません UAC回避で何か良い策はないでしょうか : [sage] 2018/06/11(月) 23:21:42.72:uv7Vy6l00 スクスケジューラーから起動するときに AHK のフルパスを指定し、 .ahk を引数にする : [sage] 2018/06/11(月) 23:24:44.07:p/Y0Jojy0 普通にタスクスケジューラで行けるはずだけど? ttp://jump.5ch.net/?https://www.maketecheasier.com/schedule-autohotkey-startup-windows/ 肝はプログラム指定をAutoHotkey.exeにしてオプションにahkファイル指定することくらいかな 同一フォルダのAutoHotkey.ahkならオプション指定も必要無い ちなみに俺は別の理由があってCLaunchというランチャーソフトから常駐用AHKスクリプトを自動起動するようにしてる この方法でも管理者権限で問題なく起動できる : [sage] 2018/06/12(火) 01:41:40.67:WKuv7FAY0 AutoHotKeyの最新版(1.1.27.07)にしたらInvalid hotkeyエラー ttp://jump.5ch.net/?https://qiita.com/totto357/items/5d86ee80a654dd9ec95f : [sage] 2018/06/12(火) 01:45:31.00:Psiyv3cB0 4ヶ月も前の記事今更貼るなよ 前スレROMってろ : [sage] 2018/06/12(火) 02:09:54.90:QUuGsdgL0 ありがとうございました お陰様でできました バッチファイルでスタートアップしたいものをまとめていたのですが その記述では.ahkファイルを直接起動できていたのでタスクスケジューラでもできるものと思っていました 本当に助かりました : [sage] 2018/06/12(火) 19:50:48.34:+yDiYOBA0 初心者です。気にしないで教えて君書き込みします。 ヒントやそれがわかるURLなど教えて下さい。 1.テキスト入力ボックスを出して、そこに僕が手入力した文字をスクリプトの後のステップで違うところに書き出すには? 2.スクリプトが任意のステップで僕のOKサインが出るまでストップさせるには?例えばOKボタンが押されるまでとか : [sage] 2018/06/12(火) 20:21:01.46:+1i03+1U0 1に関しては違うところに書き出すをもっと具体的に アクティブのウィンドウとか開いてないテキストファイルとかいろいろ考えられる 2に関してはwikiを読んでから質問しなさいな コマンドの一覧流してみるだけでも見当がつけられるはず : [sage] 2018/06/12(火) 20:21:54.62:+1i03+1U0 訂正 アクティブのウィンドウ→すでに開いているウィンドウ : [sage] 2018/06/12(火) 20:39:54.87:We4VuwXu0 1. InputBox出して入力されたテキストをバッファに保存 後はそれをスクリプトの後のステップで違うところに書き出せばよい 2. msgbox : [sage] 2018/06/12(火) 21:55:00.49:+yDiYOBA0 ありがとうございます。成功しました。すごい適当でむちゃくちゃですが。196の要求満たせました。 質問です。 ToolTip以外に簡単に画面に文字を表示する方法ってないのでしょうか? ダイアログ表示するしかないのでしょうか? ToolTipって文字が小さいしすぐに消えるイメージがあって。 : [sage] 2018/06/12(火) 21:57:21.16:zqrDN+4l0 俺はSplashImageを画像無しで使ってる。 : [sage] 2018/06/12(火) 22:01:53.10:+E5cZsHs0 一応ToolTipでも ToolTip, ツールチップを10秒間表示します。 sleep 10000 ToolTip return みたいにsleepを入れれば消えるまでの時間は調整できるよ : [sage] 2018/06/12(火) 22:25:51.15:+yDiYOBA0 ありがとうございます。まだこちらのほうが文字が大きくていいですね。 スリープ入れたら長くできるんですね。でもスリープを入れるとその間スクリプトが止まるのが なんか嫌でして。スクリプトの進行を止めずに文字を一定時間表示させたいという希望がありまして。 settimerとかいうのを設定すればそういうのができるのかな?わからないですが。 ありがとうございました。汚いながらとりあえずグリーン載ったって感じです。 : [sage] 2018/06/12(火) 22:45:48.29:BneWZD2B0 tooltipの代わりになるProgress ttp://jump.5ch.net/?https://qiita.com/neokix/items/c38d0bfae93650e90e59 : [sage] 2018/06/12(火) 22:50:27.00:4hgE51+C0 ToolTipは消さなければずっと表示されるだろ sleepなんて要らねえよ まず使って試してから発言しろよ : [sage] 2018/06/12(火) 23:11:09.23:+E5cZsHs0 l ToolTipの仕様から説明するのは面倒だから省略したけど、の人が言うように別に表示時間を 伸ばすためにsleepを入れたわけじゃないよ 表示されっぱなしでいいなら特にスクリプトを止める要素も無い : [sage] 2018/06/13(水) 02:00:44.69:kee9CeXG0 試してから言ったんだが。 謝れよ : [sage] 2018/06/13(水) 02:16:04.10:WE+4cSWn0 が勘違いで無礼な口をききまして誠に申し訳ございませんでした : [sage] 2018/06/13(水) 02:16:27.04:kee9CeXG0 うちの環境だとToolTipだけだと表示なにもされない。 sleepいれた複数行だとはじめてツールチップが表示される。 なにこれ。なにが作用してんの。ツールチップちっちゃくて色薄いし身づらい~ SplashTextOnでタイトルのみってシンプルでいいかなと思ったけど、表示位置変えられないっぽいのが がっかり。 204のサンプルgif?が良さげなんで見てみます。ちょっとむずいのかな : [sage] 2018/06/13(水) 03:24:33.08:ijaZStKH0 じゃあ実際に試したそのスクリプトを貼ってみろよ 本当に試していたら >ToolTipって文字が小さいしすぐに消えるイメージがあって こんなアホなことは絶対書かないし「イメージ」だけで喋らない 謝れよ : [sage] 2018/06/13(水) 03:41:39.87:ijaZStKH0 どうせ常駐しないスクリプトで一瞬で終了して「すぐ消える」とか言ってるアホなんだろうな : [sage] 2018/06/13(水) 09:02:55.61:kee9CeXG0 202だよ あの時点のカキコミではをおれのやりたいスクリプトのなかにコピペしてやってた。 それを証明しろってか。アホ。 >こんなアホなことは絶対書かないし 探偵くんの絶対っていう決めつけですか?(笑) イメージがあるっておれがちょこっと言っただけで "絶対"イメージ"だけ"でやらずに書いたことにおまえの中では確定するんですね。素敵。 おまえこそ決めつけですぐ書き込んだことについてとにかくはやく謝れよ アホ : [sage] 2018/06/13(水) 09:50:19.13:gPo1rC530 あんまり関わりたくないが… >うちの環境だとToolTipだけだと表示なにもされない。 の4行スクリプトをsleep抜きで実行すれば当たり前 >SplashTextOnで ~ 表示位置変えられないっぽいのががっかり。 ToolTipに関しても言えるがネット上に日本語リファレンスあるんだから、ちゃんと読んだ上でそこにあるサンプルスクリプトも試せ : [sage] 2018/06/13(水) 10:12:00.75:77WhG2kh0 Googleさんに質問をぶつける方が早いよね。 : [sage] 2018/06/13(水) 10:18:06.86:fhWlT+8OH 馬鹿に高度な要求をしてすみませんでした あなたでも理解できるくらい低レベルな説明をするのはぼくには無理です 許してください : [sage] 2018/06/13(水) 10:32:09.90:WE+4cSWn0 回答者にダメ出しするクズ質問者を最近各地でやたらと見かけるんだが流行りなのかね : [sage] 2018/06/13(水) 10:54:40.84:kee9CeXG0 もう結構です。解決しましたので209とかにこれ以上回答しないでください。 210のアホは除いて。 許すもなにもだれだか知らんが悔しかったのか?しょうもない内容ない最後っ屁のレスしやがって。 二度と俺にレスするな : [sage] 2018/06/13(水) 11:06:01.84:Hz7oGYjX0 ~LButton:: ToolTip, 謝れよ Return : [sage] 2018/06/13(水) 11:16:45.49:fhWlT+8OH 悔しそうな最後っ屁レスのいい見本を見せていただきありがとうございます これからは気をつけます : [sage] 2018/06/13(水) 11:29:50.63:lZPXjxk30 久々に伸びてると思ったら… 見て和んだからよしとするか AutoHotkeyスレ的にはこうあって欲しいな : [sage] 2018/06/13(水) 12:29:15.56:WE+4cSWn0 NGEx Tooltip, 謝れよ君@AHK 対象タイトル [含む] [AutoHotkey] NG Name [含む] [09] こういう子はしれっと何度でも来やがるので二度とレスしないで済むようあぼ~ん規則置いときますね : [sage] 2018/06/13(水) 17:03:30.85:YzLKE9Rd0 アクティブウインドウ以外を最小化したいです。 WinMinimizeAllとWinRestoreでほぼいけるんですが、一瞬アクティブウインドウも最小化されるのが難点です。 なにかいい方法ありませんか? : [sage] 2018/06/13(水) 17:09:56.55:H3aXWF370 Send, #{Home} : [sage] 2018/06/13(水) 17:33:45.70:YzLKE9Rd0 そういやあったな 前試したとき使えなかったけど、Windows10 スナップ機能を無効にしてたのが原因だったみたいだわ : [sage] 2018/06/13(水) 19:06:33.60:/1MllKIW0 FileReadLineで10行目を読み取って、ヒットした文字列をRegExMatchで検索する所まで来ました。 しかし指定行に書き加える所がわかりません。 FileReadLine, HAGE, HAGE.txt, 10 If (RegExMatch(HAGE,"FUSA")) { ---指定行に書き加えるこの部分がわかりません---- StringReplace? FileDelete, HAGE.txt FileAppend, %FUSA%, HAGE.txt } : [sage] 2018/06/14(木) 00:20:21.09:Z2OsG3OR0 もう何年もバージョンアップしてなかったと思ったら 仕様変え過ぎだろ 糞 : [sage] 2018/06/14(木) 01:24:39.75:PHfD01XQ0 >もう何年もバージョンアップしてなかった いやそんなこと無いだろ お前が情弱なだけで : [sage] 2018/06/14(木) 08:01:25.30:xpUFTmrw0 vk sc 以外に何か大きな変更ってあった? : [sage] 2018/06/14(木) 10:45:44.95:kRIw/nNl0 便利そうなオカン henkan_group_winchanger() { IfWinActive,ahk_exe calc.exe { IfWinExist, ahk_exe notepad.exe WinActivate return } IfWinActive,ahk_exe notepad.exe { IfWinExist, ahk_exe wmplayer.exe WinActivate return } IfWinActive,ahk_exe wmplayer.exe { IfWinExist, ahk_exe calc.exe WinActivate return } } ; 関連ありそうなアプリ間でのみウィンドウを切り替える sc79 & tab:: henkan_group_winchanger() : [sage] 2018/06/14(木) 11:08:57.90:YPXm0M8Y0 GroupAdd & GroupActivate でよくね? : [sage] 2018/06/15(金) 00:01:26.94:H2S0dOu+H アプデするたびになにかしら問題でるのはなんなの : [sage] 2018/06/15(金) 00:08:24.69:qL05x0j60 じゃあアプデしなければ良いのでは? : [sage] 2018/06/15(金) 15:46:40.65:TM0zxQ290 v1.1.24.01安定 : [sage] 2018/06/16(土) 15:55:40.54:G06nkSYx0 最近ネタ切れ気味なので、 みなさんのおすすめのネタ、小ネタ、関数、スクリプト、連携ツールなどの投下待ってます!^^ ■用途 . メイン│キー割り当て変更…タップ/複数タップ/長押し ホットキーランチャー│プログラム起動…メーラー/ブラウザ/エディタ 自動化│キーボード操作 . │マウス操作 選択文字列│WEB検索…ウェブ/画像/動画/Wiki/2ch/地図/翻訳 . │FILE検索 ※Everythingと連携 . │プログラム起動…関連付け/エディタ/ファイラー . │置換…環境変数/レジストリ/日付表記/年表記/3桁ごとにコンマ . │修飾 . │変換…文字種/URLエンデコ/進数 . │計算 . ウィンドウ│タスク切替 . │移動/リサイズ . │最前面化 . │全面化 . │どこでもドラッグ . │シェード . │タイトルバー非表示 . │メニューバー非表示 . マウス│マウスジェスチャー[MouseGestureL.ahk] . │ホイールリダイレクト ※Win10デフォ . │カーソル非表示 . 取得│コマンドID(wParam) . │カラーピッカー(RGB) : [sage] 2018/06/16(土) 15:56:33.90:G06nkSYx0 . タイマー│IME . │自動クリック . │最前面化 . │プログラム…起動/終了 . │優先度変更…アクティブ時/非アクティブ時 その他│クリップボード拡張[Clipboard History] . │サウンド…音量調整/ミュート/デバイス切替 ■関数 ΘIME.ahk…IME制御用 関数群 ttp://www6.atwiki.jp/eamat/pages/17.html ΘSwitchTask.ahk…タスク切替 ttp://blog.livedoor.jp/user5/archives/44475387.html ΘTray_Refresh()…タスクトレイリフレッシュ ttp://autohotkey.com/boards/viewtopic.php?t=19832#p95533 ΘUrlEncode()…URLエンコード(Shift_JIS/UTF-8) ttp://hibari.5ch.net/test/read.cgi/software/1280482227/235 ■スクリプト □常駐 ΘClipboard History…クリップボード拡張 ttp://www.vector.co.jp/soft/winnt/util/se512783.html ΘMouseGestureL.ahk…マウスジェスチャー ttp://www.vector.co.jp/soft/winnt/util/se498500.html ΘWheelScroll.ahk…ホイールリダイレクト ttp://www6.atwiki.jp/eamat/pages/30.html Θカーソル非表示 ttp://anago.2ch.net/test/read.cgi/software/1398655195/807 Θどこでもドラッグ ttp://autohotkey.com/board/topic/25106-altlbutton-window-dragging/#entry256906 □非常駐 ΘコマンドID(wParam)取得 ttp://autohotkey.com/board/topic/19754-get-info-from-context-menu/#entry130297 ■連携ツール ΘApp=Device…サウンドデバイス切替 ttp://www.vector.co.jp/soft/winnt/art/se486862.html ΘEverything…ファイル検索 ttp://www.voidtools.com/ ΘTablacus Script Control 64…計算 ※64bitOS ttp://www.eonet.ne.jp/~gakana/tablacus/scriptcontrol.html Θue…WEB検索 ttp://www.axfc.net/u/3902154 Θue2clip…URLエンコード ttp://www.axfc.net/u/3902154 : [sage] 2018/06/17(日) 02:49:17.37:LEHoSucJ0 乙。 一覧になってみると、特別な事はしてないなと再確認。 どれも上記の組合せに過ぎないとゆーか、連係するソフトウェアの理解度が重要だったり。 : [sage] 2018/06/17(日) 08:06:16.82:YAxRdcxB0 小ネタ ΘPrintScreenキーで情報取得 ttp://pastebin.com/c5dJTcFG Θタイトルバー上アクション ttp://pastebin.com/4ZHJVHTV Shift+左…シェード 左ダブル…ポップアップメニュー(menuHackerモドキ) 未完のおま環オナニースクリプトのため、ご興味のある方のみどうぞ!^^ : [sage] 2018/06/18(月) 15:11:26.39:esoE5FB60 タブ単位ではなくてブラウザ単位でミュート/解除する.ahkファイルなどありませんか? ttp://jump.5ch.net/?https://gist.github.com/Trellmor/6548709 でそれらしいのをみつけたのですが、どこにミュートさせたいブラウザを指定するのかわかりません。 最初^!Mを一度押すとボリュームミキサーがでてくるようですが、2回目同じキーを押してもボリュームミキサー出てきません クリックでミュートするのではなくランチャーなどに.ahkファイルを登録させてそれの起動ですぐブラウザ単位のミュートがしたいです。 : [sage] 2018/06/18(月) 16:43:17.63:+42gcIGk0 こないだの謝れよ君か また暴れられると面倒だから答えは書かないけど修正3ケ所で行けたわ なかなか便利なスクリプトやな : [sage] 2018/06/18(月) 16:48:32.62:esoE5FB60 なんでわかるの : [sage] 2018/06/18(月) 16:51:57.87:AKI8Z7dt0 いつもお前を見ているぞ <◎> <◎> : [sage] 2018/06/18(月) 18:58:13.38:81hwV4880 さんの使い方なら Θ7行目を変更「VolumeMixer = 音量ミキサー」 Θ15行目に追記 Sleipnirなら「MuteApps("Sleipnir")」 Chromeなら「MuteApps("Chrome")」 など で、大丈夫だと思います^^ : [sage] 2018/06/18(月) 19:04:41.30:81hwV4880 すいません追加で Θファイル末に追記「ExitApp」 : [sage] 2018/06/18(月) 19:06:07.93:cw6YxUPa0 空気読めよ : [sage] 2018/06/18(月) 20:20:35.98:81hwV4880 Θ15行目を「MuteApps(A_Args[1])」 でファイルを作成し、ランチャーなどで下記コマンド実行の方がいいかも^^ Θコマンド Sleipnirなら「hoge.ahk "Sleipnir"」 Chromeなら「hoge.ahk "Chrome"」 など : [sage] 2018/06/18(月) 20:35:02.11:3UPizNgs0 んなこと誰も聞いてない : [sage] 2018/06/18(月) 20:48:26.20:esoE5FB60 おしえてくださってありがとうございました。 助かりました。 わたしに教えてはいけないというノリにしたいヤカラがいるので反発がありますね ^ ^ : [sage] 2018/06/18(月) 21:04:04.08:+n8z2HMA0 教えて君五大要素 1. 読まない 2. 調べない 3. 試さない 4. 理解力が足りない 5. 人を利用することしか頭にない : [sage] 2018/06/18(月) 21:36:47.91:/Bs4ggs+M ワッチョイ 3e91-m0US >234 も大概うざいと思ってたがこれは酷い 己の承認要求満たすことが最重要なタイプか : [sage] 2018/06/18(月) 21:47:21.51:E7KH139L0 スルーできずにレス付けちゃうお前も同類だぞ : [sage] 2018/06/19(火) 00:03:00.21:5mFe2tNK0 3e91-m0US は黙認したらダメなタイプ スルー対象は 謝れよ君のほう : [sage] 2018/06/19(火) 00:16:49.96:q0WAzgGW0 承認欲求はレスされることで満たされるんだから黙ってあぼーんしとけばいい : [sage] 2018/06/19(火) 00:52:17.09:OxIVLmPa0 タスクトレイ右にあるソフトウェアを右クリックしてそのメニューの上から二番目をクリックする、 といった動作をAutohotkeyですることはできるんでしょうか? 昔そういう単機能のソフトウェアがあったように思うのですが忘れてしまいました。 地獄に落ちろ : [sage] 2018/06/19(火) 01:19:12.88:zvqTkEbA0 TrayCommand ttp://jump.5ch.net/?http://hp.vector.co.jp/authors/VA026310/soft2.htm ソフトはこれでしょ : [sage] 2018/06/19(火) 01:29:58.37:/YJKKxwR0 空気読めよ : [sage] 2018/06/19(火) 02:00:08.76:m0Y+Gbe+0 ttp://jump.5ch.net/?http://pastebin.com/9YEj7wg6 : [sage] 2018/06/19(火) 13:55:13.23:0cmVsDTa0 SoundBeep有能 SoundBeep,400,25 ; 何かが無効になったときに鳴らす SoundBeep,1000,25 ; 何かが有効になったときに鳴らす とりあえずIME ON/OFFやその他に組み込んでみたが安心感が増す 人前ではうるさくて使えないだろうが これのLEDバージョン作ってみたいがプログラマブルUSB LEDって2万とかするんだな… 300円位でないのか : [sage] 2018/06/19(火) 14:06:01.56:8FWyy9TaH Arduinoで作れんじゃね? 3000円ぐらいはかかりそうだけど : [sage] 2018/06/19(火) 17:10:38.43:42EnPnsg0 ラズパイは? : [] 2018/06/20(水) 07:37:19.98:ha/OsVg60 IE11でボタンをクリックした後、反応の有無を判断できる方法はありますか? クリック→無反応→クリック…roop クリック→反応有→roop break 想定している似たような状況は、ビジー状態の通販サイトの「商品カゴへ入れる」ボタンを成功するまでクリックする。 OS:Windows10(1803) Pro 64bit AutoHotkey(x64) 1.1.29.01 : [sage] 2018/06/20(水) 12:08:36.98:W9QYsAxV0 クリックに成功した場合ボタンの表示が変わる、もしくは何かの表示が出るのならImageSearchで行けるんじゃないかね : [] 2018/06/20(水) 16:07:09.18:ha/OsVg60 レスありがとうございます。 表示は変わりませんが、特徴的な音が出ます。 表示の変化に関して指摘して頂いたので、Sound関係の変化に関してコマンドを探してみましたが、使えそうなのがないです。 : [sage] 2018/06/20(水) 16:45:56.19:K//20RcR0 判断する方法ではないけど ボタンを押してから離すまでの時間を長くすれば反応するようになるのでは? SendならSetkeydelayで Setkeydelay,100,200 もしくは send,{left down} sleep,200 send,{left up} clickなら click,left,down sleep,200 click,left,up : [] 2018/06/20(水) 17:37:47.93:ha/OsVg60 レスありがとうございます。 試してみます。 ただ、ビジー状態に対応できるスクリプトを組みたいので、サイトがビジー状態でないと試せません。 報告は早くて数日後になります。 : [sage] 2018/06/21(木) 04:48:21.38:AY8E+xgd0 人気商品は確定するまでカゴ入れ状態になかなかならないからやり続けるて意味だよね? ビジー状態の意味がブラウザが固まるような表現になってるし : [] 2018/06/21(木) 13:46:05.91:uo6bOHK00 いえ、ブラウザは固まってる状態です。 その状態で酷い時は、数秒に一度、一瞬クリックできる状態になる時があって、その隙にクリックしたいのです。 : [sage] 2018/06/21(木) 15:01:33.74:VVK4xcOd0 ポップアップメニューを表示して戻り値にキーを返す関数 ttp://jump.5ch.net/?https://paste.ofcode.org/cpAPU8WT64bJd4WWJCiPS4 testcode() { menu= ( ファイル(&F) 編集(&E) 検索(&S) 終了 ) ret := ShowPopupMenu(menu) if ret=F msgbox,ファイル処理 if ret=E msgbox,編集処理 if ret=S msgbox,検索処理 if ret=5 ; &がない場合は数値で返す msgbox,終了処理 if ret= msgbox,キャンセルされた } : [sage] 2018/06/21(木) 16:23:27.41:5cOpvXIJ0 詳しくないけどIEにぶん投げて、ComObjCreate("InternetExplorer.Application")から.ReadyStateでページ表示の完了状態を調べるとかは? 無理にahkでやる案件でもないような気がするけど : [sage] 2018/06/22(金) 14:32:53.34:ugMFpfsi0 ControlGet SysListView321を使って、値を取得することは出来ます。 逆に、SysListView321に値をセットすることは出来ませんか。 ゲットした値の一部を変更したいのですが : [] 2018/06/22(金) 21:12:40.61:PUo1zf840 確かにIEの操作はAHKでやるより、IEから直接の方が確実なような気がしますね…。 少しスリープの時間を長めにしましたが、軽いビジー状態なら結構いけますね。 正直、長押しでいけるとは思ってもいませんでしたからびっくりしました。 とりあえず、長押しでしのいで、将来的にはVBAでIEを直接操作する方向で考えたいと思います。 予定していた方法とは異なりますが、そこそこどうにかなりそうなので、これで締め切らせて頂きます。 皆さんありがとうございました(o*。_。)oペコッ : [sage] 2018/06/23(土) 07:17:36.20:0OH7ylO90 ヒアドキュメントがあまりにも見づらいのでクラスにしてみた m.Add("ファイル(&F)") は m.Add,ファイル(&F) とは書けないのな ttp://jump.5ch.net/?http://textuploader.com/dzt72 testcode2() { m:=new PopupMenu() m.Add("ファイル(&F)") m.Add("編集(&E)") m.Add("検索(&S)") m.Add() m.Add("終了") ret := m.Show() msgbox,% "ret=" ret } : [sage] 2018/06/23(土) 22:27:36.89:Ztr4TmAR0 に「Autohotkey専用うpろだ」紹介されてるんだから、以降そっちでやってね : [sage] 2018/06/24(日) 01:05:16.40:gl6IIcaZ0 ちなみにAHK v2のMenuはまさにそんな感じ ttp://jump.5ch.net/?https://lexikos.github.io/v2/docs/objects/Menu.htm : [sage] 2018/06/27(水) 17:27:43.88:hg8rqnbu0 iniwriteの時に書き込む値にカンマがあった場合はどうすればいいのでしょうか? : [sage] 2018/06/27(水) 17:32:41.64:0iRb2wcH0 エスケープするor変数に入れる : [sage] 2018/06/27(水) 18:25:58.86:hg8rqnbu0 hensuu = 111,aaa,222,bbb iniwrite, %hensuu%, test.ini, test, test iniwrite, 111`,aaa`,222`,bbb, test.ini, test, test こんな事が出来るなんて知りませんでした。 どちらでもできました、ありがとうございます。 : [sage] 2018/07/02(月) 03:06:06.99:g0LGh7eu0 ATOKの日付変換が便利なんだけど、使いたいフォーマットがない。 例えば "yyyy_mmdd" とか。 now対象だけならahkで作れそうなきがするけど、ATOKみたく「あした」「あさって」とか 「げつようび」とかで、前後の日をサポートするとなると大変そう。 こんな日付変換に対応したものってありますか? : [sage] 2018/07/02(月) 08:08:57.58:obbanbrL0 別のスクリプト同士で変数をやり取りする方法はありませんか? 情報をやり取りするためのファイルに書き込んでおき、 別のスクリプトで読み込むしかないでしょうか? : [sage] 2018/07/02(月) 10:28:37.55:2sJUYxCT0 ttp://jump.5ch.net/?http://ahkwiki.net/EnvAdd ::nitiyoubi:: SUNDAY=1 send,% DateCalc(SUNDAY-A_WDay,"yyyy-MMdd") return DateCalc(offset,format) { TimeStamp := A_Now TimeStamp += %offset%, Days FormatTime,TimeStamp,%TimeStamp%,%format% return TimeStamp } ttp://jump.5ch.net/?http://ahkwiki.net/OnMessage() : [sage] 2018/07/02(月) 12:22:32.02:obbanbrL0 サンクスコ助かりました : [sage] 2018/07/02(月) 13:08:15.58:YBwm2/8CH わぁ、作っていただけるなんて。 ありがとうございます。 これを元にメニュー化してみます。 : [sage] 2018/07/07(土) 02:08:28.79:qwGCuEP30 GUIで使われるデフォルトのフォントはコレであっていますか? 分かる人いたらお願いします。 OS日本語 MS UI Gothic (win7で確認、win10も同じ?) OS英語 MS Sans Serif? : [sage] 2018/07/07(土) 08:53:40.58:OoZZ3/qe00707 ググればわかることだが両方違う win7はメイリオ、win10は遊ゴシック系 ttp://jump.5ch.net/?http://www.atmarkit.co.jp/ait/spv/1702/01/news038.html 英語版OSは Segoe UI ttp://jump.5ch.net/?https://ja.m.wikipedia.org/wiki/Segoe : [sage] 2018/07/07(土) 09:50:28.34:qwGCuEP300707 言葉足らずでした、AHKのGUIコマンドの話です 原文のリファレンスを読むとデフォルトはGetStockObjectのDEFAULT_GUI_FONTの事だとは思うのですが 他環境のフォント情報がなかなか見つからず質問した次第です > Omit the last two parameters to restore the font to the system's default GUI typeface, size, and color. Gui, Font,, メイリオ Gui, Add, Text,, あいうえおABCDEabcde (メイリオ) Gui, Font,, MS UI Gothic Gui, Add, Text,, あいうえおABCDEabcde (MS UI Gothic) A_GuiFont := GuiDefaultFont() A_GuiFontSize := A_LastError Gui, Font Gui, Add, Text,, %A_GuiFont%`t%A_GuiFontSize% (デフォルト) Gui Show Return GuiDefaultFont() { ; By SKAN www.autohotkey.com/forum/viewtopic.php?p=465438#465438 hFont := DllCall( "GetStockObject", UInt,17 ) ; DEFAULT_GUI_FONT VarSetCapacity( LF, szLF := 60*( A_IsUnicode ? 2:1 ) ) DllCall("GetObject", UInt,hFont, Int,szLF, UInt,&LF ) hDC := DllCall( "GetDC", UInt,hwnd ), DPI := DllCall( "GetDeviceCaps", UInt,hDC, Int,90 ) DllCall( "ReleaseDC", Int,0, UInt,hDC ), S := Round( ( -NumGet( LF,0,"Int" )*72 ) / DPI ) Return DllCall( "MulDiv",Int,&LF+28, Int,1,Int,1, Str ), DllCall( "SetLastError", UInt,S ) } : [sage] 2018/07/07(土) 11:20:45.04:OoZZ3/qe00707 失礼 win10も MS UI Gothic だったよ : [sage] 2018/07/08(日) 18:55:55.14:jnfyQm1X0 ありがとうございました 他のフォント情報も見つけることができました ttp://jump.5ch.net/?https://msdn.microsoft.com/ja-jp/library/system.drawing.systemfonts.defaultfont(v=vs.110).aspx : [sage] 2018/07/14(土) 00:28:43.55:c9o5o3bi0 「コントロール+クリック」を「無変換+クリック」に割り当てられるといいんだけどな@あ : [sage] 2018/07/14(土) 00:33:52.87:wrBaH4zb0 割り当てられますけど : [sage] 2018/07/14(土) 07:29:02.66:TH1SIGBe0 失敗した書き方はどんな感じ? : [] 2018/07/15(日) 09:50:14.97:bqpX/mGQ0 関数内でループをさせて、そのループのA_indexを使ったことをさせたいんですが、A_indexを使ったことというのを関数内で何度も使うのでその記述を簡略化したいんですが どうすればいいですかね?やりたことは下記のようなことなんですが、labelとgosubで動くものなのかがよくわからないでいます test() { loop,10 { label: tooltip,%A_index% return gosub,label sleep,500 gosub,label sleep,500 gosub,label sleep,500 } return } : [sage] 2018/07/15(日) 20:19:37.01:we5y7DJBM 関数内でもラベルは使えるけどサブルーチンは無理 そのコードだとtooltipの下のreturnで関数ごと抜けてしまうよ : [sage] 2018/07/15(日) 21:19:24.01:p+q5mhPf0 サブルーチン部分をloop外に出せば動くとは思うが、正直何をしたいかよく分からん 同じA_indexで同じ処理を3回してるから、その部分をloopで回せば簡略化できると思うが… test() { loop,10 { count := A_index loop,3 { gosub,label sleep,500 } } return label: tooltip,%count% return } 長いので次レスで : [sage] 2018/07/15(日) 21:19:59.91:p+q5mhPf0 続き それとも、こんなことか? test() { loop,10 { gosub, label1 gosub, label2 gosub, label3 } return label1: tooltip,%A_index% sleep,500 tooltip, return label2: MsgBox,%A_index% sleep,500 return label3: Clipboard := A_index MsgBox,Clipboard は %Clipboard% sleep,500 return } 以上、かなり適当 : [sage] 2018/07/15(日) 21:21:21.92:p+q5mhPf0 かなり見づらくてスンマソン : [sage] 2018/07/18(水) 16:42:54.30:trYB5odT0 290 ですが返事がおそくなってすみません。 結局loopでlabel部分をループさせました。ありがとうございました。 : [sage] 2018/07/20(金) 14:55:17.40:2RsjRDqU0 win7から10へマシン変えようか考えてますが ahkスクリプトは相当書き換える必要あるのでしょうか? 今あらゆる作業でずいぶん頼ってるのでそこが悩みどころでして : [sage] 2018/07/20(金) 15:09:10.38:wv55im470 もしWin7のUAC設定を一番下にしてオフにしてるならばWin10に移行後にUAC絡みで気を付ける必要があるかも Win7ではUAC一番下にするだけでほぼ機能しなくなるけどWin10では一番下にしても完全にはオフにならないので 必要に応じてスクリプトを管理者権限で実行したり、標準権限で実行したりを気を付けなきゃならない 元からWin7でUACオンにして使ってるなら特に使い勝手は変わらないと思う : [sage] 2018/07/20(金) 16:04:35.24:2RsjRDqU0 ありがとうございました!ユーザーアカウントというあたりは元々ぜんぜんいじってないです。 スクリプトそのまま移行して使い続けられそうでホッとしてます : [sage] 2018/07/20(金) 16:20:15.17:IY43ug2o0 自分はahk以外にもWSHやAutoItも使ってるので参考になるか分からないが… スクリプトでレジストリにアクセスしようとしてもブロックされまともに動かなかったので、 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] の"EnableLUA"=dword:00000001 → "EnableLUA"=dword:00000000 にしてUACを無効化した 自分はwin7 32bitからwin10 64bitにしたけど、特に大掛かりなスクリプトの書き換えはしなかったような気がするが、 win7時代に動いていたスクリプトがwin10で動かなくなったのはあったな このスレにあったヤツだったか忘れたが、ウインドウに穴開けてデスクトップを見るスクリプトだった 他人作だし使う機会も少なかったのでもう使用はしていない… : [sage] 2018/07/20(金) 20:57:51.00:GOaXWtHw0 無理矢理UAC完全無効化はストアアプリに不具合出るしMS的にはストアアプリ推しだから 将来的に大きなトラブルになる可能性もある : [sage] 2018/07/20(金) 21:09:21.49:9LPAAB/e0 UAC無効化しなくてもUI Access有効化でよくない? : [sage] 2018/07/20(金) 23:46:35.78:IY43ug2o0 情報サンクス >ストアアプリに不具合出るしMS的にはストアアプリ推し 自分としては別に使う気はないからどうでも良いかなぁ win10使う上で必須のアプリがあるなら考えるけども… UI Access っつうのちょっと調べた限りでは、フォルダ限定される? 自分はCドライブにソフトやスクリプトは殆ど置かないので、UI Access有効化は余り意味がないかもしれない : [] 2018/07/22(日) 10:19:40.82:OCDGBqGi0 なぜ日本語wikiのキーリストで 変換:vk1Csc079のように記載されているのでしょうか? 実際,スクリプトにはvk1Cと記載しないと動きませんよね? 誤解を招くような気がする(実際に自分も戸惑った)のですが,これにはなにか理由があるのですか? : [sage] 2018/07/22(日) 10:58:23.54:AMD77juC0 v1.1.24まではvc○○sc○○の記述が可能だった v1.1.27で修正されてvk○○またはsc○○の片方しか記述出来なくなった v1.1.28で以前の仕様(vc○○sc○○が可能)に戻ったらしいけど 俺はv1.1.24からアップデートしていないので未確認 : [sage] 2018/07/23(月) 21:15:15.12:M4VJIdNm0 いや、v1.1.28でも最新のv1.1.29.01でも「vk○○sc○○」の記述はエラー出ますよ 今も「vk○○」か「sc○○」の片方のみ可能なのでwikiを直さないと新規の人には分かりにくいだろうね : [sage] 2018/07/23(月) 22:11:48.54:ionPQ2gz0 いろんな文法を認めている割に、これに関しては厳しくしたいっていうのが良く分からんね。 : [sage] 2018/07/25(水) 03:34:26.75:gZ0Se62R0 keyhacですが、tkinterは入れたままにして頂きたい! その方がポータブル感が高まると思います。 : [sage] 2018/07/25(水) 04:35:30.78:XXshHs+p0 すいません質問させて下さい ttp://jump.5ch.net/?https://superuser.com/questions/1269772/windows-explorer-shortcut-to-go-to-next-sibling-folder 上のサイトのスクリプトはエクスプローラ上で同階層フォルダ間を移動するものですがあくまで英語圏のためのものであり 日本語のフォルダ名だとエクスプローラの表示順通りに移動できませんがどうすればいいでしょうか Windows XP以降のソート順は特殊でShlwapi.dllのStrCmpLogicalW()というAPIを使う必要があるらしいのですが Windows 7 64bit Autohotkey(x64) v1.1.22.09 : [sage] 2018/07/25(水) 14:19:24.59:tDovQ0SL0 一旦兄弟フォルダを全部取得してからフォルダ名でソートすればいいんじゃないか、ということで自分でも使用したいので作った Win10で動作確認 ttp://jump.5ch.net/?https://pastebin.com/sZVcY14F オリジナルに変更を加えた部分はある程度コメントを入れてあるので詳細はそっちで それと、親フォルダのソート状況を推察するのは難(*1)があるので、移動の順番は名前で昇順ソートされた状態を想定してる 別ウィンドウで親フォルダを日付や名前の降順でソートして表示していて、移動してみたら順番が違う!というのは諦めて (*1) 親フォルダのソート状況を推察できる状況 ・一つのエクスプローラーウィンドウで親フォルダを表示している 厳しいとき ・親フォルダを表示していない ・複数のウィンドウで親フォルダを開いていて、それぞれソート状況が異なる。(どちらを選択するのか?) : [sage] 2018/07/25(水) 15:49:51.80:XXshHs+p0 質問者ですがwindows7でも動作確認しました 兄弟フォルダ間の移動なんて簡単て思ってたらとんでもなかったw 前提条件を認識した上で使わせてもらいます ありがとうございました : [sage] 2018/07/26(木) 17:12:06.86:t46bhQ3w0 ttp://jump.5ch.net/?https://pastebin.com/kZADqQ5P よく分かってないけどのスクリプトで最初と最後の兄弟フォルダにも移動したいときはこんな感じでいいのかな : [sage] 2018/07/28(土) 17:20:36.99:pDAfKZEBM こんなの聞くの申し訳ないんですがTrayTIpが動きやせん 調べでもわからなくて困った windows10 1803 AHKL1.1.29.01(64bit) #NotTrayIcon使用なし 全文が長くなるとTrayTIpがwin上で反映されない LOGだと指令でてる&短い文でテストすると問題なし コンパイルすると動いてたが更に全文長くしたらコンパイルしてもTrayTIpでない うわーん : [sage] 2018/07/28(土) 17:47:48.00:pDAfKZEBM 自己解決しました。win10の設定でAHKの通知取得がoffやった… むしろなんで短いと通るのか不思議になりましたが スレ汚しごめんなさい : [sage] 2018/07/31(火) 02:10:13.15:GTD+3eTh0 下記サンプルコードではタスクバー上の空きスペースクリック時メニューが出てしまうので メニューを出さずにアイコン上か空きスペースかの当たり判定ができましたら教えてください ■サンプルコード 中クリックでアプリ閉じ 問題点…空きスペースクリック時のメニュー ;タスクバー上 #If MouseIsOver("ahk_class Shell_TrayWnd", "MSTaskListWClass1") MButton:: Send {RButton} Sleep, 250 if WinExist("ジャンプ リスト ahk_class DV2ControlHost") Send {Up}{Enter} else Send {Esc} return #If MouseIsOver(WinTitle, ClassNN:="") { MouseGetPos,,, hWnd, ControlNN return (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 : WinExist(WinTitle " ahk_id " hWnd) && ClassNN = ControlNN) } : [sage] 2018/08/01(水) 01:43:23.52:tCZRzMJu0 サムネイル有無だとメニューは出ないがサムネイルがないとミスってしまう SendMessageなどでの当たり判定や、そもそも閉じるのに右クリック→上→Enterではない案(AHKで)などありましたら教えてください ■サムネイル有無判定 Sleep, 250 if !WinExist("ahk_class TaskListThumbnailWnd") return : [sage] 2018/08/01(水) 20:39:43.87:RFuZeACf0 タスクバー上でカーソル下がアイコンか空きスペースかの判定だけなら Acc.ahk使えばすぐじゃないかな Roleの値が違うはずだし : [sage] 2018/08/01(水) 21:50:53.68:tCZRzMJu0 さん Acc_GetRole()関数利用で希望する動作になりました 今までACC.ahkはテンプレで紹介されているのは知っていましたが、用途が分からずインスコしていませんでした めちゃ便利ですね。教えていただきありがとうございました : [sage] 2018/08/02(木) 22:02:20.44:Ys9NGPTx0 Acc.ahkは使い方がわかればDoDefaultActionが便利だった 俺は分からず分かったのはUI Automationに手を出した後という : [sage] 2018/08/02(木) 23:21:29.21:SOQUJBoF0 いまさらながらオミトロンのバイパス状態の見分け方が分かったので記念カキコ ;Proxomitron バイパス 1 Up:: SavedDHW := A_DetectHiddenWindows DetectHiddenWindows, On ControlGet, BypassSt, Enabled,, Web ページ・フィルタ, ahk_class PrxTronCls BypassSt ? ToolTip("Bypass On") : ToolTip("Bypass Off") PostMessage, 0x111, 1007,,, ahk_class PrxTronCls DetectHiddenWindows, %SavedDHW% return ;ToolTip() ttp://pastebin.com/uHuBttNb : [sage] 2018/08/03(金) 21:43:37.48:pHE6KlnQ0 Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や Acc_GetName()とAcc_GetRole()の併用でWM_NCHITTESTではだめなタイトルバーのボタン上の正確な位置判定など あらためて教えていただいたさんには感謝 ACC.ahk ttp://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) : [sage] 2018/08/04(土) 02:18:49.52:H2OE/J7G0 acc.ahkが便利そうなのでググったら日本語解説ページがなく クルマのワーゲンの機能らしい accはオートクルーズコントロールみたいなのだが ahkはよくわからない ムキになって検索しまくり ようやくヒットする BMWも搭載してるようで動画で確認 クルマの下からチンコがでてきた 違う! : [sage] 2018/08/04(土) 20:08:36.57:mW/OGX1W0 なんか凄いツールですね AccInfoViewer_kai.ahk を使ってみたところ メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると Name : 貼り付け(P) Ctrl+V Action : 実行 と出るのですが、この情報を使ってmouseclick AHKで 貼り付け を : [sage] 2018/08/04(土) 20:11:05.28:mW/OGX1W0 すいません途中で送信してしまいました なんか凄いツールですね AccInfoViewer_kai.ahk を使ってみたところ メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると Name : 貼り付け(P) Ctrl+V Action : 実行 と出るのですが、この情報を使ってmouseclick を使わずに AHKで 貼り付け を 実行させることは可能でしょうか? もしできるならどのように書けば良いのでしょうか? : [sage] 2018/08/04(土) 22:48:25.99:KKkpi8nV0 自分が見つけたのは↓だけど、同じもの? Acc library (MSAA) and AccViewer download links - AutoHotkey Community ttp://jump.5ch.net/?https://autohotkey.com/boards/viewtopic.php?t=26201 の「AccPack.zip」 ttp://jump.5ch.net/?https://autohotkey.com/boards/download/file.php?id=4049&sid=696fb8e1246e615c3ce9d136c98f2810 に含まれる「Acc.ahk」 あと、「COM.ahk」というのも同時に必要なのだろうか? ここ↓のでOK? COM Standard Library - Page 44 - Scripts and Functions - AutoHotkey Community ttp://jump.5ch.net/?https://autohotkey.com/board/topic/21142-com-standard-library/page-44?hl=com.ahk#entry529640 検証もせず、レスしてスマソ : [sage] 2018/08/05(日) 05:48:53.94:KjBFiGmx0 AccInfoViewer_kai.ahk 付属のACC.ahkについては ダウンロードボタンの少し上のコメントに フォーラムで拾ったものって書いてあるよ : [sage] 2018/08/05(日) 21:22:05.24:T6bMKT0H0 COM機能はいまは標準実装されているので不要 いつかはCOMが使えるようになりたいなぁ で > Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や と書いたけど、どこでもおもしろいほどテキスト取得できますね いままでClipy、NNScanText、コピット!、CopitX使っていたけどおさらばしました : [sage] 2018/08/06(月) 03:58:51.10:5wbNEfZL0 AHKでクラス使うときメソッド名のタイポがエラーにならないんだけど検出する方法ない? これエラーにしてもらわないとつらすぎる : [sage] 2018/08/06(月) 04:24:03.14:+DjLc0mw0 入力支援の利くエディタを使うしかないんじゃないかな…。 実行時に未定義のメソッドを呼んだときエラーを出すなら class ErrorUndefineMethod { __Call(name) { throw Exception("This method is not defined." (name != "" ? " : " name : ": "), -1) } } こんな感じの基底クラスを継承するなりすればいいけど、たぶん言ってるのはコーディング時の話だよね : [sage] 2018/08/08(水) 16:55:10.42:Wo1vgWVl00808 google chromeでは、A_caretYでキャレット位置が取れないのですが、他になにか方法はないでしょうか? ctrl-wにてタブ閉じは生かしつつ、入力シーンでは前単語削除に割り当てたいのですが… : [sage] 2018/08/08(水) 18:35:25.42:byzIEboea0808 確実じゃ無いかもだけどIME.ahkの関数で取れる値が入力可能かどうかで変わると思う : [sage] 2018/08/08(水) 20:06:38.93:Wo1vgWVl00808 ありがとうございます! #if winactive(“ahk_exe chrome.exe”) && ime_getconvmode() ^w::send ^{bs} return 上記、IME_GetConvMode()関数で分岐できました! 助かりました~ : [] 2018/08/18(土) 02:35:10.55:flWGLe7T0 r::send 7 このrを右クリックにしたいのですが何を入力すればいいのでしょうか よろしく : [sage] 2018/08/18(土) 03:23:00.41:aJSMzMBT0 wikiのキーリスト見なさい マウスも書いてある : [sage] 2018/08/22(水) 11:48:18.04:xeghXmwt0 ウインドウがAとBの2つあるとします。 Aをマウスでクリックしてアクティブにして ControlClick, x100 y100 とすると、ウインドウAの100、100の位置をちゃんとクリックします。 ところが、ウインドウBをマウスでクリックしてからスクリプトで、 WinActivate, ウインドウのA ControlClick, x100 y100 return とすると、なぜかウインドウAの100、100の位置をクリックされません。また、リターンで戻るとウインドウBが アクティブになっています。 WinActivate, ウインドウのA MouseClick, left, 100, 100 とすればちゃんとクリックされます。また、ウインドウBがアクティブの状態で、 WinActivate, ウインドウのA Sleep, 5000 ControlClick, x100 y100 return とやってスリープ中にマウスでウインドウAを手動でアクティブにしてやってもダメです。なぜでしょうか。 : [sage] 2018/08/22(水) 12:00:43.76:xeghXmwt0 ちなみに、x100 y100のところにあるのはボタンなのですがそのボタンのClassNNを使って、 ControlClick, x100 y100 の代わりに ControlClick, classNNの名前 でやってもダメでした。 ウインドウAを最初にアクティブにしてからなら問題ありません。 : [sage] 2018/08/22(水) 12:06:53.85:Tq1tthei0 試してないけど WinActivateしただけじゃLast Found Windowが記録されないからじゃね ControlClickは指定されたウィンドウをクリックするコマンド 必ずアクティブウィンドウをクリックするMouseClickとは違う WinActivate, ウインドウのA WinWaitActive, ウインドウのA ; ←ここでLast Found Windowを書き換える ControlClick, x100 y100 もしくは ControlClick, x100 y100, ウインドウのA ; ← 省略しないでウィンドウを指定する : [sage] 2018/08/22(水) 12:23:41.78:xeghXmwt0 WinWaitActiveを入れて出来ました。 WinWaitActiveは一瞬で終わりました。 Sleep, 5000を入れてその間に手動でウインドウAをクリックしても出来なかったのがよくわかりませんが とりあえず、これで行くことにします。 : [sage] 2018/08/22(水) 12:25:05.21:xeghXmwt0 ああ、WinWaitActiveをしないと、WinActivateだけだと、どんなに時間がたっても Last Found Windowは変わらないということですか : [sage] 2018/08/23(木) 01:17:55.45:E69zRD1X0 youtubeのプレイヤー画面の座標を取得する方法はあるでしょうか? 最近youtubeの仕様が変わって再生する元動画のアスペクト比によってプレイヤー画面のの大きさも変化してしまい プレイヤー内の設定ボタンなどの座標が動画ごとにずれてしまいます : [sage] 2018/08/23(木) 09:54:48.67:jFzHledS0 Acc.ahkで座標は取得可能 もしかしたらDoDefaultAction使えるかもしれないけど確かめてない : [sage] 2018/08/23(木) 11:02:03.29:E69zRD1X0 プレイヤーの高さ h によって挙動を変えたいので if(h > 500){ } のように書きたいのですがその h をどうやって取得すれば良いのでしょうか? Acc.ahk を眺めると Acc_Location(Acc, ChildId=0, byref Position="") { ; adapted from Sean's code try Acc.accLocation(ComObj(0x4003,&x:=0), ComObj(0x4003,&y:=0), ComObj(0x4003,&w:=0), ComObj(0x4003,&h:=0), ChildId) catch return Position := "x" NumGet(x,0,"int") " y" NumGet(y,0,"int") " w" NumGet(w,0,"int") " h" NumGet(h,0,"int") return {x:NumGet(x,0,"int"), y:NumGet(y,0,"int"), w:NumGet(w,0,"int"), h:NumGet(h,0,"int")} } なんかそれらしいのが書いてあるのですがどう使えば良いか全く分からないです、、 当方 java で hello world したことあるぐらいの知識しかないです : [sage] 2018/08/23(木) 12:33:47.88:jFzHledS0 使っているブラウザ次第で取得できないのを忘れていた できるかどうかAccInfoViewer_kai.ahkで確認してください : [sage] 2018/08/23(木) 12:44:31.29:E69zRD1X0 サンプルを参考にfirefoxだと #include Acc.ahk ^b:: h := % Acc_GetLocation()["h"] MsgBox,%h% return Acc_GetLocation(x="",y=""){ Acc := Acc_ObjectFromPoint(ChildId,x,y) return Acc_Location(Acc,ChildId,Location) } のように書いたら動きました ありがとうございました : [sage] 2018/08/24(金) 05:53:49.88:8BBrzI5s0 1.1.30.00 - August 22, 2018 Fixed SendInput/SendPlay to restore DownR/remapped modifiers. Increased limit of hotkeys per script from 1000 to 32762. Changed commands which accept On/Off/Toggle to also accept 1/0/-1 (where documented). Improvements to debugger (DBGp) support: Added support for the -d (stack depth) option. Added (DBGp-only) .<base> pseudo-property to resolve ambiguity. Fixed debugger to avoid unsupported re-entry during break state. Fixed DBGp command parser to support quoted parameters. : [sage] 2018/08/24(金) 11:51:29.97:PobDvvRka 質問させて頂きたい事があります ゲーム等のバックグラウンドでは動作が止まる、もしくは動作はする物のControlSendを受け付けなくなるウィンドウにおいて タイトルバーで左クリック押下⇒winキー⇒左クリックを離すという操作を行うと アプリ側にアクティブであると誤認させられるのかバックグラウンドで動作し、ControlSendで操作可能になります この疑似アクティブ状態をAutoHotkeyで再現しようとすると上記のクリックやwinキーの操作を実際に行わせるしかないでしょうか それとも直接的に上記状態にするような方法があるでしょうか なお、win7で確認しており、win10等でもできるかは不明です : [sage] 2018/08/24(金) 12:03:59.39:PobDvvRka 自己解決しました PostMessage, 0x06 , 2, , , ウィンドウ指定 といった形でWM_ACTIVATEをWA_CLICKACTIVEで送るとバックグラウンド動作できました : [] 2018/08/25(土) 15:41:21.65:3RTHsCRA0 ド素人ですみません。 新しくインストールしたら使用できなくなりました。 今まで使用できたものが出来たくなっているみたいなのですが どの様に直したらいいでしょうか? 貰いものなので中身は、分かっておりません。 宜しくお願い致します。 vkF2sc070::Send {-} ; [ひらカタ]縮小 AppsKey::Send {+} ; [menu]拡大 ############################# ^AppsKey:: WinGet, active_id, ID, A ChangeTF(active_id,33025) ;Period + return ^vkF2sc070:: WinGet, active_id, ID, A ChangeTF(active_id,33026) ;Period - return : [sage] 2018/08/25(土) 16:15:36.23:vYU0ROV20 vkF2sc070をsc070に書き換え : [] 2018/08/25(土) 16:35:58.51:3RTHsCRA0 ありがとうございます。起動しました(^▽^)/ : [sage] 2018/08/25(土) 20:16:30.95:Z3REYl2m0 質問です。 やりたいこと aの長押し(0.5秒以上)でctrl+c 作ってみたものの、コピーできたりできなかったり、 ctrl+aが出力されたり、 0.5秒以上推し続けているのにaが出力されたりします。 どうかご教授ください。 $a:: KeyWait, a, T0.5 if ErrorLevel send,^c else send,a keywait,a return : [sage] 2018/08/25(土) 21:22:09.82:vYU0ROV20 そのまま試したけどウチでは問題無く動くなぁ 見た感じも特に間違ってないと思うし ただaが本来はキー押した時入力だけどkeywaitで離した時入力になるから 文章入力時に常駐させるのは厳しいw : [sage] 2018/08/25(土) 21:53:27.97:Z3REYl2m0 返信ありがとうございます。 文章入力でaが出力されないことが結構あるので、 おっしゃる通り文章入力時にはダメですねー ホームポジションから全く手を動かさずにコピペできたら 便利だと思ってやってみたんですけど、うまくいかないですね。 : [sage] 2018/08/25(土) 22:00:53.23:3wPFX9ho0 多分、長押しは待つのにイライラすると思うよ。 : [sage] 2018/08/25(土) 22:20:29.56:A9Th9uWK0 ロダにあるOSMを使うのがいいんじゃない? : [sage] 2018/08/25(土) 23:23:34.42:Z3REYl2m0 待ち時間を0.3秒とか0.5秒位に設定して、 慣れればなかなかの使い心地になると妄想してました。 すみません 素人なもので、ちょっとどれかよくわからなかったです<(_ _)> : [sage] 2018/08/25(土) 23:41:11.52:Zxet+5iL0 文字入力するときって無意識だけど一つのキーを押してそのキーから指を離す前に次のキーを押したりしてるから Aだけキーを離した時に入力なんてしたら絶対に慣れるの不可能だと思うよ : [sage] 2018/08/26(日) 00:12:59.70:BT4gFih30 そうですね 冷静に考えればそうですね 実をいうとホームポジションでコピペをしたいというよりは 無変換+○○、変換+○○に代わる手段を探してるんです。 無変換+○○、変換+○○は使いやすところは 大体割り当ててしまったので。 長押しとか二連打とかやってみたけど、 あまりうまくいかないです。 : [sage] 2018/08/26(日) 06:01:45.27:fZksv/ak0 質問です。 MS-IMEとGoogle IMEを切り替える[Ctrl]+[Shift]と、 多言語設定を切り替える[Alt]+[Shift]を無効化して [Win]+[Space]に一本化したいのですが、 ^+::Return !+::Return ではうまくいきません。どのようにしたらいいのでしょうか? : [sage] 2018/08/26(日) 06:48:07.65:Th03tA680 +^!は修飾キーとして使う場合のみ 修飾キーのみに設定する場合は shift ctrl alt にしないといけない 左右個別に設定する場合は頭にL or Rをつける、shift なら lshift または rshift ^shift:: !shift:: +ctrl:: +alt::msgbox, test というかWindowsの言語設定でキー割り当てを「なし」にしたらだめなん? そのほうが確実だよ : [sage] 2018/08/27(月) 00:11:17.60:j51vjZYo0 ありがとうございます。 設定の方ですが、Google IMEはプロパティの「その他」で [Ctrl] + [Shift]の無効化をみつけましたが、 MS-IMEの[Alt] + [Shift]を無効化する設定の場所がわかりません。 どこでしょう? Windows7の頃は自分でショートカットキーを多少選べましたが、 Windows8以降はそういうのが無くなってしまい、 あきらめていました。 今はWindows10です。 : [sage] 2018/08/27(月) 05:09:22.24:qoV6L4Op0 スタート → 歯車アイコン(設定) → 時刻と言語 → 地域と言語 → キーボードの詳細設定 → 言語バーのオプション で「テキストサービスと入力言語」のウィンドウが開くので 「キーの詳細設定」タブを選択 : [sage] 2018/08/27(月) 06:00:44.94:j51vjZYo0 うわ~。こんなところにあったのか。ありがとうございます!! : [sage] 2018/08/29(水) 12:27:49.35:XA7hyTCr0NIKU みなさんAHKは管理者権限で起動している? 標準ユーザーで使ったら、管理者権限ウィンドウがアクティブになってるとホットキーが動かなかった : [sage] 2018/08/29(水) 13:58:59.59:DhwLeReA0NIKU 常駐スクリプトは管理者権限で起動してる : [sage] 2018/08/29(水) 14:46:26.91:HiQLd3YZ0NIKU win8までは管理者だったけどwin10は標準で使ってる win10は標準←→管理者間でのD&Dが効かなくなったり 管理者完全上位じゃなくなってるのでかえってめんどい : [sage] 2018/08/29(水) 18:17:12.05:XA7hyTCr0NIKU 参考になりました そう、標準←→管理者間でやりとりができなくなって混乱しました 管理者アプリでも動かしたければ素直にAHKも管理者権限で使うしかないんですね : [] 2018/09/02(日) 12:28:08.49:65ZZk5O+0 キー:: click return ブラウザ、5chビュアはクリックができるのですがFXや株のインストールをして使うツールは クリックができるものとできないものがありました。 これは何が原因だと考えられるのでしょうか? : [sage] 2018/09/02(日) 14:03:06.99:nZZGk0pR0 管理者権限 : [] 2018/09/02(日) 20:22:05.84:65ZZk5O+0 管理者は自分になってるんですよね。 検索をしてみても答えが見つからないので困っています。 : [sage] 2018/09/02(日) 20:27:04.05:9vYX/DMY0 自分になってるっていうのはログインしているアカウントのことだろうけど 管理者権限はAutoHotKeyのスクリプトの話 普通の起動ではなくちゃんと管理者権限で動かしていますかってこと : [sage] 2018/09/02(日) 21:40:12.12:wIEhSDDaM 株やFXは知らんけどゲームなんかだとマクロ系ツール対策してるソフトもあるで : [sage] 2018/09/03(月) 00:18:46.94:aJN4MKIL0 キーやクリックを押す時間が短すぎると反応しない場合がある SetKeyDelayのPressDurationを長めに設定して、Send, {Click}ならできるかも : [sage] 2018/09/04(火) 04:16:10.63:g5h2GCQp0 SetKeyDelayのPressDurationってSend, {Click}ならマウスにも効くんだ? : [sage] 2018/09/05(水) 19:34:21.37:TPq6AWrzH controlsend で非アクティブウィンドウにキー送信したいのですが、そのアプリの仕様上アクティブ化しないとキーを受け付けないみたいなので一瞬だけアクティブ化してキー送信を試みたのですが当然画面がちらついてしまいます それを回避するために、バックグラウンドでこれを実行するようなことできませんか?何かほかの手立て等もありましたらアドバイスください よろしくお願いします : [sage] 2018/09/06(木) 21:42:11.58:bqZN8RaO0 Win10からかな? Ctrl+Alt+Tabでタスク切り替え画面が表示されるようになり Excelのインデント機能が使えなくなった。 このキーアサインをWindowsじゃなくてExcelだけに渡す方法ってありますかね? (もしくは前者を無効にする方法でもいいけど) 詳しい方よろしくお願いします。 : [sage] 2018/09/06(木) 21:52:26.32:ehmDNxzA0 EXCELの使い方の問題でAHK関係無いので完全にスレチ : [sage] 2018/09/06(木) 22:17:54.18:bqZN8RaO0 AHKでもどうにもできないんだ。ふ~ん。 回答ありがとう。 : [sage] 2018/09/06(木) 22:40:25.04:dWFCDbiN0 あきらめてアクセラレータキー使え ttp://jump.5ch.net/?https://tips.oreism.com/2018/01/10/%E3%80%8C%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%80%8D%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB-excel/ : [sage] 2018/09/06(木) 22:44:24.39:bqZN8RaO0 試しにExcel起動時のみ、明示的に同じキーを送信するように書いてみたら OSに取られる確率が減りました。 やってみるもんだね。 #IfWinActive ahk_class XLMAIN !^Tab:: Send !^{Tab} return +!^Tab:: Send +!^{Tab} return #IfWinActive 慌てて操作すると取られることがある。もっといい方法ないかな? : [sage] 2018/09/06(木) 22:48:53.53:bqZN8RaO0 それは最初にやってみた。元々Altコマンド派なので。 でもこの操作には合わないんだよね。落としたり上げたり連続で操作するので。 AHKで明示的に指定したらExcelに優先的に送られるようになりました。 でもWin7と同じ感覚でやると、時々取りこぼしてしまうみたい。 : [] 2018/09/07(金) 00:48:59.43:gH8vzFoz0 管理者権限が原因でした ありがとうございます : [sage] 2018/09/07(金) 00:51:57.73:9MzFgxMt0 ttp://jump.5ch.net/?https://www.sevenforums.com/customization/56867-disabling-ctrl-alt-tab-function.html Win7の説明(英語)だけどWin10も同じ(Win10 Pro 64bit環境で確認済み)。 ファイル名を指定して実行(Win+R)に「Regedit」を貼り付けてEnter レジストリエディタで下記キーを開く HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer 右側(名前、種類、データ側)を右クリックして 新規 → DWORD(32ビット)値 名前を「AltTabSettings」にしてEnter 作成したAltTabSettingsをダブルクリックしてデータを1にする Windowsを再起動 これでCtrl+Alt+Tabでタスク切換えが表示されなくなる。 但し、Alt+TabやShift+Alt+Tabでのタスク切換えが簡易表示(アイコン表示のみ)になる : [sage] 2018/09/07(金) 03:20:53.84:ER2VoJ180 AutoHotkey_L v1.1.30.00でAccelerated Scrolling Script ttps://autohotkey.com/board/topic/48426-accelerated-scrolling-script/ を参考にしてホイールの加速を作ってるんだけど A_TimeSincePriorHotkeyが15~16msぐらいの精度しか出ないので WheelDown/WheelUpの間隔が16ms、31ms、それ以上、の3段階くらいしか 実質ホイールの回転速度が区別できなくて 急加速したり思ったほど加速しなかったりでうまくいかない もっとホイールの回転速度を精度高く区別する方法ない? : [sage] 2018/09/07(金) 03:49:05.04:2guTp2kD0 情報ありがとうございます。 自分も阿久津さんのサイトでその情報に辿り着きました。 ttp://jump.5ch.net/?https://news.mynavi.jp/article/windows-358/ ご指摘のエントリ追加でShell再起動したら懐かしのスイッチャーが、、 これでCtrl系のショートカットが落ちるんですね。 おかげで前OSと同様にサクサク動作するようになりました。 AHKの情報漁ってキーアサインの送信先アプリを限定するような コードがないか捜しましたが、、ないみたいですね。 自分が試したスクリプトに Set, Enable,,(Win...) とか追加して みましたが、高速操作で取りこぼすようでした。 一先ず問題回避できて良かったです。お騒がせしました。 : [sage] 2018/09/08(土) 15:09:39.61:HTbX78bG0 下記の目的を実現させようと書いたスクリプトが意図したとおりに動作しません。 無変換&BSの結果としてのBSに対して、1)が反応してしまっていると推測しますが、お助けください。 【目的】 1) バックスペースを押す → デリートとして認識させる 2) 無変換&バックスペースを押す → バックスペースとして認識させる 【スクリプト】 1) BS::Send,{Delete} 2) vkEB & BS::Send,{BS} ;vkEBは私のPCでの無変換キーに対応するコード 【動作】 1) バックスペースを押す → デリート ;これはOK 2) 無変換&バックスペースを押す → デリート ;ここをバックスペースとして認識させたい : [sage] 2018/09/08(土) 15:24:46.05:yEblPpJT0 >vkEBは私のPCでの無変換キーに対応するコード この部分に原因があるんだろうな 普通の日本語キーボード環境なら BS::Send,{Delete} vk1D & BS::Send,{BS} で無変換&BS押せばちゃんとバックスペースとして動作する : [sage] 2018/09/10(月) 22:58:19.55:aSONhD2l0 教えてください。 アクティブではないウインドウの中から、あるタイトルウインドウを探し、 そのようなウインドウがあったらそのウインドウをアクティブにしたい と考えています。 どのように実現したら良いでしょうか? よろしくお願いします。 : [sage] 2018/09/10(月) 23:04:41.89:D7YSHUJz0 WinActivate 使い方は自分でwiki見て勉強して : [sage] 2018/09/11(火) 01:16:50.41:opTLw1oT0 wikiは見ているんだけど、アクティブでないウインドウの中からウインドウを探す方法が分からないのです。 : [sage] 2018/09/11(火) 01:28:10.85:yuiWPBQK0 IfWinExist IfWinNotActive ウィンドウを探すというよりタイトルを指定すりゃいいだけ それで分からないならahk使うには厳しいから諦めた方が良い : [sage] 2018/09/11(火) 06:43:59.14:opTLw1oT0 ahkは難しいね。できるということなので色々試してみたいと思います。 : [sage] 2018/09/11(火) 10:25:20.78:dJjlfJEo0 エディタに、SciTE4AutoHotkeyを使っています gosub のあとのラベル名とかにカーソルを当ててF12を押すと、ラベルの場所へ飛ぶはずなのですが 飛ぶ場所がちょっとずれるという不具合があるようですが、これはどうにかなりませんか : [sage] 2018/09/11(火) 16:59:18.96:yuiWPBQK0 そもそもアクティブにしたいウィンドウのタイトルが決まってるならそれを指定すりゃいいだけ なのでウインドウを探す必要なんて無いんだけど? : [sage] 2018/09/11(火) 17:09:13.47:QORl+FtnM 現在アクティブなウインドウのタイトルもアクティブにしたいウインドウと一緒なため、現在アクティブなウインドウを除外して検索したいのです。 : [sage] 2018/09/11(火) 17:14:42.91:WMEQYVqo0 そういうの後出しじゃ答える側には何も伝わらないから質問する時に先に書こうな タイトルが同じならPIDなどで指定すりゃいい : [sage] 2018/09/11(火) 19:19:39.78:QORl+FtnM WinGetとLoopを使って出来ました。 : [sage] 2018/09/17(月) 10:32:49.30:pVCkClPH0 こないだのWinUpdate以降、偶にMouseGestureLがずっとジェスチャー監視状態になって タスクマネージャーで切らない限りマウスが他の操作を受け付けなくなる症状が出る 同じ症状の人or対策ってあるのかな : [sage] 2018/09/18(火) 06:16:13.17:AXc2/XZs0 すみません質問なんですが コンビネーションキーを使わず一時的にキーを入れ替えるということは可能でしょうか? #IfWinActiveでというわけではなくひとつのソフト内で一時的に入れ替えを繰り返したいです 具体的にはコンビネーションキーを使わずアローキーとASDWを入れ替えたいです ASDWはそれぞれ単推しが条件です どのようなロジックにすればいいのかヒントをください : [sage] 2018/09/18(火) 06:56:10.45:OjuHwNNl0 フラグで管理すればいい f1::flag := !flag ; F1でフラグ変更 #if !flag a::msgbox, 0 s::msgbox, 1 #if flag a::msgbox, 10 s::msgbox, 11 : [sage] 2018/09/18(火) 07:07:04.43:AXc2/XZs0 ありがとうございます出来ました : [sage] 2018/09/19(水) 10:16:39.44:3FfattUq0 ちょっとお伺いしたいんですけど、XYplorerなんかのアプリケーションで WinSet, Style, -%WS_CAPTION%, ahk_id %hWnd% でタイトルバー隠しつつウィンドウ最大化すると、 Altキー送るかごく一部のパーツ(アドレスバーの役割をするやつ)にマウスを乗っけるかするまで、 マウス操作に反応しなくなってしまうんですけど、何かスマートな復帰方法ってありますでしょうか? : [sage] 2018/09/19(水) 12:28:31.23:hbmu9zXt0 無変換、変換キーとのコンビネーションが余りに良過ぎて絶頂快感レベルなんだが。 : [sage] 2018/09/19(水) 21:02:10.87:gnJBXJJ7M わかる : [sage] 2018/09/20(木) 01:47:33.71:z3KDZezp0 そのアプリでは確認してないがコレでどうかな? 擬似フルスクリーン関数 / Pseudo Full Screen Function ttp://jump.5ch.net/?https://pastebin.com/PddjCJhY : [sage] 2018/09/20(木) 09:17:32.37:C98ZhkQO0 回答ありがとうございます ですがどうやってタイトルバー隠して最大化するかという話ではなく、 ウィンドウ回りのメッセージいじくった副作用で、 マウスイベントが変になったウィンドウを正気に戻すにはどうすればという話ですので…… リンク先のコードもホットキーで最大化みたいな見た目にさせるものであって、 ウィンドウサイズを記憶するアプリケーションで嫌なことになるでしょうし、 HCBT_MINMAXイベントにフックして発火させてる自分のコードの参考にはなりませんでした : [sage] 2018/09/20(木) 09:24:43.44:C98ZhkQO0 正直、他の大抵のアプリケーションでは何の問題もありませんし、 ControlSend, , {Alt}{Alt}, ahk_id %hWnd%でもだいたい治るのですが、 ほんの一部だけ変なままのコントロールがあったりしますし、 何かパッと全て解決する冴えた命令とかないのかなと思ってお伺いしたかったのです : [sage] 2018/09/20(木) 10:12:39.47:z3KDZezp0 作者の意図しないスタイル変更で不具合起きても 再起動以外の万能な解決方法なんて「存在しない」と思うので 最大化すると狂うならしなければいいんじゃね?って答えです : [sage] 2018/09/20(木) 19:54:17.92:U81pDOFs0 任意のアプリをつかっているときに、押したキーボードをファイルへ保存するために下記のようなものを作ろうと思っています。 a:: send, a FileAppend a, filename return b:: send, b FileAppend b, filename return c:: send, c FileAppend c, filename return 試しに少し作ってやってみたらうまく行きました。 でもこれをa-zまで、また、1-9,0まですべてのキーに対して作ろうと思うと、ちょっとげっそりします なにかいい方法はありませんか : [sage] 2018/09/20(木) 20:24:53.66:A/yRjkVr0 その方法のまま、ちょっと簡単にするなら、 ~a:: ~b:: ~c:: k:=RegExReplace(A_ThisHotkey,"~","") FileAppend %k%, keylog.txt return : [sage] 2018/09/20(木) 20:51:41.61:U81pDOFs0 なるほど。A_ThisHotkeyってのがミソですね ちなみに、頭についているチルドはなんですか。ついてるのとついてないのではどういう違いがありますか : [sage] 2018/09/20(木) 21:26:41.46:A/yRjkVr0 キーの動作はそのままに、ついでに実行する感じ。 だから、本来の動作をさせるために書いていたsendが不要になります。 : [sage] 2018/09/20(木) 22:07:05.65:U81pDOFs0 なるほど、ありがとうございました。 sendがいらないのですね : [sage] 2018/09/21(金) 19:26:27.97:JRAgMbwQ0 includeで関数をまとめたahkを相対パスで読み込むスクリプトがあります このスクリプトを普通にダブルクリックで起動した時は問題ないんですが 別のスクリプトでrunコマンドで起動するとincludeできないエラーがでます なぜでしょうか : [sage] 2018/09/21(金) 19:34:26.42:SEg6ZgdL0 カレントが includeで関数をまとめたahk のパスになってないから : [sage] 2018/09/22(土) 01:31:57.12:107FtndLr Array := ["平成","昭和","大正","明治","慶應","…"] この配列の要素数を取得するにはどのようにすればいいのでしょうか? : [sage] 2018/09/22(土) 02:08:16.24:F6Zy33Bn0 length() : [sage] 2018/09/23(日) 10:43:20.32:FekjhB1ra StringGetPosで文字の場所を特定したあと、そこへ即座にキャレットを移動するにはどうすればよいでしょうか? 行中で最初に見つかる特定の文字(ここでは「様」)を消す、というスクリプトを作ったのですが {Right}をル-プしているせいか、offsetの値が大きめのときにガタガタと動作が遅くなってしまいます。 (等幅フォントなら、文字の横幅を計算するという力技も使えそうですが……) ^Right:: { x := A_CaretX y := A_CaretY Send, +{End} Send, ^c MouseMove, x, y, 0 MouseClick, Left content := Clipboard StringGetPos, offset, content, 様 If offset = -1 { Send, {End}{Right} Return } Else { Loop, %offset% { Send, {Right} } Send, {Delete} Return } } : [sage] 2018/09/23(日) 10:48:16.10:FekjhB1ra 一応補足ですがはStringReplaceで一括処理していい場面ではなく、 ひとつひとつ視認しながら作業したいとき用に作ったものです。 : [sage] 2018/09/23(日) 11:58:20.92:FekjhB1ra をいろいろ試してみましたが、文字サイズが小さいときはキャレットの位置がずれて変な挙動をしてしまいますね… : [sage] 2018/09/23(日) 12:19:11.53:FekjhB1ra 度々すみません。 A_CaretX A_CaretY MouseMove の部分は、{Left}で事足りたようです。 しかし肝心の、{Right}をル-プしている部分の動作の遅さは改善できていません。 AppsKey:: { Send, +{End} Send, ^c str := Clipboard Send, {Left} ;何故かこれで選択文字列の先頭へキャレットが移動する StringGetPos, offset, str, 、 If offset = -1 { Send, {End}{Right} Return } Else { Loop, %offset% { Send, {Right} } Send, {Delete} Return } } : [sage] 2018/09/23(日) 12:28:15.56:FekjhB1ra あ…ループせずとも、これでよかったですね。 いずれにせよ処理速度はやはり遅いままですが… AppsKey:: { Send, +{End} Send, ^c str := Clipboard Send, {Left} StringGetPos, offset, str, 様 If offset = -1 { Send, {End}{Right} Return } Else { Send, {Right %offset%} Send, {Delete} Return } } : [sage] 2018/09/23(日) 13:48:06.18:ZOALMWKL0 特定のプログラムが起動 (アクティブや最前面) されたら、特定のプログラムが自動で起動出来るスクリプトは、可能でしょうか? : [sage] 2018/09/23(日) 16:24:42.95:VYcnd+gw0 可能 : [sage] 2018/09/23(日) 18:03:43.65:ZOALMWKL0 #IfWinActive アクティブウィンドウ指定 RUN 起動したいプログラム #IfWinActive だけでは、出来ませんでした。 どなかた教えて頂けますでしょうか? : [sage] 2018/09/23(日) 21:17:47.22:BliL24p00 Windowsのイベントを拾う - hoge ttp://jump.5ch.net/?https://sites.google.com/site/agkh6mze/howto/winevent : [sage] 2018/09/23(日) 21:36:47.03:31DDKA4n0 ; --- TEST --- ; カリン様の仙豆様様です ; カリン様の仙豆様様です ; ------------ SendMode Input F1::SearchAndDestroy("様") Esc::ExitApp SearchAndDestroy(SearchText) { BlockInput On ClipSave := ClipboardAll Clipboard = Send {Home}+{End}^c ClipWait 1 ClipStr := Clipboard if (RegExMatch(ClipStr, "(.*?)" SearchText "(.*)", Str)) { Clipboard := Str2 Send ^v{Home} Sleep 100 Clipboard := Str1 Send ^v Sleep 100 } else Send {Down}{Home} Clipboard := ClipSave BlockInput Off } : [sage] 2018/09/24(月) 05:20:00.81:BRuHDRmp0 #if~(頭に#付き)はホットキー用 settimerを使って1~2秒毎に ifwinactive で監視すればいい #Persistent settimer, hoge, 1000 return hoge: ifwinactive ウィンドウタイトル { run 実行するプログラム settimer, hoge, off settimer, hage, 1000 } return hage: ifwinnotactive ウィンドウタイトル { settimer, hage, off settimer, hoge, on } return : [sage] 2018/09/24(月) 11:54:00.95:ZlvdI27na おぉっ、ありがとうございます! 実際には消さずに1つ飛ばして次へ行きたい場合もあるので、そういう機能も追加してみようと思います : [] 2018/09/24(月) 15:34:23.11:9OJkCbcr0 ありがとうございました。 : [sage] 2018/09/25(火) 08:04:19.41:3R3+W8UO0 1.1.24から1.1.30へアプデしたら ALTキーの空押しトリガーでアクセラレーターキー発動しまくりメニューが反応してしまう 大抵大丈夫なソフトが多かったがそれらのバージョンによっても反応しちゃったりしなかったり 酷いのはメニューがいきなりプルダウンする乱暴な奴とかいたり トリガー変えたりなんだりいろいろやって納得行かず調べた結果どうやら1.1.27以降で仕様が変わったみたい で対策(反応するっちゃするけど速攻で無効化) #MenuMaskKey vk07 *~○○○::(LAlt、RAltを抜いた全部のキー)いっぱいなので割愛 *~LAlt::Send {Blind}{vk07} *~RAlt::Send {Blind}{vk07} プログラムによっちゃ無効化出来る設定あるけどOSレベルで無効にできんのかなぁ : [sage] 2018/09/26(水) 14:20:01.12:7m8X8t6VM Hayateがまともに動作しなくなったんでイラっとして1.1.26.01まで戻した : [sage] 2018/10/01(月) 14:29:01.32:iwdKiYmDM 英語キーボードを使っていて、リモート接続のクライアントのIMEを右altで切り替えようとしているのですがうまくいきません Send, SendInputいずれの場合も右alt1回目は普通にaltを押したようにメニューバーがアクティブになり 2回目かescapeでメニューバーをキャンセルするとimeが切り替わるようになります ログを見ると、どうやらRAltを押した瞬間に Send, {Blind}{vkF3 Up} とあり、 離したときに Send, {Blind}{vkF3 DownTemp} Send, {Blind}{vkF3 Up} とup, down, upの順に実行されていることが原因ではないかと思ったのですが down, upと動作させるにはどうしたらいいでしょうか? バージョンは1.1.24と1.1.30で試しましたが、u,d,uで実行されているのは変わりません : [sage] 2018/10/01(月) 20:49:46.86:4Q2Wzr5t0 vkF3(半角/全角)で行う必要性が全く意味がわからないんだが getIMEMode := IME_Get() if (%getIMEMode% = 0) { IME_SET(1) IME_SetConvMode(25) } else { IME_SET(0) } return : [sage] 2018/10/01(月) 21:14:55.69:4Q2Wzr5t0 ちなみ俺のを貼っておく ttps://dotup.org/uploda/dotup.org1656656.png : [sage] 2018/10/02(火) 03:32:02.56:XIOIGa0E0 pngで貼るとか頭おかしいんちゃうか : [sage] 2018/10/02(火) 03:54:49.60:yi1VJCDs0 参考程度に見れば十分やろ 関数は配布されてる単純なロジックやし使い方だって検索したらいくらでも説明あるでしょ あとはリファレンス読めばわかるレベル 433で答えまで書いてやってんだから理解出来ないなら諦めたらえぇ : [sage] 2018/10/02(火) 09:57:59.75:AEJZr7gaM 上部メニューのアクティブを抑制する行の追加リモート接続でも動きました ありがとうございます ちなみにIME_SETでは動かず、Send vkF3なら動作しました キーボードの違いだと思いますが、何にせよ解決したので良かったです : [sage] 2018/10/02(火) 10:12:56.41:z227XsnEa Twitterで長文メモのスクショ貼る人みたい : [sage] 2018/10/05(金) 13:08:49.72:SCAEAGvB0 たとえばFirefoxなのですが、縦スクロールバーがでている状態で、上下矢印キーを押すと上下にスクロール するのですが、スクロールの幅が大きいのです。 スクロールバーの上下についている四角の箱をクリックしてもちょっと大きく動きます これをAHK使って、あるいは他の方法でもいいのですが、1ピクセルづつスクロールさせたいのですが 出来ますか。 : [sage] 2018/10/05(金) 14:06:54.87:CEpw7DNT0 Firefoxのことは Firefoxを調べた方が早いんじゃないの? : [sage] 2018/10/05(金) 14:56:25.59:SCAEAGvB0 AHKならスクロールバーの制御も一般的に出来るのかなと思ったのですが : [sage] 2018/10/05(金) 14:58:02.50:SCAEAGvB0 AHKでスクロールバーの制御をしようと思ったら、バーのマウスを持ってきてDown状態にして カーソルを動かす、みたいなことしか方法はないのかな : [sage] 2018/10/05(金) 15:32:42.44:Ff+7G5Zn0 1ピクセルずつとか文字列1行分スクロールするのに何回押さなきゃならないんだ ってくらい使いにくくなるんだが : [sage] 2018/10/05(金) 16:42:10.30:fes53dD+0 sexeやタスクスケジューラを使ってログオン前にLiveCapture3などのソフトを常駐させると、タスクトレイにアイコンが表示されないままになりますが、 AutoHotKeyを使って無理やりタスクトレイにアイコンを追加したり、該当ソフトのタスクトレイアイコン右クリック時に出るメニューと同じものを表示することは可能でしょうか? SendMessage, 0x0205, , , , ahk_exe lc3.exe だと見つからず反応しませんでした あと何故かtvrock.exeの場合トレイにアイコンがあっても反応しませんでした… : [sage] 2018/10/05(金) 17:28:36.73:0eixHvUx0 sendmessageでスクロールメッセージ投げてやりゃスクロールはできるし ホイールメッセージならマウスのプロパティで設定しとけば一行ずつにはなる が、1ピクセルずつは無理じゃね "スクロールバーを掴んで引っ張る"をエミュレーションできればあるいは : [sage] 2018/10/10(水) 18:46:51.09:bXLwrapy01010 すみません、二つの変数を比較して同一の数値の場合に処理を実行したいのですが、これだと間違っていますか? If HensuuA = %HensuuB% { 処理 } : [sage] 2018/10/10(水) 23:38:10.06:+qwU9+TE0 ■変数と値の比較 if var = value if (var = "文字列") if (var = 数値) ■変数通しの比較 if var = %var% if (var = var) ■代入演算子 var := var var := "文字列" var := 数値 : [sage] 2018/10/11(木) 03:55:06.71:AK0vvxQ+0 テストしてみればいいやん HensuuA=1 HensuuB=1 If HensuuA = %HensuuB% msgbox,1 else msgbox,2 If (HensuuA=HensuuB) msgbox,3 else msgbox,4 : [sage] 2018/10/11(木) 08:32:11.30:nmZ2gWSh0 括弧なしifは旧仕様 分かりにくいし紛らわしいからなるべく使わない方向で : [sage] 2018/10/11(木) 12:30:24.80:+ZOAvUFq0 , , 出来ました、有難うございます。 : [sage] 2018/10/13(土) 20:22:56.92:R8f6qIw8a 質問です。 現在フォーカスしているテキストエリアが空っぽかどうかを確かめたいのですが、 ^a^cなどクリップボードを経由する以外に簡単な方法ってありますか? : [sage] 2018/10/13(土) 23:12:56.95:PPQQn2Ql0 ControlをGetしてTextを取得すれば良いと思うのだ、そうなのだ : [sage] 2018/10/17(水) 17:16:37.12:D79vkLFj0 Windowsのレジストリで、環境によって変化するサブキーがありますが、これを取得する方法ってないでしょうか。 具体的には \HKEY_CURRENT_USER\Control Panel\Desktop\PerMonitorSettings\の下のモニター識別子なんですが… : [sage] 2018/10/17(水) 17:40:59.26:hablK01d0 ttp://jump.5ch.net/?http://ahkwiki.net/LoopReg : [sage] 2018/10/17(水) 18:17:16.63:D79vkLFj0 おお、ホントだ、ありがとうございます。 何かややこしく考え過ぎてました : [sage] 2018/10/19(金) 10:15:05.21:pLy6hzb20 v1.1.30.00 Hotkey, If [, Expression] Hotkey, If, (1) エラーが出るけど、もしかして使えない? : [sage] 2018/10/19(金) 11:09:45.16:gpPJ+axP0 エラー嫁 : [sage] 2018/10/19(金) 12:10:05.55:pefhSxfW0 アプデで動かなくなったならchangelogを確認 うちは 1.1.24.01の仕様変更で動かなくなった : [sage] 2018/10/19(金) 14:15:23.77:EstbMLBD0 Win7 AutoHotkey_v1.1.30.00 MPC-HC v1.7.13 MPC再生リストのウィンドウサイズ変更をしたい Playr本体は、WinMoveでウィンドウサイズ変更可能 WinMove , ahk_class MediaPlayerClassicW , 編集リスト , 150 , 322 , 680 , 400 , , ; ; X Y wid hei 除外tt 再生リストには、位置移動は効くが、ウィンドウサイズ変更が効かない WinMove , 再生リスト , 再生リスト , 20 , 0 , 1300 , 315 , , , ; ; X Y wid hei 除外tt WinSet , Region , ウィンドウを切り取った様に非表示にするが、ウィンドウ端を摘みサイズ変更で、消えてた領域も再表示 微妙 ControlMove , SysListView321 , 20 , 50 , 1009 , 615 , 再生リスト , 再生リスト , , ウィンドウサイズ変わらず、内部だけ変わる skrバーも消える 微妙 スマートにWサイズを変更出来ないから、もうMouseMoveして実際に掴んでWサイズを変えるか、別のソフトに頼るしかない MouseMoveせず、何とかAHKだけで出来ないだろうか? 知恵をお借りしたい : [sage] 2018/10/19(金) 19:35:17.44:IXe0O+ly0 obj := {key: "a"} Send, {%obj.key% Down} ;<- error 今は key := obj.key として %key% で2行目を通してるけど、 一時変数を使わず obj.key を使用する方法はありますか? : [sage] 2018/10/19(金) 21:05:34.76:9raoExfA0 コマンドの各引数の先頭に「% 」で式になる hoge, % 式, 文字列, % 式 F1:: obj := {key1: "a", key2: "b"} obj.key3 := "c" obj["key4"] := "d" k = key Send, % "{" obj.key1 "}{" obj["key2"] "}{" obj[k 3] "}{" obj[k "4"] "}" return : [sage] 2018/10/20(土) 01:01:00.88:9JrZydin0 ありがとう おかげで理解が深まりました : [sage] 2018/10/20(土) 03:18:16.02:HeWkqqCAa 今までに打ったpの回数を数えるスクリプトなのですが、動きません。 何がいけないのでしょうか? kaisuu := $p:: kaisuu := %kaisuu% . "p" Send, p Return k:: Loop, Parse, %kaisuu% { Send, %A_LoopField% } Return : [sage] 2018/10/20(土) 08:48:26.84:e98hZzR20 これと kaisuu := %kaisuu% . "p" これ Loop, Parse, %kaisuu% 上手くいかないときはlistlinesやlistvars見ればどこで躓いてるのかすぐわかる : [sage] 2018/10/20(土) 19:12:56.61:HeWkqqCAa 単純に%を抜いたら動きました ありがとうございます : [sage] 2018/10/20(土) 19:54:03.54:f5Sc3ODKM 細かいことだが := で変数初期化するなら 値は "" にしたほうがいいよ = だと右辺を空にするしか方法ないけど : [sage] 2018/10/20(土) 20:02:07.60:ras6l8WJ0 それはなんで? : [sage] 2018/10/25(木) 19:42:23.21:MT0G2iQx0 入力文字種をローマ字入力のひらがなに固定するスクリプトがいまのいままで間違ってた...orz ■正 if IME_GET() { IMEMode := IME_GetConvMode() if (IMEMode <> 25) { if IMEMode in 0, 3, 8, 9, 11 Send !{vkF2} IME_SetConvMode(25) } } ■誤 if IME_GET() { if (IME_GetConvMode() <> 25) IME_SetConvMode(25) } ;かな入力時ラ : [sage] 2018/10/26(金) 07:18:29.14:7VIDX2sma キャレットを行末に移動したいのですが、{End}だとあくまで折り返し地点に行くだけで 改行コード(\rや\n)のあるところまで移動してくれません。 何かよい方法はありますか? : [sage] 2018/10/26(金) 09:39:17.53:7VIDX2sma {End}+{Left}^c{Right}からのRegExMatch()で改行があるかないかを調べ、 なかったら次の行を調べ…とすればいいのかなとも思いますが 最後尾にたどり着いても改行コードが見つからない場合は延々とループしそうなので それを回避する手段が必要…? {End}だけでなくこれの{Home}版も作りたいですが、考え方は同じ…? : [sage] 2018/10/26(金) 18:44:43.09:HTEiSBrp0 もし、特定のソフト(テキストエディタ)で行末に移動させたいのであれば 行末に移動するショートカットキーが存在する場合があるのでヘルプを参照してみては : [sage] 2018/10/26(金) 21:42:45.36:QyeYEwKz0 テキストエディタでの話と明言してなかったのでレスしなかったがと同じこと思ってた(後出しだけど) もしショートカットキーが無い場合でも検索機能で正規表現使えるなら「\n」を検索できるので、 それを備え付けのマクロ機能でマクロ化してショートカットキーに登録すれば一発で移動できると思うんだが… 有名何処のエディタならマクロ機能ぐらい装備してると思うけど「メモ帳」じゃ無理かも : [sage] 2018/10/27(土) 11:24:09.50:7lsaB75Ra あ、明言していませんでしたが主にGoogle Chromeですね… 調べてみたらChromeにはそのようはショートカットはありませんでした (一応Clrl + Endとかは動くものの、何を基準にした仕様なのかは分からず…) テキストエディタと違って[EOF]を検出できるかも怪しいので、 に書いたようにループを気にしていた次第です まず+^{End}^cで今いる地点から文末の間に改行コードがあるかどうかをRegExMatchで探し(なければ終了) もしあれば【最初に返ってきた位置地点までキャレットを瞬時に移動する】…方法があればいいですけど そういうのってないですよね…? (マウスクリックだとなんか安定しないし…) 仕方ないので一旦{Left}で選択を解除し、 +{End}^cで再度1行ずつ改行コードを探しつつ、 その行に改行コードがなければ次の行へ…とするのが最善…? ということで自己解決した…ような気がします : [] 2018/10/29(月) 18:11:16.16:pGyDCuIr0NIKU すいません教えて下さい。 USBテンキーの割当てについて、 今までi buffaloのテンキーを使用してnumlockオフ時のキーの割当てを変えていたのですが、 最近ナカバヤシのDigio2という静音のワイヤレステンキーを買ったらpgup、home等のキーがメインのキーボード側とは区別されていない仕様で、5のキーも何も割当てがない(ibuffaloのはclearが割当てられていました)仕様でした。 これはナカバヤシのが普通でibuffaloのが特殊なんでしょうか? 今まで通り割当てるつもりで買ったら何も出来ないので困っています。 : [sage] 2018/10/29(月) 19:07:38.51:G3c6EY1j0NIKU 下記で、AAAがアクティブなとき、aキーを押したとき、something2は実行されますか。 されないとすると、なぜでしょうか #ifwinactive, AAA a:: do something1 return #ifwinactive #ifwinnotactive, BBB a:: do something2 return #ifwinnotactive : [sage] 2018/10/29(月) 19:31:45.02:DbSYxVta0NIKU #if系 は排他制御だから 複数の条件で一致しても先に見つかったほうしか実行されない : [sage] 2018/10/29(月) 19:52:49.55:XZZ80pWq0NIKU んなもんハードウェア仕様次第だろ 各ハードごとの仕様の違いなんてスレチ : [] 2018/10/29(月) 21:23:15.22:RYRYJnjF0NIKU やっぱりメーカによって違うという事ですか。 分かりました元々キーコードが無いとどうしようもない?ので諦めてibuffaloにします。 ありがとうございました。 : [sage] 2018/10/29(月) 21:40:14.09:DbSYxVta0NIKU お勧めのテンキー ttp://mevius.5ch.net/test/read.cgi/hard/1231658312/ プログラマブルキーボード的な使い方を想定してる人もいるので一応見てみたら : [] 2018/10/29(月) 23:43:32.58:RYRYJnjF0NIKU テンキー専門のスレなんてあるんですね 自分はCADを使う時にテンキーにショートカットやマウスの動きを割り振っていたので参考になるかもしれません ありがとうございます 最初に買ったテンキーがibuffaloの物だったのでほかのテンキーも何事もなく割り振れると思い込んでました・・・無知でした : [] 2018/10/31(水) 09:13:41.73:WLGP5gIM0 AHKメニュー上で↓キーは効くのですが,無変換キーから送っている下記コードが動作しません. sc07B & D:: Send {Blind}{Down} return AHKメニュー以外では問題なく動作します. 原因の分かる方おられませんでしょうか. : [2d63-q5k6] 2018/10/31(水) 11:01:39.53:WLGP5gIM0 補足です. "AHKメニュー上"というのは,AHKで作って出したメニューという意味です. : [sage] 2018/10/31(水) 11:08:09.93:opd+04/w0 カーソルキーの定義だけ別のAHKで走らせておくと良いよ。 または、メニュー関連だけ別AHKとか。 : [sage] 2018/10/31(水) 11:13:25.55:gjv71M2k0 Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない : [sage] 2018/10/31(水) 12:36:04.50:RhubQVeN0 これもいい加減FAQだなあ : [2d63-q5k6] 2018/10/31(水) 14:01:27.21:WLGP5gIM0 ご返信ありがとうございます. >>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない このような動作で無効となっているようでした. 実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました. 長年の悩み解消に,大変感謝いたします. : [2d63-q5k6] 2018/10/31(水) 14:02:30.72:WLGP5gIM0 ご返信ありがとうございます. >>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない このような動作で無効となっているようでした. 実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました. 長年の悩み解消に,大変感謝いたします. : [2d63-q5k6] 2018/10/31(水) 14:03:13.31:WLGP5gIM0 ご返信ありがとうございます. >>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない このような動作で無効となっているようでした. 実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました. 長年の悩み解消に,大変感謝いたします. : [sage] 2018/10/31(水) 14:40:12.38:dT0cJuwPH めっちゃ感謝してるね : [sage] 2018/10/31(水) 17:51:18.10:RhubQVeN0 w : [sage] 2018/10/31(水) 21:04:54.32:OZesCr780 フォントを指定しないで作成した表示中のGUIで使用しているフォントの種類を知る方法ってありますか?。 : [] 2018/10/31(水) 22:52:35.57:LdONliey0 インプットメソッドの状態取得といえば定番は IME.ahk ですが、 ( ttp://jump.5ch.net/?https://www6.atwiki.jp/eamat/pages/18.html) どうやら TSF (Text Service Framework)対応のアプリまたはインプットメソッドで、 状態取得に失敗するようなのです。 例えば、Thunderbird + MS-IME です。 伝聞形なのは、じぶんの環境で再現できていないからです。 ここで質問ですが、 1)IME.ahk がTSF対応アプリやインプットメソッドで問題となるケース 特に、IME_GetConvMode() が変換モードを取得できないケースとは、 具体的にはどのような操作なのでしょうか。 2)TSFに対応した autohotkey のライブラリ、もしくはサンプルスクリプトは どっかに落ちてないでしょうか。 : [sage] 2018/10/31(水) 23:37:37.36:RhubQVeN0 IME.ahkは同梱のtxtに記載がありますがTSF関数には全く対応していません ただIME側で下位互換がありIMM関数で値が取れるものはかろうじて拾えるようです どのIMEのどこまで互換があるのかは分からないです TSFに関してはこの辺が参考になるかも知れません ttp://jump.5ch.net/?https://qiita.com/496_/items/95acf68eaf31fd57f44e ttp://jump.5ch.net/?https://qiita.com/tignear/items/2377c1be20e1aec71045 ttp://jump.5ch.net/?https://msdn.microsoft.com/library/ms629043.aspx 自分は断念しました : [] 2018/11/01(木) 01:44:27.83:9ZyI4byU0 詳細な情報をいただき、ありがとうございました。 自分は、TT_IME というフリーソフトが、コード付きで落ちていたので解析中です。 TT_IME は、imeの状態監視を行うソフトであり、TSF対応しているようですので、 目的には叶っています。 でも、32bit dll/64bit dll/ 32bit.exe / 64bit exe の4本立てという濃厚さなので 解析するのも一苦労です。 このimehook.dllを AutoHotkey のDllcall で呼び出せば、 もしかしてTSF対応できるかも、などと妄想したりしています。 ttp://jump.5ch.net/?http://d.hatena.ne.jp/merom686/20120602/1338609232 ttp://jump.5ch.net/?https://blog.goo.ne.jp/kzstock/e/d99afd1b215c48843b93ae6cc2bc8b04 : [sage] 2018/11/01(木) 23:21:34.95:2uiyzVkS0 URLDownloadToFileでhttpsのドキュメントなどは落とせないのでしょうか? : [sage] 2018/11/02(金) 13:27:50.06:loaTwIIP0 メイプルストーリーが矢印キーでしか移動できないので w:up a:left s:down d:right とシンプルなスクリプトを作り動作確認できたのですが、ウィンドウモードのメイプルからデスクトップや別ブラウザ(Chromeなど)に一度でも切り替えるとメイプルで最初効いていた動作が利かなくなるのですが、原因分かるかたいますか? リロードスクリプトをすれば、また効くようになるのですが。管理者権限は常時使っています。効いていたのに、別のところに切り替えるとメイプルだけなぜか動作しなくなる… : [sage] 2018/11/02(金) 13:34:59.37:0sE/AXpAa あ、スクリプトはちゃんとa::leftにしてます。ここに書く際、『:』を1つだけにしてました。 : [sage] 2018/11/02(金) 14:05:19.59:hKnah+9H0 ゲーム側の不正対策でそうなっている : [sage] 2018/11/02(金) 18:45:30.70:tDKIogQ70 不正対策ならリロードしても効かないはずでしょ : [sage] 2018/11/02(金) 19:05:14.72:hKnah+9H0 至って単純な対策だけど殆どのユーザーに対してはこれで十分効果がある : [sage] 2018/11/02(金) 19:56:47.25:0sE/AXpAa 質問したものです。なるほど、対策だったんですね。それを知れただけでもよかったですありがとうございました。 : [sage] 2018/11/02(金) 20:15:04.89:tDKIogQ70 対策とはどのプログラムが邪魔してんの?根拠あって言ってんの? : [sage] 2018/11/02(金) 23:43:47.18:hKnah+9H0 質問してるの?なんで偉そうにしてんの?過去スレみれば? : [sage] 2018/11/03(土) 01:15:56.55:Qi6X1PzN0 根拠もなく「対策してる」とか決めつけられてもな : [sage] 2018/11/03(土) 01:18:38.27:Qi6X1PzN0 対策ならまず最初に起動した時点で弾くもの 「タスク切り替えた時だけ動かなくなる」という症状は明らかに対策とは違う : [sage] 2018/11/03(土) 01:32:11.75:N87FaTZ40 メイプルストーリーのアップデートでそういう対策されたんだから そういう持論があるなら運営会社に対策とは違うって訴えればいい : [sage] 2018/11/03(土) 01:34:19.56:Qi6X1PzN0 いやだから何を根拠に対策だと言ってんだよw : [sage] 2018/11/03(土) 01:37:44.29:N87FaTZ40 わかったわかった、俺が悪かった 過去スレすら見ないあんたに構った俺が悪かった ごめんよ : [sage] 2018/11/03(土) 01:41:08.29:Qi6X1PzN0 過去スレ過去スレ言うだけで根拠は一切示せない そんなんなら最初から知ったかぶりかますなよ : [sage] 2018/11/03(土) 01:42:27.21:N87FaTZ40 突っかかってるくやつになんで丁寧に説明しなきゃいけねーんだよ 馬鹿か?これ以上のレスはもうしない。スレ汚しごめん。 : [sage] 2018/11/03(土) 01:44:34.65:Qi6X1PzN0 何も突っかかってなんかないし根拠あるならそれを言えば良いだけのこと 根拠が無いから言えないだけだろ 最初から黙ってりゃいいのにアホくさ アスペかよ : [sage] 2018/11/03(土) 02:21:35.97:+PWm1krK0 UrlDownloadToVar - Page 7 - Scripts and Functions - AutoHotkey Community ttp://jump.5ch.net/?https://autohotkey.com/board/topic/9529-urldownloadtovar/page-7 の Preactive氏のスクリプト(関数)使った方が良い、結構融通効くから(ファイルじゃなく変数に格納する) 個人的に関数の引数に「Accept=""」追加して、 関数内に If (Accept<>"") WebRequest.SetRequestHeader("Accept",Accept) を追加すると使い勝手が良くなる(これを引数にするかしないか使い側が決めるけど) : [sage] 2018/11/05(月) 17:27:07.93:Gn8lX3k40 lolでも最近これになって困ってたけど何か原因があるのかねえ アクティブになった瞬間一度だけリロードしようとしたけど何故かうまく行かなくて諦めた : [sage] 2018/11/05(月) 18:47:29.75:Zwaz1fsc0 Sendモードの種類、間隔 ControlSend キーボードフック($、#UseHook) 試してダメならタイマー+WinWaitActiveやイベント検知でリロード ttp://jump.5ch.net/?https://sites.google.com/site/agkh6mze/howto/winevent : [sage] 2018/11/06(火) 15:21:03.22:PrbRGNF8a IMEのいわゆる変換前文字列 (例えば「掲示板」と打とうとしている最中に表示される「けいj」とか「けいじb」とか「けいじばん」)という平仮名やアルファベットたち が現在あるかどうかを調べる方法ってありましたっけ? どこかで見たような気がしたのですが思い出せず… どこかに自分で入力文字を保持しておき{Enter}が押されるたびにリフレッシュ…という方法ではだめなんですよね (Enterを押さずとも、変換→文字を打つ→を繰り返すだけでIMEが次々と勝手に候補を確定させていくため) : [sage] 2018/11/07(水) 12:08:37.04:/FFBm3Qp0 ttp://jump.5ch.net/?http://ahkwiki.net/Arrays For index, element in Array ; こちらの方法を推奨 { ; Loop では、インデックスは1で始まる連続した数値でなければならない。 ; Forを利用すると、インデックスは数値である必要はなくなり、 ; 配列内の要素も配列本体を参照しなくても取得ができるようになる。 MsgBox % "Element number " . index . " is " . element } ↑ これで、「indexが最後の要素である場合」という条件はどうやって作るのでしょうか? : [sage] 2018/11/07(水) 12:20:08.33:TKiyaEmf0 その参照先リンクに Array.MaxIndex() ってのがありますやん : [sage] 2018/11/07(水) 14:39:24.62:/FFBm3Qp0 ありがとうございますm(_ _)m : [] 2018/11/07(水) 22:41:03.08:nkh+t/Gz0 Text Services Framework を叩かねばならない案件ですね。 しかも、別プロセス(別アプリ)の変換中のIMMハンドルを取らなきゃいかんので、 C++で32bit dll/64bit dll 作成が必須、 autohotkey だけの世界では実行不能という 面倒くささmaxの案件なのです。 でも、いま丁度そこの開発やってるとこなので、期待せずにまったりと 待っててください。 出来たらgithub に流して、qiita に解説を書きます。 : [sage] 2018/11/07(水) 23:57:30.56:nS1IayFg0 すごい あれだけの内容で分かるとは! : [] 2018/11/08(木) 02:09:54.06:eKHjgnPa0 winny以来の神を見た : [sage] 2018/11/08(木) 02:52:33.93:xc4KfwC1a おお、ちょうど真っ最中でしたか!それはありがたい…! そう言われましても期待せずにはいられないですね。 : [sage] 2018/11/08(木) 05:04:49.39:pX6K8wVj0 IME.ahkで解決する話じゃなかったんだな… 知ったかしてレスしないでよかった(エ・ω・`) : [sage] 2018/11/08(木) 06:59:17.77:qcV2Qe/y0 MouseGetPosで変換前文字列の座標のウィンドウハンドルを取得し それのクラス名を調べたら"MSCTFIME Composition"というのが出てきましたが、こういうことではなく? ただこれはchromeなどの独自GUIでは取得不能でしたが : [sage] 2018/11/11(日) 02:44:30.60:T/AQQH8p0 FileAppend,`r`n(文字列),(テキストファイル) で任意のテキストファイルの末尾行に↑の(文字列)が追加されると思いますが 先頭行に追加する方法ってあります? もしくは(テキストファイル)を白紙にして、予め変数に格納しておいて FileAppend,(文字列),(テキストファイル) FileAppend,`r`n(バックアップ変数),(テキストファイル) で実現できると思いますが、白紙にするコマンドってありますかね? : [sage] 2018/11/11(日) 03:16:35.39:OlLBz5Hi0 FileDelete : [sage] 2018/11/11(日) 03:28:01.71:T/AQQH8p0 FileDelete だと削除して、FileAppend動作するたびにテキストファイルがゴミ箱に溜まっていきませんか? なるべくファイルはそのままで中身を空っぽにしたいんですけど : [sage] 2018/11/11(日) 03:31:16.85:OlLBz5Hi0 それはFileRecycle : [sage] 2018/11/11(日) 03:35:01.71:T/AQQH8p0 試してみたらそうですね いずれにしても 完全削除→テキストファイル作成 を都度行うというのを企んでるわけですね? なるべくそれは避けたいなと思っているのですが・・・ : [sage] 2018/11/11(日) 03:43:03.79:OlLBz5Hi0 いやならFileオブジェクト 使えないなら諦めて ttp://jump.5ch.net/?https://autohotkey.com/docs/commands/FileOpen.htm : [sage] 2018/11/11(日) 07:33:20.17:6YMtFLEp0 1.1.30.01 - November 11, 2018 カ Changed TV_Add/TV_Modify to allow "Bold1" and "Bold0". Fixed hotkey pairs with non-zero #InputLevel blocking sent events. Fixed Control Choose to send WM_COMMAND even if the control's ID is 0. Fixed heap corruption in scripts with keyboard hook but no hotkeys. Fixed escape sequences in one-line hotstrings with 'X' option. Fixed `` escape sequence preceding a ; comment flag. Fixed finally corrupting the value of a pending return. Fixed MsgBox to detect timeouts even if the thread is interrupted. : [sage] 2018/11/11(日) 18:25:53.09:rfUXoy9701111 Finallyのバグ直ったか : [sage] 2018/11/11(日) 23:24:58.10:lzNGT4vm0 ありがとうございました FileDeleteでやってみることにします : [sage] 2018/11/12(月) 02:57:48.70:rP0YLsND0 仮想通貨発掘ワーム ttp://jump.5ch.net/?https://blog.trendmicro.co.jp/archives/17358 悪用しようと思えばできるだろうなとは思ったけど実際やる奴いるんだね : [sage] 2018/11/12(月) 05:27:15.81:zDLxy1COM pc操作の自動化をさせるにはautohotkeyとuwscならどっちがおすすめですか? ahkはあくまでホットキーがメインの機能なんでしょうか あとahkは画像認識にimagesearchがありますがこれより高機能な関数はないですか : [sage] 2018/11/12(月) 10:08:08.27:powZs7vd0 やりたい内容による : [sage] 2018/11/13(火) 09:00:40.97:T61T7gv60 goto文的なものはないですか? 処理中に条件に合えばスクリプトのここまで遡って再処理みたいな : [sage] 2018/11/13(火) 09:09:25.00:tQ+GTkOu0 そのまんまの gotoコマンドがあるけど : [sage] 2018/11/14(水) 05:02:01.06:X9TFoYFBa まさにそのChromeとかでやりたいんですよね… : [sage] 2018/11/15(木) 01:33:25.61:fRKfZVuZ0 今し方1.1.30.00用にコード修正したのに気づいたら1.1.30.01が来てて草 : [sage] 2018/11/15(木) 20:18:44.93:YV5PhiGq0 常駐してるスクリプトをリロードしたときに旧プロセスが終了せずに残ることがある 30.01からかどうかは確信ない : [sage] 2018/11/15(木) 20:36:11.13:HctEC7uK0 #SingleInstance force を書いてても? : [sage] 2018/11/16(金) 00:35:41.69:ngUS8UsG0 ignoreにしてるんでそれはわからんです : [sage] 2018/11/16(金) 14:21:29.15:/VesAqxK0 ウィンドウサイズ変更のスクリプトを書いています ウィンドウサイズを変更し、Wingetで取得したサイズが+-5ドット以内ならば問題無しとしたいのです この場合、変数はどの様に比較したら良いですか? よろしくお願いします : [sage] 2018/11/16(金) 16:59:35.35:HcsJ6eDw0 newWidthをoldWidth-5とoldWidth+5でサンドイッチ比較 heightに関しても同じ : [sage] 2018/11/16(金) 17:26:10.98:/VesAqxK0 ありがとうございます、やってみます : [sage] 2018/11/18(日) 16:25:39.95:NoOpa4qA0 If (取得した幅 > 設定する幅 + 5 or 取得した幅 < 設定する幅 - 5 ) ウィンドサイズ変更 : [sage] 2018/11/18(日) 17:19:16.80:viJqwbvZ0 If var [not] between LowerBound and UpperBound ttp://ahkwiki.net/Ifbetween : [sage] 2018/11/18(日) 17:41:45.85:d+ymKhJO0 abs : [sage] 2018/11/18(日) 20:44:11.80:yOqBDs130 皆さんありがとうございます 544ですが、何とか出来たかも知れません ;マイコンピュータを開いて WinGetPos, , , WinSizeOriginal, , PC ahk_class CabinetWClass ChangeWinSize := WinSizeOriginal + 5 Shita := WinSizeOriginal - 5 Ue := WinSizeOriginal + 5 WinMove, PC ahk_class CabinetWClass, , , , (ChangeWinSize) WinGetPos, , , WinSizeNew, , PC ahk_class CabinetWClass If WinSizeNew between %Shita% and %Ue% msgbox, おk`n%WinSizeOriginal%`n%WinSizeNew% WinMove, PC ahk_class CabinetWClass, , , , (WinSizeOriginal) ShitaとUeを変数に退避しない方法は私には出来ませんでした 他の方法があればご教示願います : [sage] 2018/11/18(日) 21:21:25.32:viJqwbvZ0 If WinSizeNew between % WinSizeOriginal - 5 and % WinSizeOriginal + 5 : [sage] 2018/11/18(日) 21:51:20.55:yOqBDs130 お~素晴らしい、こんな方法があるとは知りませんでした。 ありがとうございます! : [sage] 2018/11/19(月) 20:58:51.90:NCQmFsSE0 状態を監視して、アプリAが起動された場合はアプリBを起動する というスクリプトってありますか? : [sage] 2018/11/19(月) 21:14:08.26:3wjhSciD0 #Persistent SetTimer,1s,1000 1s: Process,Exist,A.exe if ErrorLevel { Process,Exist,B if !ErrorLevel Run,B.exe } return : [sage] 2018/11/19(月) 21:37:05.74:xDV7/4Vm0 それだとAが起動してる間中Bが多重起動されるな : [sage] 2018/11/19(月) 21:39:52.97:jedwU8Pt0 windowsのイベントをフックするスクリプト拾ってくればできるんじゃね : [sage] 2018/11/19(月) 21:49:19.29:3wjhSciD0 1s: A起動確認 A起動時 { B起動確認 B非起動時 B起動 } return : [sage] 2018/11/19(月) 21:50:44.47:jedwU8Pt0 それだとB終了させらんなくならねw : [sage] 2018/11/19(月) 21:59:56.59:NCQmFsSE0 やっぱり#Persistentとタイマー使う感じですかね でもなんかうまくいかなくて; : [sage] 2018/11/19(月) 23:54:44.35:NCQmFsSE0 別の質問失礼します 起動していないプログラムをwingetしてPIDの取得をするとブランクが返ってきますが、 そのブランクの入ったPIDをProcess,Existで起動確認すると ErrorLevelが「0」でない値が入って返ってきてしまいます 起動してないから「0」だと思ってたんですが何故なんでしょうか… 判定の仕方がおかしいのでしょうか PName=調べたいウインドウのタイトル winget,ID,PID,PName msgbox, PID1: "%ID%" →ブランクが表示される if(ID="") {msgbox,"ok" →okが表示される } msgbox, errorlevel: "%ErrorLevel%" →0が表示される Process,Exist,%ID% PID = %ErrorLevel% msgbox, ErrorLevel: "%PID%" →ソフトを起動していないのに0じゃない値が表示される : [sage] 2018/11/20(火) 00:58:46.81:iMjAJtsS0HAPPY ttp://jump.5ch.net/?https://autohotkey.com/docs/commands/Process.htm#Exist >If the PIDOrName parameter is blank, the script's own PID is retrieved. : [sage] 2018/11/20(火) 01:26:54.70:owZw3n+00HAPPY ありがとうございます!助かりました ブランクだった場合はProcessさせないで迂回するような処理をしろってことですね もうちょっと頑張ってみます : [] 2018/11/20(火) 20:53:25.39:Zju9djcu0HAPPY 質問です 失敗例 その1 space::spaceenter その2 space::send, {space}{enter} その3 space:: send, {space} send, {enter} return 失敗すると、キーが推しっぱなし状態になります sleepを織り交ぜても失敗します どうスクリプトを組んだらよいのでしょうか spaceキーを一度押して、spaceキーとenterキーを順に押したことにしたいです (漢字への変換と確定をワンクリックで行いたい) : [sage] 2018/11/20(火) 21:23:43.74:aWNpHLkw0HAPPY 質問です。 FnキーとCtrlキーを入れ替えてそれぞれ修飾キーとして使用する事は可能ですか。単純に入れ替えると単独打鍵になるみたい。ちなみに手元のThinkPadでは、Fn=vkFFsc163でした。 : [sage] 2018/11/20(火) 21:32:36.83:X7eNHuwJ0HAPPY BIOS設定に Fn and Ctrl Key swap って項目があるはず : [sage] 2018/11/20(火) 21:40:13.29:aWNpHLkw0HAPPY 回答Thx! BIOSにあるかどうかは機種によるみたい。ここになければもうあきらめな感じ? : [sage] 2018/11/20(火) 23:53:41.74:BpbJK6S40HAPPY *space:: send, {space Down Temp} send, {enter Down Temp} return *space Up:: send, {space up} send, {enter up} return : [] 2018/11/21(水) 00:24:48.22:QfbyNodv0 無事できました!! ありがとうございます!! : [sage] 2018/11/23(金) 05:48:57.15:f4cP9kDyM 質問です Send, ^x FileMove, %Clipboard%, C:\ …とすると、Windows7の標準エクスプローラーではファイルの移動ができるのですが 他のビューア(XnView)では移動できません エクスプローラーで実行した場合はClipboardにファイルそのものが入り、 XnViewで実行した場合はClipboardに単なるパスが文字列で入るせいだと思いますが… AutoHotKey Wikiを読んでみたものの、 Clipboardのページではいずれのケースでもフルパスが入ると書いてあるように読めますし、 FileMoveのページではパスさえ指定すればファイル移動できるように読めます 何か見落としているでしょうか? エクスプローラー以外でもファイル移動するにはどうすれば良いでしょう… : [sage] 2018/11/23(金) 06:10:58.63:f4cP9kDyM 書き込んですぐ気づきましたが、 単に StringReplace, Clipboard, Clipboard, `r`n, で末尾の改行コードを消せばいいだけでしたね 無事移動には成功しましたが、エクスプローラーでもXnViewでもどうも実行時にモタつきます 目視しながらパッパと移動していきたいので、時間差でファイルが消えるとカーソルがズレて困りますし、かといって移動でなくコピーだとちゃんと成功したのかわからないので、どうにか上手い方法があればいいのですが (ファイル振り分けソフトも色々試しましたが、ビューアとしての設定の柔軟性がXnViewに惜しくも及ばず) いっそdeleteでひたすら削除したあと、それらのファイルをごみ箱から^a^xでまとめて復元させたほうがまだ動作が軽快なものの、うっかり他のごみが紛れ込んでしまったりしますし、ごみ箱をそのように使うのもどうかなぁって感じなので… : [sage] 2018/11/23(金) 06:30:14.18:f4cP9kDyM あ… 再び書き込んだ直後に気付いて申し訳ないのですが、自己解決しそうです もしかしたらctrl + マウスクリックで複数ファイルを選択 (選択したことによる青い枠をつけて視覚的にわかりやすくしたいので) してからまとめて移動すればいいのでは? と思って試行錯誤しようとしましたが、そもそもそんなことしなくてもXnViewでSpaceキーを押すとチェックボックス(XnView的に言うとタグ)にチェックを入れられることに気付きました… チェックボックスが小さいので視認性に少し不安があるものの、ともかくこれで選択していって最後に「タグのついたすべてのファイルを表示」→^a^xすれば済む話でした 元々AutoHotKeyに頼る必要もなかったようです… 長々と失礼いたしました : [sage] 2018/11/28(水) 08:40:58.47:dqERkPgR0 左クリックで文字を選択して、左クリックを離したら ポップアップが出て、コピーとペーストと検索の3つを選べるようにしたいのですが、 使うコマンドを教えてください。 コピペや検索のGUIは作れるのですが、文字列の検知が分かりません。 文字列を選択することを検知するコマンドってありましたっけ? : [sage] 2018/11/28(水) 10:21:45.79:NWEk8SFQ0 ないです : [sage] 2018/11/28(水) 12:30:00.08:CS8/WIU90 左クリックUp クリップボード保存、空に Ctrl+C送る クリップボードの文字列確認 GUI クリップボード戻す : [sage] 2018/11/28(水) 16:35:30.29:dqERkPgR0 ああ、なるほど。 クリップボードに文字列があったらGUI出すってことですね。 やってみます。 : [sage] 2018/11/29(木) 00:56:07.45:o+1/Lt3p0 細かいとこは自分で試行錯誤するしかない部分はあるよな・・・・・ : [sage] 2018/11/30(金) 00:04:40.47:VgRjKPe50 ”#HotkeyInterval” と”#MaxHotkeysPerInterval”ですが初期値はわかるんですが上限値ってあるんでしょうか? 最近たまに「最後の406msで71個のホットキーが受信されました。」のエラーが出るので多めに設定していいのかなと… 適切な値ってどれくらいでしょうか? : [sage] 2018/11/30(金) 01:29:35.61:3VVoI7yh0 PC性能に依存するので、とりあえず見本にある数値でいいかと駄目なら調整 #MaxHotkeysPerInterval 200 記述ミスで応答不能超速無限ループになった場合の警告なので 数万など非現実的な値にはしないほうがいいと思う : [sage] 2018/11/30(金) 01:44:49.45:kdXuho9w0 うちは #HotkeyInterval 10000 、#MaxHotkeysPerInterval 700 にしてる 高速ホイール対応のマウスでWheelUp/Downのトリガ使ってると速攻で警告出るでよ : [sage] 2018/11/30(金) 02:51:59.80:3VVoI7yh0 1秒間に699回発生したら9秒間は1回でエラーが出る不思議なことになるのですが・・・ : [sage] 2018/11/30(金) 03:38:24.91:VgRjKPe50 レスありがとうございます 確かにLogicoolの高速スクロール使ってたりします 1個づつトリガー探って高速スクロールさせたら100%エラー出ました 高速モードに切り替えてて比較的ゆっくり回してると大丈夫ですが 思いっきりぶん回すと駄目ですね 原因がわかってスッキリ ありがとうございました とりあえず700から下げていって調整してみます : [sage] 2018/11/30(金) 04:07:02.42:VgRjKPe50 あっと一応原因はコレ WheelUp::Send, {WheelUp} WheelDown::Send, {WheelDown} う~ん改めて見ると酷いですね~w わざわざなんでこんな事してるのかと言うと 同プロセスで多重ウィンドウのプログラムなんですが まぁ、テレビと番組表ですね ショートカットがまだ整備されて無くてボーリューム調整用に書いたんですが 番組表側でスクロールできなくなっちゃったんで書いた次第です 映像画面上の方がおかしな構造になっていてahk_exeじゃないと画面上で操作効かないんです タイトルだとタイトルバーでしか反応しないという... しかもahk_classだと起動するた度に名前が変わるんで そこで番組表他はすべてタイトルでウィンドウ指定して わざわざahkを通してスクロールさせてます ボリューム操作をコンビネーションキーをトリガーにするか迷ったのですが単純な操作にしたかったので。 : [] 2018/12/03(月) 09:04:33.11:PGcOVoxHr はじめまして ttp://jump.5ch.net/?https://qiita.com/mhara/items/92cfbd900b4b8dc30646 こちらの記事で紹介されているように、 「左altをF18に、右altをF19に」 という設定がしたいのですが、うまく行きません どのようにスクリプトを書けばいいか、ご教授頂けると幸いです よろしくお願いします : [sage] 2018/12/03(月) 09:26:16.84:NFC05GKC0 よく読めよ ChangeKeyで変えろって書いてあんだろ スクリプトなんて書く必要ないしAHK関係無いのでスレチ : [sage] 2018/12/03(月) 10:46:23.02:0Sc/TJx50 enthumbleの説明ざっと読んでみたが要はAHK同様にホットキーでキーカスタマイズするソフトなのかね 試してないが単純リマップでうまく行かないようなら無理なんじゃね ttp://jump.5ch.net/?http://ahkwiki.net/examples 常駐型ホットキーソフトを多重に入れてうまく動く保証はないし キーバインド変更ソフトを使うために別のキーバインドソフトを入れるというのは正直本末転倒なので ChengeKey入れらんないような環境なら ・素直にenthumble有料版を買う ・enthumble相当のスプリクトをAHKだけで丸ごと組む(スレ民的解決法) じゃないっすかね : [] 2018/12/03(月) 13:58:12.72:3lx/O7rWr 成る程、確かに常駐型のenthumbleを使うために同じく常駐型のautohotkeyを使うのはスマートじゃないですね その点には思い至りませんでした。ありがとうございます! 死ね : [sage] 2018/12/03(月) 14:02:09.89:W97cPRqy0 お前が死ねよクズ : [] 2018/12/03(月) 19:06:48.54:4v7TRoN40 は?お前が死ねやチンカス : [] 2018/12/03(月) 20:21:59.05:CrCo9sbS0 完全なキチガイアスペだな スマホ回線とWifi回線切り替えて自演してるつもりかなこの馬鹿キッズ : [sage] 2018/12/05(水) 04:53:36.41:OmWxQuB70 俺も英語キーボード使ってるからどんなもんか見てきたけど 普通にAHKで十分足りるってかAHKの方が優れてると思った 概ねAHKの文法を真似したリマップ程度しかできないAHK以下の機能で有料みたいなので買う価値無い よくこんなものを売ろうと思ったよな : [sage] 2018/12/05(水) 22:04:40.59:whPBY0AD0 自分でスクリプト組めない人用のものでしょ 誰もがここの人みたいにコード書けるわけじゃないしね ていうかソースついてないけど中身AHKですわこれ ttps://i.imgur.com/lrTgPw3.png : [] 2018/12/05(水) 22:26:29.53:RL2mocpi0 そういうことする奴も出てきたか これは始まりに過ぎないのであった… : [sage] 2018/12/05(水) 22:40:41.51:83UCgxJ10 ん、AHKで作ったexe配布ってなんかまずいことあるんだっけ ゲームの操作性向上スクリプトとか作って攻略スレでばらまいたこととかあるんだが : [sage] 2018/12/05(水) 22:54:04.42:WmdiFMyj0 別にいいんじゃないの。自分はAHKベースのソフトは、MouseGestureLやClipboardHistory使ってるよ 使ってないけど、DvorakJも割とユーザーいるみたい ただ、enthumbleくらいの機能だったら自分で書いた方が早いしなー まあそのあたり人それぞれかな : [sage] 2018/12/05(水) 23:53:37.72:whPBY0AD0 exe作って配布自体は問題ないけどAHKのライセンス(GNU GPLv2)的には 派生物もソース公開しないとまずい気がする ttp://jump.5ch.net/?https://qiita.com/bremen/items/c5aa9446e73aa4bc1de0 ttp://jump.5ch.net/?https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html あれ?これ結構やばくない? : [] 2018/12/05(水) 23:54:22.14:f/SDbl4I0 中身AHKでフロントエンドだけちょっと作って金取ったろ!の精神は中々凄い 公式HPの開発ストーリーで、さも開発に苦労したような書き方で更に面白い しかしこれなんでベクターだけお値段3000円なんていうプレミアム価格なんだろう。気になるw : [sage] 2018/12/06(木) 00:01:55.82:Ym7iS5Jj0 clipboardhistoryもvectorでは集金箱置いてるんだな それにしてもこれ知らん間にすげえ肥えたなあ : [sage] 2018/12/06(木) 00:18:40.31:ONAtkcp00 GPLはソース公開義務はあれど営利利用を禁止してるわけではないから スクリプト版も公開してるclipboardhistoryはセーフかな (寄付を営利とみなすかどうかはとりあえず横に置いておく) : [sage] 2018/12/06(木) 01:21:59.68:RQGp4gXya 派生物のソースは一般公開しなくても バイナリ利用者から請求された時に渡せばいいんだが(3.c) AHKがくっついてるのにその事を説明してなかったり(1.違反、2.a違反) こいつ自身のライセンスがGPLじゃなかったり(2.b違反) 真っ黒だね 派生物の頒布に金取る事自体は全く違反じゃないが : [sage] 2018/12/06(木) 02:16:20.22:GRt+N2Zj0 ■ライセンス違反まとめ *AutoHotkeyライセンス(GNU GPLv2) ttp://jump.5ch.net/?https://autohotkey.com/docs/license.htm ttp://jump.5ch.net/?https://raw.githubusercontent.com/Lexikos/AutoHotkey_L/master/license.txt *GNU GPL v2.0に関してよく聞かれる質問 ttp://jump.5ch.net/?https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html > GPLは、改変された版のソースコードを公に発表することを要求しますか? もしあなたが改変された版を何らかの形で公にするならば、GPLはあなたが改変したソースコードをユーザがGPLのもとで入手できるようにすることを要求します。 > GPLは金銭目的でプログラムの複製を販売することを許可していますか? はい。GPLは、誰もが販売することを許可しています。 > GPL違反の可能性がある事例を見つけたら、どうすれば良いですか? その旨を報告してください。 ttp://jump.5ch.net/?https://www.gnu.org/licenses/gpl-violation.html : [sage] 2018/12/06(木) 02:18:45.94:GRt+N2Zj0 Clipboard History ttp://jump.5ch.net/?https://www.vector.co.jp/soft/dl/winnt/util/se512783.html enthumble ttp://jump.5ch.net/?https://www.vector.co.jp/soft/win95/util/se488628.html どちらもソフトウェアライセンス記載なし&最新ソースコードが公開されていないのでライセンス違反状態 : [] 2018/12/06(木) 07:24:23.83:4MBttEwN0 即逮捕やな 胸熱 : [sage] 2018/12/06(木) 08:46:59.55:+f9U38U10 刑事罰なの? : [] 2018/12/06(木) 10:04:08.79:jbt9m6cq0 なんか大事になってるんだが 「AHKそのもの」を複製したり改変して配布したらソース公開必要だが 「AHKを利用して成果物」を作った場合には関係ないんじゃないの なんかごっちゃにしてる気がするぞ ttp://jump.5ch.net/?https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html#CanIUseGPLToolsForNF このあたり参照 例えばGNU-Cを使ってゲームを作ったとして そのゲームのソースコードを公開する義務は当然ないし商用利用も可能 ただしGNU-Cの派生物(オレ専用GNU-C)はソース公開義務が付く : [sage] 2018/12/06(木) 10:52:30.69:tuRe2Yh8M どうかな スクリプトの配布だけなら確かに成果物だけど Ahk2exeでコンパイルして作成されたexeにはAHKのバイナリ内包されているよね 改造されたautohotkey.exeとして派生物とみなされるんじゃなかろうか : [sage] 2018/12/06(木) 11:28:38.89:UGStRDw6M GCCとの違いはahkがインタプリタ型言語だということかな 実行にはAHKのバイナリが必要になる だからコンパイルといってもAHKのバイナリにスプリクトテキストをくっつけてパック化してるだけだし オブジェクトコード生成してバイナリ組み上げるGCCとは扱いが違ってくる気がする : [sage] 2018/12/06(木) 12:26:08.34:SVb9Vxre0 インタプリタの場合はFAQに書いてある ttp://jump.5ch.net/?https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html#IfInterpreterIsGPL インタプリタとしてだけ使って、他のあらゆる機能は独自で実装しているのなら問題ない。そんなわけないんだけど。 それ以前に、ライセンスに書いてないのは論外。 : [sage] 2018/12/06(木) 12:56:07.36:DYoYzeaZa .ahkだけの頒布なら関係ない これがその例が当てはまるケース でもexeにしたら集合著作物になってるからもろGPL対象 : [sage] 2018/12/06(木) 12:57:17.17:DYoYzeaZa その例もインタプリタと本体が集合著作物になっていないときの話 : [sage] 2018/12/06(木) 14:49:55.67:ulzH/6dL0 ttp://jump.5ch.net/?https://autohotkey.com/board/topic/4462-ok-to-sell/ : [] 2018/12/06(木) 20:50:48.35:4MBttEwN0 はよ逮捕しようや 犯罪者は逮捕やで : [sage] 2018/12/06(木) 22:07:25.06:LuFaM54m0 いつのを最後に見たかにもよるが、多分64bit版を追加して32/64bit版を同梱するようになったからじゃ… 32bit版だけならそこまでサイズが大きくなったというわけではないと思う 少なくともClipboard Historyは、ヘルプにAutoHotkeyを使ってることを明記してるから悪意はないと思うよ 厳密に言えばグレーという部分があるなら修正の必要はあるかもしれんけど enthumbleは、公式・Readme等、自分が確認した限りではAutoHotkeyの文字列が見当たらないなw : [sage] 2018/12/06(木) 22:46:25.85:ONAtkcp00 Q. ahk2exe.exeでコンパイルされたexeはGPL汚染される?.ahkを公開しないで.exeだけ頒布・販売してもいい? Chris(AHK作者) : おkと言いたいが完全に大丈夫とは言い切れない .exeに内包されるインタプリタ部はGPLコードを含むためGPLになるが exe2ahk.exeでバイナリのインタプリタ部とプレーンテキストのユーザースクリプトに完全分離できるので一応それで対策したつもり Lexikos(L版作者) : いやダメじゃね?1つのexeにまとめた段階で1プログラムとみなされるでしょ ざっと読んだが要約するとこんなかな、結局グレーで決着ついてない感じ ただ上の論点は.exe内のスプリクトコードをインタプリタ部と別ライセンスにできるかどうか、であって インタプリタがAutohotkeyなのを隠して頒布していいことにはならないね enthumbleはアウト Clipboard HistoryはインタプリタがAutohotkeyなのは明示してるのでライセンスの記載追加でいけそう ソースについては>599なので見えるところに公開してある必要はないし : [sage] 2018/12/06(木) 23:16:54.77:vr7AcZsma Chrisは最初exeはソースコードじゃないからGPLは及ばないとか言ってたり ライセンスについてはあまり明るくないと思う。。。 1つのexeにしたらGPLが及ぶのはスクリプトをデータと考えるなどグレーになる余地があるとはいえ ほとんど黒だよ 2つのファイルに分けて実行時にリンクさせてすらGPLは及ぶのに FAQでもこう書いてある ttps://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html#MereAggregation > モジュールが同じ実行ファイルに含まれている場合、それらは言うまでもなく一つのプログラムに結合されています。 GPLは例外条項が付けられるんだから 作者がGPL汚染させる意図がないなら例外条項を付けておくべきなんだよな : [] 2018/12/06(木) 23:35:33.39:jbt9m6cq0 ただグレーかアウトだとしても著作者が日本国外の人だし 訴えるつっても誰がどの国の機関に?って話になる しかも作者はOKつってるんだしチクるとすればFSFだけど 財団にしてもそんな面倒な話持ち込むなってことになるだろう 小銭稼いでるのはうっとおしいにしろ黙認するしかないと思うよ できることといえばベクターとかのDL支援してるサイトにチクって 掲載取り下げさせるくらいか : [sage] 2018/12/07(金) 00:23:09.18:PAWRXI140 「AHK自体」を改変した訳ではないんだし、件のexeに内包されたAHKはただのランタイム扱いのような気がしないでもないが。。。 : [sage] 2018/12/07(金) 00:35:25.39:xhhWxiJ00 再三言われてるが小銭稼いでることはアウトじゃないぞ まずは訴えるだの掲載取り下げ依頼だのの前に GPLライセンスに抵触してることを本人達に伝えて正しく頒布するよう求めるのが先じゃね あんさんのほうはオリジナルの古いahkでコンパイルしてるし (L版で削除された/decompileオプションを使うため?) 中身がAHKであることを隠ぺいしようとしてる節があるから素直に認めるかはあやしいところだが : [sage] 2018/12/07(金) 00:48:40.21:xhhWxiJ00 ラ /decompile 〇 /NoDecompile やった : [] 2018/12/07(金) 00:49:46.26:gOdb4Udn0 ってAHK作者自身がいってる ここで問題にしてるのはAHKが取り込んでるライブラリ部分のこと そんな暇なこと誰がやるのって話だろ FSFの関係者でも無いやつがメールなりツイに凸して 「もしもしこんにちは。GPL違反してるみたいですが」ってやるのか?w 小銭云々は「うっとおしいにしろ」って書いてんだろ日本語読めない人? : [sage] 2018/12/07(金) 01:34:30.61:xhhWxiJ00 とりあえずはツイなりquitaのコメントなりの人の目につくところで 「こんな議論がされてるようですよ」ってこのスレのURL貼ったらいいんでね 単純にライセンスに疎いだけだったらなんかしらアクション取るでしょ ばっくれたらばっくれたでその時だし それと、違反していないのだから「黙認」もなにもないよ 言葉の意味を正しく使わず人が理解してくれないと責めるのはどうかと : [sage] 2018/12/09(日) 14:09:40.52:65nf1Y1x0 SetBatchLines, -1をA_BatchLinesで確認すると”-1”になりますが、これは0msと思って間違いないですか?。 : [sage] 2018/12/09(日) 17:36:52.47:izV3B+fS0 違います、なし(OFF)です 10ミリ秒のSleepを行う時間の設定なので 0msだと常にSleep状態という意味になってしまいます : [sage] 2018/12/09(日) 18:19:49.17:65nf1Y1x0 ありがとうございます。 アホな私でもよく理解出来ました。 : [sage] 2018/12/09(日) 23:13:23.23:wMEkdD3J0 画面のスクリーンショットをbmpでとってスクリプトで指定した場所、名前で保存するいい方法ないですか : [sage] 2018/12/09(日) 23:58:05.61:iDyiifYg0 GDI+ライブラリを利用する BMPはサイズが大きいので同じ可逆圧縮のPNGがお勧め Gdip_All.ahk ttp://jump.5ch.net/?https://autohotkey.com/boards/viewtopic.php?t=6517 : [sage] 2018/12/10(月) 00:02:45.55:qBoOLBEM0 やってみますありがとう! : [sage] 2018/12/10(月) 01:47:31.02:/p6elTeg0 テキストエディタの秀丸でホットストリングが効きにくいんですが 原因はなんでしょうか? 秀丸だけなんです。 sendで修飾キーを送ってもスルーされることもあります。 : [sage] 2018/12/10(月) 10:09:34.34:CstvI9Ii0 PrintScreenをBMP保存するのは知識0からでもわりと簡単に書けたけど 32bitを24bitにしようとするとすさまじい時間がかかってしまう… : [sage] 2018/12/13(木) 22:39:54.77:KyILgHLO0 Vectorから連絡きた Vector カスタマーサポートセンターです。 弊社サービスをご利用いただきましてありがとうございます。 お問い合わせいただきました件、ご返答が遅くなり申し訳ございません。 AutoHotkeyのGPLの件、両ソフトの作者の方へ確認と修正の依頼を送らせて 頂きました。 対応が完了するまで、お時間を頂く可能性がございますので、今しばらく お待ちいただけますでしょうか。 ※現在、弊社都合により、サイト更新を金曜日のみとさせていただいて おります。 作者の方に迅速に対応いただけた場合でも、サイトへの反映に時間が かかる場合がございます。 ご了承ください。 以上となりますが、どうぞよろしくお願いいたします。 : [sage] 2018/12/13(木) 23:01:06.72:HRUClBM4a 有言実行惚れた : [] 2018/12/13(木) 23:22:24.74:mLaQaXYy0 早く捕まって欲しいものだな : [sage] 2018/12/14(金) 08:09:30.75:MSNidyJ40 GPLが絡むととたんに古事記がエキサイトし始めるからうんざり 早くこのゴミライセンス死滅すればいいのに : [sage] 2018/12/14(金) 10:59:04.14:epMs6prq0 プログラムの知識全然ないけど、見よう見まねでimgctl.dll使ってスクショのpng出力を完成させた 別のやり方なら参考までにbmpのやり方を教えて欲しい : [sage] 2018/12/14(金) 20:49:30.05:cL1b51zw0 言うても、GetClipboardDataしたやつをサイズ決め打ちのバッファにコピって ヘッダも直書きして書き出してるだけなんで、なんの参考にもならないかと… : [] 2018/12/16(日) 00:34:41.69:oez9GTdI0 流れ豚切スマソ autohotkey で Windows10上のタスクスケジューラの imeモードの取得ができないので あーだこーだと調べておりました。(ime.ahk使用) どうやら、タスクスケジューラは、管理者権限で動作していたため、 非管理者権限で動作しているautohotkey のスクリプトは、 タスクスケジューラに対して何にもできなかった模様。 試しにnotepad.exeを管理者権限で動作させると、imeモードの取得ができなくなりましたし、 autohotkey のスクリプトを管理者権限で動作させたところ タスクスケジューラや、管理者権限のnotepad.exeのimeモードの取得ができるように なりました。 : [] 2018/12/16(日) 00:50:22.87:oez9GTdI0 こんな解決案までハケーンwwwww ttp://jump.5ch.net/?https://stackoverrun.com/ja/q/11905377 ; If the script is not elevated, relaunch as administrator and kill current instance: full_command_line := DllCall("GetCommandLine", "str") if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)")) { try ; leads to having the script re-launching itself as administrator { if A_IsCompiled Run *RunAs "%A_ScriptFullPath%" /restart else Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%" } ExitApp } : [] 2018/12/18(火) 21:31:15.80:mM0WUO410 今度は、 autohotkeyのスクリプトや、 ahkスクリプトをexe化した実行ファイルを、 Windows10上で、管理者権限付きで自動起動させたいと思いつつ、 調べますた。 ttp://jump.5ch.net/?https://qiita.com/minamijoyo/items/8cdb1b3659c703f60969 によれば、schtasks.exe を叩いて、特権付きでタスク登録すればよいらしい。 schtasks /create /tn cool-task /tr "C:\cool.bat" /sc onlogon /rl highest /F この schtasks.exe を実行させるためには、管理者権限付きの環境が要る。 何とか autohotkey から schtasks.exe を管理者権限付きで起動して 自分自身をタスク登録するスクリプトを組まねばならない。 そういうスクリプトが github あたりに落ちてないか・・・。 : [sage] 2018/12/18(火) 23:47:15.91:OXYgcbgDa +,:: Send, < Return シフトキーとともに「,」を押すと半角の「<」が出るようにしたいのですが なんか同じキーが押されまくる怪しい挙動をします 何がいけないのでしょうか エスケープでもなさそうな気がしますし、Unicodeの{FF1C}にしてみてもダメでした : [sage] 2018/12/19(水) 00:56:29.95:abjNWlFF0 $+,:: Send, < Return Sendのキーをホットキーが拾って無限ループになっている Send, < → 「Shift+,」 物理的なキーだけに反応するようにフック「$」を使おう : [sage] 2018/12/19(水) 17:49:55.26:7eaMyzmU0 DMMでクリップボードにコピーした型番を検索したいです。 pulover’s macro creatorで作ってみました。 型番例:ABCD1234 ABCD-1234 この2パターンの型番を正規表現で置換して"ABCD 1234"で検索するURLを貼り付けたいのですが Macro1は成功するのですがクリップボード経由でやろうとしたMacro2は失敗してしまいます。 +F1:: Macro1: RegExMatch(clipboard,"([A-Za-z]+)([0-9]+)|([A-Za-z]+)-([0-9]+)",$) WinActivate, ahk_exe chrome.exe Sleep, 333 SendRaw, (LTrim ttp://jump.5ch.net/?http://www.dmm.co.jp/search/=/searchstr=%$1%%$3% %$2%%$4%/analyze=V1EBAVcEUAs_/limit=30/n1=FgRCTw9VBA4GCF5WXA__/n2=Aw1fVhQKX19XC15nV0AC/sort=ranking/ Return ) Send, {Enter} Return : [sage] 2018/12/19(水) 17:50:57.68:7eaMyzmU0 Macro2です。 +F2:: Macro2: RegExMatch(clipboard,"([A-Za-z]+)([0-9]+)|([A-Za-z]+)-([0-9]+)",$) WinActivate, ahk_exe chrome.exe Sleep, 333 SavedClip := ClipboardAll Clipboard := "" Clipboard := " (LTrim ttp://jump.5ch.net/?http://www.dmm.co.jp/search/=/searchstr=" $1$3 " " $2$4 "/analyze=V1EBAVcEUAs_/limit=30/n1=FgRCTw9VBA4GCF5WXA__/n2=Aw1fVhQKX19XC15nV0AC/sort=ranking/ Return )" Sleep, 333 Send, ^v Clipboard := SavedClip SavedClip := "" Send, {Enter} Return : [] 2018/12/19(水) 22:58:52.25:grZzhxOH0 スクリーンショット(Winキー+PrintScreen)を撮る際に、 ホットキーによって保存先のフォルダを指定することってできませんか? 例えば、a+Win+PrintScreenでフォルダAに即座に保存、 b+Win+PrintScreenでフォルダBに即座に保存 : [sage] 2018/12/19(水) 23:34:23.35:mPFOJVBy0 PrintScreenを送ったあとクリップボードに入ってる画像イメージを バイナリとして取り出して任意のパスに書き出す関数を作成する >624-634 : [sage] 2018/12/19(水) 23:49:57.27:kmNLO1wx0 画面キャプチャソフトをRunするほうが手っ取りばやいとおもうよ : [sage] 2018/12/20(木) 10:35:01.33:4fGdw2sw0 もともとUWSCと使い分けてるけどキャプチャはそっちがだんぜん簡単だな saveimg(path)で保存できる クリップボードに送ったり座標指定も : [sage] 2018/12/20(木) 16:29:15.86:S+ZooRzV0 俺もと同じことやってるけど 難しい事わからないからvbsで使ってたDoodleってやつをComObjCreateで呼び出して使ってた でも64ビットのahkで使えないんだよね : [sage] 2018/12/21(金) 13:21:26.46:uDcDhz/K0 クリップボードをpng保存はこれをちょいちょい変えて使わせて貰ってる。 ttp://jump.5ch.net/?https://gist.github.com/azu/341280 64bitで動かないので、Runで32bitのexeにぶん投げるという大変にスマートでないことをしているがw : [] 2018/12/21(金) 19:39:09.88:ZLfl7zMT0 ホットキーを1000個くらい用意したいんですが !aaa:: とか !aab:: とか !aac:: とかにできないんですか? : [sage] 2018/12/21(金) 19:47:21.49:7gZdVVdx0 まだインストールして30分ぐらいなのですが、初歩的な質問させてください。 フルスクリーンで可動してるアプリのバックで5分ぐらいの長さのScriptを流してみたのですが、 Scriptを任意のタイミングで中断したいとき、毎回タスクから終了するしかなく困っています。 起動中のAutoHotkeyのScriptを強制終了するショートカットキーの機能は無いのでしょうか? : [sage] 2018/12/21(金) 19:52:47.60:bSH6Raz30 ExitApp : [sage] 2018/12/22(土) 00:05:11.35:tIoTJBzC0 ホットストリング : [sage] 2018/12/22(土) 08:48:32.41:38ZnCqoL0 ボタンを押したら自分で作ったラベル名に飛ばして そこの処理を行わせるにはどうすればいいのでしょうか? 私の考えでは下記のスクリプトで1を押すと4が押される処理を無限に繰り返すと 思ったのですが、1を押しても1のままで一体何が悪いのかさっぱり判らず困っています。 #Persistent loop { GetKeyState key,1,p if key = D gosub, test return } test: send {numpad4 down} sleep 50 send {numpad4 up} sleep 100 return : [sage] 2018/12/22(土) 08:57:44.08:81GOH3PB0 普通にこれじゃアカンのか? 1:: send {numpad4 down} sleep 50 send {numpad4 up} sleep 100 return : [sage] 2018/12/22(土) 09:17:37.39:D6jsOQsg0 永久ループにするならloopの中に無条件rerurn入れちゃだめ まあでもホットキー指定したほうが楽だと思うよ
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したアーカイブです。削除についてはこちら 。