2ch勢いランキング アーカイブ

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
 &nbsp;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入れちゃだめ
まあでもホットキー指定したほうが楽だと思うよ

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ ソフトウェア板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら