2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

AutoHotkey スレッド part26

1 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:08:09.39 ID:LmrG+Efz0.net
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

■配布元
http://ahkscript.org/download/

■前スレ
AutoHotkey スレッド part25
https://egg.5ch.net/test/read.cgi/software/1505357560/

■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/

■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


2 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:08:50.08 ID:LmrG+Efz0.net
■重要事項
オリジナルである、旧 "AutoHotKey" の開発は2009年9月で終了している。
現在は、そこからフォークした "AutoHotkey_L" が主流となり、2014年1月からは後のLが取れ
正式にAutohotkeyとして扱われるようになりました。
よって古いスクリプト(主にDllCall()を利用しているスクリプト)は最新Verで動作しないものがあり、
その場合はスクリプトの修正が必用です。

旧版のAHKとの変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。
 →http://ahkscript.org/docs/AHKL_Features.htm
 →http://ahkwiki.net/Addition_L

※新規利用者には最新版を推奨しますが、旧AHK(2009年9月までのVer)の利用者は新AHKへの移行に際して
少なからず改修が必要となります。特に、旧流行らせるページの配布物(MouseGesture等)の多くは
そのままでは動作しません。安定利用できている環境を崩して移行するかどうかは各人の判断による。
MouseGestureについては有志の方が最新AHK対応版(MouseGestureL.ahk)を配布しているのでそれを
利用するのもありです。
http://hp.vector.co.jp/authors/VA018351/mglahk.html
http://code.google.com/p/mousegesturel/

※ACC.ahk(旧版用)とCOM.ahkはフォーラムのリンク先にファイルが存在しませんので下記から入手してください。
 http://ux.getuploader.com/autohotkeyl/download/24/ACC%2BCOM.zip
※Unicode版のACC.ahkは下記(AccInfoViewer.ahk付き)またはフォーラムから入手してください。
 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)


3 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:09:56.45 ID:LmrG+Efz0.net
■過去スレ
Part1 http://pc7.2ch.net/test/read.cgi/software/1098531338/
Part2 http://pc7.2ch.net/test/read.cgi/software/1129836713/
Part3 http://pc11.2ch.net/test/read.cgi/software/1157043396/
Part4 http://pc11.2ch.net/test/read.cgi/software/1184556627/
Part5 http://pc11.2ch.net/test/read.cgi/software/1201502896/
Part6 http://pc11.2ch.net/test/read.cgi/software/1219130051/
Part7 http://pc12.2ch.net/test/read.cgi/software/1230694774/
Part8 http://pc12.2ch.net/test/read.cgi/software/1243005818/
Part9 http://pc12.2ch.net/test/read.cgi/software/1253888736/
Part10 http://pc12.2ch.net/test/read.cgi/software/1265518996/
Part11 http://hibari.2ch.net/test/read.cgi/software/1280482227/
Part12 http://hibari.2ch.net/test/read.cgi/software/1296446228/
Part13 http://anago.2ch.net/test/read.cgi/software/1317156599/
Part14 http://anago.2ch.net/test/read.cgi/software/1333372506/
Part15 http://anago.2ch.net/test/read.cgi/software/1349735581/
Part16 http://anago.2ch.net/test/read.cgi/software/1367725658/
Part17 http://anago.2ch.net/test/read.cgi/software/1383384464/
Part18 http://anago.2ch.net/test/read.cgi/software/1398655195/
Part19 http://anago.2ch.net/test/read.cgi/software/1411360229/
Part20 http://anago.2ch.net/test/read.cgi/software/1422427426/
Part21 http://anago.2ch.net/test/read.cgi/software/1437910497/
Part22 http://potato.2ch.net/test/read.cgi/software/1452881399/
Part23 http://potato.2ch.net/test/read.cgi/software/1470936221/
Part24 http://egg.2ch.net/test/read.cgi/software/1487149472/
Part25 https://egg.5ch.net/test/read.cgi/software/1505357560/

4 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:10:28.71 ID:LmrG+Efz0.net
以下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を起動する。( http://www.forest.impress.co.jp/library/software/changekey/ )
  「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。
  F12を押すとスキャンコード(0x0064はF13)が表示されるので覚えておき「終了」をクリック。
  「ひらがな」キーをクリックすると「【ひらがな】キーをどのキーに変更しますか?」という
  ウィンドウが表示されるので右上の「Scan code」をクリック。
  覚えておいたスキャンコード(0064)を入力し、「OK」ボタンをクリック。
  「登録」をクリックし、Windowsを再起動する。

5 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:11:04.96 ID:LmrG+Efz0.net
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のジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。

6 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:11:38.18 ID:LmrG+Efz0.net
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, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている

7 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:13:01.36 ID:LmrG+Efz0.net
■ IME関連
Q1:IMEのOn/Offの切り替えや、状態を得るにはどうすればいいの?
A1: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に各種エディタの定義ファイル及びキーワード一覧あり。( http://ahkwiki.net/Tools )

Q3:GUI作るのめんどくせ〜〜
A3:海外の有志が作ったツールを使うと楽。
 SmartGUI Creator ( http://www.autohotkey.com/board/topic/738-smartgui-creator/ )
 GUI Creator ( http://ahkscript.org/boards/viewtopic.php?f=6&t=303 )

Q4:AHKってマルチスレッドじゃないの?
  タイマーやMsgBox, WinWait, KeyWaitを使ってるけど思った通りに動かない。
A4:「擬似マルチスレッド」です。最後に割り込んだスレッドが終わるまで元スレッドは動きません。
 MsgBox、WinWait、KeyWait、Process,WaitClose などをタイマーで複数動かす時は注意。
  > 要は処理系統が複数同時に走らないってこと。図にするとこんな感じ。
  > → 実行中、 …:割り込み終了待ち
  > 元スレッド   →→→→→→……………………………………→→→→
  >                  ★割込                ↑再開
  > 割り込みスレ          →→→→…………→→→→→→END
  >                        ◆割込 ↑再開
  > 更に割り込み                →→→END

8 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:13:41.91 ID:LmrG+Efz0.net
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} にする。

9 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:14:14.78 ID:LmrG+Efz0.net
Q6:Windows Vista(以降)で管理者権限のウィンドウ操作やSendPlayが効かないんだけど?
A6:OSのセキュリティ機能であるユーザーアカウント制御(UAC)にブロックされている。

■回避策
1:管理者として実行
 Autohotkey.exeを右クリックしてプロパティを開き、「互換性」→「管理者としてこのプログラムを実行する」にチェック。
 スクリプトに記載する方法もある( http://www.autohotkey.com/board/topic/94126-ahk-problem-with-uac-and-privileges/ )

2:対策パッチ
 実行ファイルのマニフェスト書き換え、自己署名証明書のインストールが行われる。
 ※AutoHotkey.exeはProgram Files以下に置く必要がある。
 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」に変更。

10 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:15:50.08 ID:LmrG+Efz0.net
■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(開発終了)
http://www.autohotkey.com/
Autohotkey 1.1 (Autohotkey_L)
http://ahkscript.org/

■開発中
Autohotkey v2(下位互換性を排除して操作利便性の向上)
http://ahkscript.org/v2/

11 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:17:09.98 ID:LmrG+Efz0.net
■派生版
IronAhk(.NET製、クロスプラットフォーム。開発終了)
http://www.ironahk.net/

AutoHotkey.dll(真のマルチスレッド対応)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
AutoHotkey_N(開発終了)
AutoHotkey_H
http://www.autohotkey.net/~HotKeyIt/AutoHotkey/files/AutoHotkey-txt.html

■統合
AHK_U(Unicode版)
http://www.autohotkey.com/board/topic/46563-unicode-version-of-autohotkey/
AHK64(64bit版)
http://www.autohotkey.com/board/topic/53878-autohotkey64-64-bit-autohotkey-l-updated-62410/

■スクリプト作成支援ツール
AutoHotKey専用エディター ※必須ではありあせん。
 SciTE4AutoHotkey
 http://fincs.ahk4.net/scite4ahk/

GUI作成ツール
 SmartGUI Creator
 http://www.autohotkey.com/board/topic/738-smartgui-creator/
 GUI Creator
 http://ahkscript.org/boards/viewtopic.php?f=6&t=303
 AutoGUI
 https://www.autohotkey.com/boards/viewtopic.php?t=10157

※テンプレここまで

12 :名無しさん@お腹いっぱい。 :2018/04/25(水) 18:33:05.31 ID:WfXMHUs0D.net
>>1

13 :名無しさん@お腹いっぱい。 :2018/04/25(水) 20:04:21.60 ID:GF4dHQGk0.net
スレ立て乙

情報後出しする質問者ってほんと面倒くさいな

14 :名無しさん@お腹いっぱい。 :2018/04/26(木) 09:47:55.59 ID:n4DMlqzA0.net
わざわざ文句たれる回答者も面倒くさいいけどな

15 :名無しさん@お腹いっぱい。 :2018/04/26(木) 13:40:08.34 ID:vwRWVNXZ0.net
指摘してくれるうちが華
うちはもうめんどくさそうな質問者はスルーしてるわ

とりあえず次スレ建ってないうちに1000まで埋めるのは勘弁な 

16 :名無しさん@お腹いっぱい。 :2018/04/26(木) 16:58:43.17 ID:DkF8shxO0.net
>>14
面倒くさいやつ発見w

17 :名無しさん@お腹いっぱい。 :2018/04/26(木) 17:02:54.87 ID:38C04UHoa.net
うわどっちもめんどくせえ
このスレ要らなくね

18 :名無しさん@お腹いっぱい。 :2018/04/26(木) 17:07:15.87 ID:QqPH1PF20.net
要らないと思うやつは見なけりゃいいだけ

19 :名無しさん@お腹いっぱい。 :2018/04/26(木) 19:53:03.58 ID:dMnrJ+/E0.net
>>18
ほんとこれなんだが
最近多いよなスレが廃れるまで粘着アンチするガイジ

20 :名無しさん@お腹いっぱい。 :2018/04/26(木) 20:51:55.89 ID:DlGBEGXR0.net
はい次の方

21 :名無しさん@お腹いっぱい。 :2018/04/29(日) 14:33:44.26 ID:DpZ5UVTP0NIKU.net
ウィンドウスタイルについてお尋ねします。
ウィンドウ右上のバツボタンを非表示にするにはどうすればいいでしょうか?。
最小化や最大化の非表示は出来るんですよ。

https://sites.google.com/site/autohotkeyjp/reference/misc/Styles

22 :名無しさん@お腹いっぱい。 :2018/05/04(金) 04:22:49.25 ID:xSAW4Ml30.net
1.1.28に上げたら反応良くなった気がする
気のせいかな

23 :名無しさん@お腹いっぱい。 :2018/05/04(金) 14:18:28.00 ID:GcFBWfJy0.net
関数ライブラリの自動インクルードでマージされたファイルのAutoexecuteセクションは無視される
これは仕様で問題ないと思うけど

呼び出し元が
if true
 処理1
else
で終わっていると、処理1に続いて延々実行される

まあelseで終わるのがまともじゃないからまず引っ掛からないだろうけど

24 :名無しさん@お腹いっぱい。 :2018/05/04(金) 19:10:02.11 ID:jys2WM8C0.net
>>21
バツボタンをピンポイントで非表示にするのはOS側の仕様でできなかったと思う
タイトルバーまるごと消していいならスタイルのどれかでできたはず

25 :名無しさん@お腹いっぱい。 :2018/05/04(金) 21:03:33.60 ID:RMQ1LgDk0.net
>>24
タイトルバー非表示のウィンドウスタイル見つけました。
とりあえずこのまま様子見ていきたいと思います。
ありがとうございました。

26 :名無しさん@お腹いっぱい。 :2018/05/04(金) 23:39:23.14 ID:RMQ1LgDk0.net
すみません、続いて質問です。
If A_ThisHotKey = esc
だった場合に次の処理に移行するにあたって、”esc”の部分をカラにしたいのですが出来ますでしょうか。

27 :名無しさん@お腹いっぱい。 :2018/05/05(土) 00:19:09.50 ID:Do4xRxCi0.net
できない
あと見つけましたで終わらせないで結果も書くようにして
あとで同じことしたい人の参考にならんでしょ

28 :名無しさん@お腹いっぱい。 :2018/05/05(土) 00:55:49.00 ID:zYXtUspU0.net
>>27
了解、以後気を付けます。
WinSet, Style, -0xC40000, A

29 :名無しさん@お腹いっぱい。 :2018/05/05(土) 01:04:43.22 ID:lf6rRJKL0.net
質問なのです
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

30 :名無しさん@お腹いっぱい。 :2018/05/05(土) 02:15:18.79 ID:E5it3ph40.net
>>29
OS側の設定で「タスクバーを隠す」にしとけば?

>>28
便乗質問させてほしいんだけどこの方法でタイトルバー消したウィンドウを元に戻すコマンドってありますか?

31 :名無しさん@お腹いっぱい。 :2018/05/05(土) 02:24:07.73 ID:zYXtUspU0.net
>>30
-を+にするだけです。
WinSet, Style, +0xC40000, A

32 :名無しさん@お腹いっぱい。 :2018/05/05(土) 02:27:06.59 ID:E5it3ph40.net
>>31
ありがとうございます

33 :名無しさん@お腹いっぱい。 :2018/05/05(土) 02:30:45.11 ID:zYXtUspU0.net
>>32
ちなみにトグル動作は以下になります。

@::
WinGet Style, Style, A
If(Style & 0xC40000) {
WinSet, Style, -0xC40000, A
} else {
WinSet, Style, +0xC40000, A
}
return

34 :名無しさん@お腹いっぱい。 :2018/05/05(土) 06:28:48.21 ID:lf6rRJKL00505.net
>>30
隠すのが嫌だから消したいんだろボケ

35 :名無しさん@お腹いっぱい。 :2018/05/05(土) 06:35:45.56 ID:5xwdF/wU00505.net
>>33
@::WinSet, Style, ^0xC00000, A

36 :名無しさん@お腹いっぱい。 :2018/05/05(土) 06:38:49.75 ID:tBQxxFrn00505.net
>>34
エスパースレじゃないんだから条件あるなら先に書けよカス
後出し厨の分際で威張るな

37 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:38:14.09 ID:lf6rRJKL00505.net
>>36
死ねよゴミ豚チンカス野郎

38 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:38:37.06 ID:lf6rRJKL00505.net
>>36
死ね

39 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:39:44.03 ID:lf6rRJKL00505.net
>>36
お願い死んでくださいハゲ

40 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:40:01.25 ID:lf6rRJKL00505.net
>>36
死ねゴミ

41 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:44:22.87 ID:XmqP7MH/00505.net
なんか朝から顔真っ赤なのがいるな
NGName 4a87-+sgt

42 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:48:01.85 ID:lf6rRJKL00505.net
みんな条件あるかAHK使ってんだろボケ
わざわざ聞くなよカス

>>41
オマエも死ねデブ

43 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:49:09.72 ID:lf6rRJKL00505.net
ハゲ

44 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:49:28.70 ID:lf6rRJKL00505.net
ハゲ

45 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:52:00.96 ID:lf6rRJKL00505.net
このスレの奴らは玄人気取りになろうと必死な池沼ばかりのゴミが多い

46 :名無しさん@お腹いっぱい。 :2018/05/05(土) 07:58:50.00 ID:lf6rRJKL00505.net
ば〜か

47 :名無しさん@お腹いっぱい。 :2018/05/05(土) 08:01:13.31 ID:lf6rRJKL00505.net
>>30
オマエも死ね

48 :名無しさん@お腹いっぱい。 :2018/05/05(土) 08:20:50.07 ID:Do4xRxCi00505.net
空気を読まずにマジレスすると
タスクバー非表示にするタイミングで一緒に"自動的に隠す"も実行すりゃいいだけじゃないの?
https://teratail.com/questions/53160

winapiをAHKで使う方法については説明しない

49 :名無しさん@お腹いっぱい。 :2018/05/05(土) 08:50:57.89 ID:lf6rRJKL00505.net
だから、隠すと消すでは意味が違うだろぉおおおおおおお
このハゲーぇええええええええええええ

自動的に隠すプログラムで実証済みだボケ

50 :名無しさん@お腹いっぱい。 :2018/05/05(土) 08:55:59.29 ID:Do4xRxCi00505.net
消すだけ、隠すだけでは足りないなら 消す+隠す でいけばいいじゃない

51 :名無しさん@お腹いっぱい。 :2018/05/05(土) 09:57:09.36 ID:lf6rRJKL00505.net
俺はオマエラに殺された
絶対許さない

52 :名無しさん@お腹いっぱい。 :2018/05/05(土) 10:56:34.36 ID:pLzR2m2h00505.net


53 :名無しさん@お腹いっぱい。 :2018/05/05(土) 15:57:39.34 ID:Vq+lHIqX00505.net
>>48
今度からはちゃんと空気読んで池沼は相手にしないように心掛けましょう

54 :名無しさん@お腹いっぱい。 :2018/05/05(土) 17:48:36.62 ID:lf6rRJKL00505.net
>>53
死んでください

55 :名無しさん@お腹いっぱい。 :2018/05/05(土) 19:26:41.14 ID:Do4xRxCi00505.net
うまく行かなかったようで何より

56 :名無しさん@お腹いっぱい。 :2018/05/05(土) 19:56:26.44 ID:lf6rRJKL00505.net
おまえらみたいな馬鹿とは全く会話が成り立たないことに気づいた

57 :名無しさん@お腹いっぱい。 :2018/05/06(日) 01:58:51.80 ID:EY9d64qI0.net
すみません、質問です。

DetectHiddenWindows, On
SetTitleMatchMode, 2
PostMessage, 0x111, 65305,,, Script.ahk

このコマンドはサスペンドをトグルで動作させます。
明確にオンを送信、オフを送信するにはどうすれば良いですか?。
よろしくお願いします。

58 :名無しさん@お腹いっぱい。 :2018/05/06(日) 02:31:10.42 ID:2Sg2f0BA0.net
送るの独自メッセージにしてOnMessageで受ければ

59 :名無しさん@お腹いっぱい。 :2018/05/06(日) 02:55:34.32 ID:EY9d64qI0.net
>>58
ああ、できそうです。
ちょっと待ってください。

60 :名無しさん@お腹いっぱい。 :2018/05/06(日) 03:08:35.08 ID:EY9d64qI0.net
やっと出来ました、結果を張っておきます。
スマートじゃないかもしれませんけけど。

;送信側.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

61 :名無しさん@お腹いっぱい。 :2018/05/06(日) 04:58:52.30 ID:ZNom+fkk0.net
自演乙

62 :名無しさん@お腹いっぱい。 :2018/05/06(日) 13:48:58.27 ID:l4DQHX+J0.net
ジョイスティック入力についてお願いします。
ボタン割り当てでjoy1~32までは問題なくできたのですが、joy33以降でエラーがでます。
joy33以降も割り当てる方法をお願いします。
使用機器はCLIP STUDIO TABMATEです。

63 :名無しさん@お腹いっぱい。 :2018/05/06(日) 16:52:02.92 ID:6g8UgXkD0.net
仕様上32ボタンまでしか扱えない
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

64 :名無しさん@お腹いっぱい。 :2018/05/06(日) 18:58:38.04 ID:E3SSUCLf0.net
>>62
ハードにF13〜F24割り当てたら44ボタンまでいけそうだけど
もってないから自分で試してみて

65 :名無しさん@お腹いっぱい。 :2018/05/07(月) 20:12:41.82 ID:PFka6De50.net
数年前にこのスレで色々質問しながら、以下のようなスクリプトでディスプレイ電源状態を取得していました。
これは 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) ; <- ここにディスプレイ電源の状態が反映される

参考ページ
https://msdn.microsoft.com/en-us/library/aa373195%28VS.85%29.aspx
https://msdn.microsoft.com/en-us/library/aa373196%28v=vs.85%29.aspx

66 :65 :2018/05/07(月) 20:20:37.01 ID:PFka6De50.net
一部間違えてました。subroutine のところは以下に訂正です。

DispStatChange(wParam, lParam, msg, hwnd)
{
global DispStat
DispStat := NumGet(lParam + 16 + 4)
}

67 :65 :2018/05/08(火) 00:26:27.03 ID:3k99+Zl90.net
以前のスレはコチラでした
https://anago.5ch.net/test/read.cgi/software/1422427426/197-198

68 :名無しさん@お腹いっぱい。 :2018/05/08(火) 07:36:20.82 ID:eAnc/ZRN0.net
Ctrl+Bとか、何かのキーを押したら、MsgBoxで取得した値を表示するスクリプトを
書いてくれたら実験に協力しようという気になる人が増えると思う。
U32ではこのスクリプトでこのように表示されていましたが、U64では○○ですとか。

69 :65 :2018/05/08(火) 08:58:50.45 ID:4lleQLIXH.net
#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

70 :65 :2018/05/08(火) 09:02:07.82 ID:4lleQLIXH.net
>>68 ありがとうございます。
上記 >>69 は U32 で単独動作する AHK スクリプトです。
Windows 10 x64 1803 + AHK U32 1.1.28.02 で確認しました。
Alt + F10 では "Display On" と表示されます。また画面が消えると "Display Off" と表示して終了します。
これを AHK U64 で動作するようにしたいのですが、どなたかご助言いただけないでしょうか。

71 :65 :2018/05/08(火) 09:04:01.30 ID:4lleQLIXH.net
連投失礼いたします。
>>69 を AHK U64 上で動かすと、画面が消えたことが認識できないことが問題点です。

72 :名無しさん@お腹いっぱい。 :2018/05/08(火) 10:02:38.02 ID:eAnc/ZRN0.net
>>69
私の環境では、NumGetのところを
DispStat := NumGet(lParam + 16 + 4,0,"UInt")
にすると Display Off の表示が確認できましたよ。

73 :65 :2018/05/08(火) 14:34:21.89 ID:x9o+pxbr0.net
>>72 私のところでも正常動作しました。ありがとうございました!
しかし ,0,"UInt" を付けることで何が違うのか良く分かりません。
もし宜しければ教えていただけないでしょうか。

74 :名無しさん@お腹いっぱい。 :2018/05/08(火) 23:14:26.94 ID:eAnc/ZRN0.net
>>73
U32とU64で動作が違うというので、怪しい箇所がそこだと予想しただけなので、
実際にどのような処理の違いがあるのかは分かりませんが、
OSが32bitか64bitかによって、メモリ参照系関数でパラメータを省略した時の動作が変わるのは
ありがちということで。

75 :名無しさん@お腹いっぱい。 :2018/05/08(火) 23:32:04.34 ID:BpdqTmJx0.net
指定した座標値と座標値の間の数値を毎回ランダムに選んでにクリックさせることは可能ですか?

76 :名無しさん@お腹いっぱい。 :2018/05/09(水) 08:43:34.91 ID:4z3a6k9s0.net
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/
ここ見てこのような形で解決できました

77 :名無しさん@お腹いっぱい。 :2018/05/09(水) 08:54:31.30 ID:qIZ333Sy0.net
>>76
キー割り当てが仮のものじゃないとすると、テンキー入力で 123 とか素早くタイプすると誤爆しそうな予感。

78 :名無しさん@お腹いっぱい。 :2018/05/09(水) 11:09:38.07 ID:4z3a6k9s0.net
>>77
動作させつつscriptを編集する最中、見事誤爆しまくりだったのでwin keyに割当て直しました…。

79 :名無しさん@お腹いっぱい。 :2018/05/11(金) 15:02:48.96 ID:GZ4fS0Ie0.net
質問なのですが、マウスのサイドボタンを押している間をAltの押しっぱなしにしたくて以下のように書きました

xbutton1::send,{alt down}
return

xbutton1 up::send{alt up}
return

ゆっくり操作するには問題ないのですが、ボタンの押してから離すまでの間隔が早すぎる場合
altキーが押しっぱなし状態になってしまいます
これが押しっぱなし病でしょうか?
なにかボタンを素早く操作しても押しっぱなしにならないようなうまい書き方はないでしょうか?

80 :名無しさん@お腹いっぱい。 :2018/05/11(金) 15:33:52.86 ID:FitVeey70.net
早すぎてdownより先にupが発生してるとかでは
SetTimerとかSleepで{alt up}を少し遅らせてみたらどうだろうか

81 :名無しさん@お腹いっぱい。 :2018/05/11(金) 15:52:12.97 ID:GZ4fS0Ie0.net
>>80
SetTimeはどう使うのでしょうか?
Sleepは色々入れてみましたが効果なしでした

82 :名無しさん@お腹いっぱい。 :2018/05/11(金) 16:30:08.12 ID:WPPdckIF0.net
xbutton1::alt

って無理なんだっけ?

83 :名無しさん@お腹いっぱい。 :2018/05/11(金) 17:34:53.06 ID:+f4qK3bT0.net
単一キーのdownは押しっぱなし病の元

84 :名無しさん@お腹いっぱい。 :2018/05/11(金) 18:09:44.97 ID:1zMSR+x6a.net
Hookとかそのへんのおまじないで治ることもある

85 :名無しさん@お腹いっぱい。 :2018/05/11(金) 22:07:05.40 ID:9yuFSHXX0.net
#ifwinactive, ahk_exe abc.exe
で、ahk_exe abc.exeの部分をconstでいいので変数にしたいのです

たとえば、
title=ahk_exe abc.exe とかして
#ifwinactive, %title%
とか出来ませんか。 スクリプト全体に渡ってこのようなことが出来れば、titleを変えるだけでいろいろと便利なのですが

86 :名無しさん@お腹いっぱい。 :2018/05/11(金) 22:14:47.29 ID:FgREsXqR0.net
>>85
#If WinActive(title)

87 :名無しさん@お腹いっぱい。 :2018/05/11(金) 22:15:54.53 ID:9yuFSHXX0.net
ありがとうございました

88 :名無しさん@お腹いっぱい。 :2018/05/11(金) 22:35:14.67 ID:wgcvYVTT0.net
>>79
近いことやってるけど、押してる間じゃ無くてトグルでやってる。

*AppsKey::Send % (t:=!t) ? "{Shift Down}" : "{Shift Up}"

89 :79 :2018/05/12(土) 03:50:58.79 ID:ElsJxBgC0.net
>>82
ほんとだ、普通にそれで出来ました
その書き方だと単体で使用するにはどれだけ高速にボタンを押し離ししても押しっぱなしは生じないのですが
条件を付けたりすると、やはりボタンの素早い操作には処理が追いつかないようで押しっぱなしが生じます
自分は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
}

>>88
三項演算というやつでしょうか?
すいません、もう少し具体的に教えていただけないでしょうか

90 :名無しさん@お腹いっぱい。 :2018/05/12(土) 07:41:50.79 ID:D09dT/mX0.net
>>89
↓こんなので良いんじゃないかな?

#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
}
}

91 :名無しさん@お腹いっぱい。 :2018/05/12(土) 09:07:21.06 ID:q3q1kDjq0.net
>>89の書き方だとラベルの二重定義になってると思うんだがエラーにならずに動いてるん?

92 :名無しさん@お腹いっぱい。 :2018/05/12(土) 10:36:47.40 ID:ElsJxBgC0.net
>>91
特にエラーは出ずに動きました

>>90
その書き方でかなり押しっぱなしは発生しなくなったのですがそれでも数十回に一回は発生します
そこで 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
}
}

93 :名無しさん@お腹いっぱい。 :2018/05/12(土) 12:10:18.14 ID:mbfaXoIA0.net
ブラウザによってはアクセラレーターキーを無効化出来る設定があるぜよ

94 :名無しさん@お腹いっぱい。 :2018/05/12(土) 21:26:21.82 ID:rCHokzEy0.net
SetKeyDelay, , 500
RButton::
Send, {RButton}
Return

SetKeyDelayでPressDurationを指定してもマウスボタンには利きません
SetMouseDelayにはPressDurationの設定がありません
マウスボタンを押してから離すまでの時間を指定するには
Send, {RButton Down}
Sleep Up

95 :名無しさん@お腹いっぱい。 :2018/05/12(土) 21:27:53.07 ID:rCHokzEy0.net
スミマセン途中で誤送信してしまいました
Send, {RButton Down}
Sleep, 500
Send, {RButton Up}
とその都度Sleep入れるしか無いのでしょうか?

96 :92 :2018/05/13(日) 02:37:32.12 ID:f1BK+2eu0.net
>>92 のスクリプトを試しに下のように書き換えたら 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の中に使えないのでしょうか?

97 :名無しさん@お腹いっぱい。 :2018/05/13(日) 03:29:16.70 ID:f1BK+2eu0.net
すいません、if (checker()){ } の最後の } が抜けてます

98 :名無しさん@お腹いっぱい。 :2018/05/13(日) 07:42:47.80 ID:PU8DYjWs0.net
リマップとホットキースクリプトの違いなど、いろいろとツッコミどころがあったけど、
動作しているならまぁいいかと思っていましたが、こうなってくると、もう、
具体的に何が目的なのかを書いてくれた方が良いかもね。
全く別のアプローチで解決する可能性があるので。

99 :名無しさん@お腹いっぱい。 :2018/05/13(日) 08:17:14.33 ID:f1BK+2eu0.net
>>98
目的はfirefoxのEnhancer for YouTubeというアドオンを使うと
マウスカーソルがyoutubeのプレイヤー上にある時に、alt+マウスホイール上下で
ボリュームを調整できるのでこれをマウス操作だけで完結できるように
マウスサイドボタンにaltを割り当てるということです

ちなみに if(checker()) が機能しないのは仕様でしょうか?
それとも他に書き方があるのか、 #if checker() にしないと駄目ということでしょうか?

100 :名無しさん@お腹いっぱい。 :2018/05/13(日) 08:25:28.46 ID:tzlDO4vq0.net
まあ>90の段階でこうなる予感はしてた

#ifとifの違いをきちんと把握しよう
ifはラベルの外に書いても機能しない
ifwinactiveの確認が必要ならcheckerの中に入れ込んで
#if checker() の形は崩さないようにする

ていうか動いてるみたいだからスルーしてたけど
xbutton1::alt (リマップ) と xbutton1 up:: て同時に使って大丈夫なんだっけ?

101 :名無しさん@お腹いっぱい。 :2018/05/13(日) 08:39:56.55 ID:PU8DYjWs0.net
>>99
じゃ、こういうことなのかな

#IfWinActive,YouTube - Mozilla Firefox
xbutton1 & WheelUp::Send,!{WheelUp}
xbutton1 & WheelDown::Send,!{WheelDown}
#IfWinActive

102 :名無しさん@お腹いっぱい。 :2018/05/13(日) 10:29:48.42 ID:81EHtS+00.net
俺もEnhancer for YouTube使ってるけど、そもそもYoutubeのプレイヤーって
ホイールアップダウンで、ボリュームのアップダウンしない?
うちは普通になってるんだけど。

103 :名無しさん@お腹いっぱい。 :2018/05/13(日) 12:25:30.19 ID:f1BK+2eu0.net
>>101
そう書きたいのですがおま環というかエレコムのマウスドライバの関係だと思うのですが
WheelUp WheelDown WheelRight WheelLeft
に関するスクリプトだけが謎のタイミングで急にautohotkeyが認識しなくなるので
(その際他のマウスボタンやキーボードに関するスクリプトは問題ない)
仕方なくホイールの上下、ティルトを含めないスクリプトにしています

この症状については以前このスレで質問させてもらい、色々試しましたが解決しませんでした
なにかアイデアはないでしょうか?

>>102
ボリュームの上にカーソルを持っていくと出来るのですが、プレイヤー上のどこでも
ボリュームを操作したいので

104 :名無しさん@お腹いっぱい。 :2018/05/13(日) 14:28:04.11 ID:PU8DYjWs0.net
こんなのもいけそうだけど。

xbutton1 & LButton::Send,+{Up}
xbutton1 & RButton::Send,+{Down}

105 :名無しさん@お腹いっぱい。 :2018/05/13(日) 17:26:37.62 ID:f1BK+2eu0.net
>>104

・ボタンクリックでの音量調整はどうしてもホイール操作に比べ時間が掛かってしまう

・且つ、>>103で書いたように xbutton1 & WheelUp::Send,!{WheelUp} としたいがなぜかマウスのウィール操作を急に
autohotkeyが受け付けなくなってしまうので出来ない

なので>>92のような面倒な書き方になっています
色々提案して下さってありがとうございます

106 :名無しさん@お腹いっぱい。 :2018/05/13(日) 18:18:36.96 ID:tzlDO4vq0.net
とりあえずchecker()の頭に

IfWinNotActive ,YouTube - Mozilla Firefox
return 0

を入れたら希望の動作にはなるんじゃない
美しくはないけど

107 :名無しさん@お腹いっぱい。 :2018/05/13(日) 20:03:27.01 ID:0+/Cihjs0.net
Windows 10 (1803) + AHK (1.1.28.02) でシステムクロックのウィンドウを出すために以下のような操作をしています
しかしこれでタスクトレイへのクリックが送られない時がよくあるのですが、何が問題なのでしょうか

ControlClick, TrayClockWClass1, ahk_exe explorer.exe ahk_class Shell_TrayWnd

108 :名無しさん@お腹いっぱい。 :2018/05/13(日) 21:19:28.34 ID:S9LI0lKr0.net
>>107
試したけどタスクバーが非アクティブだとスカすることがあるみたいですね
WinActivate, ahk_class Shell_TrayWnd
を手前に入れたらウチでは失敗しなくなったけど

109 :107 :2018/05/13(日) 21:31:43.63 ID:0+/Cihjs0.net
>>108
おーこれは良いアイディア。コチラでもバッチリでした。ありがとう!

110 :名無しさん@お腹いっぱい。 :2018/05/13(日) 22:09:59.89 ID:H9IWDP130.net
これでも出来た
ControlSend, TrayClockWClass1, {Enter}, ahk_class Shell_TrayWnd

111 :名無しさん@お腹いっぱい。 :2018/05/15(火) 15:38:04.99 ID:78ifrD+i0.net
WheelScroll.ahk作者さん
手持ちVERUPしていたらアップして下さい!
くれくれでごめんなさい_(._.)_

112 :名無しさん@お腹いっぱい。 :2018/05/15(火) 16:32:44.84 ID:Ym6pn8BO0.net
>>111
作者さんじゃないけど…
ホイールスクロール - eamat @Cabinet - アットウィキ
https://www6.atwiki.jp/eamat/pages/30.html

でも、win10使いなら標準でホイールリダイレクト出来るようになってるから使う必要ないと思う

加速機能が必要なら別だが…

113 :名無しさん@お腹いっぱい。 :2018/05/15(火) 17:12:59.28 ID:78ifrD+i0.net
>>112
お気遣いありがとうございます。
shift+横スクロールをメインに、加速以外を使っている感じです。
普通のコントロールじゃないソフトが多くて、手放せないんです。

114 :名無しさん@お腹いっぱい。 :2018/05/16(水) 01:11:54.75 ID:CcEi62G10.net
>>111
すみません、明日中に上げますので少々お待ちを

以前報告いただいたexcel関連の問題ですよね
修正した記憶はあるんですが手元のソースはなぜか巻き戻ってまして
修正内容もまるっと記憶の彼方という(汗
もいちどデバッグして直す箇所の特定もできたんで今度は大丈夫と思います

115 :名無しさん@お腹いっぱい。 :2018/05/16(水) 08:32:35.87 ID:FdEiwpS40.net
>>114
お時間いただきまして、ありがとうございます!!!!

116 :名無しさん@お腹いっぱい。 :2018/05/16(水) 14:54:11.54 ID:CcEi62G10.net
お待たせしました

WheelScroll.ahk 2018.05.16
・Shift+ホイール での横スクロールホットキーの復帰
・Excelで分割/固定ウィンドウでスクロールできなくなっていたのを修正
  分割時 : 縦横共に互換モードに戻した(操作するスクロールバーを指定する必要があるため)
  固定時 : 非表示のスクロールバーは見ないようにした
・モダンUI対策 起動時に1回だけレジストリを確認するように変更
 (今まではホイール回すたびに毎回見に行ってた)
https://img.atwikiimg.com/www6.atwiki.jp/eamat/attach/30/6/WheelScroll_20180516.zip
https://github.com/eamatt/WheelScroll.ahk

スクリプト修正よりgitの使い方ググってた時間のほうが長いという

117 :名無しさん@お腹いっぱい。 :2018/05/16(水) 16:12:56.07 ID:CcEi62G10.net
アドレス修正
https://img.atwikiimg.com/www6.atwiki.jp/eamat/attach/30/7/WheelScroll_20180516.zip

118 :名無しさん@お腹いっぱい。 :2018/05/16(水) 17:46:55.96 ID:4hkzuek2H.net
AHK とちょっと違う質問なのですがお許し下さい
ChgKey.exe で CapsLock キーに修飾キーになりそうなキーを割り当てたいのですが、
Shift、Ctrl、Alt、Win、PrtScr、Pause、変換、無変換、
その他 OS で強固に制御しているキー *以外* でどんなキーを割り当てたら良いでしょうか
アイディアいただけますと幸いです。

119 :名無しさん@お腹いっぱい。 :2018/05/16(水) 17:56:26.80 ID:I4HJqw7S0.net
>>118
F13〜F24(スキャンコードで登録)
あとAppsKeyも俺は修飾キー替わりに使ってる

120 :名無しさん@お腹いっぱい。 :2018/05/16(水) 18:57:25.17 ID:QKszEjpp0.net
>>118
うんこ

121 :名無しさん@お腹いっぱい。 :2018/05/17(木) 09:13:31.52 ID:QuQV8BL30.net
>>116
ご対応賜りまして感謝致します。
やりたいこと全てが出来るようになりました!
ありがとうございました!!!!!!

122 :名無しさん@お腹いっぱい。 :2018/05/17(木) 21:33:21.39 ID:cFMfNLbs0.net
IME 制御は例の関数を使うとして
IME オンでも無変換を押下している時には IME がオフになる (無変換を離せば IME オンに戻る)
という制御はどうやったら出来るでしょうか
イマイチよいアイディアが出なくて…

123 :名無しさん@お腹いっぱい。 :2018/05/17(木) 22:01:04.20 ID:Vcj1petK0.net
無変換:: で get:=IME_GET() と IME_SET(0) して
無変換 up:: で IME_SET(get) で戻すのでは何か問題が出るの?

124 :名無しさん@お腹いっぱい。 :2018/05/18(金) 18:59:21.02 ID:KKx2zzQZ0.net
回りくどくていまいち何のためにって感じだな
SetTimerで自動制御すりゃ楽だろ

SetTimer, Timer01, 1000
;━━━━━━━━━━━

IMEをオンにしたいキー::
IME_SET(1)
}
Timer01: ;タイマー01をセット
If(A_TimeIdlePhysical>10000) ;10秒間操作がなかったら(キー操作中はタイマーリセット)
IME_SET(0) ;半英数(IMEをオフにする)
Return

125 :名無しさん@お腹いっぱい。 :2018/05/18(金) 20:15:42.06 ID:bjTYS26a0.net
質問してレス貰ってるのにそれに対して何も答えない奴って何なんだろうな

126 :名無しさん@お腹いっぱい。 :2018/05/18(金) 20:55:46.45 ID:XgWrM3wa0.net
無変換+アルファベットキーを普通のキー入力に使うってことなのかな?
勿体無い。

127 :名無しさん@お腹いっぱい。 :2018/05/18(金) 21:17:35.97 ID:KKx2zzQZ0.net
すまんオンとオフが逆だな
普通はIMEをオフに戻すから勘違いしたわ

しかし、IMEがオンに戻るって発想が変だな
どういうシーンを想定してんだろ

128 :名無しさん@お腹いっぱい。 :2018/05/18(金) 21:20:50.83 ID:XgWrM3wa0.net
日本語入力中に短い英単語を打ちたい時とかを想定しているんじゃないかな。

129 :名無しさん@お腹いっぱい。 :2018/05/18(金) 21:58:14.22 ID:j5bAicz60.net
フォトショの場合 ショートカットキー押してすぐ離すとツール切替
長押しは押してる間だけツール有効 (離したら元のツールに戻る) けどそんなイメージ?
IMEの場合はワンキーでオンオフ切り替えのみだから
手動でオフってまたオンでも手数は変わらない気もするけど

あとIMEオンのまま英数入力ならSHIFT押しながらでできるね
まあ全部大文字になっちゃうから小文字や先頭のみ大文字にしたいなら変換候補出す必要あるけど

130 :118 :2018/05/19(土) 13:28:30.64 ID:wVFjDZxF0.net
みなさんご返答ありがとうございます
IME 関数をちょっとカスタマイズしていたのを思いだして、それで動かなくなっていました
>>123-124 みたいなので出来そうでした
やりたい事は >>128 みたいなので、どこかのページでチラッと見たネタを思い出した次第です
しかし普通に modifier として使う方が便利そうかも…

131 :名無しさん@お腹いっぱい。 :2018/05/19(土) 19:28:58.96 ID:mdGAX3F40.net
>>130
お前のやりたい事と124のやり方は全く違うんだが
みたいなので出来そうとか適当言い過ぎだわ

132 :名無しさん@お腹いっぱい。 :2018/05/19(土) 21:23:30.22 ID:KK99Bs8a0.net
[変換]にIMEオン
[無変換]にIMEオフ
をIME設定で登録して、日本語入力時は[変換]キー押してから半角英数は[無変換]キー押してから
と癖付けて運用する方が後々面倒にならないと思う(IME関数は別の目的で使う)

自分はそんな感じにしてるけど、別にお勧めするわけじゃない

133 :名無しさん@お腹いっぱい。 :2018/05/19(土) 22:20:28.93 ID:5Aa/E7Ht0.net
>>132
自分は半角/全角キーをIMEオン、英数(CapsLock)キーをIMEオフに登録して
変換キーと無変換キーはまた別の用途に使ってる
デフォルトのトグルは不便だよね

134 :名無しさん@お腹いっぱい。 :2018/05/19(土) 23:03:38.21 ID:KK99Bs8a0.net
>>133
>デフォルトのトグルは不便だよね
そうそう、自分の場合は左手小指用「BS」キーにリマップしてる

まあ、本人が使いやすいようキー割り当てしてるんだから他人がとやかく言う筋合いはないんだが、つい…

135 :名無しさん@お腹いっぱい。 :2018/05/19(土) 23:22:42.13 ID:lAcun/c30.net
そういえばIMEトグルを変換に割り当てる目的でahk使い始めたんだった
あのころはリマップもIME関数もなかったからshift+半全をsendしてた記憶

136 :名無しさん@お腹いっぱい。 :2018/05/19(土) 23:29:25.82 ID:5Aa/E7Ht0.net
IMEトグルを変換に割り当てるだけならAHK使う必要ないんだけど

137 :名無しさん@お腹いっぱい。 :2018/05/20(日) 00:11:27.02 ID:ioKewk350.net
自分環境が特殊過ぎると他人のパソコンを使う時に大変なんだよな。
パソコンの講師とか。

138 :名無しさん@お腹いっぱい。 :2018/05/20(日) 00:48:58.75 ID:Iao0w2V+0.net
んだな
当時勤めてた会社で不特定のPC(主に納品用)を触ってて
ちょっとの使用でもストレスだった
ahkなら自分が使うときだけ常駐させれば他の人が誤爆することもないし
exeとiniだけ持ってけばよかったから楽だったわ

139 :名無しさん@お腹いっぱい。 :2018/05/26(土) 04:57:24.57 ID:oa9ABaVl0.net
1.1.29.00
WinMoveがバグってる

140 :名無しさん@お腹いっぱい。 :2018/05/26(土) 06:22:15.62 ID:mnVTUBCe0.net
WinMoveすると落ちる
使い物にならないから戻すか

141 :名無しさん@お腹いっぱい。 :2018/05/26(土) 06:27:56.12 ID:mnVTUBCe0.net
https://autohotkey.com/boards/viewtopic.php?f=14&t=49578

既にフォーラムで報告されてた

142 :名無しさん@お腹いっぱい。 :2018/05/26(土) 06:50:32.10 ID:SEDZc1bo0.net
>>140
報告ありがとう

143 :名無しさん@お腹いっぱい。 :2018/05/26(土) 15:02:17.71 ID:oa9ABaVl0.net
MsgBox,% f()

f(){
Try
Return, Format("123")
Finally
OutputDebug, % "999"
}

これなんで999が返ってくるん?

144 :名無しさん@お腹いっぱい。 :2018/05/27(日) 03:04:05.71 ID:mNfKe8MB0.net
Windows10のエクスプローラーで表示>レイアウトの設定の状態を取得する方法ってありませんか?

145 :名無しさん@お腹いっぱい。 :2018/05/27(日) 04:18:41.66 ID:mNfKe8MB0.net
>>144に捕捉
レイアウトの設定とはアイコンサイズ大/中/小や「一覧」「詳細」などの設定項目のことです
現在開いてるウィンドウがどの設定になっているか、出来れば判別したいです

146 :名無しさん@お腹いっぱい。 :2018/05/27(日) 10:16:19.80 ID:FDRrCAGv0.net
>>145
Regshotで設定差分調べる。

147 :名無しさん@お腹いっぱい。 :2018/05/28(月) 21:15:45.40 ID:X5zesDO70.net
>>143
Tryステートメント中のReturnの実行前にも
Finallyステートメントが処理されるからじゃないの?

148 :名無しさん@お腹いっぱい。 :2018/05/29(火) 15:43:12.15 ID:ynECSFQ70NIKU.net
LButton::Click を実行するとマウスの左長押しが使えなくなってしまうのですが
なにか良い方法はないでしょうか?
(実際はClickまでの間にいろいろな条件が入り,条件の有無に関わらず最後にClickはいれたい)

149 :名無しさん@お腹いっぱい。 :2018/05/29(火) 16:04:45.62 ID:qIxenpTI0NIKU.net
LButtonに割り振るとか、ぶっちゃけ正気の沙汰とは思えない
どうしてもというなら、~Lbutton::やLButton up::を駆使して使うしか

150 :名無しさん@お腹いっぱい。 :2018/05/29(火) 16:24:09.50 ID:FTnm1fK80NIKU.net
LButton:: はOSが自動やってくれてる左クリ系制御を全て無効にして分捕るということなので
相応の制御を自力で一から入れ込まないといけなくなるよ
長押しはもちろんドラッグもね
MouseGestureL.ahkみたいに徹底的にやるなら不可能ではないが方法は簡単ではない
あとスクリプトがフリーズしたり暴走したときマウス無しでAHKスプリクトを
終了させるキーボードスキルも要求される

#if で条件つけて稼働場所を限定するか 押下キャンセルは諦めて ~Lbutton:: で対応するかあたりが
簡単な対応方法かと

151 :148 :2018/05/29(火) 17:14:25.84 ID:ynECSFQ70NIKU.net
>>149,150
ありがと
長押しだけならまだしもドラッグとかも制御しないとだし諦める方向でいきます
よく使うキー(マウスだけど)ほどリマップするとロクなことにならないか…

152 :名無しさん@お腹いっぱい。 :2018/05/29(火) 17:15:49.07 ID:zu3Xn/320NIKU.net
Send, {Blind}{LButton down}
KeyWait, LButton
Send, {Blind}{LButton up}

153 :名無しさん@お腹いっぱい。 :2018/05/29(火) 17:18:21.62 ID:zu3Xn/320NIKU.net
>>147
Finallyブロックがいつ処理されようとReturnの内容変わる意味がわからない
↓これすらバージョンに乗っ取られる

Try {
 Return, A_AhkPath
} Finally {
 var := A_AhkVersion
}

154 :名無しさん@お腹いっぱい。 :2018/06/03(日) 01:58:55.04 ID:Zz0+tDU+0.net
1.1.29.01来たね

155 :名無しさん@お腹いっぱい。 :2018/06/04(月) 01:34:29.00 ID:2J5jkB1m0.net
Runコマンドだと10回中8回は起動に失敗するアプリがあります。
しかしダブルクリックで起動すると100%確実に起動しします。
このような時に他に何か良い方法はありますか?。

156 :名無しさん@お腹いっぱい。 :2018/06/04(月) 01:48:10.15 ID:Gs/XQrbx0.net
>>155
失敗する理由が良く分からないけど、プロセスが存在しなかったらLoopで繰り返しRunを試みる
そしてプロセスが存在したらBreakするようにすれば良いのでは?
それでもダメなら管理者権限とか見直した方が良いかと

157 :名無しさん@お腹いっぱい。 :2018/06/04(月) 03:40:36.93 ID:2J5jkB1m0.net
>>156
わかりました、やってみます。

158 :名無しさん@お腹いっぱい。 :2018/06/06(水) 08:46:29.43 ID:pq6dH1r600606.net
指定したウインドウがアクティブになったときになにかをする、ということって出来ますか

159 :名無しさん@お腹いっぱい。 :2018/06/06(水) 08:47:15.03 ID:pq6dH1r600606.net
Dllその他を使ってもいいです

160 :名無しさん@お腹いっぱい。 :2018/06/06(水) 08:55:48.02 ID:Fnr7cl+N00606.net
最近のパソコンならSetTimerで監視してもそんなにパフォーマンスを気にしなくても大丈夫な気がする。

161 :名無しさん@お腹いっぱい。 :2018/06/06(水) 09:11:20.56 ID:itZOp+je00606.net
SetWindowsHookExとOnMessage使えばいけるんじゃね
SetTimer使うほうが簡単だと思うけど

162 :名無しさん@お腹いっぱい。 :2018/06/06(水) 09:19:29.77 ID:QDPlyGjY00606.net
https://sites.google.com/site/agkh6mze/howto/winevent
でできると思う

163 :名無しさん@お腹いっぱい。 :2018/06/06(水) 09:38:52.60 ID:pq6dH1r600606.net
おおお、これはありがとう
SetWinEventHook

164 :名無しさん@お腹いっぱい。 :2018/06/06(水) 18:20:36.97 ID:DAkGEPen00606.net
>>163
そのページの見本だけではアンフックされないから注意


myHook := DllCall("SetWinEventHook"...ry

OnExit("UnhookWinEvent")
return

UnhookWinEvent() {
if (myHook)
DllCall("UnhookWinEvent", "Ptr", myHook) ; https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd373671(v=vs.85).aspx
}

165 :名無しさん@お腹いっぱい。 :2018/06/06(水) 18:22:52.34 ID:DAkGEPen00606.net
>>164
訂正
global myHook := DllCall("SetWinEventHook"...ry

166 :名無しさん@お腹いっぱい。 :2018/06/06(水) 19:18:49.38 ID:kCzLbrdp00606.net
If the client's thread ends, the system automatically calls this function.
って書いてあるけど

167 :名無しさん@お腹いっぱい。 :2018/06/06(水) 20:08:26.81 ID:DAkGEPen00606.net
>>166
スクリプトを終了させる場合は必要ないのね、ありがと

168 :名無しさん@お腹いっぱい。 :2018/06/06(水) 22:16:07.19 ID:Tho0roqH0.net
基本的な使い方の質問なんだけど
ReloadってReloadが書かれてるスクリプトしか再読込してくれないよな?
つーわけで全部のスクリプトに
~^s::Reload
を書いてるんだけど、みんなはどうやってるの?

169 :名無しさん@お腹いっぱい。 :2018/06/06(水) 22:36:47.61 ID:LgGqWI680.net
メインの常駐スクリプトはAutoHotkey.ahk一つのみなので何も困らない
他の複数スクリプトを常駐させたい場合はAutoHotkey.ahkに#Include書いておけば
メインをReloadするだけで他も一緒にリロードできる

あと余談だけど#SingleInstance forceを付けとけばスクリプト再実行するだけで確認ダイアログ出さずに即座にリロードできる

170 :名無しさん@お腹いっぱい。 :2018/06/06(水) 23:16:55.24 ID:itZOp+je0.net
うちもリロードにホットキー割り当ててるのはAutohotkey.ahkだけだな
他のスクリプトは使う時だけ起動だしリロードさせたいときは都度タスクトレイ右クリから選んでる

171 :名無しさん@お腹いっぱい。 :2018/06/06(水) 23:33:40.39 ID:+RADH46Q0.net
>>168
ホットキー1つで全部のスクリプトを再起動させたいなら、こんな感じかな
^+a::
run,スクリプトAのパス /r
sleep,10
run,スクリプトBのパス /r
sleep,10
reload
return

先にreloadを持ってくると、その時点で再起動するから、それ以降のパス付のリロードの記述が
あっても意味なしになると思う

172 :名無しさん@お腹いっぱい。 :2018/06/07(木) 00:02:29.94 ID:QFEim0ee0.net
俺も #Include が良いと思うよ。
別々に再起動したいから分けるもんだし。

173 :名無しさん@お腹いっぱい。 :2018/06/07(木) 01:23:10.17 ID:M9wP2dqd0.net
#Includeでうまいこといけた
>>169の余談も参考になったわ
サンクス

174 :名無しさん@お腹いっぱい。 :2018/06/08(金) 18:34:21.32 ID:BQ6ELLYn0.net
v1.1.29.01にしたら、「半角/全角」キーに「Esc」を割り当てられなくなってしまった……
orz

175 :名無しさん@お腹いっぱい。 :2018/06/09(土) 14:28:35.83 ID:5tbx7+6D0.net
msgboxのフォントを指定する事は出来ませんか?。

176 :名無しさん@お腹いっぱい。 :2018/06/09(土) 20:33:16.22 ID:SYGh9yCY0.net
過去何度も同じ質問あるけどMsgboxはAutoHotKeyで作っているのではなく
Windows由来のものなので無理(Windows側のフォントを変えるなら別だけど)
Msgboxと似たようなことしたい場合はググれば出てくる

177 :名無しさん@お腹いっぱい。 :2018/06/10(日) 00:30:19.09 ID:qyZNhA650.net
ああ、GUIで作成すっれば良いんですね。
msgboxに拘り過ぎてGUIの事をわすれていました。

178 :名無しさん@お腹いっぱい。 :2018/06/10(日) 14:05:19.29 ID:iGxHhiEo0.net
レジストリ操作してWindowsのフォントを変更→msgboxを出す
という方法もあるんやぞ

179 :名無しさん@お腹いっぱい。 :2018/06/10(日) 15:59:58.80 ID:qyZNhA650.net
それは私には高度そうですね。
GUIで作成しましたのでこれで良しとします。

180 :名無しさん@お腹いっぱい。 :2018/06/10(日) 16:30:39.62 ID:Sc4ly2P1H.net
>>178
やり方教えて。

181 :名無しさん@お腹いっぱい。 :2018/06/10(日) 16:31:24.67 ID:Sc4ly2P1H.net
>>178
やり方教えて。

182 :名無しさん@お腹いっぱい。 :2018/06/10(日) 17:05:53.64 ID:+dLhpj100.net
#ifブロックのネストはできないのか
ダブりエラーで弾かれる

183 :名無しさん@お腹いっぱい。 :2018/06/10(日) 17:28:56.51 ID:ksuuGlG10.net
>>180
横からだが…
Win10のシステムフォント耐えられんかったから、いくつかソフト探してみたけど
ttps://freesoft-100.com/review/meiryo-ui-mo-daikirai.html
これが自分には使いやすかった。スレチだから後は試してみてちょうだい

184 :名無しさん@お腹いっぱい。 :2018/06/10(日) 19:42:10.70 ID:u54rRvmV0.net
>>183
ああ、これ見たことある。

185 :名無しさん@お腹いっぱい。 :2018/06/10(日) 21:51:17.37 ID:bKv1nP1ZM.net
meiryoなんて大嫌い でシステムフォントをmeiryoに変える矛盾
遊ゴシック見づらいんだよ

186 :名無しさん@お腹いっぱい。 :2018/06/10(日) 22:09:43.17 ID:U7BX7w+c0.net
別にフリーフォントをインストールしても構わんのだろう?

187 :名無しさん@お腹いっぱい。 :2018/06/10(日) 22:22:54.28 ID:+LJpkf3H0.net
>>185
良いディスプレイ買えよ

188 :名無しさん@お腹いっぱい。 :2018/06/10(日) 23:39:25.65 ID:t7L4s73I0.net
モニタはナナオのいい奴使ってるし眼鏡も中近に変えたばかりよ
等幅はRicty、Myrica、Cica あたりを気分で使い分けてるけど
Pは個人的に明瞭が一番見やすいと感じる

189 :名無しさん@お腹いっぱい。 :2018/06/11(月) 00:01:43.60 ID:2MCm+kMz0.net
いい加減スレチなんで自重しろ

190 :名無しさん@お腹いっぱい。 :2018/06/11(月) 23:06:49.37 ID:sbPTjzXk0.net
autohotkeyを管理者で起動しています
スタートアップに登録してOSを起動するとUACが当然でてくるんですけど
UAC回避のためにタスクスケジューラで最高特権でやろうとするも
Ahkファイル起動だとうまくいきません
UAC回避で何か良い策はないでしょうか

191 :名無しさん@お腹いっぱい。 :2018/06/11(月) 23:21:42.72 ID:uv7Vy6l00.net
>>190
スクスケジューラーから起動するときに AHK のフルパスを指定し、
.ahk を引数にする

192 :名無しさん@お腹いっぱい。 :2018/06/11(月) 23:24:44.07 ID:p/Y0Jojy0.net
>>190
普通にタスクスケジューラで行けるはずだけど?
https://www.maketecheasier.com/schedule-autohotkey-startup-windows/
肝はプログラム指定をAutoHotkey.exeにしてオプションにahkファイル指定することくらいかな
同一フォルダのAutoHotkey.ahkならオプション指定も必要無い

ちなみに俺は別の理由があってCLaunchというランチャーソフトから常駐用AHKスクリプトを自動起動するようにしてる
この方法でも管理者権限で問題なく起動できる

193 :名無しさん@お腹いっぱい。 :2018/06/12(火) 01:41:40.67 ID:WKuv7FAY0.net
AutoHotKeyの最新版(1.1.27.07)にしたらInvalid hotkeyエラー
https://qiita.com/totto357/items/5d86ee80a654dd9ec95f

194 :名無しさん@お腹いっぱい。 :2018/06/12(火) 01:45:31.00 ID:Psiyv3cB0.net
4ヶ月も前の記事今更貼るなよ
前スレROMってろ

195 :名無しさん@お腹いっぱい。 :2018/06/12(火) 02:09:54.90 ID:QUuGsdgL0.net
>>191
>>192
ありがとうございました
お陰様でできました
バッチファイルでスタートアップしたいものをまとめていたのですが
その記述では.ahkファイルを直接起動できていたのでタスクスケジューラでもできるものと思っていました
本当に助かりました

196 :名無しさん@お腹いっぱい。 :2018/06/12(火) 19:50:48.34 ID:+yDiYOBA0.net
初心者です。気にしないで教えて君書き込みします。
ヒントやそれがわかるURLなど教えて下さい。

1.テキスト入力ボックスを出して、そこに僕が手入力した文字をスクリプトの後のステップで違うところに書き出すには?
2.スクリプトが任意のステップで僕のOKサインが出るまでストップさせるには?例えばOKボタンが押されるまでとか

197 :名無しさん@お腹いっぱい。 :2018/06/12(火) 20:21:01.46 ID:+1i03+1U0.net
>>196
1に関しては違うところに書き出すをもっと具体的に
アクティブのウィンドウとか開いてないテキストファイルとかいろいろ考えられる

2に関してはwikiを読んでから質問しなさいな
コマンドの一覧流してみるだけでも見当がつけられるはず

198 :名無しさん@お腹いっぱい。 :2018/06/12(火) 20:21:54.62 ID:+1i03+1U0.net
>>197訂正
アクティブのウィンドウ→すでに開いているウィンドウ

199 :名無しさん@お腹いっぱい。 :2018/06/12(火) 20:39:54.87 ID:We4VuwXu0.net
1. InputBox出して入力されたテキストをバッファに保存
後はそれをスクリプトの後のステップで違うところに書き出せばよい
2. msgbox

200 :名無しさん@お腹いっぱい。 :2018/06/12(火) 21:55:00.49 ID:+yDiYOBA0.net
>>199
ありがとうございます。成功しました。すごい適当でむちゃくちゃですが。196の要求満たせました。

質問です。
ToolTip以外に簡単に画面に文字を表示する方法ってないのでしょうか?
ダイアログ表示するしかないのでしょうか?
ToolTipって文字が小さいしすぐに消えるイメージがあって。

201 :名無しさん@お腹いっぱい。 :2018/06/12(火) 21:57:21.16 ID:zqrDN+4l0.net
>>200
俺はSplashImageを画像無しで使ってる。

202 :名無しさん@お腹いっぱい。 :2018/06/12(火) 22:01:53.10 ID:+E5cZsHs0.net
一応ToolTipでも

ToolTip, ツールチップを10秒間表示します。
sleep 10000
ToolTip
return

みたいにsleepを入れれば消えるまでの時間は調整できるよ

203 :名無しさん@お腹いっぱい。 :2018/06/12(火) 22:25:51.15 ID:+yDiYOBA0.net
>>201
ありがとうございます。まだこちらのほうが文字が大きくていいですね。
>>202
スリープ入れたら長くできるんですね。でもスリープを入れるとその間スクリプトが止まるのが
なんか嫌でして。スクリプトの進行を止めずに文字を一定時間表示させたいという希望がありまして。
settimerとかいうのを設定すればそういうのができるのかな?わからないですが。

ありがとうございました。汚いながらとりあえずグリーン載ったって感じです。

204 :名無しさん@お腹いっぱい。 :2018/06/12(火) 22:45:48.29 ID:BneWZD2B0.net
tooltipの代わりになるProgress
https://qiita.com/neokix/items/c38d0bfae93650e90e59

205 :名無しさん@お腹いっぱい。 :2018/06/12(火) 22:50:27.00 ID:4hgE51+C0.net
>>203
ToolTipは消さなければずっと表示されるだろ
sleepなんて要らねえよ
まず使って試してから発言しろよ

206 :名無しさん@お腹いっぱい。 :2018/06/12(火) 23:11:09.23 ID:+E5cZsHs0.net
>>203l
ToolTipの仕様から説明するのは面倒だから省略したけど、>>205の人が言うように別に表示時間を
伸ばすためにsleepを入れたわけじゃないよ
表示されっぱなしでいいなら特にスクリプトを止める要素も無い

207 :名無しさん@お腹いっぱい。 :2018/06/13(水) 02:00:44.69 ID:kee9CeXG0.net
>>205
試してから言ったんだが。
謝れよ

208 :名無しさん@お腹いっぱい。 :2018/06/13(水) 02:16:04.10 ID:WE+4cSWn0.net
>>207が勘違いで無礼な口をききまして誠に申し訳ございませんでした

209 :名無しさん@お腹いっぱい。 :2018/06/13(水) 02:16:27.04 ID:kee9CeXG0.net
うちの環境だとToolTipだけだと表示なにもされない。
sleepいれた複数行だとはじめてツールチップが表示される。
なにこれ。なにが作用してんの。ツールチップちっちゃくて色薄いし身づらい〜

SplashTextOnでタイトルのみってシンプルでいいかなと思ったけど、表示位置変えられないっぽいのが
がっかり。
204のサンプルgif?が良さげなんで見てみます。ちょっとむずいのかな

210 :名無しさん@お腹いっぱい。 :2018/06/13(水) 03:24:33.08 ID:ijaZStKH0.net
>>207
じゃあ実際に試したそのスクリプトを貼ってみろよ
本当に試していたら

>ToolTipって文字が小さいしすぐに消えるイメージがあって

こんなアホなことは絶対書かないし「イメージ」だけで喋らない
謝れよ

211 :名無しさん@お腹いっぱい。 :2018/06/13(水) 03:41:39.87 ID:ijaZStKH0.net
どうせ常駐しないスクリプトで一瞬で終了して「すぐ消える」とか言ってるアホなんだろうな

212 :名無しさん@お腹いっぱい。 :2018/06/13(水) 09:02:55.61 ID:kee9CeXG0.net
>>210

202だよ
あの時点のカキコミでは>>202をおれのやりたいスクリプトのなかにコピペしてやってた。
それを証明しろってか。アホ。

>こんなアホなことは絶対書かないし

探偵くんの絶対っていう決めつけですか?(笑)
イメージがあるっておれがちょこっと言っただけで
"絶対"イメージ"だけ"でやらずに書いたことにおまえの中では確定するんですね。素敵。

おまえこそ決めつけですぐ書き込んだことについてとにかくはやく謝れよ
アホ

213 :名無しさん@お腹いっぱい。 :2018/06/13(水) 09:50:19.13 ID:gPo1rC530.net
あんまり関わりたくないが…

>>209
>うちの環境だとToolTipだけだと表示なにもされない。
>>202の4行スクリプトをsleep抜きで実行すれば当たり前

>SplashTextOnで 〜 表示位置変えられないっぽいのががっかり。
ToolTipに関しても言えるがネット上に日本語リファレンスあるんだから、ちゃんと読んだ上でそこにあるサンプルスクリプトも試せ

214 :名無しさん@お腹いっぱい。 :2018/06/13(水) 10:12:00.75 ID:77WhG2kh0.net
Googleさんに質問をぶつける方が早いよね。

215 :名無しさん@お腹いっぱい。 :2018/06/13(水) 10:18:06.86 ID:fhWlT+8OH.net
>>212
馬鹿に高度な要求をしてすみませんでした
あなたでも理解できるくらい低レベルな説明をするのはぼくには無理です
許してください

216 :名無しさん@お腹いっぱい。 :2018/06/13(水) 10:32:09.90 ID:WE+4cSWn0.net
回答者にダメ出しするクズ質問者を最近各地でやたらと見かけるんだが流行りなのかね

217 :名無しさん@お腹いっぱい。 :2018/06/13(水) 10:54:40.84 ID:kee9CeXG0.net
もう結構です。解決しましたので209とかにこれ以上回答しないでください。
210のアホは除いて。
>>212
許すもなにもだれだか知らんが悔しかったのか?しょうもない内容ない最後っ屁のレスしやがって。
二度と俺にレスするな

218 :名無しさん@お腹いっぱい。 :2018/06/13(水) 11:06:01.84 ID:Hz7oGYjX0.net
>>212
~LButton::
ToolTip, 謝れよ
Return

219 :名無しさん@お腹いっぱい。 :2018/06/13(水) 11:16:45.49 ID:fhWlT+8OH.net
>>217
悔しそうな最後っ屁レスのいい見本を見せていただきありがとうございます
これからは気をつけます

220 :名無しさん@お腹いっぱい。 :2018/06/13(水) 11:29:50.63 ID:lZPXjxk30.net
久々に伸びてると思ったら…
>>218 見て和んだからよしとするか
AutoHotkeyスレ的にはこうあって欲しいな

221 :名無しさん@お腹いっぱい。 :2018/06/13(水) 12:29:15.56 ID:WE+4cSWn0.net
NGEx Tooltip, 謝れよ君@AHK
対象タイトル [含む] [AutoHotkey]
NG Name [含む] [09]

こういう子はしれっと何度でも来やがるので二度とレスしないで済むようあぼ〜ん規則置いときますね

222 :名無しさん@お腹いっぱい。 :2018/06/13(水) 17:03:30.85 ID:YzLKE9Rd0.net
アクティブウインドウ以外を最小化したいです。
WinMinimizeAllとWinRestoreでほぼいけるんですが、一瞬アクティブウインドウも最小化されるのが難点です。
なにかいい方法ありませんか?

223 :名無しさん@お腹いっぱい。 :2018/06/13(水) 17:09:56.55 ID:H3aXWF370.net
Send, #{Home}

224 :名無しさん@お腹いっぱい。 :2018/06/13(水) 17:33:45.70 ID:YzLKE9Rd0.net
そういやあったな
前試したとき使えなかったけど、Windows10 スナップ機能を無効にしてたのが原因だったみたいだわ

225 :名無しさん@お腹いっぱい。 :2018/06/13(水) 19:06:33.60 ID:/1MllKIW0.net
FileReadLineで10行目を読み取って、ヒットした文字列をRegExMatchで検索する所まで来ました。
しかし指定行に書き加える所がわかりません。

FileReadLine, HAGE, HAGE.txt, 10
If (RegExMatch(HAGE,"FUSA"))
{
---指定行に書き加えるこの部分がわかりません---- StringReplace?
FileDelete, HAGE.txt
FileAppend, %FUSA%, HAGE.txt
}

226 :名無しさん@お腹いっぱい。 :2018/06/14(木) 00:20:21.09 ID:Z2OsG3OR0.net
もう何年もバージョンアップしてなかったと思ったら
仕様変え過ぎだろ


227 :名無しさん@お腹いっぱい。 :2018/06/14(木) 01:24:39.75 ID:PHfD01XQ0.net
>>226
>もう何年もバージョンアップしてなかった

いやそんなこと無いだろ
お前が情弱なだけで

228 :名無しさん@お腹いっぱい。 :2018/06/14(木) 08:01:25.30 ID:xpUFTmrw0.net
vk sc 以外に何か大きな変更ってあった?

229 :名無しさん@お腹いっぱい。 :2018/06/14(木) 10:45:44.95 ID:kRIw/nNl0.net
便利そうなオカン

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()

230 :名無しさん@お腹いっぱい。 :2018/06/14(木) 11:08:57.90 ID:YPXm0M8Y0.net
GroupAdd & GroupActivate でよくね?

231 :名無しさん@お腹いっぱい。 :2018/06/15(金) 00:01:26.94 ID:H2S0dOu+H.net
アプデするたびになにかしら問題でるのはなんなの

232 :名無しさん@お腹いっぱい。 :2018/06/15(金) 00:08:24.69 ID:qL05x0j60.net
じゃあアプデしなければ良いのでは?

233 :名無しさん@お腹いっぱい。 :2018/06/15(金) 15:46:40.65 ID:TM0zxQ290.net
v1.1.24.01安定

234 :名無しさん@お腹いっぱい。 :2018/06/16(土) 15:55:40.54 ID:G06nkSYx0.net
最近ネタ切れ気味なので、
みなさんのおすすめのネタ、小ネタ、関数、スクリプト、連携ツールなどの投下待ってます!^^

■用途
.     メイン│キー割り当て変更…タップ/複数タップ/長押し
ホットキーランチャー│プログラム起動…メーラー/ブラウザ/エディタ
    自動化│キーボード操作
.        │マウス操作
 選択文字列│WEB検索…ウェブ/画像/動画/Wiki/2ch/地図/翻訳
.        │FILE検索 ※Everythingと連携
.        │プログラム起動…関連付け/エディタ/ファイラー
.        │置換…環境変数/レジストリ/日付表記/年表記/3桁ごとにコンマ
.        │修飾
.        │変換…文字種/URLエンデコ/進数
.        │計算
.  ウィンドウ│タスク切替
.        │移動/リサイズ
.        │最前面化
.        │全面化
.        │どこでもドラッグ
.        │シェード
.        │タイトルバー非表示
.        │メニューバー非表示
.    マウス│マウスジェスチャー[MouseGestureL.ahk]
.        │ホイールリダイレクト ※Win10デフォ
.        │カーソル非表示
.     取得│コマンドID(wParam)
.        │カラーピッカー(RGB)

235 :名無しさん@お腹いっぱい。 :2018/06/16(土) 15:56:33.90 ID:G06nkSYx0.net
.   タイマー│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

236 :名無しさん@お腹いっぱい。 :2018/06/17(日) 02:49:17.37 ID:LEHoSucJ0.net
乙。
一覧になってみると、特別な事はしてないなと再確認。
どれも上記の組合せに過ぎないとゆーか、連係するソフトウェアの理解度が重要だったり。

237 :チラ裏 :2018/06/17(日) 08:06:16.82 ID:YAxRdcxB0.net
小ネタ
ΘPrintScreenキーで情報取得 ttp://pastebin.com/c5dJTcFG
Θタイトルバー上アクション ttp://pastebin.com/4ZHJVHTV
 &nbsp;Shift+左…シェード
 左ダブル…ポップアップメニュー(menuHackerモドキ)

未完のおま環オナニースクリプトのため、ご興味のある方のみどうぞ!^^

238 :名無しさん@お腹いっぱい。 :2018/06/18(月) 15:11:26.39 ID:esoE5FB60.net
タブ単位ではなくてブラウザ単位でミュート/解除する.ahkファイルなどありませんか?

https://gist.github.com/Trellmor/6548709
でそれらしいのをみつけたのですが、どこにミュートさせたいブラウザを指定するのかわかりません。
最初^!Mを一度押すとボリュームミキサーがでてくるようですが、2回目同じキーを押してもボリュームミキサー出てきません
クリックでミュートするのではなくランチャーなどに.ahkファイルを登録させてそれの起動ですぐブラウザ単位のミュートがしたいです。

239 :名無しさん@お腹いっぱい。 :2018/06/18(月) 16:43:17.63 ID:+42gcIGk0.net
こないだの謝れよ君か

また暴れられると面倒だから答えは書かないけど修正3ケ所で行けたわ
なかなか便利なスクリプトやな

240 :名無しさん@お腹いっぱい。 :2018/06/18(月) 16:48:32.62 ID:esoE5FB60.net
>>239
なんでわかるの

241 :名無しさん@お腹いっぱい。 :2018/06/18(月) 16:51:57.87 ID:AKI8Z7dt0.net
いつもお前を見ているぞ


   <◎>  <◎>

 

242 :名無しさん@お腹いっぱい。 :2018/06/18(月) 18:58:13.38 ID:81hwV4880.net
>>238さんの使い方なら
Θ7行目を変更「VolumeMixer = 音量ミキサー」
Θ15行目に追記
 Sleipnirなら「MuteApps("Sleipnir")」
 Chromeなら「MuteApps("Chrome")」
 など
で、大丈夫だと思います^^

243 :名無しさん@お腹いっぱい。 :2018/06/18(月) 19:04:41.30 ID:81hwV4880.net
すいません追加で
Θファイル末に追記「ExitApp」

244 :名無しさん@お腹いっぱい。 :2018/06/18(月) 19:06:07.93 ID:cw6YxUPa0.net
>>242-243
空気読めよ

245 :名無しさん@お腹いっぱい。 :2018/06/18(月) 20:20:35.98 ID:81hwV4880.net
Θ15行目を「MuteApps(A_Args[1])」
でファイルを作成し、ランチャーなどで下記コマンド実行の方がいいかも^^

Θコマンド
 Sleipnirなら「hoge.ahk "Sleipnir"」
 Chromeなら「hoge.ahk "Chrome"」
 など

246 :名無しさん@お腹いっぱい。 :2018/06/18(月) 20:35:02.11 ID:3UPizNgs0.net
>>245
んなこと誰も聞いてない

247 :名無しさん@お腹いっぱい。 :2018/06/18(月) 20:48:26.20 ID:esoE5FB60.net
>>242
おしえてくださってありがとうございました。
助かりました。
わたしに教えてはいけないというノリにしたいヤカラがいるので反発がありますね ^ ^

248 :名無しさん@お腹いっぱい。 :2018/06/18(月) 21:04:04.08 ID:+n8z2HMA0.net
教えて君五大要素
1. 読まない
2. 調べない
3. 試さない
4. 理解力が足りない
5. 人を利用することしか頭にない

249 :名無しさん@お腹いっぱい。 :2018/06/18(月) 21:36:47.91 ID:/Bs4ggs+M.net
ワッチョイ 3e91-m0US
>234 も大概うざいと思ってたがこれは酷い
己の承認要求満たすことが最重要なタイプか

250 :名無しさん@お腹いっぱい。 :2018/06/18(月) 21:47:21.51 ID:E7KH139L0.net
>>249
スルーできずにレス付けちゃうお前も同類だぞ

251 :名無しさん@お腹いっぱい。 :2018/06/19(火) 00:03:00.21 ID:5mFe2tNK0.net
3e91-m0US は黙認したらダメなタイプ
スルー対象は 謝れよ君のほう

252 :名無しさん@お腹いっぱい。 :2018/06/19(火) 00:16:49.96 ID:q0WAzgGW0.net
承認欲求はレスされることで満たされるんだから黙ってあぼーんしとけばいい

253 :名無しさん@お腹いっぱい。 :2018/06/19(火) 00:52:17.09 ID:OxIVLmPa0.net
タスクトレイ右にあるソフトウェアを右クリックしてそのメニューの上から二番目をクリックする、
といった動作をAutohotkeyですることはできるんでしょうか?
昔そういう単機能のソフトウェアがあったように思うのですが忘れてしまいました。
>>251 地獄に落ちろ

254 :名無しさん@お腹いっぱい。 :2018/06/19(火) 01:19:12.88 ID:zvqTkEbA0.net
>>253
TrayCommand
http://hp.vector.co.jp/authors/VA026310/soft2.htm

ソフトはこれでしょ

255 :名無しさん@お腹いっぱい。 :2018/06/19(火) 01:29:58.37 ID:/YJKKxwR0.net
>>254
空気読めよ

256 :名無しさん@お腹いっぱい。 :2018/06/19(火) 02:00:08.76 ID:m0Y+Gbe+0.net
>>253
http://pastebin.com/9YEj7wg6

257 :名無しさん@お腹いっぱい。 :2018/06/19(火) 13:55:13.23 ID:0cmVsDTa0.net
SoundBeep有能

SoundBeep,400,25 ; 何かが無効になったときに鳴らす
SoundBeep,1000,25 ; 何かが有効になったときに鳴らす

とりあえずIME ON/OFFやその他に組み込んでみたが安心感が増す
人前ではうるさくて使えないだろうが

これのLEDバージョン作ってみたいがプログラマブルUSB LEDって2万とかするんだな…
300円位でないのか

258 :名無しさん@お腹いっぱい。 :2018/06/19(火) 14:06:01.56 ID:8FWyy9TaH.net
Arduinoで作れんじゃね?
3000円ぐらいはかかりそうだけど

259 :名無しさん@お腹いっぱい。 :2018/06/19(火) 17:10:38.43 ID:42EnPnsg0.net
ラズパイは?

260 :名無しさん@お腹いっぱい。 :2018/06/20(水) 07:37:19.98 ID:ha/OsVg60.net
IE11でボタンをクリックした後、反応の有無を判断できる方法はありますか?
クリック→無反応→クリック…roop
クリック→反応有→roop break
想定している似たような状況は、ビジー状態の通販サイトの「商品カゴへ入れる」ボタンを成功するまでクリックする。

OS:Windows10(1803) Pro 64bit
AutoHotkey(x64) 1.1.29.01

261 :名無しさん@お腹いっぱい。 :2018/06/20(水) 12:08:36.98 ID:W9QYsAxV0.net
>>260
クリックに成功した場合ボタンの表示が変わる、もしくは何かの表示が出るのならImageSearchで行けるんじゃないかね

262 :260 :2018/06/20(水) 16:07:09.18 ID:ha/OsVg60.net
>>261
レスありがとうございます。
表示は変わりませんが、特徴的な音が出ます。
表示の変化に関して指摘して頂いたので、Sound関係の変化に関してコマンドを探してみましたが、使えそうなのがないです。

263 :名無しさん@お腹いっぱい。 :2018/06/20(水) 16:45:56.19 ID:K//20RcR0.net
判断する方法ではないけど
ボタンを押してから離すまでの時間を長くすれば反応するようになるのでは?
SendならSetkeydelayで
Setkeydelay,100,200

もしくは
send,{left down}
sleep,200
send,{left up}

clickなら
click,left,down
sleep,200
click,left,up

264 :260 :2018/06/20(水) 17:37:47.93 ID:ha/OsVg60.net
>>263
レスありがとうございます。
試してみます。
ただ、ビジー状態に対応できるスクリプトを組みたいので、サイトがビジー状態でないと試せません。
報告は早くて数日後になります。

265 :名無しさん@お腹いっぱい。 :2018/06/21(木) 04:48:21.38 ID:AY8E+xgd0.net
>>264
人気商品は確定するまでカゴ入れ状態になかなかならないからやり続けるて意味だよね?
ビジー状態の意味がブラウザが固まるような表現になってるし

266 :260 :2018/06/21(木) 13:46:05.91 ID:uo6bOHK00.net
>>265
いえ、ブラウザは固まってる状態です。
その状態で酷い時は、数秒に一度、一瞬クリックできる状態になる時があって、その隙にクリックしたいのです。

267 :名無しさん@お腹いっぱい。 :2018/06/21(木) 15:01:33.74 ID:VVK4xcOd0.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,キャンセルされた
}

268 :名無しさん@お腹いっぱい。 :2018/06/21(木) 16:23:27.41 ID:5cOpvXIJ0.net
>>264
詳しくないけどIEにぶん投げて、ComObjCreate("InternetExplorer.Application")から.ReadyStateでページ表示の完了状態を調べるとかは?
無理にahkでやる案件でもないような気がするけど

269 :名無しさん@お腹いっぱい。 :2018/06/22(金) 14:32:53.34 ID:ugMFpfsi0.net
ControlGet SysListView321を使って、値を取得することは出来ます。
逆に、SysListView321に値をセットすることは出来ませんか。 ゲットした値の一部を変更したいのですが

270 :260 :2018/06/22(金) 21:12:40.61 ID:PUo1zf840.net
>>268
確かにIEの操作はAHKでやるより、IEから直接の方が確実なような気がしますね…。

>>263
少しスリープの時間を長めにしましたが、軽いビジー状態なら結構いけますね。
正直、長押しでいけるとは思ってもいませんでしたからびっくりしました。

とりあえず、長押しでしのいで、将来的にはVBAでIEを直接操作する方向で考えたいと思います。
予定していた方法とは異なりますが、そこそこどうにかなりそうなので、これで締め切らせて頂きます。
皆さんありがとうございました(o*。_。)oペコッ

271 :名無しさん@お腹いっぱい。 :2018/06/23(土) 07:17:36.20 ID:0OH7ylO90.net
ヒアドキュメントがあまりにも見づらいのでクラスにしてみた
m.Add("ファイル(&F)")

m.Add,ファイル(&F)
とは書けないのな

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
}

272 :名無しさん@お腹いっぱい。 :2018/06/23(土) 22:27:36.89 ID:Ztr4TmAR0.net
>>271
>>1に「Autohotkey専用うpろだ」紹介されてるんだから、以降そっちでやってね

273 :名無しさん@お腹いっぱい。 :2018/06/24(日) 01:05:16.40 ID:gl6IIcaZ0.net
ちなみにAHK v2のMenuはまさにそんな感じ
https://lexikos.github.io/v2/docs/objects/Menu.htm

274 :名無しさん@お腹いっぱい。 :2018/06/27(水) 17:27:43.88 ID:hg8rqnbu0.net
iniwriteの時に書き込む値にカンマがあった場合はどうすればいいのでしょうか?

275 :名無しさん@お腹いっぱい。 :2018/06/27(水) 17:32:41.64 ID:0iRb2wcH0.net
エスケープするor変数に入れる

276 :名無しさん@お腹いっぱい。 :2018/06/27(水) 18:25:58.86 ID:hg8rqnbu0.net
hensuu = 111,aaa,222,bbb
iniwrite, %hensuu%, test.ini, test, test

iniwrite, 111`,aaa`,222`,bbb, test.ini, test, test

こんな事が出来るなんて知りませんでした。
どちらでもできました、ありがとうございます。

277 :名無しさん@お腹いっぱい。 :2018/07/02(月) 03:06:06.99 ID:g0LGh7eu0.net
ATOKの日付変換が便利なんだけど、使いたいフォーマットがない。
例えば "yyyy_mmdd" とか。
now対象だけならahkで作れそうなきがするけど、ATOKみたく「あした」「あさって」とか
「げつようび」とかで、前後の日をサポートするとなると大変そう。
こんな日付変換に対応したものってありますか?

278 :名無しさん@お腹いっぱい。 :2018/07/02(月) 08:08:57.58 ID:obbanbrL0.net
別のスクリプト同士で変数をやり取りする方法はありませんか?

情報をやり取りするためのファイルに書き込んでおき、
別のスクリプトで読み込むしかないでしょうか?

279 :名無しさん@お腹いっぱい。 :2018/07/02(月) 10:28:37.55 ID:2sJUYxCT0.net
>>277
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
}

>>278
http://ahkwiki.net/OnMessage()

280 :名無しさん@お腹いっぱい。 :2018/07/02(月) 12:22:32.02 ID:obbanbrL0.net
>>279
サンクスコ助かりました

281 :名無しさん@お腹いっぱい。 :2018/07/02(月) 13:08:15.58 ID:YBwm2/8CH.net
>>279
わぁ、作っていただけるなんて。
ありがとうございます。
これを元にメニュー化してみます。

282 :名無しさん@お腹いっぱい。 :2018/07/07(土) 02:08:28.79 ID:qwGCuEP30.net
GUIで使われるデフォルトのフォントはコレであっていますか?
分かる人いたらお願いします。

OS日本語 MS UI Gothic (win7で確認、win10も同じ?)
OS英語 MS Sans Serif?

283 :名無しさん@お腹いっぱい。 :2018/07/07(土) 08:53:40.58 ID:OoZZ3/qe00707.net
>>282
ググればわかることだが両方違う

win7はメイリオ、win10は遊ゴシック系
http://www.atmarkit.co.jp/ait/spv/1702/01/news038.html
英語版OSは Segoe UI
https://ja.m.wikipedia.org/wiki/Segoe

284 :名無しさん@お腹いっぱい。 :2018/07/07(土) 09:50:28.34 ID:qwGCuEP300707.net
>>283
言葉足らずでした、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 )
}

285 :名無しさん@お腹いっぱい。 :2018/07/07(土) 11:20:45.04 ID:OoZZ3/qe00707.net
失礼
win10も MS UI Gothic だったよ

286 :282 :2018/07/08(日) 18:55:55.14 ID:jnfyQm1X0.net
ありがとうございました

他のフォント情報も見つけることができました
https://msdn.microsoft.com/ja-jp/library/system.drawing.systemfonts.defaultfont(v=vs.110).aspx

287 :名無しさん@お腹いっぱい。 :2018/07/14(土) 00:28:43.55 ID:c9o5o3bi0.net
「コントロール+クリック」を「無変換+クリック」に割り当てられるといいんだけどな@あ

288 :名無しさん@お腹いっぱい。 :2018/07/14(土) 00:33:52.87 ID:wrBaH4zb0.net
割り当てられますけど

289 :名無しさん@お腹いっぱい。 :2018/07/14(土) 07:29:02.66 ID:TH1SIGBe0.net
>>287
失敗した書き方はどんな感じ?

290 :名無しさん@お腹いっぱい。 :2018/07/15(日) 09:50:14.97 ID:bqpX/mGQ0.net
関数内でループをさせて、そのループの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
}

291 :名無しさん@お腹いっぱい。 :2018/07/15(日) 20:19:37.01 ID:we5y7DJBM.net
関数内でもラベルは使えるけどサブルーチンは無理
そのコードだとtooltipの下のreturnで関数ごと抜けてしまうよ

292 :名無しさん@お腹いっぱい。 :2018/07/15(日) 21:19:24.01 ID:p+q5mhPf0.net
>>290
サブルーチン部分をloop外に出せば動くとは思うが、正直何をしたいかよく分からん
同じA_indexで同じ処理を3回してるから、その部分をloopで回せば簡略化できると思うが…

test() {
loop,10 {
count := A_index
loop,3 {
gosub,label
sleep,500
}

}
return

label:
tooltip,%count%
return
}

長いので次レスで

293 :名無しさん@お腹いっぱい。 :2018/07/15(日) 21:19:59.91 ID:p+q5mhPf0.net
続き

それとも、こんなことか?

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
}

以上、かなり適当

294 :名無しさん@お腹いっぱい。 :2018/07/15(日) 21:21:21.92 ID:p+q5mhPf0.net
>>293
かなり見づらくてスンマソン

295 :名無しさん@お腹いっぱい。 :2018/07/18(水) 16:42:54.30 ID:trYB5odT0.net
290 ですが返事がおそくなってすみません。
結局loopでlabel部分をループさせました。ありがとうございました。

296 :名無しさん@お腹いっぱい。 :2018/07/20(金) 14:55:17.40 ID:2RsjRDqU0.net
win7から10へマシン変えようか考えてますが
ahkスクリプトは相当書き換える必要あるのでしょうか? 今あらゆる作業でずいぶん頼ってるのでそこが悩みどころでして

297 :名無しさん@お腹いっぱい。 :2018/07/20(金) 15:09:10.38 ID:wv55im470.net
>>296
もしWin7のUAC設定を一番下にしてオフにしてるならばWin10に移行後にUAC絡みで気を付ける必要があるかも
Win7ではUAC一番下にするだけでほぼ機能しなくなるけどWin10では一番下にしても完全にはオフにならないので
必要に応じてスクリプトを管理者権限で実行したり、標準権限で実行したりを気を付けなきゃならない
元からWin7でUACオンにして使ってるなら特に使い勝手は変わらないと思う

298 :名無しさん@お腹いっぱい。 :2018/07/20(金) 16:04:35.24 ID:2RsjRDqU0.net
>>297
ありがとうございました!ユーザーアカウントというあたりは元々ぜんぜんいじってないです。
スクリプトそのまま移行して使い続けられそうでホッとしてます

299 :名無しさん@お腹いっぱい。 :2018/07/20(金) 16:20:15.17 ID:IY43ug2o0.net
>>296
自分は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で動かなくなったのはあったな
このスレにあったヤツだったか忘れたが、ウインドウに穴開けてデスクトップを見るスクリプトだった
他人作だし使う機会も少なかったのでもう使用はしていない…

300 :名無しさん@お腹いっぱい。 :2018/07/20(金) 20:57:51.00 ID:GOaXWtHw0.net
無理矢理UAC完全無効化はストアアプリに不具合出るしMS的にはストアアプリ推しだから
将来的に大きなトラブルになる可能性もある

301 :名無しさん@お腹いっぱい。 :2018/07/20(金) 21:09:21.49 ID:9LPAAB/e0.net
UAC無効化しなくてもUI Access有効化でよくない?

302 :名無しさん@お腹いっぱい。 :2018/07/20(金) 23:46:35.78 ID:IY43ug2o0.net
情報サンクス

>>300
>ストアアプリに不具合出るしMS的にはストアアプリ推し
自分としては別に使う気はないからどうでも良いかなぁ
win10使う上で必須のアプリがあるなら考えるけども…

>>301
UI Access っつうのちょっと調べた限りでは、フォルダ限定される?
自分はCドライブにソフトやスクリプトは殆ど置かないので、UI Access有効化は余り意味がないかもしれない

303 :名無しさん@お腹いっぱい。 :2018/07/22(日) 10:19:40.82 ID:OCDGBqGi0.net
なぜ日本語wikiのキーリストで
変換:vk1Csc079のように記載されているのでしょうか?
実際,スクリプトにはvk1Cと記載しないと動きませんよね?
誤解を招くような気がする(実際に自分も戸惑った)のですが,これにはなにか理由があるのですか?

304 :名無しさん@お腹いっぱい。 :2018/07/22(日) 10:58:23.54 ID:AMD77juC0.net
>>303
v1.1.24まではvc○○sc○○の記述が可能だった
v1.1.27で修正されてvk○○またはsc○○の片方しか記述出来なくなった
v1.1.28で以前の仕様(vc○○sc○○が可能)に戻ったらしいけど
俺はv1.1.24からアップデートしていないので未確認

305 :名無しさん@お腹いっぱい。 :2018/07/23(月) 21:15:15.12 ID:M4VJIdNm0.net
いや、v1.1.28でも最新のv1.1.29.01でも「vk○○sc○○」の記述はエラー出ますよ
今も「vk○○」か「sc○○」の片方のみ可能なのでwikiを直さないと新規の人には分かりにくいだろうね

306 :名無しさん@お腹いっぱい。 :2018/07/23(月) 22:11:48.54 ID:ionPQ2gz0.net
いろんな文法を認めている割に、これに関しては厳しくしたいっていうのが良く分からんね。

307 :名無しさん@お腹いっぱい。 :2018/07/25(水) 03:34:26.75 ID:gZ0Se62R0.net
keyhacですが、tkinterは入れたままにして頂きたい!
その方がポータブル感が高まると思います。

308 :名無しさん@お腹いっぱい。 :2018/07/25(水) 04:35:30.78 ID:XXshHs+p0.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

309 :名無しさん@お腹いっぱい。 :2018/07/25(水) 14:19:24.59 ID:tDovQ0SL0.net
>>308
一旦兄弟フォルダを全部取得してからフォルダ名でソートすればいいんじゃないか、ということで自分でも使用したいので作った
Win10で動作確認
https://pastebin.com/sZVcY14F
オリジナルに変更を加えた部分はある程度コメントを入れてあるので詳細はそっちで

それと、親フォルダのソート状況を推察するのは難(*1)があるので、移動の順番は名前で昇順ソートされた状態を想定してる
別ウィンドウで親フォルダを日付や名前の降順でソートして表示していて、移動してみたら順番が違う!というのは諦めて

(*1)
親フォルダのソート状況を推察できる状況
・一つのエクスプローラーウィンドウで親フォルダを表示している
厳しいとき
・親フォルダを表示していない
・複数のウィンドウで親フォルダを開いていて、それぞれソート状況が異なる。(どちらを選択するのか?)

310 :308 :2018/07/25(水) 15:49:51.80 ID:XXshHs+p0.net
>>309
質問者ですがwindows7でも動作確認しました
兄弟フォルダ間の移動なんて簡単て思ってたらとんでもなかったw
前提条件を認識した上で使わせてもらいます
ありがとうございました

311 :名無しさん@お腹いっぱい。 :2018/07/26(木) 17:12:06.86 ID:t46bhQ3w0.net
https://pastebin.com/kZADqQ5P

よく分かってないけど>>309のスクリプトで最初と最後の兄弟フォルダにも移動したいときはこんな感じでいいのかな

312 :名無しさん@お腹いっぱい。 :2018/07/28(土) 17:20:36.99 ID:pDAfKZEBM.net
こんなの聞くの申し訳ないんですがTrayTIpが動きやせん
調べでもわからなくて困った

windows10 1803 AHKL1.1.29.01(64bit)
#NotTrayIcon使用なし
全文が長くなるとTrayTIpがwin上で反映されない
LOGだと指令でてる&短い文でテストすると問題なし
コンパイルすると動いてたが更に全文長くしたらコンパイルしてもTrayTIpでない

うわーん

313 :名無しさん@お腹いっぱい。 :2018/07/28(土) 17:47:48.00 ID:pDAfKZEBM.net
>>312
自己解決しました。win10の設定でAHKの通知取得がoffやった…
むしろなんで短いと通るのか不思議になりましたが

スレ汚しごめんなさい

314 :名無しさん@お腹いっぱい。 :2018/07/31(火) 02:10:13.15 ID:GTD+3eTh0.net
下記サンプルコードではタスクバー上の空きスペースクリック時メニューが出てしまうので
メニューを出さずにアイコン上か空きスペースかの当たり判定ができましたら教えてください

■サンプルコード
中クリックでアプリ閉じ
問題点…空きスペースクリック時のメニュー

;タスクバー上
#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)
}

315 :314 :2018/08/01(水) 01:43:23.52 ID:tCZRzMJu0.net
サムネイル有無だとメニューは出ないがサムネイルがないとミスってしまう
SendMessageなどでの当たり判定や、そもそも閉じるのに右クリック→上→Enterではない案(AHKで)などありましたら教えてください

■サムネイル有無判定
Sleep, 250
if !WinExist("ahk_class TaskListThumbnailWnd")
 return

316 :名無しさん@お腹いっぱい。 :2018/08/01(水) 20:39:43.87 ID:RFuZeACf0.net
タスクバー上でカーソル下がアイコンか空きスペースかの判定だけなら
Acc.ahk使えばすぐじゃないかな
Roleの値が違うはずだし

317 :名無しさん@お腹いっぱい。 :2018/08/01(水) 21:50:53.68 ID:tCZRzMJu0.net
>>316さん
Acc_GetRole()関数利用で希望する動作になりました
今までACC.ahkはテンプレで紹介されているのは知っていましたが、用途が分からずインスコしていませんでした
めちゃ便利ですね。教えていただきありがとうございました

318 :名無しさん@お腹いっぱい。 :2018/08/02(木) 22:02:20.44 ID:Ys9NGPTx0.net
Acc.ahkは使い方がわかればDoDefaultActionが便利だった
俺は分からず分かったのはUI Automationに手を出した後という

319 :名無しさん@お腹いっぱい。 :2018/08/02(木) 23:21:29.21 ID:SOQUJBoF0.net
いまさらながらオミトロンのバイパス状態の見分け方が分かったので記念カキコ

;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

320 :名無しさん@お腹いっぱい。 :2018/08/03(金) 21:43:37.48 ID:pHE6KlnQ0.net
Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や
Acc_GetName()とAcc_GetRole()の併用でWM_NCHITTESTではだめなタイトルバーのボタン上の正確な位置判定など
あらためて教えていただいた>>316さんには感謝

ACC.ahk ttp://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


321 :名無しさん@お腹いっぱい。 :2018/08/04(土) 02:18:49.52 ID:H2OE/J7G0.net
acc.ahkが便利そうなのでググったら日本語解説ページがなく
クルマのワーゲンの機能らしい
accはオートクルーズコントロールみたいなのだが
ahkはよくわからない
ムキになって検索しまくり
ようやくヒットする
BMWも搭載してるようで動画で確認
クルマの下からチンコがでてきた
違う!

322 :名無しさん@お腹いっぱい。 :2018/08/04(土) 20:08:36.57 ID:mW/OGX1W0.net
>>320
なんか凄いツールですね
AccInfoViewer_kai.ahk を使ってみたところ
メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると

Name : 貼り付け(P) Ctrl+V
Action : 実行

と出るのですが、この情報を使ってmouseclick AHKで 貼り付け を

323 :名無しさん@お腹いっぱい。 :2018/08/04(土) 20:11:05.28 ID:mW/OGX1W0.net
すいません途中で送信してしまいました

>>320
なんか凄いツールですね
AccInfoViewer_kai.ahk を使ってみたところ
メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると

Name : 貼り付け(P) Ctrl+V
Action : 実行

と出るのですが、この情報を使ってmouseclick を使わずに AHKで 貼り付け を
実行させることは可能でしょうか?
もしできるならどのように書けば良いのでしょうか?

324 :名無しさん@お腹いっぱい。 :2018/08/04(土) 22:48:25.99 ID:KKkpi8nV0.net
自分が見つけたのは↓だけど、同じもの?

Acc library (MSAA) and AccViewer download links - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?t=26201
の「AccPack.zip」
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
https://autohotkey.com/board/topic/21142-com-standard-library/page-44?hl=com.ahk#entry529640

検証もせず、レスしてスマソ

325 :名無しさん@お腹いっぱい。 :2018/08/05(日) 05:48:53.94 ID:KjBFiGmx0.net
>>324
AccInfoViewer_kai.ahk 付属のACC.ahkについては
ダウンロードボタンの少し上のコメントに
フォーラムで拾ったものって書いてあるよ

326 :名無しさん@お腹いっぱい。 :2018/08/05(日) 21:22:05.24 ID:T6bMKT0H0.net
>>324
COM機能はいまは標準実装されているので不要
いつかはCOMが使えるようになりたいなぁ

>>320
> Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や
と書いたけど、どこでもおもしろいほどテキスト取得できますね
いままでClipy、NNScanText、コピット!、CopitX使っていたけどおさらばしました

327 :名無しさん@お腹いっぱい。 :2018/08/06(月) 03:58:51.10 ID:5wbNEfZL0.net
AHKでクラス使うときメソッド名のタイポがエラーにならないんだけど検出する方法ない?
これエラーにしてもらわないとつらすぎる

328 :名無しさん@お腹いっぱい。 :2018/08/06(月) 04:24:03.14 ID:+DjLc0mw0.net
入力支援の利くエディタを使うしかないんじゃないかな…。
実行時に未定義のメソッドを呼んだときエラーを出すなら
class ErrorUndefineMethod
{
__Call(name)
{
throw Exception("This method is not defined." (name != "" ? " : " name : ": "), -1)
}
}
こんな感じの基底クラスを継承するなりすればいいけど、たぶん言ってるのはコーディング時の話だよね

329 :名無しさん@お腹いっぱい。 :2018/08/08(水) 16:55:10.42 ID:Wo1vgWVl00808.net
google chromeでは、A_caretYでキャレット位置が取れないのですが、他になにか方法はないでしょうか?
ctrl-wにてタブ閉じは生かしつつ、入力シーンでは前単語削除に割り当てたいのですが…

330 :名無しさん@お腹いっぱい。 :2018/08/08(水) 18:35:25.42 ID:byzIEboea0808.net
>>329
確実じゃ無いかもだけどIME.ahkの関数で取れる値が入力可能かどうかで変わると思う

331 :名無しさん@お腹いっぱい。 :2018/08/08(水) 20:06:38.93 ID:Wo1vgWVl00808.net
>>330
ありがとうございます!

#if winactive(“ahk_exe chrome.exe”) && ime_getconvmode()
^w::send ^{bs}
return

上記、IME_GetConvMode()関数で分岐できました!
助かりました〜

332 :名無しさん@お腹いっぱい。 :2018/08/18(土) 02:35:10.55 ID:flWGLe7T0.net
r::send 7

このrを右クリックにしたいのですが何を入力すればいいのでしょうか
よろしく

333 :名無しさん@お腹いっぱい。 :2018/08/18(土) 03:23:00.41 ID:aJSMzMBT0.net
>>332
wikiのキーリスト見なさい
マウスも書いてある

334 :名無しさん@お腹いっぱい。 :2018/08/22(水) 11:48:18.04 ID:xeghXmwt0.net
ウインドウが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を手動でアクティブにしてやってもダメです。なぜでしょうか。

335 :名無しさん@お腹いっぱい。 :2018/08/22(水) 12:00:43.76 ID:xeghXmwt0.net
ちなみに、x100 y100のところにあるのはボタンなのですがそのボタンのClassNNを使って、
ControlClick, x100 y100
の代わりに
ControlClick, classNNの名前
でやってもダメでした。 ウインドウAを最初にアクティブにしてからなら問題ありません。

336 :名無しさん@お腹いっぱい。 :2018/08/22(水) 12:06:53.85 ID:Tq1tthei0.net
試してないけど
WinActivateしただけじゃLast Found Windowが記録されないからじゃね
ControlClickは指定されたウィンドウをクリックするコマンド
必ずアクティブウィンドウをクリックするMouseClickとは違う

WinActivate, ウインドウのA
WinWaitActive, ウインドウのA ; ←ここでLast Found Windowを書き換える
ControlClick, x100 y100

もしくは

ControlClick, x100 y100, ウインドウのA ; ← 省略しないでウィンドウを指定する

337 :名無しさん@お腹いっぱい。 :2018/08/22(水) 12:23:41.78 ID:xeghXmwt0.net
WinWaitActiveを入れて出来ました。
WinWaitActiveは一瞬で終わりました。
Sleep, 5000を入れてその間に手動でウインドウAをクリックしても出来なかったのがよくわかりませんが
とりあえず、これで行くことにします。

338 :名無しさん@お腹いっぱい。 :2018/08/22(水) 12:25:05.21 ID:xeghXmwt0.net
ああ、WinWaitActiveをしないと、WinActivateだけだと、どんなに時間がたっても
Last Found Windowは変わらないということですか

339 :名無しさん@お腹いっぱい。 :2018/08/23(木) 01:17:55.45 ID:E69zRD1X0.net
youtubeのプレイヤー画面の座標を取得する方法はあるでしょうか?

最近youtubeの仕様が変わって再生する元動画のアスペクト比によってプレイヤー画面のの大きさも変化してしまい
プレイヤー内の設定ボタンなどの座標が動画ごとにずれてしまいます

340 :名無しさん@お腹いっぱい。 :2018/08/23(木) 09:54:48.67 ID:jFzHledS0.net
Acc.ahkで座標は取得可能
もしかしたらDoDefaultAction使えるかもしれないけど確かめてない

341 :名無しさん@お腹いっぱい。 :2018/08/23(木) 11:02:03.29 ID:E69zRD1X0.net
>>340
プレイヤーの高さ 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 したことあるぐらいの知識しかないです

342 :名無しさん@お腹いっぱい。 :2018/08/23(木) 12:33:47.88 ID:jFzHledS0.net
使っているブラウザ次第で取得できないのを忘れていた
できるかどうかAccInfoViewer_kai.ahkで確認してください

343 :名無しさん@お腹いっぱい。 :2018/08/23(木) 12:44:31.29 ID:E69zRD1X0.net
>>342
サンプルを参考に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)
}

のように書いたら動きました
ありがとうございました

344 :名無しさん@お腹いっぱい。 :2018/08/24(金) 05:53:49.88 ID:8BBrzI5s0.net
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.

345 :名無しさん@お腹いっぱい。 :2018/08/24(金) 11:51:29.97 ID:PobDvvRka.net
質問させて頂きたい事があります

ゲーム等のバックグラウンドでは動作が止まる、もしくは動作はする物のControlSendを受け付けなくなるウィンドウにおいて
タイトルバーで左クリック押下⇒winキー⇒左クリックを離すという操作を行うと
アプリ側にアクティブであると誤認させられるのかバックグラウンドで動作し、ControlSendで操作可能になります

この疑似アクティブ状態をAutoHotkeyで再現しようとすると上記のクリックやwinキーの操作を実際に行わせるしかないでしょうか
それとも直接的に上記状態にするような方法があるでしょうか
なお、win7で確認しており、win10等でもできるかは不明です

346 :名無しさん@お腹いっぱい。 :2018/08/24(金) 12:03:59.39 ID:PobDvvRka.net
自己解決しました

PostMessage, 0x06 , 2, , , ウィンドウ指定
といった形でWM_ACTIVATEをWA_CLICKACTIVEで送るとバックグラウンド動作できました

347 :名無しさん@お腹いっぱい。 :2018/08/25(土) 15:41:21.65 ID:3RTHsCRA0.net
ド素人ですみません。
新しくインストールしたら使用できなくなりました。
今まで使用できたものが出来たくなっているみたいなのですが
どの様に直したらいいでしょうか?

貰いものなので中身は、分かっておりません。

宜しくお願い致します。

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

348 :名無しさん@お腹いっぱい。 :2018/08/25(土) 16:15:36.23 ID:vYU0ROV20.net
>>347
vkF2sc070をsc070に書き換え

349 :名無しさん@お腹いっぱい。 :2018/08/25(土) 16:35:58.51 ID:3RTHsCRA0.net
>>348
ありがとうございます。起動しました(^▽^)/

350 :名無しさん@お腹いっぱい。 :2018/08/25(土) 20:16:30.95 ID:Z3REYl2m0.net
質問です。

やりたいこと
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

351 :名無しさん@お腹いっぱい。 :2018/08/25(土) 21:22:09.82 ID:vYU0ROV20.net
>>350
そのまま試したけどウチでは問題無く動くなぁ
見た感じも特に間違ってないと思うし
ただaが本来はキー押した時入力だけどkeywaitで離した時入力になるから
文章入力時に常駐させるのは厳しいw

352 :名無しさん@お腹いっぱい。 :2018/08/25(土) 21:53:27.97 ID:Z3REYl2m0.net
>>351

返信ありがとうございます。
文章入力でaが出力されないことが結構あるので、
おっしゃる通り文章入力時にはダメですねー

ホームポジションから全く手を動かさずにコピペできたら
便利だと思ってやってみたんですけど、うまくいかないですね。

353 :名無しさん@お腹いっぱい。 :2018/08/25(土) 22:00:53.23 ID:3wPFX9ho0.net
多分、長押しは待つのにイライラすると思うよ。

354 :名無しさん@お腹いっぱい。 :2018/08/25(土) 22:20:29.56 ID:A9Th9uWK0.net
ロダにあるOSMを使うのがいいんじゃない?

355 :名無しさん@お腹いっぱい。 :2018/08/25(土) 23:23:34.42 ID:Z3REYl2m0.net
>>353
待ち時間を0.3秒とか0.5秒位に設定して、
慣れればなかなかの使い心地になると妄想してました。

>>354
すみません
素人なもので、ちょっとどれかよくわからなかったです<(_ _)>

356 :名無しさん@お腹いっぱい。 :2018/08/25(土) 23:41:11.52 ID:Zxet+5iL0.net
>>355
文字入力するときって無意識だけど一つのキーを押してそのキーから指を離す前に次のキーを押したりしてるから
Aだけキーを離した時に入力なんてしたら絶対に慣れるの不可能だと思うよ

357 :名無しさん@お腹いっぱい。 :2018/08/26(日) 00:12:59.70 ID:BT4gFih30.net
>>356
そうですね
冷静に考えればそうですね

実をいうとホームポジションでコピペをしたいというよりは
無変換+○○、変換+○○に代わる手段を探してるんです。

無変換+○○、変換+○○は使いやすところは
大体割り当ててしまったので。

長押しとか二連打とかやってみたけど、
あまりうまくいかないです。

358 :名無しさん@お腹いっぱい。 :2018/08/26(日) 06:01:45.27 ID:fZksv/ak0.net
質問です。

MS-IMEとGoogle IMEを切り替える[Ctrl]+[Shift]と、
多言語設定を切り替える[Alt]+[Shift]を無効化して
[Win]+[Space]に一本化したいのですが、

^+::Return
!+::Return

ではうまくいきません。どのようにしたらいいのでしょうか?

359 :名無しさん@お腹いっぱい。 :2018/08/26(日) 06:48:07.65 ID:Th03tA680.net
+^!は修飾キーとして使う場合のみ
修飾キーのみに設定する場合は shift ctrl alt にしないといけない
左右個別に設定する場合は頭にL or Rをつける、shift なら lshift または rshift

^shift::
!shift::
+ctrl::
+alt::msgbox, test

というかWindowsの言語設定でキー割り当てを「なし」にしたらだめなん?
そのほうが確実だよ

360 :名無しさん@お腹いっぱい。 :2018/08/27(月) 00:11:17.60 ID:j51vjZYo0.net
>>359
ありがとうございます。

設定の方ですが、Google IMEはプロパティの「その他」で
[Ctrl] + [Shift]の無効化をみつけましたが、
MS-IMEの[Alt] + [Shift]を無効化する設定の場所がわかりません。
どこでしょう?
Windows7の頃は自分でショートカットキーを多少選べましたが、
Windows8以降はそういうのが無くなってしまい、
あきらめていました。
今はWindows10です。

361 :名無しさん@お腹いっぱい。 :2018/08/27(月) 05:09:22.24 ID:qoV6L4Op0.net
スタート → 歯車アイコン(設定) → 時刻と言語 → 地域と言語
 → キーボードの詳細設定 → 言語バーのオプション
で「テキストサービスと入力言語」のウィンドウが開くので
「キーの詳細設定」タブを選択

362 :名無しさん@お腹いっぱい。 :2018/08/27(月) 06:00:44.94 ID:j51vjZYo0.net
>>361
うわ〜。こんなところにあったのか。ありがとうございます!!

363 :名無しさん@お腹いっぱい。 :2018/08/29(水) 12:27:49.35 ID:XA7hyTCr0NIKU.net
みなさんAHKは管理者権限で起動している?
標準ユーザーで使ったら、管理者権限ウィンドウがアクティブになってるとホットキーが動かなかった

364 :名無しさん@お腹いっぱい。 :2018/08/29(水) 13:58:59.59 ID:DhwLeReA0NIKU.net
常駐スクリプトは管理者権限で起動してる

365 :名無しさん@お腹いっぱい。 :2018/08/29(水) 14:46:26.91 ID:HiQLd3YZ0NIKU.net
win8までは管理者だったけどwin10は標準で使ってる
win10は標準←→管理者間でのD&Dが効かなくなったり
管理者完全上位じゃなくなってるのでかえってめんどい

366 :名無しさん@お腹いっぱい。 :2018/08/29(水) 18:17:12.05 ID:XA7hyTCr0NIKU.net
>>364-365
参考になりました
そう、標準←→管理者間でやりとりができなくなって混乱しました

管理者アプリでも動かしたければ素直にAHKも管理者権限で使うしかないんですね

367 :名無しさん@お腹いっぱい。 :2018/09/02(日) 12:28:08.49 ID:65ZZk5O+0.net
キー::
click
return

ブラウザ、5chビュアはクリックができるのですがFXや株のインストールをして使うツールは
クリックができるものとできないものがありました。
これは何が原因だと考えられるのでしょうか?

368 :名無しさん@お腹いっぱい。 :2018/09/02(日) 14:03:06.99 ID:nZZGk0pR0.net
>>367
管理者権限

369 :名無しさん@お腹いっぱい。 :2018/09/02(日) 20:22:05.84 ID:65ZZk5O+0.net
>>368
管理者は自分になってるんですよね。
検索をしてみても答えが見つからないので困っています。

370 :名無しさん@お腹いっぱい。 :2018/09/02(日) 20:27:04.05 ID:9vYX/DMY0.net
自分になってるっていうのはログインしているアカウントのことだろうけど
管理者権限はAutoHotKeyのスクリプトの話
普通の起動ではなくちゃんと管理者権限で動かしていますかってこと

371 :名無しさん@お腹いっぱい。 :2018/09/02(日) 21:40:12.12 ID:wIEhSDDaM.net
株やFXは知らんけどゲームなんかだとマクロ系ツール対策してるソフトもあるで

372 :名無しさん@お腹いっぱい。 :2018/09/03(月) 00:18:46.94 ID:aJN4MKIL0.net
>>367
キーやクリックを押す時間が短すぎると反応しない場合がある
SetKeyDelayのPressDurationを長めに設定して、Send, {Click}ならできるかも

373 :名無しさん@お腹いっぱい。 :2018/09/04(火) 04:16:10.63 ID:g5h2GCQp0.net
SetKeyDelayのPressDurationってSend, {Click}ならマウスにも効くんだ?

374 :名無しさん@お腹いっぱい。 :2018/09/05(水) 19:34:21.37 ID:TPq6AWrzH.net
controlsend で非アクティブウィンドウにキー送信したいのですが、そのアプリの仕様上アクティブ化しないとキーを受け付けないみたいなので一瞬だけアクティブ化してキー送信を試みたのですが当然画面がちらついてしまいます
それを回避するために、バックグラウンドでこれを実行するようなことできませんか?何かほかの手立て等もありましたらアドバイスください よろしくお願いします

375 :名無しさん@お腹いっぱい。 :2018/09/06(木) 21:42:11.58 ID:bqZN8RaO0.net
Win10からかな? Ctrl+Alt+Tabでタスク切り替え画面が表示されるようになり
Excelのインデント機能が使えなくなった。
このキーアサインをWindowsじゃなくてExcelだけに渡す方法ってありますかね?
(もしくは前者を無効にする方法でもいいけど)
詳しい方よろしくお願いします。

376 :名無しさん@お腹いっぱい。 :2018/09/06(木) 21:52:26.32 ID:ehmDNxzA0.net
>>375
EXCELの使い方の問題でAHK関係無いので完全にスレチ

377 :名無しさん@お腹いっぱい。 :2018/09/06(木) 22:17:54.18 ID:bqZN8RaO0.net
>>376
AHKでもどうにもできないんだ。ふ〜ん。
回答ありがとう。

378 :名無しさん@お腹いっぱい。 :2018/09/06(木) 22:40:25.04 ID:dWFCDbiN0.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/

379 :名無しさん@お腹いっぱい。 :2018/09/06(木) 22:44:24.39 ID:bqZN8RaO0.net
試しにExcel起動時のみ、明示的に同じキーを送信するように書いてみたら
OSに取られる確率が減りました。
やってみるもんだね。

#IfWinActive ahk_class XLMAIN
 !^Tab::
  Send !^{Tab}
  return
 +!^Tab::
  Send +!^{Tab}
  return
#IfWinActive

慌てて操作すると取られることがある。もっといい方法ないかな?

380 :名無しさん@お腹いっぱい。 :2018/09/06(木) 22:48:53.53 ID:bqZN8RaO0.net
>>378
それは最初にやってみた。元々Altコマンド派なので。
でもこの操作には合わないんだよね。落としたり上げたり連続で操作するので。
AHKで明示的に指定したらExcelに優先的に送られるようになりました。
でもWin7と同じ感覚でやると、時々取りこぼしてしまうみたい。

381 :名無しさん@お腹いっぱい。 :2018/09/07(金) 00:48:59.43 ID:gH8vzFoz0.net
>>368
>>370
管理者権限が原因でした
ありがとうございます

382 :名無しさん@お腹いっぱい。 :2018/09/07(金) 00:51:57.73 ID:9MzFgxMt0.net
>>375
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でのタスク切換えが簡易表示(アイコン表示のみ)になる

383 :名無しさん@お腹いっぱい。 :2018/09/07(金) 03:20:53.84 ID:ER2VoJ180.net
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段階くらいしか
実質ホイールの回転速度が区別できなくて
急加速したり思ったほど加速しなかったりでうまくいかない

もっとホイールの回転速度を精度高く区別する方法ない?

384 :名無しさん@お腹いっぱい。 :2018/09/07(金) 03:49:05.04 ID:2guTp2kD0.net
>>382
情報ありがとうございます。
自分も阿久津さんのサイトでその情報に辿り着きました。
https://news.mynavi.jp/article/windows-358/
ご指摘のエントリ追加でShell再起動したら懐かしのスイッチャーが、、
これでCtrl系のショートカットが落ちるんですね。
おかげで前OSと同様にサクサク動作するようになりました。

AHKの情報漁ってキーアサインの送信先アプリを限定するような
コードがないか捜しましたが、、ないみたいですね。
自分が試したスクリプトに Set, Enable,,(Win...) とか追加して
みましたが、高速操作で取りこぼすようでした。

一先ず問題回避できて良かったです。お騒がせしました。

385 :名無しさん@お腹いっぱい。 :2018/09/08(土) 15:09:39.61 ID:HTbX78bG0.net
下記の目的を実現させようと書いたスクリプトが意図したとおりに動作しません。
無変換&BSの結果としてのBSに対して、1)が反応してしまっていると推測しますが、お助けください。

【目的】
  1) バックスペースを押す     → デリートとして認識させる
  2) 無変換&バックスペースを押す → バックスペースとして認識させる
【スクリプト】
  1) BS::Send,{Delete}
  2) vkEB & BS::Send,{BS} ;vkEBは私のPCでの無変換キーに対応するコード
【動作】
  1) バックスペースを押す     → デリート ;これはOK
  2) 無変換&バックスペースを押す → デリート ;ここをバックスペースとして認識させたい

386 :名無しさん@お腹いっぱい。 :2018/09/08(土) 15:24:46.05 ID:yEblPpJT0.net
>>385
>vkEBは私のPCでの無変換キーに対応するコード
この部分に原因があるんだろうな
普通の日本語キーボード環境なら

BS::Send,{Delete}
vk1D & BS::Send,{BS}

で無変換&BS押せばちゃんとバックスペースとして動作する

387 :名無しさん@お腹いっぱい。 :2018/09/10(月) 22:58:19.55 ID:aSONhD2l0.net
教えてください。
アクティブではないウインドウの中から、あるタイトルウインドウを探し、
そのようなウインドウがあったらそのウインドウをアクティブにしたい
と考えています。
どのように実現したら良いでしょうか?
よろしくお願いします。

388 :名無しさん@お腹いっぱい。 :2018/09/10(月) 23:04:41.89 ID:D7YSHUJz0.net
>>387
WinActivate
使い方は自分でwiki見て勉強して

389 :名無しさん@お腹いっぱい。 :2018/09/11(火) 01:16:50.41 ID:opTLw1oT0.net
>>388
wikiは見ているんだけど、アクティブでないウインドウの中からウインドウを探す方法が分からないのです。

390 :名無しさん@お腹いっぱい。 :2018/09/11(火) 01:28:10.85 ID:yuiWPBQK0.net
>>389
IfWinExist
IfWinNotActive
ウィンドウを探すというよりタイトルを指定すりゃいいだけ
それで分からないならahk使うには厳しいから諦めた方が良い

391 :名無しさん@お腹いっぱい。 :2018/09/11(火) 06:43:59.14 ID:opTLw1oT0.net
>>390
ahkは難しいね。できるということなので色々試してみたいと思います。

392 :名無しさん@お腹いっぱい。 :2018/09/11(火) 10:25:20.78 ID:dJjlfJEo0.net
エディタに、SciTE4AutoHotkeyを使っています

gosub のあとのラベル名とかにカーソルを当ててF12を押すと、ラベルの場所へ飛ぶはずなのですが
飛ぶ場所がちょっとずれるという不具合があるようですが、これはどうにかなりませんか

393 :名無しさん@お腹いっぱい。 :2018/09/11(火) 16:59:18.96 ID:yuiWPBQK0.net
>>389
そもそもアクティブにしたいウィンドウのタイトルが決まってるならそれを指定すりゃいいだけ
なのでウインドウを探す必要なんて無いんだけど?

394 :名無しさん@お腹いっぱい。 :2018/09/11(火) 17:09:13.47 ID:QORl+FtnM.net
>>393
現在アクティブなウインドウのタイトルもアクティブにしたいウインドウと一緒なため、現在アクティブなウインドウを除外して検索したいのです。

395 :名無しさん@お腹いっぱい。 :2018/09/11(火) 17:14:42.91 ID:WMEQYVqo0.net
>>394
そういうの後出しじゃ答える側には何も伝わらないから質問する時に先に書こうな
タイトルが同じならPIDなどで指定すりゃいい

396 :名無しさん@お腹いっぱい。 :2018/09/11(火) 19:19:39.78 ID:QORl+FtnM.net
>>395
WinGetとLoopを使って出来ました。

397 :名無しさん@お腹いっぱい。 :2018/09/17(月) 10:32:49.30 ID:pVCkClPH0.net
こないだのWinUpdate以降、偶にMouseGestureLがずっとジェスチャー監視状態になって
タスクマネージャーで切らない限りマウスが他の操作を受け付けなくなる症状が出る
同じ症状の人or対策ってあるのかな

398 :名無しさん@お腹いっぱい。 :2018/09/18(火) 06:16:13.17 ID:AXc2/XZs0.net
すみません質問なんですが
コンビネーションキーを使わず一時的にキーを入れ替えるということは可能でしょうか?
#IfWinActiveでというわけではなくひとつのソフト内で一時的に入れ替えを繰り返したいです

具体的にはコンビネーションキーを使わずアローキーとASDWを入れ替えたいです
ASDWはそれぞれ単推しが条件です
どのようなロジックにすればいいのかヒントをください

399 :名無しさん@お腹いっぱい。 :2018/09/18(火) 06:56:10.45 ID:OjuHwNNl0.net
フラグで管理すればいい

f1::flag := !flag ; F1でフラグ変更

#if !flag
a::msgbox, 0
s::msgbox, 1

#if flag
a::msgbox, 10
s::msgbox, 11

400 :名無しさん@お腹いっぱい。 :2018/09/18(火) 07:07:04.43 ID:AXc2/XZs0.net
>>399
ありがとうございます出来ました

401 :名無しさん@お腹いっぱい。 :2018/09/19(水) 10:16:39.44 ID:3FfattUq0.net
ちょっとお伺いしたいんですけど、XYplorerなんかのアプリケーションで
WinSet, Style, -%WS_CAPTION%, ahk_id %hWnd%
でタイトルバー隠しつつウィンドウ最大化すると、
Altキー送るかごく一部のパーツ(アドレスバーの役割をするやつ)にマウスを乗っけるかするまで、
マウス操作に反応しなくなってしまうんですけど、何かスマートな復帰方法ってありますでしょうか?

402 :名無しさん@お腹いっぱい。 :2018/09/19(水) 12:28:31.23 ID:hbmu9zXt0.net
無変換、変換キーとのコンビネーションが余りに良過ぎて絶頂快感レベルなんだが。

403 :名無しさん@お腹いっぱい。 :2018/09/19(水) 21:02:10.87 ID:gnJBXJJ7M.net
>>402
わかる

404 :名無しさん@お腹いっぱい。 :2018/09/20(木) 01:47:33.71 ID:z3KDZezp0.net
>>401
そのアプリでは確認してないがコレでどうかな?

擬似フルスクリーン関数 / Pseudo Full Screen Function
https://pastebin.com/PddjCJhY

405 :名無しさん@お腹いっぱい。 :2018/09/20(木) 09:17:32.37 ID:C98ZhkQO0.net
>>404
回答ありがとうございます
ですがどうやってタイトルバー隠して最大化するかという話ではなく、
ウィンドウ回りのメッセージいじくった副作用で、
マウスイベントが変になったウィンドウを正気に戻すにはどうすればという話ですので……

リンク先のコードもホットキーで最大化みたいな見た目にさせるものであって、
ウィンドウサイズを記憶するアプリケーションで嫌なことになるでしょうし、
HCBT_MINMAXイベントにフックして発火させてる自分のコードの参考にはなりませんでした

406 :名無しさん@お腹いっぱい。 :2018/09/20(木) 09:24:43.44 ID:C98ZhkQO0.net
正直、他の大抵のアプリケーションでは何の問題もありませんし、
ControlSend, , {Alt}{Alt}, ahk_id %hWnd%でもだいたい治るのですが、
ほんの一部だけ変なままのコントロールがあったりしますし、
何かパッと全て解決する冴えた命令とかないのかなと思ってお伺いしたかったのです

407 :名無しさん@お腹いっぱい。 :2018/09/20(木) 10:12:39.47 ID:z3KDZezp0.net
>>405
作者の意図しないスタイル変更で不具合起きても
再起動以外の万能な解決方法なんて「存在しない」と思うので
最大化すると狂うならしなければいいんじゃね?って答えです

408 :名無しさん@お腹いっぱい。 :2018/09/20(木) 19:54:17.92 ID:U81pDOFs0.net
任意のアプリをつかっているときに、押したキーボードをファイルへ保存するために下記のようなものを作ろうと思っています。

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まですべてのキーに対して作ろうと思うと、ちょっとげっそりします
なにかいい方法はありませんか

409 :名無しさん@お腹いっぱい。 :2018/09/20(木) 20:24:53.66 ID:A/yRjkVr0.net
>>408
その方法のまま、ちょっと簡単にするなら、
~a::
~b::
~c::
k:=RegExReplace(A_ThisHotkey,"~","")
FileAppend %k%, keylog.txt
return

410 :名無しさん@お腹いっぱい。 :2018/09/20(木) 20:51:41.61 ID:U81pDOFs0.net
>>409
なるほど。A_ThisHotkeyってのがミソですね
ちなみに、頭についているチルドはなんですか。ついてるのとついてないのではどういう違いがありますか

411 :名無しさん@お腹いっぱい。 :2018/09/20(木) 21:26:41.46 ID:A/yRjkVr0.net
>>410
キーの動作はそのままに、ついでに実行する感じ。
だから、本来の動作をさせるために書いていたsendが不要になります。

412 :名無しさん@お腹いっぱい。 :2018/09/20(木) 22:07:05.65 ID:U81pDOFs0.net
なるほど、ありがとうございました。 sendがいらないのですね

413 :名無しさん@お腹いっぱい。 :2018/09/21(金) 19:26:27.97 ID:JRAgMbwQ0.net
includeで関数をまとめたahkを相対パスで読み込むスクリプトがあります
このスクリプトを普通にダブルクリックで起動した時は問題ないんですが
別のスクリプトでrunコマンドで起動するとincludeできないエラーがでます
なぜでしょうか

414 :名無しさん@お腹いっぱい。 :2018/09/21(金) 19:34:26.42 ID:SEg6ZgdL0.net
カレントが includeで関数をまとめたahk のパスになってないから

415 :名無しさん@お腹いっぱい。 :2018/09/22(土) 01:31:57.12 ID:107FtndLr.net
Array := ["平成","昭和","大正","明治","慶應","…"]

この配列の要素数を取得するにはどのようにすればいいのでしょうか?

416 :名無しさん@お腹いっぱい。 :2018/09/22(土) 02:08:16.24 ID:F6Zy33Bn0.net
length()

417 :名無しさん@お腹いっぱい。 :2018/09/23(日) 10:43:20.32 ID:FekjhB1ra.net
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
}
}

418 :417 :2018/09/23(日) 10:48:16.10 ID:FekjhB1ra.net
一応補足ですが>>417はStringReplaceで一括処理していい場面ではなく、
ひとつひとつ視認しながら作業したいとき用に作ったものです。

419 :417 :2018/09/23(日) 11:58:20.92 ID:FekjhB1ra.net
>>417をいろいろ試してみましたが、文字サイズが小さいときはキャレットの位置がずれて変な挙動をしてしまいますね…

420 :417 :2018/09/23(日) 12:19:11.53 ID:FekjhB1ra.net
度々すみません。
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
}
}

421 :417 :2018/09/23(日) 12:28:15.56 ID:FekjhB1ra.net
あ…ループせずとも、これでよかったですね。
いずれにせよ処理速度はやはり遅いままですが…

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
}
}

422 :名無しさん@お腹いっぱい。 :2018/09/23(日) 13:48:06.18 ID:ZOALMWKL0.net
特定のプログラムが起動 (アクティブや最前面) されたら、特定のプログラムが自動で起動出来るスクリプトは、可能でしょうか?

423 :名無しさん@お腹いっぱい。 :2018/09/23(日) 16:24:42.95 ID:VYcnd+gw0.net
可能

424 :名無しさん@お腹いっぱい。 :2018/09/23(日) 18:03:43.65 ID:ZOALMWKL0.net
#IfWinActive アクティブウィンドウ指定
RUN 起動したいプログラム
#IfWinActive

だけでは、出来ませんでした。

どなかた教えて頂けますでしょうか?

425 :名無しさん@お腹いっぱい。 :2018/09/23(日) 21:17:47.22 ID:BliL24p00.net
Windowsのイベントを拾う - hoge
https://sites.google.com/site/agkh6mze/howto/winevent

426 :名無しさん@お腹いっぱい。 :2018/09/23(日) 21:36:47.03 ID:31DDKA4n0.net
>>417
; --- 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
}

427 :名無しさん@お腹いっぱい。 :2018/09/24(月) 05:20:00.81 ID:BRuHDRmp0.net
>>424
#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

428 :名無しさん@お腹いっぱい。 :2018/09/24(月) 11:54:00.95 ID:ZlvdI27na.net
>>426
おぉっ、ありがとうございます!
実際には消さずに1つ飛ばして次へ行きたい場合もあるので、そういう機能も追加してみようと思います

429 :名無しさん@お腹いっぱい。 :2018/09/24(月) 15:34:23.11 ID:9OJkCbcr0.net
>>427
ありがとうございました。

430 :名無しさん@お腹いっぱい。 :2018/09/25(火) 08:04:19.41 ID:3R3+W8UO0.net
1.1.24から1.1.30へアプデしたら
ALTキーの空押しトリガーでアクセラレーターキー発動しまくりメニューが反応してしまう
大抵大丈夫なソフトが多かったがそれらのバージョンによっても反応しちゃったりしなかったり
酷いのはメニューがいきなりプルダウンする乱暴な奴とかいたり
トリガー変えたりなんだりいろいろやって納得行かず調べた結果どうやら1.1.27以降で仕様が変わったみたい

で対策(反応するっちゃするけど速攻で無効化)
#MenuMaskKey vk07
*~○○○::(LAlt、RAltを抜いた全部のキー)いっぱいなので割愛
*~LAlt::Send {Blind}{vk07}
*~RAlt::Send {Blind}{vk07}

プログラムによっちゃ無効化出来る設定あるけどOSレベルで無効にできんのかなぁ

431 :名無しさん@お腹いっぱい。 :2018/09/26(水) 14:20:01.12 ID:7m8X8t6VM.net
Hayateがまともに動作しなくなったんでイラっとして1.1.26.01まで戻した

432 :名無しさん@お腹いっぱい。 :2018/10/01(月) 14:29:01.32 ID:iwdKiYmDM.net
英語キーボードを使っていて、リモート接続のクライアントの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で実行されているのは変わりません

433 :名無しさん@お腹いっぱい。 :2018/10/01(月) 20:49:46.86 ID:4Q2Wzr5t0.net
>>432
vkF3(半角/全角)で行う必要性が全く意味がわからないんだが

getIMEMode := IME_Get()
if (%getIMEMode% = 0)
{
IME_SET(1)
IME_SetConvMode(25)
}
else
{
IME_SET(0)
}
return

434 :名無しさん@お腹いっぱい。 :2018/10/01(月) 21:14:55.69 ID:4Q2Wzr5t0.net
ちなみ俺のを貼っておく
https://dotup.org/uploda/dotup.org1656656.png

435 :名無しさん@お腹いっぱい。 :2018/10/02(火) 03:32:02.56 ID:XIOIGa0E0.net
pngで貼るとか頭おかしいんちゃうか

436 :名無しさん@お腹いっぱい。 :2018/10/02(火) 03:54:49.60 ID:yi1VJCDs0.net
参考程度に見れば十分やろ
関数は配布されてる単純なロジックやし使い方だって検索したらいくらでも説明あるでしょ
あとはリファレンス読めばわかるレベル
433で答えまで書いてやってんだから理解出来ないなら諦めたらえぇ

437 :名無しさん@お腹いっぱい。 :2018/10/02(火) 09:57:59.75 ID:AEJZr7gaM.net
>>433
上部メニューのアクティブを抑制する行の追加リモート接続でも動きました
ありがとうございます
ちなみにIME_SETでは動かず、Send vkF3なら動作しました
キーボードの違いだと思いますが、何にせよ解決したので良かったです

438 :名無しさん@お腹いっぱい。 :2018/10/02(火) 10:12:56.41 ID:z227XsnEa.net
Twitterで長文メモのスクショ貼る人みたい

439 :名無しさん@お腹いっぱい。 :2018/10/05(金) 13:08:49.72 ID:SCAEAGvB0.net
たとえばFirefoxなのですが、縦スクロールバーがでている状態で、上下矢印キーを押すと上下にスクロール
するのですが、スクロールの幅が大きいのです。
スクロールバーの上下についている四角の箱をクリックしてもちょっと大きく動きます

これをAHK使って、あるいは他の方法でもいいのですが、1ピクセルづつスクロールさせたいのですが
出来ますか。

440 :名無しさん@お腹いっぱい。 :2018/10/05(金) 14:06:54.87 ID:CEpw7DNT0.net
Firefoxのことは
Firefoxを調べた方が早いんじゃないの?

441 :名無しさん@お腹いっぱい。 :2018/10/05(金) 14:56:25.59 ID:SCAEAGvB0.net
AHKならスクロールバーの制御も一般的に出来るのかなと思ったのですが

442 :名無しさん@お腹いっぱい。 :2018/10/05(金) 14:58:02.50 ID:SCAEAGvB0.net
AHKでスクロールバーの制御をしようと思ったら、バーのマウスを持ってきてDown状態にして
カーソルを動かす、みたいなことしか方法はないのかな

443 :名無しさん@お腹いっぱい。 :2018/10/05(金) 15:32:42.44 ID:Ff+7G5Zn0.net
1ピクセルずつとか文字列1行分スクロールするのに何回押さなきゃならないんだ
ってくらい使いにくくなるんだが

444 :名無しさん@お腹いっぱい。 :2018/10/05(金) 16:42:10.30 ID:fes53dD+0.net
sexeやタスクスケジューラを使ってログオン前にLiveCapture3などのソフトを常駐させると、タスクトレイにアイコンが表示されないままになりますが、
AutoHotKeyを使って無理やりタスクトレイにアイコンを追加したり、該当ソフトのタスクトレイアイコン右クリック時に出るメニューと同じものを表示することは可能でしょうか?

SendMessage, 0x0205, , , , ahk_exe lc3.exe だと見つからず反応しませんでした
あと何故かtvrock.exeの場合トレイにアイコンがあっても反応しませんでした…

445 :名無しさん@お腹いっぱい。 :2018/10/05(金) 17:28:36.73 ID:0eixHvUx0.net
sendmessageでスクロールメッセージ投げてやりゃスクロールはできるし
ホイールメッセージならマウスのプロパティで設定しとけば一行ずつにはなる
が、1ピクセルずつは無理じゃね
"スクロールバーを掴んで引っ張る"をエミュレーションできればあるいは

446 :名無しさん@お腹いっぱい。 :2018/10/10(水) 18:46:51.09 ID:bXLwrapy01010.net
すみません、二つの変数を比較して同一の数値の場合に処理を実行したいのですが、これだと間違っていますか?

If HensuuA = %HensuuB%
{
処理
}

447 :名無しさん@お腹いっぱい。 :2018/10/10(水) 23:38:10.06 ID:+qwU9+TE0.net
■変数と値の比較
if var = value
if (var = "文字列")
if (var = 数値)

■変数通しの比較
if var = %var%
if (var = var)

■代入演算子
var := var
var := "文字列"
var := 数値

448 :名無しさん@お腹いっぱい。 :2018/10/11(木) 03:55:06.71 ID:AK0vvxQ+0.net
テストしてみればいいやん
HensuuA=1
HensuuB=1

If HensuuA = %HensuuB%
msgbox,1
else
msgbox,2

If (HensuuA=HensuuB)
msgbox,3
else
msgbox,4

449 :名無しさん@お腹いっぱい。 :2018/10/11(木) 08:32:11.30 ID:nmZ2gWSh0.net
括弧なしifは旧仕様
分かりにくいし紛らわしいからなるべく使わない方向で

450 :名無しさん@お腹いっぱい。 :2018/10/11(木) 12:30:24.80 ID:+ZOAvUFq0.net
>>447, >>448, >>449
出来ました、有難うございます。

451 :名無しさん@お腹いっぱい。 :2018/10/13(土) 20:22:56.92 ID:R8f6qIw8a.net
質問です。
現在フォーカスしているテキストエリアが空っぽかどうかを確かめたいのですが、
^a^cなどクリップボードを経由する以外に簡単な方法ってありますか?

452 :名無しさん@お腹いっぱい。 :2018/10/13(土) 23:12:56.95 ID:PPQQn2Ql0.net
ControlをGetしてTextを取得すれば良いと思うのだ、そうなのだ

453 :名無しさん@お腹いっぱい。 :2018/10/17(水) 17:16:37.12 ID:D79vkLFj0.net
Windowsのレジストリで、環境によって変化するサブキーがありますが、これを取得する方法ってないでしょうか。
具体的には
\HKEY_CURRENT_USER\Control Panel\Desktop\PerMonitorSettings\の下のモニター識別子なんですが…

454 :名無しさん@お腹いっぱい。 :2018/10/17(水) 17:40:59.26 ID:hablK01d0.net
>>453
http://ahkwiki.net/LoopReg

455 :名無しさん@お腹いっぱい。 :2018/10/17(水) 18:17:16.63 ID:D79vkLFj0.net
>>454

おお、ホントだ、ありがとうございます。
何かややこしく考え過ぎてました

456 :名無しさん@お腹いっぱい。 :2018/10/19(金) 10:15:05.21 ID:pLy6hzb20.net
v1.1.30.00
Hotkey, If [, Expression]

Hotkey, If, (1)
エラーが出るけど、もしかして使えない?

457 :名無しさん@お腹いっぱい。 :2018/10/19(金) 11:09:45.16 ID:gpPJ+axP0.net
エラー嫁

458 :名無しさん@お腹いっぱい。 :2018/10/19(金) 12:10:05.55 ID:pefhSxfW0.net
アプデで動かなくなったならchangelogを確認
うちは 1.1.24.01の仕様変更で動かなくなった

459 :名無しさん@お腹いっぱい。 :2018/10/19(金) 14:15:23.77 ID:EstbMLBD0.net
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だけで出来ないだろうか? 
知恵をお借りしたい 

460 :名無しさん@お腹いっぱい。 :2018/10/19(金) 19:35:17.44 ID:IXe0O+ly0.net
obj := {key: "a"}
Send, {%obj.key% Down} ;<- error

今は key := obj.key として %key% で2行目を通してるけど、
一時変数を使わず obj.key を使用する方法はありますか?

461 :名無しさん@お腹いっぱい。 :2018/10/19(金) 21:05:34.76 ID:9raoExfA0.net
>>460
コマンドの各引数の先頭に「% 」で式になる
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

462 :名無しさん@お腹いっぱい。 :2018/10/20(土) 01:01:00.88 ID:9JrZydin0.net
>>461
ありがとう
おかげで理解が深まりました

463 :名無しさん@お腹いっぱい。 :2018/10/20(土) 03:18:16.02 ID:HeWkqqCAa.net
今までに打ったpの回数を数えるスクリプトなのですが、動きません。
何がいけないのでしょうか?

kaisuu :=

$p::
kaisuu := %kaisuu% . "p"
Send, p
Return

k::
Loop, Parse, %kaisuu%
{
Send, %A_LoopField%
}
Return

464 :名無しさん@お腹いっぱい。 :2018/10/20(土) 08:48:26.84 ID:e98hZzR20.net
これと kaisuu := %kaisuu% . "p"
これ Loop, Parse, %kaisuu%

上手くいかないときはlistlinesやlistvars見ればどこで躓いてるのかすぐわかる

465 :名無しさん@お腹いっぱい。 :2018/10/20(土) 19:12:56.61 ID:HeWkqqCAa.net
>>464
単純に%を抜いたら動きました
ありがとうございます

466 :名無しさん@お腹いっぱい。 :2018/10/20(土) 19:54:03.54 ID:f5Sc3ODKM.net
細かいことだが := で変数初期化するなら 値は "" にしたほうがいいよ
= だと右辺を空にするしか方法ないけど

467 :名無しさん@お腹いっぱい。 :2018/10/20(土) 20:02:07.60 ID:ras6l8WJ0.net
それはなんで?

468 :名無しさん@お腹いっぱい。 :2018/10/25(木) 19:42:23.21 ID:MT0G2iQx0.net
入力文字種をローマ字入力のひらがなに固定するスクリプトがいまのいままで間違ってた...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)
}
;かな入力時×

469 :名無しさん@お腹いっぱい。 :2018/10/26(金) 07:18:29.14 ID:7VIDX2sma.net
キャレットを行末に移動したいのですが、{End}だとあくまで折り返し地点に行くだけで
改行コード(\rや\n)のあるところまで移動してくれません。
何かよい方法はありますか?

470 :469 :2018/10/26(金) 09:39:17.53 ID:7VIDX2sma.net
{End}+{Left}^c{Right}からのRegExMatch()で改行があるかないかを調べ、
なかったら次の行を調べ…とすればいいのかなとも思いますが
最後尾にたどり着いても改行コードが見つからない場合は延々とループしそうなので
それを回避する手段が必要…?

{End}だけでなくこれの{Home}版も作りたいですが、考え方は同じ…?

471 :名無しさん@お腹いっぱい。 :2018/10/26(金) 18:44:43.09 ID:HTEiSBrp0.net
もし、特定のソフト(テキストエディタ)で行末に移動させたいのであれば
行末に移動するショートカットキーが存在する場合があるのでヘルプを参照してみては

472 :名無しさん@お腹いっぱい。 :2018/10/26(金) 21:42:45.36 ID:QyeYEwKz0.net
>>469-470
テキストエディタでの話と明言してなかったのでレスしなかったが>>471と同じこと思ってた(後出しだけど)

もしショートカットキーが無い場合でも検索機能で正規表現使えるなら「\n」を検索できるので、
それを備え付けのマクロ機能でマクロ化してショートカットキーに登録すれば一発で移動できると思うんだが…
有名何処のエディタならマクロ機能ぐらい装備してると思うけど「メモ帳」じゃ無理かも

473 :469-470 :2018/10/27(土) 11:24:09.50 ID:7lsaB75Ra.net
>>471-472
あ、明言していませんでしたが主にGoogle Chromeですね…
調べてみたらChromeにはそのようはショートカットはありませんでした
(一応Clrl + Endとかは動くものの、何を基準にした仕様なのかは分からず…)

テキストエディタと違って[EOF]を検出できるかも怪しいので、 >>470 に書いたようにループを気にしていた次第です

まず+^{End}^cで今いる地点から文末の間に改行コードがあるかどうかをRegExMatchで探し(なければ終了)
もしあれば【最初に返ってきた位置地点までキャレットを瞬時に移動する】…方法があればいいですけど
そういうのってないですよね…?
(マウスクリックだとなんか安定しないし…)

仕方ないので一旦{Left}で選択を解除し、
+{End}^cで再度1行ずつ改行コードを探しつつ、
その行に改行コードがなければ次の行へ…とするのが最善…?

ということで自己解決した…ような気がします

474 :名無しさん@お腹いっぱい。 :2018/10/29(月) 18:11:16.16 ID:pGyDCuIr0NIKU.net
すいません教えて下さい。
USBテンキーの割当てについて、
今までi buffaloのテンキーを使用してnumlockオフ時のキーの割当てを変えていたのですが、
最近ナカバヤシのDigio2という静音のワイヤレステンキーを買ったらpgup、home等のキーがメインのキーボード側とは区別されていない仕様で、5のキーも何も割当てがない(ibuffaloのはclearが割当てられていました)仕様でした。
これはナカバヤシのが普通でibuffaloのが特殊なんでしょうか?
今まで通り割当てるつもりで買ったら何も出来ないので困っています。

475 :名無しさん@お腹いっぱい。 :2018/10/29(月) 19:07:38.51 ID:G3c6EY1j0NIKU.net
下記で、AAAがアクティブなとき、aキーを押したとき、something2は実行されますか。
されないとすると、なぜでしょうか

#ifwinactive, AAA
a::
do something1
return
#ifwinactive

#ifwinnotactive, BBB
a::
do something2
return
#ifwinnotactive

476 :名無しさん@お腹いっぱい。 :2018/10/29(月) 19:31:45.02 ID:DbSYxVta0NIKU.net
#if系 は排他制御だから
複数の条件で一致しても先に見つかったほうしか実行されない

477 :名無しさん@お腹いっぱい。 :2018/10/29(月) 19:52:49.55 ID:XZZ80pWq0NIKU.net
>>474
んなもんハードウェア仕様次第だろ
各ハードごとの仕様の違いなんてスレチ

478 :名無しさん@お腹いっぱい。 :2018/10/29(月) 21:23:15.22 ID:RYRYJnjF0NIKU.net
>>477
やっぱりメーカによって違うという事ですか。
分かりました元々キーコードが無いとどうしようもない?ので諦めてibuffaloにします。
ありがとうございました。

479 :名無しさん@お腹いっぱい。 :2018/10/29(月) 21:40:14.09 ID:DbSYxVta0NIKU.net
お勧めのテンキー
http://mevius.5ch.net/test/read.cgi/hard/1231658312/

プログラマブルキーボード的な使い方を想定してる人もいるので一応見てみたら

480 :名無しさん@お腹いっぱい。 :2018/10/29(月) 23:43:32.58 ID:RYRYJnjF0NIKU.net
>>479
テンキー専門のスレなんてあるんですね
自分はCADを使う時にテンキーにショートカットやマウスの動きを割り振っていたので参考になるかもしれません
ありがとうございます
最初に買ったテンキーがibuffaloの物だったのでほかのテンキーも何事もなく割り振れると思い込んでました・・・無知でした

481 :名無しさん@お腹いっぱい。 :2018/10/31(水) 09:13:41.73 ID:WLGP5gIM0.net
AHKメニュー上で↓キーは効くのですが,無変換キーから送っている下記コードが動作しません.
sc07B & D::
Send {Blind}{Down}
return
AHKメニュー以外では問題なく動作します.
原因の分かる方おられませんでしょうか.

482 :名無しさん@お腹いっぱい。 :2018/10/31(水) 11:01:39.53 ID:WLGP5gIM0.net
補足です.
"AHKメニュー上"というのは,AHKで作って出したメニューという意味です.

483 :名無しさん@お腹いっぱい。 :2018/10/31(水) 11:08:09.93 ID:opd+04/w0.net
>>481
カーソルキーの定義だけ別のAHKで走らせておくと良いよ。
または、メニュー関連だけ別AHKとか。

484 :名無しさん@お腹いっぱい。 :2018/10/31(水) 11:13:25.55 ID:gjv71M2k0.net
Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない

485 :名無しさん@お腹いっぱい。 :2018/10/31(水) 12:36:04.50 ID:RhubQVeN0.net
これもいい加減FAQだなあ

486 :名無しさん@お腹いっぱい。 :2018/10/31(水) 14:01:27.21 ID:WLGP5gIM0.net
>>483
>>484
ご返信ありがとうございます.
>>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない
このような動作で無効となっているようでした.
実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました.
長年の悩み解消に,大変感謝いたします.

487 :名無しさん@お腹いっぱい。 :2018/10/31(水) 14:02:30.72 ID:WLGP5gIM0.net
>>483
>>484
ご返信ありがとうございます.
>>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない
このような動作で無効となっているようでした.
実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました.
長年の悩み解消に,大変感謝いたします.

488 :名無しさん@お腹いっぱい。 :2018/10/31(水) 14:03:13.31 ID:WLGP5gIM0.net
>>483
>>484
ご返信ありがとうございます.
>>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない
このような動作で無効となっているようでした.
実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました.
長年の悩み解消に,大変感謝いたします.

489 :名無しさん@お腹いっぱい。 :2018/10/31(水) 14:40:12.38 ID:dT0cJuwPH.net
めっちゃ感謝してるね

490 :名無しさん@お腹いっぱい。 :2018/10/31(水) 17:51:18.10 ID:RhubQVeN0.net
w

491 :名無しさん@お腹いっぱい。 :2018/10/31(水) 21:04:54.32 ID:OZesCr780.net
フォントを指定しないで作成した表示中のGUIで使用しているフォントの種類を知る方法ってありますか?。

492 :名無しさん@お腹いっぱい。 :2018/10/31(水) 22:52:35.57 ID:LdONliey0.net
インプットメソッドの状態取得といえば定番は IME.ahk ですが、
(https://www6.atwiki.jp/eamat/pages/18.html)
どうやら TSF (Text Service Framework)対応のアプリまたはインプットメソッドで、
状態取得に失敗するようなのです。
例えば、Thunderbird + MS-IME です。
伝聞形なのは、じぶんの環境で再現できていないからです。

ここで質問ですが、
1)IME.ahk がTSF対応アプリやインプットメソッドで問題となるケース
 特に、IME_GetConvMode() が変換モードを取得できないケースとは、
 具体的にはどのような操作なのでしょうか。
2)TSFに対応した autohotkey のライブラリ、もしくはサンプルスクリプトは
 どっかに落ちてないでしょうか。

493 :名無しさん@お腹いっぱい。 :2018/10/31(水) 23:37:37.36 ID:RhubQVeN0.net
IME.ahkは同梱のtxtに記載がありますがTSF関数には全く対応していません
ただIME側で下位互換がありIMM関数で値が取れるものはかろうじて拾えるようです
どのIMEのどこまで互換があるのかは分からないです

TSFに関してはこの辺が参考になるかも知れません
https://qiita.com/496_/items/95acf68eaf31fd57f44e
https://qiita.com/tignear/items/2377c1be20e1aec71045
https://msdn.microsoft.com/library/ms629043.aspx

自分は断念しました

494 :名無しさん@お腹いっぱい。 :2018/11/01(木) 01:44:27.83 ID:9ZyI4byU0.net
>>493
詳細な情報をいただき、ありがとうございました。

自分は、TT_IME というフリーソフトが、コード付きで落ちていたので解析中です。
TT_IME は、imeの状態監視を行うソフトであり、TSF対応しているようですので、
目的には叶っています。
でも、32bit dll/64bit dll/ 32bit.exe / 64bit exe の4本立てという濃厚さなので
解析するのも一苦労です。

このimehook.dllを AutoHotkey のDllcall で呼び出せば、
もしかしてTSF対応できるかも、などと妄想したりしています。

http://d.hatena.ne.jp/merom686/20120602/1338609232
https://blog.goo.ne.jp/kzstock/e/d99afd1b215c48843b93ae6cc2bc8b04

495 :名無しさん@お腹いっぱい。 :2018/11/01(木) 23:21:34.95 ID:2uiyzVkS0.net
URLDownloadToFileでhttpsのドキュメントなどは落とせないのでしょうか?

496 :名無しさん@お腹いっぱい。 :2018/11/02(金) 13:27:50.06 ID:loaTwIIP0.net
メイプルストーリーが矢印キーでしか移動できないので

w:up
a:left
s:down
d:right

とシンプルなスクリプトを作り動作確認できたのですが、ウィンドウモードのメイプルからデスクトップや別ブラウザ(Chromeなど)に一度でも切り替えるとメイプルで最初効いていた動作が利かなくなるのですが、原因分かるかたいますか?
リロードスクリプトをすれば、また効くようになるのですが。管理者権限は常時使っています。効いていたのに、別のところに切り替えるとメイプルだけなぜか動作しなくなる…

497 :名無しさん@お腹いっぱい。 :2018/11/02(金) 13:34:59.37 ID:0sE/AXpAa.net
>>496
あ、スクリプトはちゃんとa::leftにしてます。ここに書く際、『:』を1つだけにしてました。

498 :名無しさん@お腹いっぱい。 :2018/11/02(金) 14:05:19.59 ID:hKnah+9H0.net
>>496
ゲーム側の不正対策でそうなっている

499 :名無しさん@お腹いっぱい。 :2018/11/02(金) 18:45:30.70 ID:tDKIogQ70.net
>>498
不正対策ならリロードしても効かないはずでしょ

500 :名無しさん@お腹いっぱい。 :2018/11/02(金) 19:05:14.72 ID:hKnah+9H0.net
>>499
至って単純な対策だけど殆どのユーザーに対してはこれで十分効果がある

501 :名無しさん@お腹いっぱい。 :2018/11/02(金) 19:56:47.25 ID:0sE/AXpAa.net
>>500
質問したものです。なるほど、対策だったんですね。それを知れただけでもよかったですありがとうございました。

502 :名無しさん@お腹いっぱい。 :2018/11/02(金) 20:15:04.89 ID:tDKIogQ70.net
>>500
対策とはどのプログラムが邪魔してんの?根拠あって言ってんの?

503 :名無しさん@お腹いっぱい。 :2018/11/02(金) 23:43:47.18 ID:hKnah+9H0.net
質問してるの?なんで偉そうにしてんの?過去スレみれば?

504 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:15:56.55 ID:Qi6X1PzN0.net
根拠もなく「対策してる」とか決めつけられてもな

505 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:18:38.27 ID:Qi6X1PzN0.net
対策ならまず最初に起動した時点で弾くもの
「タスク切り替えた時だけ動かなくなる」という症状は明らかに対策とは違う

506 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:32:11.75 ID:N87FaTZ40.net
メイプルストーリーのアップデートでそういう対策されたんだから
そういう持論があるなら運営会社に対策とは違うって訴えればいい

507 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:34:19.56 ID:Qi6X1PzN0.net
いやだから何を根拠に対策だと言ってんだよw

508 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:37:44.29 ID:N87FaTZ40.net
わかったわかった、俺が悪かった
過去スレすら見ないあんたに構った俺が悪かった
ごめんよ

509 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:41:08.29 ID:Qi6X1PzN0.net
>>508
過去スレ過去スレ言うだけで根拠は一切示せない
そんなんなら最初から知ったかぶりかますなよ

510 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:42:27.21 ID:N87FaTZ40.net
突っかかってるくやつになんで丁寧に説明しなきゃいけねーんだよ
馬鹿か?これ以上のレスはもうしない。スレ汚しごめん。

511 :名無しさん@お腹いっぱい。 :2018/11/03(土) 01:44:34.65 ID:Qi6X1PzN0.net
>>510
何も突っかかってなんかないし根拠あるならそれを言えば良いだけのこと
根拠が無いから言えないだけだろ
最初から黙ってりゃいいのにアホくさ
アスペかよ

512 :名無しさん@お腹いっぱい。 :2018/11/03(土) 02:21:35.97 ID:+PWm1krK0.net
>>495
UrlDownloadToVar - Page 7 - Scripts and Functions - AutoHotkey Community
https://autohotkey.com/board/topic/9529-urldownloadtovar/page-7
の Preactive氏のスクリプト(関数)使った方が良い、結構融通効くから(ファイルじゃなく変数に格納する)

個人的に関数の引数に「Accept=""」追加して、
関数内に
If (Accept<>"")
 WebRequest.SetRequestHeader("Accept",Accept)
を追加すると使い勝手が良くなる(これを引数にするかしないか使い側が決めるけど)

513 :名無しさん@お腹いっぱい。 :2018/11/05(月) 17:27:07.93 ID:Gn8lX3k40.net
>>496
lolでも最近これになって困ってたけど何か原因があるのかねえ
アクティブになった瞬間一度だけリロードしようとしたけど何故かうまく行かなくて諦めた

514 :名無しさん@お腹いっぱい。 :2018/11/05(月) 18:47:29.75 ID:Zwaz1fsc0.net
Sendモードの種類、間隔
ControlSend
キーボードフック($、#UseHook)

試してダメならタイマー+WinWaitActiveやイベント検知でリロード
https://sites.google.com/site/agkh6mze/howto/winevent

515 :名無しさん@お腹いっぱい。 :2018/11/06(火) 15:21:03.22 ID:PrbRGNF8a.net
IMEのいわゆる変換前文字列
(例えば「掲示板」と打とうとしている最中に表示される「けいj」とか「けいじb」とか「けいじばん」)という平仮名やアルファベットたち

が現在あるかどうかを調べる方法ってありましたっけ?
どこかで見たような気がしたのですが思い出せず…

どこかに自分で入力文字を保持しておき{Enter}が押されるたびにリフレッシュ…という方法ではだめなんですよね
(Enterを押さずとも、変換→文字を打つ→を繰り返すだけでIMEが次々と勝手に候補を確定させていくため)

516 :名無しさん@お腹いっぱい。 :2018/11/07(水) 12:08:37.04 ID:/FFBm3Qp0.net
http://ahkwiki.net/Arrays

For index, element in Array    ; こちらの方法を推奨
{
    ; Loop では、インデックスは1で始まる連続した数値でなければならない。
    ; Forを利用すると、インデックスは数値である必要はなくなり、
    ; 配列内の要素も配列本体を参照しなくても取得ができるようになる。

    MsgBox % "Element number " . index . " is " . element
}



これで、「indexが最後の要素である場合」という条件はどうやって作るのでしょうか?

517 :名無しさん@お腹いっぱい。 :2018/11/07(水) 12:20:08.33 ID:TKiyaEmf0.net
その参照先リンクに Array.MaxIndex() ってのがありますやん

518 :名無しさん@お腹いっぱい。 :2018/11/07(水) 14:39:24.62 ID:/FFBm3Qp0.net
>>517
ありがとうございますm(_ _)m

519 :492 :2018/11/07(水) 22:41:03.08 ID:nkh+t/Gz0.net
>>515
Text Services Framework を叩かねばならない案件ですね。
しかも、別プロセス(別アプリ)の変換中のIMMハンドルを取らなきゃいかんので、
C++で32bit dll/64bit dll 作成が必須、
autohotkey だけの世界では実行不能という
面倒くささmaxの案件なのです。

でも、いま丁度そこの開発やってるとこなので、期待せずにまったりと
待っててください。
出来たらgithub に流して、qiita に解説を書きます。

520 :名無しさん@お腹いっぱい。 :2018/11/07(水) 23:57:30.56 ID:nS1IayFg0.net
すごい
あれだけの内容で分かるとは!

521 :名無しさん@お腹いっぱい。 :2018/11/08(木) 02:09:54.06 ID:eKHjgnPa0.net
winny以来の神を見た

522 :515 :2018/11/08(木) 02:52:33.93 ID:xc4KfwC1a.net
>>519
おお、ちょうど真っ最中でしたか!それはありがたい…!
そう言われましても期待せずにはいられないですね。

523 :名無しさん@お腹いっぱい。 :2018/11/08(木) 05:04:49.39 ID:pX6K8wVj0.net
IME.ahkで解決する話じゃなかったんだな…
知ったかしてレスしないでよかった(´・ω・`)

524 :名無しさん@お腹いっぱい。 :2018/11/08(木) 06:59:17.77 ID:qcV2Qe/y0.net
>>515
MouseGetPosで変換前文字列の座標のウィンドウハンドルを取得し
それのクラス名を調べたら"MSCTFIME Composition"というのが出てきましたが、こういうことではなく?
ただこれはchromeなどの独自GUIでは取得不能でしたが

525 :名無しさん@お腹いっぱい。 :2018/11/11(日) 02:44:30.60 ID:T/AQQH8p0.net
FileAppend,`r`n(文字列),(テキストファイル)

で任意のテキストファイルの末尾行に↑の(文字列)が追加されると思いますが
先頭行に追加する方法ってあります?

もしくは(テキストファイル)を白紙にして、予め変数に格納しておいて
FileAppend,(文字列),(テキストファイル)
FileAppend,`r`n(バックアップ変数),(テキストファイル)
で実現できると思いますが、白紙にするコマンドってありますかね?

526 :名無しさん@お腹いっぱい。 :2018/11/11(日) 03:16:35.39 ID:OlLBz5Hi0.net
>>525
FileDelete

527 :名無しさん@お腹いっぱい。 :2018/11/11(日) 03:28:01.71 ID:T/AQQH8p0.net
FileDelete だと削除して、FileAppend動作するたびにテキストファイルがゴミ箱に溜まっていきませんか?
なるべくファイルはそのままで中身を空っぽにしたいんですけど

528 :名無しさん@お腹いっぱい。 :2018/11/11(日) 03:31:16.85 ID:OlLBz5Hi0.net
>>527
それはFileRecycle

529 :名無しさん@お腹いっぱい。 :2018/11/11(日) 03:35:01.71 ID:T/AQQH8p0.net
試してみたらそうですね
いずれにしても 完全削除→テキストファイル作成 を都度行うというのを企んでるわけですね?
なるべくそれは避けたいなと思っているのですが・・・

530 :名無しさん@お腹いっぱい。 :2018/11/11(日) 03:43:03.79 ID:OlLBz5Hi0.net
いやならFileオブジェクト
使えないなら諦めて
https://autohotkey.com/docs/commands/FileOpen.htm

531 :名無しさん@お腹いっぱい。 :2018/11/11(日) 07:33:20.17 ID:6YMtFLEp0.net
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.

532 :名無しさん@お腹いっぱい。 :2018/11/11(日) 18:25:53.09 ID:rfUXoy9701111.net
Finallyのバグ直ったか

533 :名無しさん@お腹いっぱい。 :2018/11/11(日) 23:24:58.10 ID:lzNGT4vm0.net
>>526
ありがとうございました
FileDeleteでやってみることにします

534 :名無しさん@お腹いっぱい。 :2018/11/12(月) 02:57:48.70 ID:rP0YLsND0.net
仮想通貨発掘ワーム
https://blog.trendmicro.co.jp/archives/17358

悪用しようと思えばできるだろうなとは思ったけど実際やる奴いるんだね

535 :名無しさん@お腹いっぱい。 :2018/11/12(月) 05:27:15.81 ID:zDLxy1COM.net
pc操作の自動化をさせるにはautohotkeyとuwscならどっちがおすすめですか?
ahkはあくまでホットキーがメインの機能なんでしょうか

あとahkは画像認識にimagesearchがありますがこれより高機能な関数はないですか

536 :名無しさん@お腹いっぱい。 :2018/11/12(月) 10:08:08.27 ID:powZs7vd0.net
やりたい内容による

537 :名無しさん@お腹いっぱい。 :2018/11/13(火) 09:00:40.97 ID:T61T7gv60.net
goto文的なものはないですか?
処理中に条件に合えばスクリプトのここまで遡って再処理みたいな

538 :名無しさん@お腹いっぱい。 :2018/11/13(火) 09:09:25.00 ID:tQ+GTkOu0.net
そのまんまの gotoコマンドがあるけど

539 :515 :2018/11/14(水) 05:02:01.06 ID:X9TFoYFBa.net
>>524
まさにそのChromeとかでやりたいんですよね…

540 :名無しさん@お腹いっぱい。 :2018/11/15(木) 01:33:25.61 ID:fRKfZVuZ0.net
今し方1.1.30.00用にコード修正したのに気づいたら1.1.30.01が来てて草

541 :名無しさん@お腹いっぱい。 :2018/11/15(木) 20:18:44.93 ID:YV5PhiGq0.net
常駐してるスクリプトをリロードしたときに旧プロセスが終了せずに残ることがある
30.01からかどうかは確信ない

542 :名無しさん@お腹いっぱい。 :2018/11/15(木) 20:36:11.13 ID:HctEC7uK0.net
>>541
#SingleInstance force
を書いてても?

543 :名無しさん@お腹いっぱい。 :2018/11/16(金) 00:35:41.69 ID:ngUS8UsG0.net
>>542
ignoreにしてるんでそれはわからんです

544 :名無しさん@お腹いっぱい。 :2018/11/16(金) 14:21:29.15 ID:/VesAqxK0.net
ウィンドウサイズ変更のスクリプトを書いています
ウィンドウサイズを変更し、Wingetで取得したサイズが+-5ドット以内ならば問題無しとしたいのです
この場合、変数はどの様に比較したら良いですか?
よろしくお願いします

545 :名無しさん@お腹いっぱい。 :2018/11/16(金) 16:59:35.35 ID:HcsJ6eDw0.net
newWidthをoldWidth-5とoldWidth+5でサンドイッチ比較
heightに関しても同じ

546 :名無しさん@お腹いっぱい。 :2018/11/16(金) 17:26:10.98 ID:/VesAqxK0.net
ありがとうございます、やってみます

547 :名無しさん@お腹いっぱい。 :2018/11/18(日) 16:25:39.95 ID:NoOpa4qA0.net
If (取得した幅 > 設定する幅 + 5 or 取得した幅 < 設定する幅 - 5 )
 ウィンドサイズ変更

548 :名無しさん@お腹いっぱい。 :2018/11/18(日) 17:19:16.80 ID:viJqwbvZ0.net
If var [not] between LowerBound and UpperBound
ttp://ahkwiki.net/Ifbetween

549 :名無しさん@お腹いっぱい。 :2018/11/18(日) 17:41:45.85 ID:d+ymKhJO0.net
abs

550 :名無しさん@お腹いっぱい。 :2018/11/18(日) 20:44:11.80 ID:yOqBDs130.net
皆さんありがとうございます
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を変数に退避しない方法は私には出来ませんでした
他の方法があればご教示願います

551 :名無しさん@お腹いっぱい。 :2018/11/18(日) 21:21:25.32 ID:viJqwbvZ0.net
If WinSizeNew between % WinSizeOriginal - 5 and % WinSizeOriginal + 5

552 :名無しさん@お腹いっぱい。 :2018/11/18(日) 21:51:20.55 ID:yOqBDs130.net
>>551
お〜素晴らしい、こんな方法があるとは知りませんでした。
ありがとうございます!

553 :名無しさん@お腹いっぱい。 :2018/11/19(月) 20:58:51.90 ID:NCQmFsSE0.net
状態を監視して、アプリAが起動された場合はアプリBを起動する
というスクリプトってありますか?

554 :名無しさん@お腹いっぱい。 :2018/11/19(月) 21:14:08.26 ID:3wjhSciD0.net
#Persistent
SetTimer,1s,1000

1s:
 Process,Exist,A.exe
 if ErrorLevel
 {
  Process,Exist,B
  if !ErrorLevel
   Run,B.exe
 }
return

555 :名無しさん@お腹いっぱい。 :2018/11/19(月) 21:37:05.74 ID:xDV7/4Vm0.net
それだとAが起動してる間中Bが多重起動されるな

556 :名無しさん@お腹いっぱい。 :2018/11/19(月) 21:39:52.97 ID:jedwU8Pt0.net
windowsのイベントをフックするスクリプト拾ってくればできるんじゃね

557 :名無しさん@お腹いっぱい。 :2018/11/19(月) 21:49:19.29 ID:3wjhSciD0.net
>>555

1s:
 A起動確認
 A起動時
 {
  B起動確認
  B非起動時
   B起動
 }
return

558 :名無しさん@お腹いっぱい。 :2018/11/19(月) 21:50:44.47 ID:jedwU8Pt0.net
それだとB終了させらんなくならねw

559 :名無しさん@お腹いっぱい。 :2018/11/19(月) 21:59:56.59 ID:NCQmFsSE0.net
やっぱり#Persistentとタイマー使う感じですかね
でもなんかうまくいかなくて;

560 :名無しさん@お腹いっぱい。 :2018/11/19(月) 23:54:44.35 ID:NCQmFsSE0.net
別の質問失礼します
起動していないプログラムを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じゃない値が表示される

561 :名無しさん@お腹いっぱい。 :2018/11/20(火) 00:58:46.81 ID:iMjAJtsS0HAPPY.net
>>560
https://autohotkey.com/docs/commands/Process.htm#Exist
>If the PIDOrName parameter is blank, the script's own PID is retrieved.

562 :名無しさん@お腹いっぱい。 :2018/11/20(火) 01:26:54.70 ID:owZw3n+00HAPPY.net
>>561
ありがとうございます!助かりました
ブランクだった場合はProcessさせないで迂回するような処理をしろってことですね
もうちょっと頑張ってみます

563 :名無しさん@お腹いっぱい。 :2018/11/20(火) 20:53:25.39 ID:Zju9djcu0HAPPY.net
質問です
失敗例
その1 space::spaceenter
その2 space::send, {space}{enter}
その3
space::
send, {space}
send, {enter}
return

失敗すると、キーが推しっぱなし状態になります
sleepを織り交ぜても失敗します
どうスクリプトを組んだらよいのでしょうか
spaceキーを一度押して、spaceキーとenterキーを順に押したことにしたいです
(漢字への変換と確定をワンクリックで行いたい)

564 :名無しさん@お腹いっぱい。 :2018/11/20(火) 21:23:43.74 ID:aWNpHLkw0HAPPY.net
質問です。
FnキーとCtrlキーを入れ替えてそれぞれ修飾キーとして使用する事は可能ですか。単純に入れ替えると単独打鍵になるみたい。ちなみに手元のThinkPadでは、Fn=vkFFsc163でした。

565 :名無しさん@お腹いっぱい。 :2018/11/20(火) 21:32:36.83 ID:X7eNHuwJ0HAPPY.net
>>564
BIOS設定に
Fn and Ctrl Key swap
って項目があるはず

566 :名無しさん@お腹いっぱい。 :2018/11/20(火) 21:40:13.29 ID:aWNpHLkw0HAPPY.net
>>565
回答Thx!
BIOSにあるかどうかは機種によるみたい。ここになければもうあきらめな感じ?

567 :名無しさん@お腹いっぱい。 :2018/11/20(火) 23:53:41.74 ID:BpbJK6S40HAPPY.net
>>563
*space::
send, {space Down Temp}
send, {enter Down Temp}
return

*space Up::
send, {space up}
send, {enter up}
return

568 :563 :2018/11/21(水) 00:24:48.22 ID:QfbyNodv0.net
>>567
無事できました!!
ありがとうございます!!

569 :名無しさん@お腹いっぱい。 :2018/11/23(金) 05:48:57.15 ID:f4cP9kDyM.net
質問です

Send, ^x
FileMove, %Clipboard%, C:\

…とすると、Windows7の標準エクスプローラーではファイルの移動ができるのですが
他のビューア(XnView)では移動できません

エクスプローラーで実行した場合はClipboardにファイルそのものが入り、
XnViewで実行した場合はClipboardに単なるパスが文字列で入るせいだと思いますが…

AutoHotKey Wikiを読んでみたものの、
Clipboardのページではいずれのケースでもフルパスが入ると書いてあるように読めますし、
FileMoveのページではパスさえ指定すればファイル移動できるように読めます

何か見落としているでしょうか?
エクスプローラー以外でもファイル移動するにはどうすれば良いでしょう…

570 :569 :2018/11/23(金) 06:10:58.63 ID:f4cP9kDyM.net
書き込んですぐ気づきましたが、
単に
StringReplace, Clipboard, Clipboard, `r`n,
で末尾の改行コードを消せばいいだけでしたね

無事移動には成功しましたが、エクスプローラーでもXnViewでもどうも実行時にモタつきます
目視しながらパッパと移動していきたいので、時間差でファイルが消えるとカーソルがズレて困りますし、かといって移動でなくコピーだとちゃんと成功したのかわからないので、どうにか上手い方法があればいいのですが

(ファイル振り分けソフトも色々試しましたが、ビューアとしての設定の柔軟性がXnViewに惜しくも及ばず)

いっそdeleteでひたすら削除したあと、それらのファイルをごみ箱から^a^xでまとめて復元させたほうがまだ動作が軽快なものの、うっかり他のごみが紛れ込んでしまったりしますし、ごみ箱をそのように使うのもどうかなぁって感じなので…

571 :569 :2018/11/23(金) 06:30:14.18 ID:f4cP9kDyM.net
あ… 再び書き込んだ直後に気付いて申し訳ないのですが、自己解決しそうです

もしかしたらctrl + マウスクリックで複数ファイルを選択
(選択したことによる青い枠をつけて視覚的にわかりやすくしたいので)
してからまとめて移動すればいいのでは?

と思って試行錯誤しようとしましたが、そもそもそんなことしなくてもXnViewでSpaceキーを押すとチェックボックス(XnView的に言うとタグ)にチェックを入れられることに気付きました…

チェックボックスが小さいので視認性に少し不安があるものの、ともかくこれで選択していって最後に「タグのついたすべてのファイルを表示」→^a^xすれば済む話でした

元々AutoHotKeyに頼る必要もなかったようです…
長々と失礼いたしました

572 :名無しさん@お腹いっぱい。 :2018/11/28(水) 08:40:58.47 ID:dqERkPgR0.net
左クリックで文字を選択して、左クリックを離したら
ポップアップが出て、コピーとペーストと検索の3つを選べるようにしたいのですが、
使うコマンドを教えてください。

コピペや検索のGUIは作れるのですが、文字列の検知が分かりません。

文字列を選択することを検知するコマンドってありましたっけ?

573 :名無しさん@お腹いっぱい。 :2018/11/28(水) 10:21:45.79 ID:NWEk8SFQ0.net
ないです

574 :名無しさん@お腹いっぱい。 :2018/11/28(水) 12:30:00.08 ID:CS8/WIU90.net
>>572
左クリックUp
クリップボード保存、空に
Ctrl+C送る
クリップボードの文字列確認
GUI
クリップボード戻す

575 :名無しさん@お腹いっぱい。 :2018/11/28(水) 16:35:30.29 ID:dqERkPgR0.net
>>574
ああ、なるほど。
クリップボードに文字列があったらGUI出すってことですね。
やってみます。

576 :名無しさん@お腹いっぱい。 :2018/11/29(木) 00:56:07.45 ID:o+1/Lt3p0.net
細かいとこは自分で試行錯誤するしかない部分はあるよな・・・・・

577 :名無しさん@お腹いっぱい。 :2018/11/30(金) 00:04:40.47 ID:VgRjKPe50.net
”#HotkeyInterval” と”#MaxHotkeysPerInterval”ですが初期値はわかるんですが上限値ってあるんでしょうか?
最近たまに「最後の406msで71個のホットキーが受信されました。」のエラーが出るので多めに設定していいのかなと…
適切な値ってどれくらいでしょうか?

578 :名無しさん@お腹いっぱい。 :2018/11/30(金) 01:29:35.61 ID:3VVoI7yh0.net
>>577
PC性能に依存するので、とりあえず見本にある数値でいいかと駄目なら調整
#MaxHotkeysPerInterval 200

記述ミスで応答不能超速無限ループになった場合の警告なので
数万など非現実的な値にはしないほうがいいと思う

579 :名無しさん@お腹いっぱい。 :2018/11/30(金) 01:44:49.45 ID:kdXuho9w0.net
うちは #HotkeyInterval 10000 、#MaxHotkeysPerInterval 700 にしてる
高速ホイール対応のマウスでWheelUp/Downのトリガ使ってると速攻で警告出るでよ

580 :名無しさん@お腹いっぱい。 :2018/11/30(金) 02:51:59.80 ID:3VVoI7yh0.net
>>579
1秒間に699回発生したら9秒間は1回でエラーが出る不思議なことになるのですが・・・

581 :名無しさん@お腹いっぱい。 :2018/11/30(金) 03:38:24.91 ID:VgRjKPe50.net
>>578
>>579

レスありがとうございます
確かにLogicoolの高速スクロール使ってたりします
1個づつトリガー探って高速スクロールさせたら100%エラー出ました
高速モードに切り替えてて比較的ゆっくり回してると大丈夫ですが
思いっきりぶん回すと駄目ですね

原因がわかってスッキリ
ありがとうございました
とりあえず700から下げていって調整してみます

582 :名無しさん@お腹いっぱい。 :2018/11/30(金) 04:07:02.42 ID:VgRjKPe50.net
あっと一応原因はコレ
WheelUp::Send, {WheelUp}
WheelDown::Send, {WheelDown}

う〜ん改めて見ると酷いですね〜w

わざわざなんでこんな事してるのかと言うと
同プロセスで多重ウィンドウのプログラムなんですが
まぁ、テレビと番組表ですね
ショートカットがまだ整備されて無くてボーリューム調整用に書いたんですが
番組表側でスクロールできなくなっちゃったんで書いた次第です

映像画面上の方がおかしな構造になっていてahk_exeじゃないと画面上で操作効かないんです
タイトルだとタイトルバーでしか反応しないという...
しかもahk_classだと起動するた度に名前が変わるんで
そこで番組表他はすべてタイトルでウィンドウ指定して
わざわざahkを通してスクロールさせてます
ボリューム操作をコンビネーションキーをトリガーにするか迷ったのですが単純な操作にしたかったので。

583 :名無しさん@お腹いっぱい。 :2018/12/03(月) 09:04:33.11 ID:PGcOVoxHr.net
はじめまして
https://qiita.com/mhara/items/92cfbd900b4b8dc30646
こちらの記事で紹介されているように、

「左altをF18に、右altをF19に」
という設定がしたいのですが、うまく行きません
どのようにスクリプトを書けばいいか、ご教授頂けると幸いです
よろしくお願いします

584 :名無しさん@お腹いっぱい。 :2018/12/03(月) 09:26:16.84 ID:NFC05GKC0.net
>>583
よく読めよ
ChangeKeyで変えろって書いてあんだろ
スクリプトなんて書く必要ないしAHK関係無いのでスレチ

585 :名無しさん@お腹いっぱい。 :2018/12/03(月) 10:46:23.02 ID:0Sc/TJx50.net
enthumbleの説明ざっと読んでみたが要はAHK同様にホットキーでキーカスタマイズするソフトなのかね
試してないが単純リマップでうまく行かないようなら無理なんじゃね
http://ahkwiki.net/examples

常駐型ホットキーソフトを多重に入れてうまく動く保証はないし
キーバインド変更ソフトを使うために別のキーバインドソフトを入れるというのは正直本末転倒なので
ChengeKey入れらんないような環境なら
・素直にenthumble有料版を買う
・enthumble相当のスプリクトをAHKだけで丸ごと組む(スレ民的解決法)
じゃないっすかね

586 :名無しさん@お腹いっぱい。 :2018/12/03(月) 13:58:12.72 ID:3lx/O7rWr.net
>>585
成る程、確かに常駐型のenthumbleを使うために同じく常駐型のautohotkeyを使うのはスマートじゃないですね
その点には思い至りませんでした。ありがとうございます!

>>584
死ね

587 :名無しさん@お腹いっぱい。 :2018/12/03(月) 14:02:09.89 ID:W97cPRqy0.net
>>586
お前が死ねよクズ

588 :名無しさん@お腹いっぱい。 :2018/12/03(月) 19:06:48.54 ID:4v7TRoN40.net
>>587
は?お前が死ねやチンカス

589 :名無しさん@お腹いっぱい。 :2018/12/03(月) 20:21:59.05 ID:CrCo9sbS0.net
完全なキチガイアスペだな
スマホ回線とWifi回線切り替えて自演してるつもりかなこの馬鹿キッズ

590 :名無しさん@お腹いっぱい。 :2018/12/05(水) 04:53:36.41 ID:OmWxQuB70.net
俺も英語キーボード使ってるからどんなもんか見てきたけど
普通にAHKで十分足りるってかAHKの方が優れてると思った
概ねAHKの文法を真似したリマップ程度しかできないAHK以下の機能で有料みたいなので買う価値無い
よくこんなものを売ろうと思ったよな

591 :名無しさん@お腹いっぱい。 :2018/12/05(水) 22:04:40.59 ID:whPBY0AD0.net
自分でスクリプト組めない人用のものでしょ
誰もがここの人みたいにコード書けるわけじゃないしね

ていうかソースついてないけど中身AHKですわこれ
https://i.imgur.com/lrTgPw3.png

592 :名無しさん@お腹いっぱい。 :2018/12/05(水) 22:26:29.53 ID:RL2mocpi0.net
そういうことする奴も出てきたか
これは始まりに過ぎないのであった…

593 :名無しさん@お腹いっぱい。 :2018/12/05(水) 22:40:41.51 ID:83UCgxJ10.net
ん、AHKで作ったexe配布ってなんかまずいことあるんだっけ
ゲームの操作性向上スクリプトとか作って攻略スレでばらまいたこととかあるんだが

594 :名無しさん@お腹いっぱい。 :2018/12/05(水) 22:54:04.42 ID:WmdiFMyj0.net
別にいいんじゃないの。自分はAHKベースのソフトは、MouseGestureLやClipboardHistory使ってるよ
使ってないけど、DvorakJも割とユーザーいるみたい
ただ、enthumbleくらいの機能だったら自分で書いた方が早いしなー まあそのあたり人それぞれかな

595 :名無しさん@お腹いっぱい。 :2018/12/05(水) 23:53:37.72 ID:whPBY0AD0.net
exe作って配布自体は問題ないけどAHKのライセンス(GNU GPLv2)的には
派生物もソース公開しないとまずい気がする
https://qiita.com/bremen/items/c5aa9446e73aa4bc1de0
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html

あれ?これ結構やばくない?

596 :名無しさん@お腹いっぱい。 :2018/12/05(水) 23:54:22.14 ID:f/SDbl4I0.net
中身AHKでフロントエンドだけちょっと作って金取ったろ!の精神は中々凄い
公式HPの開発ストーリーで、さも開発に苦労したような書き方で更に面白い
しかしこれなんでベクターだけお値段3000円なんていうプレミアム価格なんだろう。気になるw

597 :名無しさん@お腹いっぱい。 :2018/12/06(木) 00:01:55.82 ID:Ym7iS5Jj0.net
clipboardhistoryもvectorでは集金箱置いてるんだな
それにしてもこれ知らん間にすげえ肥えたなあ

598 :名無しさん@お腹いっぱい。 :2018/12/06(木) 00:18:40.31 ID:ONAtkcp00.net
GPLはソース公開義務はあれど営利利用を禁止してるわけではないから
スクリプト版も公開してるclipboardhistoryはセーフかな
(寄付を営利とみなすかどうかはとりあえず横に置いておく)

599 :名無しさん@お腹いっぱい。 :2018/12/06(木) 01:21:59.68 ID:RQGp4gXya.net
派生物のソースは一般公開しなくても
バイナリ利用者から請求された時に渡せばいいんだが(3.c)
AHKがくっついてるのにその事を説明してなかったり(1.違反、2.a違反)
こいつ自身のライセンスがGPLじゃなかったり(2.b違反)
真っ黒だね

派生物の頒布に金取る事自体は全く違反じゃないが

600 :名無しさん@お腹いっぱい。 :2018/12/06(木) 02:16:20.22 ID:GRt+N2Zj0.net
■ライセンス違反まとめ
*AutoHotkeyライセンス(GNU GPLv2)
https://autohotkey.com/docs/license.htm
https://raw.githubusercontent.com/Lexikos/AutoHotkey_L/master/license.txt

*GNU GPL v2.0に関してよく聞かれる質問
https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html

> GPLは、改変された版のソースコードを公に発表することを要求しますか?
もしあなたが改変された版を何らかの形で公にするならば、GPLはあなたが改変したソースコードをユーザがGPLのもとで入手できるようにすることを要求します。

> GPLは金銭目的でプログラムの複製を販売することを許可していますか?
はい。GPLは、誰もが販売することを許可しています。

> GPL違反の可能性がある事例を見つけたら、どうすれば良いですか?
その旨を報告してください。https://www.gnu.org/licenses/gpl-violation.html

601 :名無しさん@お腹いっぱい。 :2018/12/06(木) 02:18:45.94 ID:GRt+N2Zj0.net
Clipboard History https://www.vector.co.jp/soft/dl/winnt/util/se512783.html
enthumble https://www.vector.co.jp/soft/win95/util/se488628.html

どちらもソフトウェアライセンス記載なし&最新ソースコードが公開されていないのでライセンス違反状態

602 :名無しさん@お腹いっぱい。 :2018/12/06(木) 07:24:23.83 ID:4MBttEwN0.net
即逮捕やな
胸熱

603 :名無しさん@お腹いっぱい。 :2018/12/06(木) 08:46:59.55 ID:+f9U38U10.net
刑事罰なの?

604 :名無しさん@お腹いっぱい。 :2018/12/06(木) 10:04:08.79 ID:jbt9m6cq0.net
なんか大事になってるんだが
「AHKそのもの」を複製したり改変して配布したらソース公開必要だが
「AHKを利用して成果物」を作った場合には関係ないんじゃないの
なんかごっちゃにしてる気がするぞ

https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html#CanIUseGPLToolsForNF
このあたり参照

例えばGNU-Cを使ってゲームを作ったとして
そのゲームのソースコードを公開する義務は当然ないし商用利用も可能
ただしGNU-Cの派生物(オレ専用GNU-C)はソース公開義務が付く

605 :名無しさん@お腹いっぱい。 :2018/12/06(木) 10:52:30.69 ID:tuRe2Yh8M.net
どうかな
スクリプトの配布だけなら確かに成果物だけど
Ahk2exeでコンパイルして作成されたexeにはAHKのバイナリ内包されているよね
改造されたautohotkey.exeとして派生物とみなされるんじゃなかろうか

606 :名無しさん@お腹いっぱい。 :2018/12/06(木) 11:28:38.89 ID:UGStRDw6M.net
GCCとの違いはahkがインタプリタ型言語だということかな
実行にはAHKのバイナリが必要になる
だからコンパイルといってもAHKのバイナリにスプリクトテキストをくっつけてパック化してるだけだし
オブジェクトコード生成してバイナリ組み上げるGCCとは扱いが違ってくる気がする

607 :名無しさん@お腹いっぱい。 :2018/12/06(木) 12:26:08.34 ID:SVb9Vxre0.net
インタプリタの場合はFAQに書いてある
https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html#IfInterpreterIsGPL
インタプリタとしてだけ使って、他のあらゆる機能は独自で実装しているのなら問題ない。そんなわけないんだけど。
それ以前に、ライセンスに書いてないのは論外。

608 :名無しさん@お腹いっぱい。 :2018/12/06(木) 12:56:07.36 ID:DYoYzeaZa.net
>>604
.ahkだけの頒布なら関係ない
これがその例が当てはまるケース

でもexeにしたら集合著作物になってるからもろGPL対象

609 :名無しさん@お腹いっぱい。 :2018/12/06(木) 12:57:17.17 ID:DYoYzeaZa.net
>>607
その例もインタプリタと本体が集合著作物になっていないときの話

610 :名無しさん@お腹いっぱい。 :2018/12/06(木) 14:49:55.67 ID:ulzH/6dL0.net
https://autohotkey.com/board/topic/4462-ok-to-sell/

611 :名無しさん@お腹いっぱい。 :2018/12/06(木) 20:50:48.35 ID:4MBttEwN0.net
はよ逮捕しようや
犯罪者は逮捕やで

612 :名無しさん@お腹いっぱい。 :2018/12/06(木) 22:07:25.06 ID:LuFaM54m0.net
>>597
いつのを最後に見たかにもよるが、多分64bit版を追加して32/64bit版を同梱するようになったからじゃ…
32bit版だけならそこまでサイズが大きくなったというわけではないと思う

>>601
少なくともClipboard Historyは、ヘルプにAutoHotkeyを使ってることを明記してるから悪意はないと思うよ
厳密に言えばグレーという部分があるなら修正の必要はあるかもしれんけど
enthumbleは、公式・Readme等、自分が確認した限りではAutoHotkeyの文字列が見当たらないなw

613 :名無しさん@お腹いっぱい。 :2018/12/06(木) 22:46:25.85 ID:ONAtkcp00.net
>>610
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なので見えるところに公開してある必要はないし

614 :名無しさん@お腹いっぱい。 :2018/12/06(木) 23:16:54.77 ID:vr7AcZsma.net
>>613
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汚染させる意図がないなら例外条項を付けておくべきなんだよな

615 :名無しさん@お腹いっぱい。 :2018/12/06(木) 23:35:33.39 ID:jbt9m6cq0.net
ただグレーかアウトだとしても著作者が日本国外の人だし
訴えるつっても誰がどの国の機関に?って話になる
しかも作者はOKつってるんだしチクるとすればFSFだけど
財団にしてもそんな面倒な話持ち込むなってことになるだろう
小銭稼いでるのはうっとおしいにしろ黙認するしかないと思うよ
できることといえばベクターとかのDL支援してるサイトにチクって
掲載取り下げさせるくらいか

616 :名無しさん@お腹いっぱい。 :2018/12/07(金) 00:23:09.18 ID:PAWRXI140.net
「AHK自体」を改変した訳ではないんだし、件のexeに内包されたAHKはただのランタイム扱いのような気がしないでもないが。。。

617 :名無しさん@お腹いっぱい。 :2018/12/07(金) 00:35:25.39 ID:xhhWxiJ00.net
再三言われてるが小銭稼いでることはアウトじゃないぞ
まずは訴えるだの掲載取り下げ依頼だのの前に
GPLライセンスに抵触してることを本人達に伝えて正しく頒布するよう求めるのが先じゃね

あんさんのほうはオリジナルの古いahkでコンパイルしてるし
(L版で削除された/decompileオプションを使うため?)
中身がAHKであることを隠ぺいしようとしてる節があるから素直に認めるかはあやしいところだが

618 :名無しさん@お腹いっぱい。 :2018/12/07(金) 00:48:40.21 ID:xhhWxiJ00.net
× /decompile
〇 /NoDecompile
やった

619 :名無しさん@お腹いっぱい。 :2018/12/07(金) 00:49:46.26 ID:gOdb4Udn0.net
>>616
ってAHK作者自身がいってる
ここで問題にしてるのはAHKが取り込んでるライブラリ部分のこと

>>617
そんな暇なこと誰がやるのって話だろ
FSFの関係者でも無いやつがメールなりツイに凸して
「もしもしこんにちは。GPL違反してるみたいですが」ってやるのか?w
小銭云々は「うっとおしいにしろ」って書いてんだろ日本語読めない人?

620 :名無しさん@お腹いっぱい。 :2018/12/07(金) 01:34:30.61 ID:xhhWxiJ00.net
とりあえずはツイなりquitaのコメントなりの人の目につくところで
「こんな議論がされてるようですよ」ってこのスレのURL貼ったらいいんでね
単純にライセンスに疎いだけだったらなんかしらアクション取るでしょ
ばっくれたらばっくれたでその時だし

それと、違反していないのだから「黙認」もなにもないよ
言葉の意味を正しく使わず人が理解してくれないと責めるのはどうかと

621 :名無しさん@お腹いっぱい。 :2018/12/09(日) 14:09:40.52 ID:65nf1Y1x0.net
SetBatchLines, -1をA_BatchLinesで確認すると”-1”になりますが、これは0msと思って間違いないですか?。

622 :名無しさん@お腹いっぱい。 :2018/12/09(日) 17:36:52.47 ID:izV3B+fS0.net
>>621
違います、なし(OFF)です

10ミリ秒のSleepを行う時間の設定なので
0msだと常にSleep状態という意味になってしまいます

623 :名無しさん@お腹いっぱい。 :2018/12/09(日) 18:19:49.17 ID:65nf1Y1x0.net
ありがとうございます。
アホな私でもよく理解出来ました。

624 :名無しさん@お腹いっぱい。 :2018/12/09(日) 23:13:23.23 ID:wMEkdD3J0.net
画面のスクリーンショットをbmpでとってスクリプトで指定した場所、名前で保存するいい方法ないですか

625 :名無しさん@お腹いっぱい。 :2018/12/09(日) 23:58:05.61 ID:iDyiifYg0.net
>>624
GDI+ライブラリを利用する
BMPはサイズが大きいので同じ可逆圧縮のPNGがお勧め

Gdip_All.ahk
https://autohotkey.com/boards/viewtopic.php?t=6517

626 :名無しさん@お腹いっぱい。 :2018/12/10(月) 00:02:45.55 ID:qBoOLBEM0.net
>>625
やってみますありがとう!

627 :名無しさん@お腹いっぱい。 :2018/12/10(月) 01:47:31.02 ID:/p6elTeg0.net
テキストエディタの秀丸でホットストリングが効きにくいんですが
原因はなんでしょうか? 秀丸だけなんです。
sendで修飾キーを送ってもスルーされることもあります。

628 :名無しさん@お腹いっぱい。 :2018/12/10(月) 10:09:34.34 ID:CstvI9Ii0.net
PrintScreenをBMP保存するのは知識0からでもわりと簡単に書けたけど
32bitを24bitにしようとするとすさまじい時間がかかってしまう…

629 :名無しさん@お腹いっぱい。 :2018/12/13(木) 22:39:54.77 ID:KyILgHLO0.net
Vectorから連絡きた

Vector カスタマーサポートセンターです。
弊社サービスをご利用いただきましてありがとうございます。

お問い合わせいただきました件、ご返答が遅くなり申し訳ございません。

AutoHotkeyのGPLの件、両ソフトの作者の方へ確認と修正の依頼を送らせて
頂きました。
対応が完了するまで、お時間を頂く可能性がございますので、今しばらく
お待ちいただけますでしょうか。

※現在、弊社都合により、サイト更新を金曜日のみとさせていただいて
 おります。
 作者の方に迅速に対応いただけた場合でも、サイトへの反映に時間が
 かかる場合がございます。
 ご了承ください。

以上となりますが、どうぞよろしくお願いいたします。

630 :名無しさん@お腹いっぱい。 :2018/12/13(木) 23:01:06.72 ID:HRUClBM4a.net
有言実行惚れた

631 :名無しさん@お腹いっぱい。 :2018/12/13(木) 23:22:24.74 ID:mLaQaXYy0.net
早く捕まって欲しいものだな

632 :名無しさん@お腹いっぱい。 :2018/12/14(金) 08:09:30.75 ID:MSNidyJ40.net
GPLが絡むととたんに古事記がエキサイトし始めるからうんざり
早くこのゴミライセンス死滅すればいいのに

633 :名無しさん@お腹いっぱい。 :2018/12/14(金) 10:59:04.14 ID:epMs6prq0.net
>>628
プログラムの知識全然ないけど、見よう見まねでimgctl.dll使ってスクショのpng出力を完成させた
別のやり方なら参考までにbmpのやり方を教えて欲しい

634 :名無しさん@お腹いっぱい。 :2018/12/14(金) 20:49:30.05 ID:cL1b51zw0.net
>>633
言うても、GetClipboardDataしたやつをサイズ決め打ちのバッファにコピって
ヘッダも直書きして書き出してるだけなんで、なんの参考にもならないかと…

635 :名無しさん@お腹いっぱい。 :2018/12/16(日) 00:34:41.69 ID:oez9GTdI0.net
流れ豚切スマソ
autohotkey で Windows10上のタスクスケジューラの imeモードの取得ができないので
あーだこーだと調べておりました。(ime.ahk使用)

どうやら、タスクスケジューラは、管理者権限で動作していたため、
非管理者権限で動作しているautohotkey のスクリプトは、
タスクスケジューラに対して何にもできなかった模様。

試しにnotepad.exeを管理者権限で動作させると、imeモードの取得ができなくなりましたし、
autohotkey のスクリプトを管理者権限で動作させたところ
タスクスケジューラや、管理者権限のnotepad.exeのimeモードの取得ができるように
なりました。

636 :名無しさん@お腹いっぱい。 :2018/12/16(日) 00:50:22.87 ID:oez9GTdI0.net
こんな解決案までハケーンwwwww
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
}

637 :名無しさん@お腹いっぱい。 :2018/12/18(火) 21:31:15.80 ID:mM0WUO410.net
今度は、
autohotkeyのスクリプトや、
ahkスクリプトをexe化した実行ファイルを、
Windows10上で、管理者権限付きで自動起動させたいと思いつつ、
調べますた。

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 あたりに落ちてないか・・・。

638 :名無しさん@お腹いっぱい。 :2018/12/18(火) 23:47:15.91 ID:OXYgcbgDa.net
+,::
Send, <
Return

シフトキーとともに「,」を押すと半角の「<」が出るようにしたいのですが
なんか同じキーが押されまくる怪しい挙動をします
何がいけないのでしょうか
エスケープでもなさそうな気がしますし、Unicodeの{FF1C}にしてみてもダメでした

639 :名無しさん@お腹いっぱい。 :2018/12/19(水) 00:56:29.95 ID:abjNWlFF0.net
>>638
$+,::
Send, <
Return

Sendのキーをホットキーが拾って無限ループになっている
Send, < → 「Shift+,」
物理的なキーだけに反応するようにフック「$」を使おう

640 :名無しさん@お腹いっぱい。 :2018/12/19(水) 17:49:55.26 ID:7eaMyzmU0.net
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
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

641 :名無しさん@お腹いっぱい。 :2018/12/19(水) 17:50:57.68 ID:7eaMyzmU0.net
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
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

642 :名無しさん@お腹いっぱい。 :2018/12/19(水) 22:58:52.25 ID:grZzhxOH0.net
スクリーンショット(Winキー+PrintScreen)を撮る際に、
ホットキーによって保存先のフォルダを指定することってできませんか?
例えば、a+Win+PrintScreenでフォルダAに即座に保存、
b+Win+PrintScreenでフォルダBに即座に保存

643 :名無しさん@お腹いっぱい。 :2018/12/19(水) 23:34:23.35 ID:mPFOJVBy0.net
PrintScreenを送ったあとクリップボードに入ってる画像イメージを
バイナリとして取り出して任意のパスに書き出す関数を作成する >624-634

644 :名無しさん@お腹いっぱい。 :2018/12/19(水) 23:49:57.27 ID:kmNLO1wx0.net
画面キャプチャソフトをRunするほうが手っ取りばやいとおもうよ

645 :名無しさん@お腹いっぱい。 :2018/12/20(木) 10:35:01.33 ID:4fGdw2sw0.net
もともとUWSCと使い分けてるけどキャプチャはそっちがだんぜん簡単だな
saveimg(path)で保存できる
クリップボードに送ったり座標指定も

646 :名無しさん@お腹いっぱい。 :2018/12/20(木) 16:29:15.86 ID:S+ZooRzV0.net
俺も>>624と同じことやってるけど
難しい事わからないからvbsで使ってたDoodleってやつをComObjCreateで呼び出して使ってた
でも64ビットのahkで使えないんだよね

647 :名無しさん@お腹いっぱい。 :2018/12/21(金) 13:21:26.46 ID:uDcDhz/K0.net
クリップボードをpng保存はこれをちょいちょい変えて使わせて貰ってる。
https://gist.github.com/azu/341280

64bitで動かないので、Runで32bitのexeにぶん投げるという大変にスマートでないことをしているがw

648 :名無しさん@お腹いっぱい。 :2018/12/21(金) 19:39:09.88 ID:ZLfl7zMT0.net
ホットキーを1000個くらい用意したいんですが
!aaa::
とか
!aab::
とか
!aac::
とかにできないんですか?

649 :名無しさん@お腹いっぱい。 :2018/12/21(金) 19:47:21.49 ID:7gZdVVdx0.net
まだインストールして30分ぐらいなのですが、初歩的な質問させてください。

フルスクリーンで可動してるアプリのバックで5分ぐらいの長さのScriptを流してみたのですが、
Scriptを任意のタイミングで中断したいとき、毎回タスクから終了するしかなく困っています。
起動中のAutoHotkeyのScriptを強制終了するショートカットキーの機能は無いのでしょうか?

650 :名無しさん@お腹いっぱい。 :2018/12/21(金) 19:52:47.60 ID:bSH6Raz30.net
>>649
ExitApp

651 :名無しさん@お腹いっぱい。 :2018/12/22(土) 00:05:11.35 ID:tIoTJBzC0.net
>>648
ホットストリング

652 :名無しさん@お腹いっぱい。 :2018/12/22(土) 08:48:32.41 ID:38ZnCqoL0.net
ボタンを押したら自分で作ったラベル名に飛ばして
そこの処理を行わせるにはどうすればいいのでしょうか?
私の考えでは下記のスクリプトで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

653 :名無しさん@お腹いっぱい。 :2018/12/22(土) 08:57:44.08 ID:81GOH3PB0.net
>>652
普通にこれじゃアカンのか?

1::
send {numpad4 down}
sleep 50
send {numpad4 up}
sleep 100
return

654 :名無しさん@お腹いっぱい。 :2018/12/22(土) 09:17:37.39 ID:D6jsOQsg0.net
>>652
永久ループにするならloopの中に無条件rerurn入れちゃだめ
まあでもホットキー指定したほうが楽だと思うよ

655 :652 :2018/12/22(土) 09:50:22.58 ID:38ZnCqoL0.net
>653
その書き方だと押しっぱなしだとずっと繰り返してしまうので
このスクリプトが成功したら次の段階で考えているのは
押しっぱなしでも繰り返すのは一回だけという風にしたいので
無限リピートにして中にif文とか条件分岐も加えて連打防止の変数を加えて改良したいと思ったので
やはりラベルの使い方と繰り返し処理の書き方も理解する必要があったのです。
>654
本当に助かりました。returnが悪さしていたのですね。
gosub 処理を抜けるのにreturnが必要だと思ったのでいれていたのですが
抜いたらうまくいきました。
これでようやく次のステップに進めます。
UWSCとは仕様がかなり違うので慣れるのが大変ですわ。

656 :名無しさん@お腹いっぱい。 :2018/12/22(土) 10:02:37.59 ID:81GOH3PB0.net
>>655
押しっぱなしで繰り返したくないなら
下手に応用するよりも前に基本をしっかり学んだ方が良いと思う
1::
send {numpad4 down}
sleep 50
KeyWait, 1
send {numpad4 up}
sleep 100
return

657 :652 :2018/12/22(土) 10:29:47.86 ID:38ZnCqoL0.net
>656
KeyWait…
そんな便利なコマンドがあったんですね…。
わざわざ変数作って繰り返しを防止した俺の苦労は一体…。
だがloopの書き方も判ったので
無駄ではなかったと思いたい…。

658 :名無しさん@お腹いっぱい。 :2018/12/22(土) 10:56:09.76 ID:D6jsOQsg0.net
>>656
どうでもいいレベルの話ですまんがKeyWait入れるなら前後のsleep外してもよくない?
個人的には押しこぼしはsleep調整よりSetKeyDelayでの全体調整おすすめ

659 :名無しさん@お腹いっぱい。 :2018/12/22(土) 20:42:21.29 ID:yle4Tt0Er.net
初歩的質問便乗ですみません
sc07::return
sc07 up::return ;無変換キー無効化
しているのですが、タイポミスかなにかで押してしまった時反応して
IMEオンのとき入力モードが変わって戻らなくなってしまいます。

例えばIMEオンで「AIU」と入力したとき「あいう」でなく「アイウ」になってしまいます。

そのたびAutoHotkeyをExitappして入力モードを戻してahk再実行しています。

レジストリで無変換キーを無効化する以外の方法で善い手段が有りましたらご教授ください

660 :名無しさん@お腹いっぱい。 :2018/12/22(土) 20:44:25.90 ID:yle4Tt0Er.net
間違えました
sc07B::rerurn
sc07B up::rerurn
でしたすみません

661 :名無しさん@お腹いっぱい。 :2018/12/22(土) 20:46:22.63 ID:81GOH3PB0.net
>>659
AHK関係ないけど
IME側のキー割り当て設定で無変換を無効化しときゃいいだけじゃねえの

662 :名無しさん@お腹いっぱい。 :2018/12/22(土) 21:04:49.75 ID:yle4Tt0Er.net
>>661
有り難うございました
IMEの詳細プロパティでこんな機能あったんですね
初めて知りました

663 :名無しさん@お腹いっぱい。 :2018/12/22(土) 21:09:25.03 ID:0KEVDiKW0.net
>>659
Upいらない
修飾キー忘れている

*sc07B::return

664 :名無しさん@お腹いっぱい。 :2018/12/22(土) 21:21:03.78 ID:yle4Tt0Er.net
>>663
Windows10がNT系なのかよくわからなくて外してました
普通に*使って大丈夫なんですね
有り難う御座いました

665 :名無しさん@お腹いっぱい。 :2018/12/25(火) 21:59:20.60 ID:pnAo6DfM0XMAS.net
変換キーをalt + tabにするには、vk1Csc079::AltTab
だと思うんですが何が間違ってるんでしょう

666 :名無しさん@お腹いっぱい。 :2018/12/25(火) 23:57:25.40 ID:vXRazxR70XMAS.net
>>665
sc079::Send {Alt}{Tab}
ただこれでは変換キー自体の機能はどうしたいのか?

667 :名無しさん@お腹いっぱい。 :2018/12/26(水) 00:20:01.51 ID:RjxA60Ct0.net
>>666
0563-qyC8です.修正します
sc079::Send {Alt Down}{Tab}{Alt Up}

668 :名無しさん@お腹いっぱい。 :2018/12/26(水) 01:23:02.34 ID:l5pdk3eS0.net
sc079::AltTabMenu

669 :名無しさん@お腹いっぱい。 :2018/12/26(水) 01:33:18.96 ID:EW5Tq1f20.net
>>665
要するに「vk1Csc079」という記述方式は古いバージョン用で
現在は「sc079」 か 「vk1C」のどちらかでないとエラーになる

670 :名無しさん@お腹いっぱい。 :2018/12/26(水) 17:29:42.24 ID:GG8lkewu0.net
>>667
>>669

ありがとうございました。

671 :名無しさん@お腹いっぱい。 :2018/12/27(木) 07:36:54.42 ID:hnI2tLxw0.net
このスレ的には何を今更感満載だな

[半角/全角]キー不要に? WindowsのIME切り替えがMac方式に - ITmedia NEWS
http://www.itmedia.co.jp/news/articles/1812/26/news094.html

 従来は再変換などが割り当てられていたが、今回の変更により[無変換]はIMEオフに、[変換]はIMEオンとなる。
つまり、MacやiOSのJISキーボードと同じだ。

672 :名無しさん@お腹いっぱい。 :2018/12/27(木) 07:49:29.60 ID:1w4qjrcd0.net
少し上で議論になったenthumble、Vectorからは引き上げたみたいだな。自サイトの有料版はあるけど
AHKの基本的な機能ドップリ使ってるんだから、コンパイラ云々という、あの微妙な説明ではな…
そりゃ、今までは意図的に隠してきたと言われても仕方ないと思う
有料版買ったユーザーもいるんだろうから、そこだけは認めたくないのかもしれんが

673 :名無しさん@お腹いっぱい。 :2018/12/27(木) 08:37:17.83 ID:Y0WPmSNB0.net
enthumbleのソースを公開したくないのはスクリプトにコピペコードが有るからだったりして

674 :名無しさん@お腹いっぱい。 :2018/12/27(木) 09:39:09.59 ID:1GXcm5970.net
Vector引き上げとかバカだろ
自らコピペなのでソース公開できませんってゲロったようなもんじゃねえかww

675 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:08:03.30 ID:XJ0Pw9X30.net
IME制御の機能あるみたいだしIME.ahkのソースのコピペはあるだろうね
まあIME.ahkのライセンスはNYSLだったから無断商用利用でも問題ないし
車輪の再開発大変だしreadmeに出所書いとけばここやネットに転がってるコード使ってたって全然いいとも思うけど
ahk使ってること自体を隠そうとするのは何でなんだろ

作者がTwitterでリツイートしてる漫画(感情を見失うから行動がおかしくなる説)
時期的にここで問題視された後だし俺悪くない嫉妬されてるだけっていいたいのかとだいぶ微妙な気持ちになった

676 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:09:19.89 ID:Y0WPmSNB0.net
thumbIMEの機能はIME.ahkを使ってそうだよなぁ

677 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:15:26.74 ID:Y0WPmSNB0.net
被った

>>675
Twitter見てきたけど古いツイート消したんだな

678 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:26:36.64 ID:lgTwVRmH0.net
どーでもいいけどお前らすげー熱意だなw

679 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:33:54.08 ID:8MkMN2VM0.net
昔の近所のおばさんたちの井戸端会議と同じ
鬱陶しいし、別のことに力使えよと思うけど
これが治安維持につながる面もある

680 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:39:17.46 ID:Y0WPmSNB0.net
あんま興味なかったけど、ソースを公開する気がないと知った途端にソースが見たくなった

681 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:46:00.27 ID:lgTwVRmH0.net
治安維持()とか言うくらいなら -gzl5 みたいなスレを荒らす馬鹿ガイジを追い出す方に尽力してくれよw

682 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:49:16.90 ID:1GXcm5970.net
オッペケ .*3b-
でNGしろ
永久におさらばだぞ

683 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:51:07.92 ID:Y0WPmSNB0.net
世にも珍しいAHK製のソース付きシェアウェア

Self-signed by administrator
https://ja.osdn.net/projects/ssba/releases/61672

684 :名無しさん@お腹いっぱい。 :2018/12/27(木) 10:54:40.85 ID:lgTwVRmH0.net
>>682
回線切り替えて自演するキチガイだぞw

685 :名無しさん@お腹いっぱい。 :2018/12/27(木) 11:02:08.34 ID:1GXcm5970.net
その度に回線情報を共有してNGすればしまいには大人しくなる
ワッチョイはその場限りのNGじゃなくて継続的に使えるんだから活用しないと

686 :名無しさん@お腹いっぱい。 :2018/12/27(木) 11:08:12.52 ID:lgTwVRmH0.net
それは単なる自己防衛で治安維持じゃねえからw
外部の治安維持にはやたら積極的な割に内部の治安維持には消極的なんだなって話

687 :名無しさん@お腹いっぱい。 :2018/12/27(木) 11:15:36.93 ID:1GXcm5970.net
積極的に「治安維持」したいなら運用にでも訴えてこいよ
てめえは何もしないくせになに文句だけいってんだかw

688 :名無しさん@お腹いっぱい。 :2018/12/27(木) 11:17:43.69 ID:lgTwVRmH0.net
運用?何言ってんだお前はw
なんで無駄に俺に絡んでくるんだよw

689 :名無しさん@お腹いっぱい。 :2018/12/27(木) 12:09:02.09 ID:p3dV5701r.net
運用w

690 :名無しさん@お腹いっぱい。 :2019/01/01(火) 15:07:38.52 ID:ujsJxC5C0.net
msgbox, あけおめ

691 :名無しさん@お腹いっぱい。 :2019/01/06(日) 18:12:44.67 ID:pN5/2REI0.net
あけおめ、ことよろ

お年賀がわりに管理者権限で動作中か否かを判定するスクリプトをポスト。

b := DllCall("Shell32\IsUserAnAdmin")
if b = 1
msgbox,管理者権限です
else
msgbox,管理者権限ではありません
return

692 :名無しさん@お腹いっぱい。 :2019/01/06(日) 23:59:56.70 ID:emI//Ac90.net
>>691
A_IsAdminっていう組み込み変数があってな

693 :名無しさん@お腹いっぱい。 :2019/01/07(月) 00:08:07.83 ID:zIu31W3n0.net
if( 関数() )

694 :名無しさん@お腹いっぱい。 :2019/01/07(月) 11:19:08.69 ID:CswGGpIj0.net
OSじゃなくてスクリプトが管理者権限で動いてるかどうかって取得できたっけ?

695 :名無しさん@お腹いっぱい。 :2019/01/07(月) 13:33:44.91 ID:bx68uRNCH.net
TTClock みたいなことを AHK でさせたいのですが
タスクトレイの時計を上書きするにはどうしたらよいでしょうか
サンプルスクリプトなどご存じの方いらっしゃったらリンク等教えていただけませんか

タスクトレイの時計の ClassNN が TrayClockWClass てところまでは分かったのですが
そこからが分かりません…

696 :名無しさん@お腹いっぱい。 :2019/01/07(月) 19:00:02.72 ID:OsrIJ3YK0.net
TTClockみたいなことしたけりゃTTClockのソースみりゃいいだろ

697 :名無しさん@お腹いっぱい。 :2019/01/08(火) 23:04:02.31 ID:83mgysAq0.net
ではTTClockのソースを出してください

698 :名無しさん@お腹いっぱい。 :2019/01/08(火) 23:05:05.28 ID:4AtQxIWK0.net
Loopのファイル検索に正規表現は使えないのでしょうか?

699 :名無しさん@お腹いっぱい。 :2019/01/08(火) 23:31:57.06 ID:dsKNZqqv0.net
>>698
Loopでパス(A_LoopFile***)を拾ってから正規表現RegEx***()

700 :名無しさん@お腹いっぱい。 :2019/01/08(火) 23:37:18.33 ID:nEeiVAcB0.net
>>698
使えない

701 :名無しさん@お腹いっぱい。 :2019/01/08(火) 23:39:55.97 ID:4AtQxIWK0.net
>>699
出来ました
ありがとうございます

702 :695 :2019/01/09(水) 09:49:32.62 ID:vcXe4J2NH.net
実際にやりたいのはコレ
https://github.com/White-Tiger/T-Clock/releases

ソースみてみたんだけど、言語の知識不足で把握できんかった
Grep で該当しそうなクラスを検索したけど、うまく見つからなかったし

703 :名無しさん@お腹いっぱい。 :2019/01/09(水) 22:11:24.57 ID:DK3L+wGw0.net
何がやりたいのかさっぱりわからんわ
そもそもこんな貧弱なスクリプトでAPIゴリゴリ使った処理なんてするするべきではない

704 :名無しさん@お腹いっぱい。 :2019/01/10(木) 03:16:14.40 ID:LwwfjF9I0.net
AutoHotkeyを流行らせるページのダウンロード版マニュアルをダウンロードして展開

DocFetcher Portableをダウンロードして展開

自分のahkのソースコードとマニュアルのパスを登録してインデックスを作成

超高速串刺し検索が可能になる

705 :名無しさん@お腹いっぱい。 :2019/01/10(木) 19:11:15.12 ID:A+VZ/RZld.net
イメージサーチ(画像)とカラーサーチ(色)処理が早いのはどちらでしょうか
5色のルーレットを今画像でサーチしてストップしてるんですが
スタート位置がランダムなので青を認識してストップかけたつもりが次の赤でストップすることがあるんで
改善したいつもりです

706 :名無しさん@お腹いっぱい。 :2019/01/10(木) 21:46:20.89 ID:P/k653NG0.net
そういうのってゲーム側でずれるようになってんじゃね

707 :名無しさん@お腹いっぱい。 :2019/01/10(木) 23:08:19.29 ID:Z8QunCsz0.net
ウインドウを監視してサイズが変わったら通知するようにしたいのですが
WinGetPosをタイマーで繰り返し呼び出す以外に良い方法はないでしょうか?

708 :名無しさん@お腹いっぱい。 :2019/01/11(金) 11:01:09.28 ID:H1qPXC3Y0.net
>>707
>>425

709 :名無しさん@お腹いっぱい。 :2019/01/11(金) 19:09:12.83 ID:AXnRM+C7d.net
>>706
スロットの滑り?(なんて表現したらいいかわからない)
はなくて単純にスタート位置がランダムなのが問題で
色と色のちょうど切り替わるところでスタートして検索にに引っかかった場合見つけた判定と入力ラグで次の色になってしまう事が50回に1回位起きてるんですよね
前の色をサーチして次に停めたい指定色をサーチすればズレることはないんで完璧なんですけど
それだと初手で指定したい色を引いた場合5色切り替わるのを待たないといけないんです

710 :名無しさん@お腹いっぱい。 :2019/01/11(金) 19:14:15.46 ID:LprUI7zi0.net
>なんて表現したら
慣性?

711 :名無しさん@お腹いっぱい。 :2019/01/12(土) 09:45:53.33 ID:5jgtQssX0.net
オブジェクトの削除は意外な挙動をしますね

array := object()
loop 10
{
array[a_index+1] := a_index*10
}
str := ""
for index, element in array
{
str .= index . " " . element . "`n"
}
msgbox % str
array.remove(1)
str := ""
for index, element in array
{
str .= index . " " . element . "`n"
}
msgbox % str

とやると何も起きないのかと思っていたのですが
要素数は変わらず全部のindexが1つずつ繰り上がっていました

712 :名無しさん@お腹いっぱい。 :2019/01/12(土) 10:37:58.89 ID:esz5e9Ii0.net
>>711
loop 10
a_index+1 = 2〜11

713 :名無しさん@お腹いっぱい。 :2019/01/12(土) 10:54:03.36 ID:vNvrnCmz0.net
array := ["", 10, 20, …, 100]

714 :名無しさん@お腹いっぱい。 :2019/01/12(土) 11:03:52.19 ID:esz5e9Ii0.net
       ∧_∧      ∧∧
 __   (* ´Д`)从   (゜Д゜,,)
 空_| ≡=-  ̄ ̄   そ ⊂    J
       │ ̄2 ̄│W    |   |
       │ ̄3 ̄│     L ^ J
       │ ̄4 ̄│
         ̄ ̄ ̄

715 :名無しさん@お腹いっぱい。 :2019/01/12(土) 11:13:16.42 ID:5jgtQssX0.net
空要素を入れているわけじゃなくて
removeしたindexを引いているみたいなんですよ
array.insert(5000,99)
array["abc"] := 12345
array.remove(1)
とかやると
abcはそのままですが5000は4999になります
挙動からするとハッシュで管理していて
整数値のインデックスのキーを削除するときは
他のキーのなかで整数かつ削除されたインデックスより大きいものは
1引いているようなんです

716 :名無しさん@お腹いっぱい。 :2019/01/12(土) 13:01:36.99 ID:5jgtQssX0.net
gui,addのgオプションで自作関数を呼び出そうとしても
ラベルは関数をポイント出来ないみたいな事言われてダメなのですが
関数の中にラベルを書くといけますね
ラベルは危険ですね

717 :名無しさん@お腹いっぱい。 :2019/01/12(土) 13:45:29.91 ID:FZz59XDa0.net
 macでautohotkeyの、無変換+Jのコンビネーションでカーソルを動かす
といったことができるソフトはありますでしょうか?
 Karabinerでそれができるでしょうか?

718 :名無しさん@お腹いっぱい。 :2019/01/12(土) 14:04:32.36 ID:1c1//4bM0.net
>>716
Func Object
https://autohotkey.com/docs/objects/Func.htm

719 :名無しさん@お腹いっぱい。 :2019/01/13(日) 23:36:05.00 ID:wzMuCyOw0.net
同じホットキーに対してスクリプトが複数あるときって優先順位はどうなるのでしょうか?

720 :名無しさん@お腹いっぱい。 :2019/01/14(月) 00:26:16.65 ID:FUECytBs0.net
>>719
*優先度 劣後 < 優先
RegisterHotkey(Win32API、フック$無しはこれ) < AHKキーボードフック($)

*補足
RegisterHotkey     同じキーに対して割り当て不可、フック$無しで同じキーがある場合は自動でAHKフックが使用される
AHKキーボードフック  後から設定したものが優先される

721 :名無しさん@お腹いっぱい。 :2019/01/14(月) 10:47:07.42 ID:ex3lNo2I0.net
Twitterでツイの削除を自動化したいんですが
座標クリックだと最後の「本当に削除しますか?」の
削除ボタンの位置が文章の長さで変わってしまうのでうまくいきません
#32770やショートカットキーもないようなので他に方法があれば
教えて頂けないでしょうか

722 :名無しさん@お腹いっぱい。 :2019/01/14(月) 10:48:54.34 ID:dpVm2sse0.net
>>721
ユーザーcssで位置を固定させれば済むのでは?

723 :名無しさん@お腹いっぱい。 :2019/01/14(月) 11:06:00.56 ID:CHYngsSQ0.net
imageseachでボタン認識

724 :名無しさん@お腹いっぱい。 :2019/01/14(月) 12:50:46.58 ID:ex3lNo2I0.net
>>722-723
ありがとうございます。調べて試してみます

725 :名無しさん@お腹いっぱい。 :2019/01/17(木) 05:24:54.01 ID:wibuoqRN0.net
自作のスクリプトを起動していると、マウスでファイルをドラッグドロップできなくなる現象がたまに起こるんだけど原因はなんだろう?
キー押しっぱなし病かと思ったけど微妙に違うっぽいし

例えばDesktop上のショートカットアイコン等をマウスドラッグで移動させようとすると一瞬つまめるんだけどすぐに離れちゃう
エクスプローラー上のファイルアイコンも同じ

726 :名無しさん@お腹いっぱい。 :2019/01/17(木) 05:27:31.65 ID:wibuoqRN0.net
ちなみにウィンドウのタイトルバー等は掴んで移動させることができる


スクリプトの中身も貼ったほうがいいかな
素人がテンプレ参考に汚く修正したコードだから見にくいと思うんだけど

727 :名無しさん@お腹いっぱい。 :2019/01/17(木) 10:04:11.14 ID:B6YY3fxm0.net
長くなければ

ちな俺はそういう経験はないな

728 :名無しさん@お腹いっぱい。 :2019/01/17(木) 10:34:59.96 ID:7c3tSIyV0.net
貼る前にある程度自分で削って試してみ
マウス関連ならマウス制御に関わるホットキーやコマンドが怪しいし
ある程度アタリつくのでは?

729 :名無しさん@お腹いっぱい。 :2019/01/19(土) 17:00:43.25 ID:HRmMUcjP0.net
eメールのemlファイルを変数に読み込んで処理したいのですが文字化けしてしまいます
file := FileOpen(ファイルパス, "r")
MsgBox % File.Read()

メールファイルを見てみたらiso-2022-jpとあったので
FileOpen(ファイルパス, "r" , "CP50220")
とやってみましたが文字化けは治りませんでした
なにか方法はないでしょうか

730 :名無しさん@お腹いっぱい。 :2019/01/19(土) 18:01:03.77 ID:i5ZFWVeZ0.net
>>729
なんでだろ、FileEncodingのJIS指定機能してないのかね?
RawRead→StrGetなら大丈夫そう

731 :名無しさん@お腹いっぱい。 :2019/01/19(土) 18:33:24.18 ID:nBEJIery0.net
>>729
MIMEエンコード(Quoted-Printable)

732 :名無しさん@お腹いっぱい。 :2019/01/19(土) 18:48:29.88 ID:RXWyLTxR0.net
>>729
FileName := ""
FileEncoding, CP50220
FileRead, str, %FileName%
MsgBox, %str%

733 :名無しさん@お腹いっぱい。 :2019/01/20(日) 08:25:54.02 ID:WvFZYAU6r.net
WinMoveでウィンドウタイトルをahk_exe指定って動作しないのでしょうか
#NoTrayIcon
SetTitleMatchMode, 2
SetWinDeray,1000
WinMove, ahk_exe notepad.exe,, 0,0,640,480 ;動かない
;WinMove, ahk_clas Notepad.exe,, 0,0,640,480 ;動く
Return
;こっちはahk_exe指定でも動く
#If WniActive("ahk_exe notepad.exe")
:*Z?:h30::2018
:*Z?:h31::2019
#If

734 :名無しさん@お腹いっぱい。 :2019/01/21(月) 16:55:22.15 ID:vKThRBHq0.net
おま環

735 :名無しさん@お腹いっぱい。 :2019/01/23(水) 15:42:37.66 ID:3RrY6pKM0.net
AHKって独自のキーボードアプリを必要とするキーボードとの相性って最悪だったりするの?

736 :名無しさん@お腹いっぱい。 :2019/01/23(水) 17:14:13.90 ID:SuoQsE7W0.net
>>735
独自アプリが送るキーを拾えばいいだけなので問題ない
直接対象のウィンドウやコントロールに送ってる特殊なものは除く

737 :名無しさん@お腹いっぱい。 :2019/01/23(水) 17:21:25.52 ID:tL1hRozK0.net
むしろLGSと組み合わせて使ってるが超快適

738 :名無しさん@お腹いっぱい。 :2019/01/23(水) 17:32:15.21 ID:3RrY6pKM0.net
ありがとうございます。
適当なゲーミングキーボードを購入して試してみます。

739 :名無しさん@お腹いっぱい。 :2019/01/23(水) 17:43:18.04 ID:hgyXKOkAa.net
タッチパッドで上下左右の4方向のどれかに指を動かしたか判定ってできないですか?

740 :名無しさん@お腹いっぱい。 :2019/01/24(木) 18:10:03.05 ID:L8j8rl2I0.net
#IfWinActive,ahk_exe notepad.exe
sc7B&f:: ; 無変換+fでアプリ固有のメニュー

#IfWinActive,ahk_exe calc.exe
sc7B&f:: ; 無変換+fでアプリ固有のメニュー

と言ったコードがずらずらあって

別のコードからそれを呼び出したい場合ってどうすればいいの?

; アクティブウィンドウのアプリ固有のメニューを呼び出す
Send,{sc7B down}f{sc7B up}

だとfしか受け取ってもらえないっぽい

741 :名無しさん@お腹いっぱい。 :2019/01/24(木) 18:35:50.36 ID:P0fFZvnW0.net
その別のコードにアプリ固有のメニューを割り当てろ

742 :名無しさん@お腹いっぱい。 :2019/01/24(木) 18:55:48.48 ID:L8j8rl2I0.net
そういう事ではなくAHKが再度処理できるようにSendしたいんだけど
Input,Even,Playだのとやってもうまくいかない

743 :名無しさん@お腹いっぱい。 :2019/01/24(木) 19:06:06.82 ID:Mp9B1M270.net
正直説明不足すぎて何がやりたいんだがさっぱり分からんのだが
スプリクト同士を連携させたいのならホットキー再帰じゃなくて
OnMessage()使ったほうがいいのでは

744 :名無しさん@お腹いっぱい。 :2019/01/24(木) 19:42:56.74 ID:P0fFZvnW0.net
>>742
だからそういうのは無いっつってんの

745 :名無しさん@お腹いっぱい。 :2019/01/24(木) 21:11:02.45 ID:zqSKHQU20.net
>>740
あたしはアプリ別メニューはこう管理してます

メイン.ahk
AppsKey Up::Run, サブ.ahk

サブ.ahk
a := WinActive("WinTitle") <> 0
b := WinActive("WinTitle") <> 0
if a
 メニュー作成
else if b
 メニュー作成
else
 Send {AppsKey}
ExitApp
ラベル作成

746 :名無しさん@お腹いっぱい。 :2019/01/24(木) 21:22:56.80 ID:Nfq/MFxG0.net
send?gosubじゃなくて?
gosubで同名のものが複数あるホットキーラベルの中から任意のものを呼び出したいならホットキーラベルに重ねて適当な名前のラベル割り当てるしかないと思う

#IfWinActive,ahk_exe notepad.exe
sc7B&f::
notepadMenu:

#IfWinActive,ahk_exe calc.exe
sc7B&f:
calkmenu:

みたいな

747 :名無しさん@お腹いっぱい。 :2019/01/25(金) 12:08:08.22 ID:ra3drS5T0.net
Send,{sc7B down}f{sc7B up}

sc7B&f:: ; 無変換+fでアプリ固有のメニュー

実行できないって話ならSendLevelと#InputLevelの出番じゃなかろうか

よくわからないのは
; アクティブウィンドウのアプリ固有のメニューを呼び出す
↑って別にコードを書かなくても#IfWinActive,ahk_exeあるんだから実現できてるよね?

748 :名無しさん@お腹いっぱい。 :2019/01/25(金) 12:23:11.27 ID:3Rew7U8qM.net
winactiveは現在アクティブになってる窓のことであって
Send元がahk_exeかどうかは関係なくね
ahkは基本バックグラウンド動作なのでGUI出さない限りActiveでは拾えんし

749 :名無しさん@お腹いっぱい。 :2019/01/25(金) 18:08:49.45 ID:SY0NQG/da.net
さんざん既出かもしれませんが

sc03A & f::
Send, ^f
Return
のようにしてCapsLockキーにCtrlキーの役割を持たせようとした場合、
CapsLock単打で元々の機能(IME切り替え)って備えさせられないでしょうか?

また、CapsLockを押してないときでも常時Ctrl状態になってしまいます…

750 :名無しさん@お腹いっぱい。 :2019/01/25(金) 18:14:16.21 ID:fVLTXb650.net
>>748
sc03A::sc03A

751 :名無しさん@お腹いっぱい。 :2019/01/26(土) 06:36:41.70 ID:oXSLhMmV0.net
>>749
CapsLockつっても日本語と英字配列で挙動違うしなぁ
IMEの切り替えもIMEの設定によるからなぁ

環境違うからようわからんがこんなんじゃ?
~sc03A & f::
Send, ^f
Return


俺ならCapsLockをコマンドキー代わりにするならF13とかに書き換えるわ
元々の機能はShift+F13(CapsLock)で送った方がいろいろ楽じゃろ

#MenuMaskKey vk07
SetStoreCapslockMode, off
SetTimer, Timer01, 1000

~LShift & F13::
Send, {CapsLock}
Timer01:
If(A_TimeIdlePhysical>5000)
SetCapsLockState, OFF
Return

752 :名無しさん@お腹いっぱい。 :2019/01/26(土) 08:08:59.15 ID:8hQEop/60.net
さんざん既出でFAQでテンプレ入りしてるこれのことかね?
>4

753 :名無しさん@お腹いっぱい。 :2019/01/30(水) 19:51:43.04 ID:J987Min70.net
URLDownloadToFileを使ってテキストファイルに落としたのを
FileReadLineで読み取って
IfInStringで、文字比較をするのですが、漢字を比較するとひっかかりません
DLしたファイルを秀丸で見ると、エンコードはUTF-8でBOMにはチェックは入っていません
AHKのahkファイルを秀丸で開くと同じくエンコードはUTF-8でBOMにチェックは入っていません
ただ、AHKはSciTE4Autohotkeyで編集しているのですが、ここではUTF-8withBOMとなっています

どうしたら、漢字でも比較できるようになるでしょうか

754 :名無しさん@お腹いっぱい。 :2019/01/30(水) 20:21:14.97 ID:J987Min70.net
わかりました。 日本語Shift-jisのときにだけ、漢字比較も出来るようです
UTF-8では出来ません。 URLDownloadToFileで落としたファイルをShift-jisに変換できないかな

755 :名無しさん@お腹いっぱい。 :2019/01/30(水) 20:26:16.73 ID:RKU6wQxh0.net
FileEncoding

756 :名無しさん@お腹いっぱい。 :2019/01/30(水) 20:39:15.17 ID:J987Min70.net
出来ました!  ありがとう

757 :名無しさん@お腹いっぱい。 :2019/02/04(月) 20:04:29.48 ID:3xzTX1F70.net
変数 txt には、数行のテキストが入っています
そのすべての行の先頭に、変数 a に入ってる文字を入れたいのです

txt := RegExReplace txt, "^", a, -1 )

とかしてもダメなのですが、どうしたらいいでしょうか
ためしに


txt := RegExReplace txt, "^", ”Sentou”, -1 )

としても各行の先頭には入らずに全体の先頭だけにしか入らないし、Sentouを変数 a に入れるとなにも起こりません

758 :名無しさん@お腹いっぱい。 :2019/02/04(月) 20:18:02.92 ID:3xzTX1F70.net
たとえば
txt =aaa`r`nbbb`r`nccc`r`n
txt :=RegExReplace( txt, "^" , "Sentou:", -1 )
MsgBox %txt%

全部の行に入りません

759 :名無しさん@お腹いっぱい。 :2019/02/04(月) 20:43:53.17 ID:vH5so+Ym0.net
正規表現を勉強しましょう

760 :名無しさん@お腹いっぱい。 :2019/02/04(月) 20:54:18.24 ID:VZ8qaKeZ0.net
>>758
http://ahkwiki.net/RegEx#.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3

761 :名無しさん@お腹いっぱい。 :2019/02/04(月) 20:57:04.58 ID:3xzTX1F70.net
なんだあ、出来ました。ありがとうございました
そういう特殊なのがあったんですね

762 :名無しさん@お腹いっぱい。 :2019/02/06(水) 12:53:20.44 ID:Qp8c4kFo0.net
Loopで一行ずつ分解して先頭にaをくっつけていくという方法でもいいんですよ

763 :名無しさん@お腹いっぱい。 :2019/02/06(水) 18:09:37.57 ID:zFYVquxw0.net
半角全角を
英語キーボードみたいにbacktickとして認識させたいんだけど
backtickのキー名って分かる人いませんか?

764 :名無しさん@お腹いっぱい。 :2019/02/06(水) 18:25:34.46 ID:hlw3BzPp0.net
>>763
自分で確認しよう

#InstallKeybdHook
; #InstallMouseHook
KeyHistory

765 :名無しさん@お腹いっぱい。 :2019/02/06(水) 18:53:32.25 ID:zFYVquxw0.net
>>764
ありがとう
vkF3::vkC0
vkF4::vkC0で置いたんだけど
ゲーム内だったらキーバインドしようとすると
pc-98 @って認識されるんですよね
pc-98 @で認識させると今度は押したら押しっぱなしになっちゃうから
vkF3::send,{vkC0}
vkF4::send,{vkC0}
にしたらキーバインドはできるけど反応されなくなっちまった
LOLというゲームなんだけど・・・

766 :名無しさん@お腹いっぱい。 :2019/02/06(水) 19:11:38.41 ID:hlw3BzPp0.net
>>765
AHKのフック$
Sendのモード変更、間隔変更

767 :名無しさん@お腹いっぱい。 :2019/02/06(水) 20:12:01.26 ID:k9lrV6bn0.net
>>765
まず日本語キーボードの場合 {vkC0} は @ のことだから反応しないのは当たり前
backtickは日本語キーボードでは Shift+@
テキストならこれで行けるけどLOLの挙動は知らん

ちなみに余談だが物は日本語キーボードでも言語設定を英語キーボードの設定にしてしまえば
半角全角キーはbacktickに変わる(その他の記号なども全て英語キー準拠になるので注意)

768 :名無しさん@お腹いっぱい。 :2019/02/06(水) 20:23:39.40 ID:k9lrV6bn0.net
>>765
あとは少し上でも言われてた散々既出のテンプレ>>4も読んでおいた方が良い

769 :名無しさん@お腹いっぱい。 :2019/02/08(金) 13:58:51.39 ID:wYl6SAwa0.net
clipboard=%txt%
としたのですが、txtをよそからコピペしてきたものなのでテキスト以外の何かが入っているようで
そのあとがうまく行きません

クリップボードにコピーするときに、テキストだけをコピーする方法ってありますか
ちなみにtxtに直接テキストを代入してやるとうまくいきます

770 :名無しさん@お腹いっぱい。 :2019/02/08(金) 14:05:27.93 ID:wYl6SAwa0.net
具田的にいうと、エクセルからVBAを使って複数セルをコピーして持ってきたものをそのまま使うと
ダメで同じものを試しに手で文字列にして直接clipboardに代入するとうまく行きます
変数xに何かが入っていて、これから文字だけ抽出するというのでもいいです

771 :名無しさん@お腹いっぱい。 :2019/02/08(金) 17:36:15.55 ID:j+wMk+Qm0.net
ahkのcbで扱えるのはテキストだけだろ
それ以外のフォーマットはDllCallでうだうだやるしかない

772 :名無しさん@お腹いっぱい。 :2019/02/08(金) 17:49:12.95 ID:wYl6SAwa0.net
すいません。エクセルのコピーは特殊なことをしているようで、AHKの問題ではなさそうです
この質問は撤回します

773 :名無しさん@お腹いっぱい。 :2019/02/08(金) 17:55:33.97 ID:hNPx+2dr0.net
Excelからコピーしてきたならすでにクリップボードになんか入ってるんだから
clipboard=%txt% じゃなくて txt=%clipboard% じゃないの?
普通にタブ区切りテキストで取得できてるけど
https://i.imgur.com/GnBFhMo.png


VBA使っててクリップボードに入れる前に必要な情報だけ選別したいなら
VBA側でテキスト加工してからクリップボードに入れたらいいんでね

Excel VBA から、クリップボードにテキストをセットする
https://qiita.com/rohinomiya/items/1b719bc90d7497688699

774 :名無しさん@お腹いっぱい。 :2019/02/08(金) 18:23:10.12 ID:wYl6SAwa0.net
>>773
おおすばらしい
クリップボードにテキストをセットする
これだ。私は、
Range(--).Copy
を使ってやってたのでなんかおかしかったんです
ありがとうございました

775 :名無しさん@お腹いっぱい。 :2019/02/09(土) 09:59:24.02 ID:0gnksyzc0.net
tempフォルダ内のフォルダを削除したいのですが、どうしたらいいでしょうか?。
以下の様にしてもフォルダは削除されませんでした。

FileRemoveDir, %A_WinDir%\Temp\*, 1

776 :名無しさん@お腹いっぱい。 :2019/02/09(土) 10:19:34.56 ID:0gnksyzc0.net
すみません、検索したら探せました。
お騒がせしました。

Loop, %A_WinDir%\Temp\*, 2 , 0
{
FileRemoveDir, %A_LoopFileLongPath%, 1
}

777 :名無しさん@お腹いっぱい。 :2019/02/11(月) 11:11:20.52 ID:4JpBGiWx0.net
デスクトップのリストビューを更新するスクリプトはどう書けばいいですか?
LVM_UPDATE := 0x102a これ以降さっぱり分かりません

778 :名無しさん@お腹いっぱい。 :2019/02/11(月) 11:29:42.41 ID:XFeKJxE30.net
>>777
explorer.exeならF5

779 :名無しさん@お腹いっぱい。 :2019/02/11(月) 11:50:40.82 ID:4JpBGiWx0.net
>>778
ブラウザみたいに更新できるなんて知らなかった
ありがとう!

780 :名無しさん@お腹いっぱい。 :2019/02/13(水) 11:46:40.28 ID:LX5xNagOa.net
2つのキーを長押しした時に発動するホットキーはどうやって設定すればいいでしょうか。
具体的にはShift+CapsLockを長押しで実行するようにしたいです。
以下のスクリプトは2回目のKeyWaitで必ず0が返ってきてしまいます。

Shift & sc03A::
KeyWait, Shift
KeyWait, sc03A
If (ErrorLevel)
{
Send, Shift & sc03A
}
Else
{
TrayTip, , 長押ししてね。, ,
}
Return

781 :名無しさん@お腹いっぱい。 :2019/02/13(水) 11:51:38.06 ID:LX5xNagOa.net
まちがえた、最初のKeyWait2行は、「,T0.2」が抜けてました。

782 :名無しさん@お腹いっぱい。 :2019/02/13(水) 12:46:30.85 ID:DtDfhWH00.net
CapsLockに関しては>4を参照

783 :名無しさん@お腹いっぱい。 :2019/02/13(水) 15:47:38.34 ID:LX5xNagOa.net
>>780ですが、自己解決しました。
sc03Aの代わりに{CapsLock}を使ったら認識してくれました。
ホットキーも+CapsLockでいけました。
お騒がせしました。

784 :名無しさん@お腹いっぱい。 :2019/02/19(火) 07:32:26.09 ID:/Y9aNw5G0.net
Googleでahkwiki.netが検索に引っかかるのに404まみれで辛い

785 :名無しさん@お腹いっぱい。 :2019/02/20(水) 09:32:21.11 ID:HEs7YX4m0.net
windows10,autohotkeyのバージョンはv1.1.26.01です
スタートアップにahkのショートカットを登録して使用しています
altキーをLalt::aのように別のキーに割り当てているのですが、
起動して直後の状態でctrl+alt+〇のようなショートカットキーを押すと普通にショートカットが反応します
単体でLaltを押すとaが入力されます
その後タスクバーからautohotkeyの画面を開いてreloadscriptを行うとctrl+alt+〇が反応しなくなるのですが
これは何故なんでしょうか
出来れば最初から反応しなくなるようにしたいんです

786 :名無しさん@お腹いっぱい。 :2019/02/20(水) 10:07:31.48 ID:gmyAfssR0.net
スクリプトの実行するタイミングが早すぎるんじゃないかな
試しに2分後にスクリプト(スクリプトB)を実行するスクリプト(スクリプトA)を経由させてみては?

sleep, 120000
Run, スクリプトB.ahk
を記述したスクリプトA.ahkをスタートアップに登録

もしくはAutohotkeyを使わず、ChangekeyというソフトでAltキーをAに置き換えておく

787 :名無しさん@お腹いっぱい。 :2019/02/21(木) 18:23:47.65 ID:qskE06cf0.net
>>786
こんどそれを試してみます
ありがとうございます

788 :名無しさん@お腹いっぱい。 :2019/02/22(金) 14:24:29.45 ID:D0iwsF1G0.net
>>786
上の方法を試したら今のところ不具合なく動いてます
ありがとうございました!

789 :名無しさん@お腹いっぱい。 :2019/02/23(土) 01:47:56.73 ID:s6AaMiGtr.net
既出だったらすまん
.ahkが関連付けされてない環境下でショートカットにファイルパス引数付けて実行するとき
ショートカットの詳細プロパティで管理者として実行チェック入れないと
管理者でログインしてても権限付かないのな

WinMoveが動いてないのに気付くまで気が付かなかった
環境Win10x64

790 :名無しさん@お腹いっぱい。 :2019/02/23(土) 11:37:41.36 ID:DNRf3WAIa.net
>>789
UACをオフ

791 :名無しさん@お腹いっぱい。 :2019/02/27(水) 21:27:13.84 ID:CiDwXRSW0.net
ブラウザ上で日本語を選択した時に検索する様にしているのですが、文字化けしてしまいます。
回避する方法を教えて下さい、よろしくお願いします。
#c::
FileEncoding, CP932
ClipSaved := ClipboardAll
Clipboard := ""
Send, ^c
ClipWait
Run, "http://www.bing.com/translator/?from=en&to=ja&text=%Clipboard%"

792 :名無しさん@お腹いっぱい。 :2019/02/27(水) 21:41:20.92 ID:9a9zwy1q0.net

それ英日翻訳じゃん

793 :名無しさん@お腹いっぱい。 :2019/02/27(水) 21:45:14.44 ID:rrckRpup0.net
何だかようわからんがまずFileEncoding, CP932いらないんじゃないか

794 :名無しさん@お腹いっぱい。 :2019/02/27(水) 21:49:09.97 ID:CiDwXRSW0.net
日英にしてもだめでした。

795 :名無しさん@お腹いっぱい。 :2019/02/27(水) 21:51:16.58 ID:CiDwXRSW0.net
ああ、すみません、使用しているVersionは1.1.24.1 ANSI 32bitです

796 :名無しさん@お腹いっぱい。 :2019/02/27(水) 21:55:40.17 ID:/ia5FaxV0.net
>>791
とりあえずそのまま使ってみたけど日本語を選択しても文字化けしなかったぞ
Win10 / AHK 1.1.29.1
何か環境の問題か?

797 :名無しさん@お腹いっぱい。 :2019/02/27(水) 21:56:56.01 ID:/ia5FaxV0.net
>>795
ANSIだからじゃね
Uni使ってみ

798 :名無しさん@お腹いっぱい。 :2019/02/27(水) 22:01:53.26 ID:CiDwXRSW0.net
IEだと文字化けするようです。
Chromeにしたら文字化けしませんでした。
これで使ってみます、ありがとうございました。

799 :名無しさん@お腹いっぱい。 :2019/02/27(水) 22:09:08.33 ID:QGMj7MyU0.net
>>ID:CiDwXRSW0
WEB検索はueと連携するのがおすすめ!
もしくは自前でエンコするか

ue ttp://www2.axfc.net/u/3902154
UrlEncode() ttp://hibari.5ch.net/test/read.cgi/software/1280482227/235

800 :名無しさん@お腹いっぱい。 :2019/02/27(水) 22:58:07.57 ID:CiDwXRSW0.net
ありがとうございます、試してみます。

801 :名無しさん@お腹いっぱい。 :2019/02/28(木) 16:28:21.01 ID:gWpaONge0.net
ret := foo(
1,
2,
3)
と改行挟んじゃ駄目なの?

802 :名無しさん@お腹いっぱい。 :2019/02/28(木) 18:37:14.67 ID:Zy0nnfk30.net
>>801
http://ahkwiki.net/Scripts#.E8.A4.87.E6.95.B0.E8.A1.8C.E3.81.AB.E6.B8.A1.E3.82.8B.E5.BC.8F.E3.83.BB.E3.82.B3.E3.83.9E.E3.83.B3.E3.83.89


ret := foo(1
,2
,3)

なら可

803 :名無しさん@お腹いっぱい。 :2019/03/03(日) 21:55:53.84 ID:UPkckduS00303.net
IME.ahk のIME_GetConvMode()を呼んでいたら、
特定のアプリで時々おかしくなる。

デバッグしてみると、おかしくなるときに
-2147483623 の値を返してくる。
なお、本来ならば25の値を返すべき。

これを16進数に変換すると、FFFFFFFF80000019
なんと、上位31-15bitがおかしなことになっている。
という訳で、下位のビットだけ取り出すようにしました。

vConvMode := IME_GetConvMode() & 255

これで、いまのところ大丈夫そうだが、何故このようになるのか不明。
(もしかして、IME.ahk って、32bit環境が前提なのでしょうか。)

804 :名無しさん@お腹いっぱい。 :2019/03/04(月) 22:34:50.17 ID:HiTCLtwi0.net
今日、人生で初めてパソコンを触りました2歳です
おすすめのスクリプトを教えてください

805 :名無しさん@お腹いっぱい。 :2019/03/05(火) 01:30:43.28 ID:6KPoryVC0.net
shiftキーの機能を保持したまま、shift単打に何かしらの働きをさせたい場合はどうすればよいでしょうか
単純にlshft::とかやると元々のシフトができなくなってしまいます

806 :名無しさん@お腹いっぱい。 :2019/03/05(火) 01:36:16.17 ID:KNkPH5Gq0.net
>>805
~lshft::

807 :805 :2019/03/05(火) 06:17:33.34 ID:6KPoryVC0.net
>>806
素早い返信ありがとうございます!
なんか難しいことしなくても1字足すだけでいいみたいでよかったです

808 :名無しさん@お腹いっぱい。 :2019/03/05(火) 23:14:20.46 ID:OisHrBAc0.net
例えばマウスジェスチャ
その存在を(そういう概念を)知らなくても別に困らない
しかし、一度使ってしまうと、使わない時にしんどい

そんな感じで、実はめちゃくちゃ作業効率あがるのに、概念の存在すら知らないプラグインがあるのかな〜なんて

809 :名無しさん@お腹いっぱい。 :2019/03/06(水) 15:16:41.42 ID:rp4+iZ/10.net
txtの先頭行に”AB”を書き加えたいのですが、どうしたらいいですか?。

FileAppend,
(
ABC
ABCD
), .\TEST.txt

FileRead, HENSUU, .\TEST.txt
If (!RegExMatch(HENSUU,"AB"))
{
FileDelete, .\TEST.txt
FileAppend,
(
AB
%HENSUU%
), .\TEST.txt
}

810 :名無しさん@お腹いっぱい。 :2019/03/06(水) 16:32:27.96 ID:K+HVjljt0.net
>>809
サンプル ttp://pastebin.com/raw/AN55Gb00

811 :名無しさん@お腹いっぱい。 :2019/03/06(水) 16:53:09.40 ID:5W18jL5p0.net
>>809
ifの判定式が正しく書けてないだけで他はそれでできてる

ただ改行コードがCR+LFなのかLFなのかを
書き込むとき読み込むとき正規表現に掛けるとき常に意識しておかないとミスりやすい

812 :名無しさん@お腹いっぱい。 :2019/03/06(水) 18:03:32.36 ID:rp4+iZ/10.net
やほー出来ました!有難うございます!!!!!。
本当に助かります!。

813 :805 :2019/03/08(金) 19:41:34.52 ID:R4uMOZvC0.net
あああ>>805ですが
あああ>>806さんの言うとおりに

~LShift::
Send, あああ
Return

としてみたらあああShiftを押すたびに「あああ」が出るようになってしまいます…
Shiftを押したあと、そのまま何もせずに離したときだけ「あああ」が出るようにするためには…
変数とかだとたまにずれると聞きますし…

814 :名無しさん@お腹いっぱい。 :2019/03/08(金) 21:53:19.62 ID:C7+mXGSPD.net
F1だけ1秒押さないと反応しないようにしたいけど可能ですか

815 :名無しさん@お腹いっぱい。 :2019/03/08(金) 21:55:04.21 ID:/nv/U1UP0.net
>>814
可能です
wikiのサンプルコード参照

816 :名無しさん@お腹いっぱい。 :2019/03/08(金) 22:00:29.76 ID:C7+mXGSPD.net
>>815
ありがとうございます!捗ります!!

817 :名無しさん@お腹いっぱい。 :2019/03/09(土) 13:04:18.93 ID:2Yt1jfFd0.net
813は何がしたいんだろね
それじゃShiftキー単体がトリガーになってんだからShift使えないのはあたりまえじゃん
~を頭に付けてる意味が無い

仮にShiftキーの状態を取得して
Shiftキーをupのときだけ「あああ」を出すことはできるが
そもそも、それ以外でShiftキーを送りたいときでもキーはupするでしょ
downのときだけShiftを送るとしても「あああ」を出す前にShiftが送られてしまうし
Shiftキーのみであれもこれもというのは無理がある

~を頭に付けるのはコンビネーションキーを使った時にこそ意味がある
~Shift & a::
Send, あああ
Return

818 :名無しさん@お腹いっぱい。 :2019/03/09(土) 13:18:13.97 ID:f6luyZem0.net
shiftと同時に押されてるキーがあるかどうかで分岐したいんでしょ
getkeystateは何が押されてるかを網羅するのは大変だから
dllcallでGetKeyboardStateでも呼び出したらいいんじゃね

819 :名無しさん@お腹いっぱい。 :2019/03/09(土) 19:40:53.21 ID:amiJbyy8r.net
>805は
>shift単打に何かしらの働きをさせたい
って言ってるから
>>813
Shiftを殺さずにShift単体を何らかの定型文入力に使いたいなら、やりたい事の答えにはなってないけど俺ならこうする

;AutoExecuteセクションでtc1に代入しておかないと1度目だけ失敗する
tc1 := a_tickcount
return
;LShiftダブルクリックで入力
LShift Up::
tc2 := a_tickcount
if( (tc2-tc1) <= 400 )
Send, aaa
tc1 := tc2
return
つかこれもwikiに載ってたような

820 :名無しさん@お腹いっぱい。 :2019/03/09(土) 19:45:20.73 ID:amiJbyy8r.net
俺も教えて下さい
Send,キーする相手=Kingsoft WPS
OS=Windows10 64bit(管理者ユーザー)
物理メモリ=4GB
Run, C:\hoge.xlsx
WinWait, ahk_class XLMAIN ;WPSのウィンドウclass
While (res <> 0) {
SendMessage, 0, 0, 0
res := ErrorLevel
Sleep, 10
}
Send, 1234
これ(SendMessage, 0, 0, 0)の出所は流行らせるページでLastFoundWindowの応答を待つって言うやつなんですが
このSend, 1234が、OS再起動後の初回起動時のWPSで必ず失敗します。
2度目以降は100%成功します。

物理メモリ増量以外の方法で、もっと確実にAutoHotkeyからの『Sendキーを受け取れる状態になった事を知る方法』はどんなのがありますでしょうか。
Excel同様にControl, EditPasteなどControl系は受け付けませんでした。

821 :名無しさん@お腹いっぱい。 :2019/03/09(土) 20:37:40.96 ID:CNsQjUC/0.net
>>813
やりたいことは>>818の言ってる事が正しいんだろうね
dllcallの使い方が分るならそれが一番賢いやり方なんだろうけど
wikiのサンプルコードレベルの知識しかない俺ならばLShiftを一定時間以上押したかどうかで分岐するかな
Shift+○みたいな2キー同時押しの場合自然と単一押しよりもShiftを押してる時間が長くなるのでそれを判定

~LShift::
KeyWait,LShift,T0.15 ;数字は個人の好みで調整
If(ErrorLevel)
{
KeyWait,LShift
Return
}
Send,あああ
KeyWait,LShift
Return

これだとShiftを短く単一押しなら Send,あああ
0.15秒以上長押しならそのままただのShift(Shift+○などで使用可能)
ただし2キ―押しでも短く入力すると Send,あああ になってしまうので注意が必要

まあぶっちゃけShiftやCtrlなどシステムで使われる修飾キーはAHKで使わずに
無変換/変換キーやAppsキーなどを使った方がスマートだと思うけどw

822 :名無しさん@お腹いっぱい。 :2019/03/10(日) 00:29:30.77 ID:kZRNstrc0.net
受信したメールの自動化したいけど難しい…
一番の敵は文字化け
outlook買ってcomobject操作するしかないのかな

823 :名無しさん@お腹いっぱい。 :2019/03/10(日) 06:43:20.31 ID:kZRNstrc0.net
gas…なにこれしゅごい…

824 :名無しさん@お腹いっぱい。 :2019/03/10(日) 12:04:36.62 ID:EETlpcuo0.net
ありがちなツールではあるが

KeyboardStateView の評価・使い方 - フリーソフト100
https://freesoft-100.com/review/keyboardstateview.html

825 :名無しさん@お腹いっぱい。 :2019/03/15(金) 11:15:25.73 ID:MrXm2Aznd.net
sleepで指定した秒数に最大で0.02秒程度の誤差が発生するんですが、この誤差をなくすのは無理でしょうか?

826 :名無しさん@お腹いっぱい。 :2019/03/15(金) 18:23:55.74 ID:d5R2M24F0.net
>>825
自動Sleepと割り込みが無い前提で←重要
より精度が必要ならAPIのSleepを直接叩いたほうが精度は出る

SetBatchLines -1 ; 自動SleepをOFF
; Critical ; 割り込み禁止

Delay = 50
Count = 100

; --- AHKのSleep ---
StartTime := A_TickCount
Loop %Count%
Sleep %Delay%
MsgBox % "誤差(ms) = " (A_TickCount - StartTime) / Count - Delay ; 9.2ms

; --- APIのSleep ---
StartTime := A_TickCount
Loop %Count%
DllCall("Sleep", UInt, Delay)
MsgBox % "誤差(ms) = " (A_TickCount - StartTime) / Count - Delay ; -0.16ms


※10ms以下の短いSleepが必要ならこれ
https://autohotkey.com/docs/commands/Sleep.htm#Examples

827 :名無しさん@お腹いっぱい。 :2019/03/16(土) 03:43:59.48 ID:zmDGDoiB0.net
>>826
ありがとうございます!

828 :名無しさん@お腹いっぱい。 :2019/03/17(日) 00:31:19.11 ID:PzFP5jHx0.net
gdriveのコマンドラインからの操作ってautohotkeyからでもできるのかな

829 :名無しさん@お腹いっぱい。 :2019/03/17(日) 07:47:18.85 ID:yQ9Iq/3v0.net
OnClipboardChange("ClipChanged")として、クリップボードが変化したら
ClipChanged()という関数を呼び出すようにしました
で、このClipChangedの中で、Clipboardに値を代入したいのですが、そうすると、そこでまた
ClipChanged()が呼び出されてしまいます
呼び出されないようにする方法ってありませんか

830 :名無しさん@お腹いっぱい。 :2019/03/17(日) 10:21:21.23 ID:Y4jFFXT70.net
>>829
関数抜ける前にSleep入れる うちだと30くらい

831 :名無しさん@お腹いっぱい。 :2019/03/17(日) 10:23:00.67 ID:yQ9Iq/3v0.net
>>830
ちょっと驚きました。そういう対処で出来るのですか
やってみます

832 :名無しさん@お腹いっぱい。 :2019/03/17(日) 18:07:06.72 ID:1pxNjMPy0.net
>>831
遅延無く確実に止めたいなら一旦停止させればいい

OnClipboardChange("ClipChanged")

ClipChanged() {
OnClipboardChange("ClipChanged", 0)
Clipboard := "hoge"
OnClipboardChange("ClipChanged", 1)
}

833 :名無しさん@お腹いっぱい。 :2019/03/17(日) 21:16:25.60 ID:Is1zibCb0.net
>>832
一旦停止出来るのですね。ありがとうございました

834 :名無しさん@お腹いっぱい。 :2019/03/18(月) 17:28:54.27 ID:n8uSvXmY0.net
^vでクリップボードの中身を貼り付けたあと、その右でなく左にカーソルが来てほしいのですけど
( 貼り付け文字列| でなくて |貼り付け文字列 となってほしい)

{Enter}^v{Up}{Delete}
ってやる以外にもっといい方法ないですかね…

835 :名無しさん@お腹いっぱい。 :2019/03/20(水) 00:48:52.89 ID:O8v9in+G0.net
Wikiにあったサクラエディタのiniファイル
http://ahkwiki.net/Sakura
をサクラエディタにインポートしようとしたら「不正な形式です」と言われて失敗するんですけど
なんでですかね…

836 :名無しさん@お腹いっぱい。 :2019/03/20(水) 23:14:06.69 ID:cVGAielV0.net
>>834
A_CaretXYを取得しておいてClick…

837 :名無しさん@お腹いっぱい。 :2019/03/21(木) 07:56:12.33 ID:5EN2aNq80.net
今までずっとwindowsでAHK使ってきたんですけど、この度macに乗り換える事になったのですが、マック使ってる方はAHKの代替として何使ってますか?

838 :名無しさん@お腹いっぱい。 :2019/03/21(木) 08:27:47.09 ID:YwAbBYS8r.net
そういう人は仮想環境でWindows動かしてるんじゃない?

839 :名無しさん@お腹いっぱい。 :2019/03/21(木) 08:46:12.12 ID:/2p+YB1W0.net
>>837
ググるかマックスレで聞いてみれば
それであまり出てこなければ、今後何かあって誰かに聞きたいことがあっても聞くことも出来ず、トラブルを解決できないよ

840 :名無しさん@お腹いっぱい。 :2019/03/21(木) 09:33:10.42 ID:W9r+4rA80.net
macの場合unixベースでのコマンドライン環境は整ってるだろうし
GUI上での効率化にはさほど重きを置いてなさそうなイメージあるな
実際はどうだかわからんけど

841 :名無しさん@お腹いっぱい。 :2019/03/21(木) 14:54:02.88 ID:CD5POuwD0.net
それWinだってPSあればAHKいらないねって言ってるのと同じようなものでは

842 :名無しさん@お腹いっぱい。 :2019/03/21(木) 15:06:01.72 ID:W6QJct900.net
カラビナ〜とかってやつを使うんじゃない?

843 :名無しさん@お腹いっぱい。 :2019/03/21(木) 15:27:29.41 ID:3jzLpwy10.net
keyhacはmacでも使えるよ

844 :名無しさん@お腹いっぱい。 :2019/03/21(木) 16:55:39.19 ID:W9r+4rA80.net
>>841
winの場合PSもcmdも正直使いやすいとは言えないからなあ

845 :名無しさん@お腹いっぱい。 :2019/03/22(金) 11:21:47.80 ID:vm+JVReM0.net
mac板池

846 :名無しさん@お腹いっぱい。 :2019/03/22(金) 14:18:13.09 ID:CzS1buBAa.net
KeyWaitがAppsKeyとLWin, RWinで動かないんだけど、おま環かな。
同じ方法でInsertやF1、CapsLockなんかは動いてくれてるのに。

AppsKey::
KeyWait, AppsKey, T0.3
If (ErrorLevel)
{
MsgBox
}
Else
{
Send, AppsKey
}
KeyWait, AppsKey
Return

LWin::
RWin::
KeyWait, %A_ThisHotKey%, T0.3
If (ErrorLevel)
{
MsgBox
}
Else
{
Send, {%A_ThisHotKey%}
}
KeyWait, %A_ThisHotKey%
Return

847 :名無しさん@お腹いっぱい。 :2019/03/22(金) 14:50:00.28 ID:AwIUcoeS0.net
>>846
イージーミスだな

Send, {AppsKey}

848 :名無しさん@お腹いっぱい。 :2019/03/22(金) 15:17:36.35 ID:CzS1buBAa.net
>>847
ごめんなさい、そこは俺の書き込みミスだった。
Send, {AppsKey}
にしててもダメで、いくら長押ししてもErrorLevelが1になってくれない。

849 :名無しさん@お腹いっぱい。 :2019/03/22(金) 15:41:26.13 ID:AwIUcoeS0.net
>>848
うちではそれで正常に動くのでおま環かな
長押しすればメッセージボックス開く
短く押せば元のキーの動作する

850 :名無しさん@お腹いっぱい。 :2019/03/22(金) 19:24:47.10 ID:bnUQZBeP0.net
室屋って今までいたか?

851 :名無しさん@お腹いっぱい。 :2019/03/22(金) 19:52:27.99 ID:ZntNu9BJ0.net
>>846
タイマーを利用した方法でどうぞ
Example #3
https://autohotkey.com/docs/commands/SetTimer.htm#Examples

852 :名無しさん@お腹いっぱい。 :2019/03/22(金) 20:37:55.39 ID:CzS1buBAa.net
>>851
ありがとう。けど、これって長押しじゃなくて連続押しのサンプルだよね。

AppsKeyの方は他のAppsKey & key::を全部殺したらKeyWaitが動いた。
他のホットキーで使ってるとダメってことか……。

853 :名無しさん@お腹いっぱい。 :2019/03/23(土) 00:35:36.76 ID:AYFl8FRa0.net
ahkは変数とか文字列の参照方法がキモ過ぎ。

Test_DebugMsg(msg) {
CoordMode, Mouse, Screen
If %DEBUGGING%
{
If msg !=
{
SplashTextOn,300,40, Debug, %msg%
}
}
}
---------------

Test_DebugMsg("あいうえお")

これで動いたけど何でif文の中でmsg が%なしで参照できるのか
何で空文字の比較が、こんな訳ワカメなシンタックスなのか
後文字列も
CallFunc("test")だったり、単に testだったりスゲーわかりにくい。
何考えて言語設計したんだろうね?

854 :名無しさん@お腹いっぱい。 :2019/03/23(土) 00:56:59.49 ID:i51tlT/m0.net
わざわざ非推奨の旧形式使っておいて何言ってんだ

855 :名無しさん@お腹いっぱい。 :2019/03/23(土) 05:36:10.65 ID:AYFl8FRa0.net
>>854
一昨日から触り始めたばっかりだ。
どこが非推奨なのかさっぱりわからんです。
マニュアルみたいなwikiみたいなやつに乗ってるから、そうしただけで・・・。
どうやって非推奨であることを探せばいいのでしょう?

856 :名無しさん@お腹いっぱい。 :2019/03/23(土) 06:44:07.50 ID:QMslRpCG0.net
>>855
確かに一部、首をかしげるところもあるが、いい言語だぞ
触り始めたばかりのド素人がそういうことをいうもんじゃない
お前、perlはやったことあるのか。あれにもちょっと似てるところがある。perlは俺は大好きな言語だ

857 :名無しさん@お腹いっぱい。 :2019/03/23(土) 06:49:47.19 ID:LVLk7hPf0.net
perl的というかshell script的だな
shell script的な言語はだいたい構文がキモくて場当たり的なんだよな
その分記述がお手軽なんだが最初は変数の参照、文字のエスケープ周りでつまずきまくる

858 :名無しさん@お腹いっぱい。 :2019/03/23(土) 06:54:21.07 ID:QMslRpCG0.net
>>857
単に慣れてないだけじゃね w

859 :名無しさん@お腹いっぱい。 :2019/03/23(土) 08:10:49.14 ID:7pE/tj2B0.net
> If msg !=
> 何でif文の中でmsg が%なしで参照できるのか

( )のつかないif文は比較演算子の左辺に来るか右辺に来るかで
変数扱いなのか直値扱いなのかが変わる
左辺は変数なので%%はつけたらだめ
http://ahkwiki.net/IfEqual

>854が言うように旧仕様で分かりにくいので
特にこだわりがないならif文に関しては( )付きの式を使ったほうがいい
http://ahkwiki.net/IfExpression

860 :名無しさん@お腹いっぱい。 :2019/03/23(土) 09:48:56.68 ID:i51tlT/m0.net
>>855
更新されなくなったマニュアルみたいなwikiみたいなやつではなく付属のヘルプを読みましょう

861 :名無しさん@お腹いっぱい。 :2019/03/23(土) 10:17:01.98 ID:AYFl8FRa0.net
>>857
>perl的というかshell script的だな

そう正にこれ。perlやってて意味不明なシンタックスに悩まされたのを思い出したよ。

>>859
>( )のつかないif文は比較演算子の左辺に来るか右辺に来るかで
>変数扱いなのか直値扱いなのかが変わる
>左辺は変数なので%%はつけたらだめ

そんな、カルトQみたいな言語仕様で分かるかよW
でも教えてくれてありがとう。多分知らずにIf ()見てたら絶対混乱したよ。

> 変数扱いなのか直値扱い

これに気を付けて、意識していれば大丈夫なのかな?

862 :名無しさん@お腹いっぱい。 :2019/03/23(土) 10:38:31.61 ID:7pE/tj2B0.net
確かにこの辺はリアルタイムで仕様の変遷を見てきた人間じゃないとわからんだろうな
ようはユーザー要望で建て増ししてきた結果
最初はBASICライクだったのが徐々にオブジェクト思考的になってって
新旧入り乱れてグチャグチャになったまま今に至る

今からはじめるならその辺整理した v2(アルファ版)のほうがいいかもね
つうても1.1が2に置き換わる未来もまだ見えないけど

863 :名無しさん@お腹いっぱい。 :2019/03/23(土) 10:41:39.46 ID:PxoVUC0e0.net
>>861
()の中は式、コマンドの中は直値、:=の後は式、=の後は直値って思っておけば基本何とかなる。
それと、直値も先頭に"% "を書けばその先は式扱いになるよ。
msg := 1 + 1
MsgBox, %msg%
MsgBox, % 1 + 1
どっちも2が表示される。

864 :名無しさん@お腹いっぱい。 :2019/03/23(土) 10:47:31.33 ID:PxoVUC0e0.net
>>863
あと自分の中でルール決めといた方がいい。If関係は必ず()でくくって式にする、ブロックは必ず{}でくくる。
代入は必ず:=を使って=は使わない、とかね。

865 :名無しさん@お腹いっぱい。 :2019/03/23(土) 10:47:37.92 ID:AYFl8FRa0.net
>>863
最後がキモすぎw
謎の呪文にしか見えん。ひょっとして、
"% " <- パーセントの後はスペースが重要とか!?

866 :名無しさん@お腹いっぱい。 :2019/03/23(土) 11:53:25.14 ID:rQNsNz/vr.net
慣れだよね
if文は必ず
if (msg != "")
みたいに書く事にしてる
Stringコマンド系ではoutput,inputvarは%%で囲わない
あとはLoop,Parseのinputvarもか

タイトルバーに.ahk が含まれるとき
:*Z?:if89::if ()
:*Z?:regm::RegExMatchk(, "", $){Left 8}
:*Z?:regr::RegExReplace(, "", "", ""){Left 13}
よく使う定型文はこんな感じでホットストリングでまとめてる

867 :名無しさん@お腹いっぱい。 :2019/03/23(土) 12:27:00.63 ID:rQNsNz/vr.net
RegExMatchkてなんだk混じったスマソ
RegExMatchだた

868 :名無しさん@お腹いっぱい。 :2019/03/27(水) 01:42:01.98 ID:Iw36cCT10.net
文字キーだけキーリピートを防止(無効化)する方法ってありません?

文字入力を遅らせる(DownでなくUp時に文字が送信される)って方法は思い浮かぶものの
文字入力を遅らせることなく、純粋にキーリピートだけさせなくする方法がわからず…

869 :名無しさん@お腹いっぱい。 :2019/03/27(水) 02:02:20.72 ID:/mxbyJYP0.net
>>868
a::
Send,{a down}
KeyWait, a
Send,{a up}
Return

b::
Send,{b down}
KeyWait, b
Send,{b up}
Return
〜以下略

面倒だけど文字キー全部登録すればキーリピートしない
もっとスマートな方法あるかもね

870 :868 :2019/03/27(水) 04:05:16.44 ID:Iw36cCT10.net
>>869
ありがとうございます
UpしてないうちにUpってしちゃって問題ないのか気になるのと(たまに挙動が変になるソフトあったような)、
Upだけで独立して設定してるキーがいくつかあるのでこの方法は合わなさそうですね…

871 :名無しさん@お腹いっぱい。 :2019/03/27(水) 04:59:10.86 ID:ytVG4L1f0.net
>>870
実際に試したか?
KeyWait入ってるから「UpしてないうちにUpってしちゃって」なんてことは無いぞ
普通にキー押したらdown、キー離したらUpでリピートはしないだけ
試しもせずに合わないとか言ってるならもう二度と質問するな

872 :868 :2019/03/27(水) 06:44:51.24 ID:Iw36cCT10.net
>>871
あっ…………KeyWaitしてるんだから待機されてて直後のSendは実行されるわけないですよね…………
一読しただけで、なんか「KeyWaitしたあとすぐそのキーを強制的にUpして解除することでキーリピートを防ぐ的なHack」的なものだと思い込んでました…………
穴にこもります…………

873 :名無しさん@お腹いっぱい。 :2019/03/27(水) 16:14:54.79 ID:zt4bzZsxr.net
>>868
#HotkeyIntervalと
#MaxHotkeysPerInterval
で済むとかそういう話ではない?

874 :名無しさん@お腹いっぱい。 :2019/03/27(水) 19:20:03.11 ID:XPSJXypX0.net
>>869
フック忘れてる
$a::

875 :名無しさん@お腹いっぱい。 :2019/03/28(木) 00:30:16.89 ID:RLY0C+Oa0.net
お尋ねします。
以下の組み込み変数はありますか?。
C:\Users\ユーザー名\AppData\Local

876 :名無しさん@お腹いっぱい。 :2019/03/28(木) 01:00:15.72 ID:VP8ZYpip0.net
ここさがして無いなら無い
https://autohotkey.com/docs/Variables.htm#BuiltIn

環境変数から引っ張てくることはできるから
EnvGet,LOCALAPPDATA,LOCALAPPDATA したらいいんでね

877 :名無しさん@お腹いっぱい。 :2019/03/28(木) 11:02:32.92 ID:ceDg/aqd0.net
以下のような事ってどう記述すればよいのでしょう

w → Shift + w
※wを押し続けている間、その状態(Shiftとwの同時押し)を保持したい

B + W → 8
B + E → 9
※ Bを押している間に別のキー(W)を押した場合、単独で押した場合と違う定義(8)を出力したい
B単独での押下時はwやb同様に別のキーを登録できれば理想ですが、無効でも構いません。

878 :名無しさん@お腹いっぱい。 :2019/03/28(木) 11:19:00.91 ID:VP8ZYpip0.net
>w → Shift + w
リマップもしくはkeywait>869
http://ahkwiki.net/Remap

>B + W → 8
コンビネーションキーもしくはgetkeystate
http://ahkwiki.net/Hotkeys#.E3.82.B3.E3.83.B3.E3.83.93.E3.83.8D.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.82.AD.E3.83.BC
http://ahkwiki.net/GetKeyState-

879 :名無しさん@お腹いっぱい。 :2019/03/28(木) 11:29:44.90 ID:ceDg/aqd0.net
>>878
ありがとうございます。
KeyWaitの方は単独で動作確認できました。
コンビネーションキーもしくはgetkeystateの方、これから調べてみます、どうもでした。

880 :名無しさん@お腹いっぱい。 :2019/03/28(木) 12:19:17.53 ID:RLY0C+Oa0.net
>EnvGet,LOCALAPPDATA,LOCALAPPDATA したらいいんでね

>>876
これは素晴らしい、ありがとうございました!。

881 :868 :2019/03/29(金) 13:21:17.49 ID:1pIbiSZS0NIKU.net
>>869さんの方法で完璧にキーリピートしないようになりました
$a::
$a Up::
みたいに分ける必要なくキーアップ時の動作を書けますし良いですね

……ところが、「asahi」「akari」など折り返して3文字以上を打つときにロールオーバーしてると(前のキーから指が離れきってないと)
「ashi」「akri」のように、折り返し2回目となる文字が出力されず飛ばされてしまうようです
1キーずつしっかり指を離していればそうはならないんですけど
ここだけどうしたものか…


>>873
https://sites.google.com/site/autohotkeyjp/reference/commands/-MaxHotkeysPerInterval
> #MaxHotkeysPerInterval 70位にしておけば、コントロールパネルのキーボード設定で 表示の間隔を最速にしていても問題ないはずである。
って感じですか、やってみます!

882 :名無しさん@お腹いっぱい。 :2019/03/31(日) 23:53:41.65 ID:Um1qMTue0.net
;BackSpace+Delで全消し(Ctrl+A→Del)
{Backspace} & {Delete} :: Send,^a
Send,{Backspace}
return

どこに問題があるのでしょうか?(初心者です)

883 :名無しさん@お腹いっぱい。 :2019/03/31(日) 23:59:17.07 ID:Um1qMTue0.net
Shift+キーボードの0でIME設定に依存せず
(全角モードなら全角のカッコが入力されるようなIME設定だとしても)
半角の()を入力し、カーソルをカッコの間に移動させたいのですが、
動作完了後、日本語入力モード時には日本語モードに、
英語モードなら動作完了後に英語モードにしたいです。

^vkF2::Send, {vkF2}{vkF3}

は別で用意していますからこちらのホットキーを組み込んでいただいて構いません。

884 :名無しさん@お腹いっぱい。 :2019/04/01(月) 00:00:49.90 ID:SHVZOtin0USO.net
>>882
2行以上のコマンドは :: の後改行しましょう
:: の後に続けて書く場合は1行のみのコマンド

885 :名無しさん@お腹いっぱい。 :2019/04/01(月) 00:07:15.29 ID:SHVZOtin0USO.net
>>882
あと :: の前のBackspaceやDelに {} は不要

886 :名無しさん@お腹いっぱい。 :2019/04/01(月) 00:10:24.93 ID:IB03RE8+0USO.net
ホットキーラベル名には{}が要らないのと複数行続く場合は改行が要る(多分)
Backspace & Delete::
Send,^a
Send,{Backspace}
return

あと&を使うと前者のキー(Backspace)を修飾キーとして扱うようになるので別途
Backspace::Send,{Backspace}
というのも記述しないとBackspace自体の機能が失われる
ctrl+Bsとかshift+Bsとかも使うなら全部書かないといけないから単体でよく使うキーはコンビネーションキーにしないほうが無難

887 :名無しさん@お腹いっぱい。 :2019/04/01(月) 00:33:29.72 ID:SHVZOtin0USO.net
>>883
IMEをあれこれするよりもクリップボードに半角の () を格納してそれをペーストした方が簡単

Clipboard =()

888 :名無しさん@お腹いっぱい。 :2019/04/01(月) 08:07:41.70 ID:GH//97jwrUSO.net
>>883
俺は数字キーは基本テンキー使う&IME設定で数字と記号は常に半角なんで
参考にならんかもだけど
:ZC?:89::
Send, % GetKeyState("Numpad9", "P") ? "89" : "(){Left}"
return ;1行コマンドでは動作しない

でなきゃControl,EditPasteで半角()挿入して{Left}するとか

889 :名無しさん@お腹いっぱい。 :2019/04/01(月) 09:23:36.20 ID:DLx25xCo0USO.net
ほんなら自分は>883の希望通りのスタンダードな解を
>7のIme.ahkでIMEの状態取得とON/OFFができるので
Send,(){left} の前後に入れりゃ一時的にOFFにして後で元に戻せるよ

890 :名無しさん@お腹いっぱい。 :2019/04/01(月) 16:23:57.20 ID:rKdTTOLH0.net
>>883です。

皆さんありがとうございます。クリップボードの案は考えていたのですが、
クリップボードを更新したらツールチップを表示するように設定しており、
カッコを入力するたびにそれが表示されることを避けたくあのような形にしておりました。

; コピーしたらツールチップを表示
OnClipboardChange:
ToolTip コピーしました。
SetTimer, RemoveToolTip, 100
return

RemoveToolTip:
SetTimer, RemoveToolTip, Off
ToolTip
return

これですが、ここの条件分岐で特定のキーコンビネーションの場合
ツールチップ表示を無効化することはできますか?


追伸
>>888さん、テンキーの0出ない理由は、カッコと閉じカッコのキー配列の隣に
カッコ+閉じカッコがあるとわかりやすいからでして、
出先のゲストPCでの使用を考えておりますのでIME設定をイジりたくないというのもあるんです。

891 :名無しさん@お腹いっぱい。 :2019/04/01(月) 16:50:24.80 ID:2O8l6K5O0.net
>>890
OnClipboardChange: のあとGetKeyStateで0が押されてたら何もしない、0が押されてなければToolTip表示する
という風にすればShift+0で>>887のやり方してもToolTipは表示されずに済む

892 :名無しさん@お腹いっぱい。 :2019/04/01(月) 21:17:27.18 ID:BYuDk2yW0.net
今はスクリプトでClipboardを使う間だけOnClipboardを実行しないという書き方もできるよね。

893 :名無しさん@お腹いっぱい。 :2019/04/01(月) 21:59:24.37 ID:yuSqms7G0.net
>>890
https://qiita.com/catfist/items/cdb8300221b48667b155

894 :名無しさん@お腹いっぱい。 :2019/04/02(火) 05:36:25.25 ID:kLJlMJjs0.net
ホットストリングで何故か削除される文字が一文字or二文字なんですけど、原因ってわかりますか?
このコード以外全部削除してみても変わりませんでした

#Hotstring O C ?

@(記述) :*:--::= (入力) -- (実行後) = 問題なし
A(記述) :*:---::= (入力) --- (実行後) -= 完全に削除されない
B(記述) :*:btw::by the way (入力) btw (実行後) bby the way 完全に削除されない
C(記述) :*:aaaaa::bbbbb (入力) aaaaa (実行後) aaab 完全に削除されない上に記述も一文字
D(記述)
:*:kita-::
Clipboard = キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
Send,^v
Return

(入力) kita- (実行後) kitキタ━━━━━━(゚∀゚)━━━━━━ !!!!! 完全に削除されない

Version 1.1.29.01

895 :名無しさん@お腹いっぱい。 :2019/04/03(水) 07:45:59.52 ID:pmmlmruq0.net
ありがとうございます。試してみます。

ところでこちらのスクリプトですが、(MGLのスクリプトのためトリガー表記は省略)

;セカンドモニターOn/Off
Send,#p
Sleep 1000
Send,{Down}{Down}{Enter}

セカンドモニターで拡張表示/無効を切り替えたいのですが、
これはWin+Pでメニューが表示されるまで1秒位としてSleepしていますが、
この他の方法で読み込まれるまでウェイトする方法はありますか?
もしくは拡張/無効をコマンドから直接指定する方法があればその方が嬉しいです。

896 :名無しさん@お腹いっぱい。 :2019/04/03(水) 23:55:04.99 ID:zsfxQvoQ0.net
>>895
現状値をレジストリなどからよめれば直接指定でもトグル動作できるかもね

WinWait, プロジェクション オプション ahk_class DisplaySwitchUIWnd

Run, DisplaySwitch.exe /internal ;PC 画面のみ
Run, DisplaySwitch.exe /clone ;複製
Run, DisplaySwitch.exe /extend ;拡張
Run, DisplaySwitch.exe /external ;セカンド スクリーンのみ

897 :名無しさん@お腹いっぱい。 :2019/04/04(木) 12:15:16.56 ID:J5prp1ag00404.net
curr := GetCurrentWindow()
... ウィンドウ切り替えながらなにか処理する ...
SetCurrentWindow(curr)

ってどうやればいいんですか

898 :名無しさん@お腹いっぱい。 :2019/04/04(木) 18:38:06.31 ID:b+pbUqw000404.net
>>894
動くもの書かないとなにが間違っているのか誰も分からないし推理しかできない
スクリプトに問題が無ければ書き込み先が反応しきれて無いかもしれないので
入力方式や入力間隔を変更する

>>897
さきに謎の関数について解説どうぞ

899 :名無しさん@お腹いっぱい。 :2019/04/04(木) 20:45:27.12 ID:s4SJqDpEa0404.net
正規ソフト「AutoHotkey」を悪用した攻撃を確認
https://blog.trendmicro.co.jp/archives/19054

900 :名無しさん@お腹いっぱい。 :2019/04/04(木) 20:48:25.13 ID:jGB2NYmt00404.net
Excelってローカル実行ファイルの実行までできるんかい
まあどっちみちGoogleドキュメント使ってるからいいけど

901 :名無しさん@お腹いっぱい。 :2019/04/04(木) 20:56:35.76 ID:Aus3jS2v00404.net
脆弱性を利用してる訳では無いし、アウトバウンドが許可されていることを前提としたトロイだね

902 :名無しさん@お腹いっぱい。 :2019/04/04(木) 21:15:19.34 ID:b+pbUqw000404.net
Excelのマクロ、UACの両方を許可しないと駄目だから
何でもOK押す奴以外は被害出ないなw

903 :名無しさん@お腹いっぱい。 :2019/04/04(木) 22:06:41.87 ID:CTEDQe3f0.net
AutoHotkeyってすごいんだ?

904 :名無しさん@お腹いっぱい。 :2019/04/04(木) 22:34:26.00 ID:htcfbf5k0.net
ちょ
excel VBAからahkスクリプト呼び出す自作マクロめっちゃ活用してるし
余波でofficeアプデでexeやahk実行できなくされたら困るわ

905 :名無しさん@お腹いっぱい。 :2019/04/04(木) 22:37:39.75 ID:Z4IEvWJ+a.net
歪んだ記事だなぁ
と思ったらまたトレンドマイクロ(笑)か

906 :名無しさん@お腹いっぱい。 :2019/04/04(木) 22:46:10.25 ID:28hPaWehD.net
トレンドマイクロはnetcatもマルウェア扱いするからなぁ

907 :名無しさん@お腹いっぱい。 :2019/04/04(木) 23:23:15.41 ID:jGB2NYmt0.net
ていうかトレンドマイクロ自体がウイルスw

908 :名無しさん@お腹いっぱい。 :2019/04/04(木) 23:30:04.95 ID:htcfbf5k0.net
そういやappleからリジェクト食らったのトレンドマイクロだったっけか

909 :名無しさん@お腹いっぱい。 :2019/04/04(木) 23:44:17.21 ID:Sjr4vufl0.net
バッテリーうんぬん謳っておきながら個人情報収集してたことがバレてリジェクト

910 :名無しさん@お腹いっぱい。 :2019/04/05(金) 07:16:28.57 ID:/ocReVZk0.net
PC版のラインアプリを起動時に最小化するスクリプトが公開されていたのだが、

911 :名無しさん@お腹いっぱい。 :2019/04/05(金) 07:18:01.58 ID:/ocReVZk0.net
PC版のラインアプリを起動時に最小化するスクリプトが公開されていたのですが、ラインが更新されてから上手く動作しなくなりました。
どこに手を加えれば良いか、分かる方がいらっしゃいましたら教えてください。

ListLines, Off
#NoTrayIcon
SetBatchLines, -1
SetTitleMatchMode, 3
Run, %USERPROFILE%\AppData\Local\LINE\bin\LineLauncher.exe
Loop, 25600{
Sleep, 15
IfWinExist, LINE ahk_class Qt5QWindowIcon
{
WinClose, LINE ahk_class Qt5QWindowIcon
Break
}
}

912 :名無しさん@お腹いっぱい。 :2019/04/05(金) 14:04:12.13 ID:N5hiUbQd0.net
>>911
PC版のラインアプリ使ってないので未確認だけど
ソフト更新でWindow Titleが変わった可能性はある
とりあえずWindow SpyでTilte確認してみたら?

913 :名無しさん@お腹いっぱい。 :2019/04/05(金) 21:46:16.16 ID:HkeYWmDs0.net
WinClose, LINE ahk_class Qt5QWindowIcon

これ実行したらちゃんと最小化したよ
上の方のごちゃごちゃしたとこで判別するより、Ahkから実行も制御したほうが確実じゃない?

914 :名無しさん@お腹いっぱい。 :2019/04/05(金) 22:34:11.55 ID:iLOnLSiF0.net
WinWaitじゃダメなの?

915 :名無しさん@お腹いっぱい。 :2019/04/05(金) 23:51:59.01 ID:/ocReVZk0.net
>>911です。
レスをくださった皆様、ありがとうございます。

>>913さんのおっしゃるとおり、1行コマンドで最小化しますね。
別のアプリで、ラインの起動完了後に最小化を自動実行するような
方法も考えられますね。

公開されていたスクリプトは私が作ったものではないのでよく分からないのですが、
要はラインを起動して、起ち上がったところを待って最小化するという流れですよね。
確かにもっとシンプルにできそうな気もしますが、Auto Hot Keyについて私は詳しくないので、
どなたかに助けていただこうと書き込んだ次第です。

916 :名無しさん@お腹いっぱい。 :2019/04/06(土) 00:17:20.99 ID:Mi3BX5zj0.net
詳しくないから拾い物を丸投げで直してくれってのはこのスレ的にはNGだぞ
次があったら多少なりとも自力で調べてから来なさい

917 :名無しさん@お腹いっぱい。 :2019/04/06(土) 00:17:39.01 ID:H8flpso40.net
>>915
AHKスクリプトを理解するための手助けならするけど、その気が無いなら諦めて
ここはクレクレする場所じゃないので

918 :名無しさん@お腹いっぱい。 :2019/04/06(土) 05:31:19.70 ID:DSEOTDXK0.net
>>898
秀丸やメモ帳、2chブラウザなどでも動作は変わらないです
例えば、:*:---::=というコマンドをキーヒストリーで確認すると
どんな長さの置換後テキストでもBSは上げ下げ各二回しか入力されてないですね

:*:btw::
sleep,200
send,{BS}
send,by the way
return

これなら目的の結果は出るんですけどちゃんと動いているとは言い難いですね
自動削除の前にディレイを入れないと3段目のBSすら認識できないです
オプションでK200とかSEやSP入れてみたんですけど
何故かこのオプションは無視されますね エラーも出ないです

919 :名無しさん@お腹いっぱい。 :2019/04/06(土) 06:17:06.72 ID:zsfgWZD+0.net
>>916
>>917
すみません、大変失礼しました。そのようなルールがあることを知らなかったもので、以後気をつけます。
今回ヒントも頂けたので、自分なりに解決法を模索してみます。ありがとうございました。

920 :名無しさん@お腹いっぱい。 :2019/04/06(土) 12:40:24.52 ID:QPQId0nc0.net
>>918
問題の起こる最低限のコードを貼ってください
話はそれから

921 :名無しさん@お腹いっぱい。 :2019/04/06(土) 13:24:45.41 ID:QPQId0nc0.net
>>918
:SE K200 *:---::xxx
:SP K200 *:+++::xxx

デフォのInputはまとめて送る方式なので入力間隔意味なし
コレで問題起こるならB0追加して自前でSend

922 :名無しさん@お腹いっぱい。 :2019/04/06(土) 20:11:33.00 ID:DSEOTDXK0.net
>>921
すみませんお騒がせしました
チャタリングキャンセラーを入れていたのが原因でした
試行錯誤していくうちに同一キーが入力間隔が短いと認識されないことに気付いたので判明しました
近々HHKBを買う予定だったのでこれを機に買い換えようと思います

すみませんでした 色々アドバイスしていただきありがとうございます

923 :名無しさん@お腹いっぱい。 :2019/04/08(月) 14:49:39.47 ID:qB4OqtLG0.net
トレンドマイクロ、キー操作自動化ツール「AutoHotkey」を悪用した攻撃を確認・警告
https://forest.watch.impress.co.jp/docs/news/1178824.html

924 :名無しさん@お腹いっぱい。 :2019/04/08(月) 15:37:11.19 ID:JYRxqbmi0.net
>>923
>>899

925 :名無しさん@お腹いっぱい。 :2019/04/08(月) 15:47:44.72 ID:LzPhJWFJ0.net
窓の杜って話題が数日遅いよな
あれを情報ソースで貼るって情弱すぎ

926 :名無しさん@お腹いっぱい。 :2019/04/08(月) 17:07:02.03 ID:+xRa13c20.net
大学に置いてあるPCで、MGLは使えましたがAHKはエラー吐いて使えませんでした。
家のWin8.1で使っているものをコピーしましたが、OSの兼ね合いではないですよね?
セキュリティ上の問題でキーバインドに関わる領域へのアクセスは禁止されているとか?
かなり使い倒しているのでAHKなしではキツイのですが、何か、
AHKを起動する方法や代案はないでしょうか?

927 :名無しさん@お腹いっぱい。 :2019/04/08(月) 17:33:42.61 ID:P5Sy7UEn0.net
大学に聞けよ

928 :名無しさん@お腹いっぱい。 :2019/04/08(月) 17:47:12.29 ID:xlAMOVgb0.net
>>923
これって添付ファイルさえ開かなきゃ大丈夫なんだよな?
つか怪しい添付ファイルを普通に開くなっつw

929 :名無しさん@お腹いっぱい。 :2019/04/08(月) 19:39:48.05 ID:W/Zp/Yxh0.net
>>925
あんのじょう樽井秀人で草生える
あいつ遅いし間違いあるしとんでもないな

930 :名無しさん@お腹いっぱい。 :2019/04/08(月) 19:47:58.06 ID:+I30UC5M0.net
内部の人間かよ

931 :名無しさん@お腹いっぱい。 :2019/04/08(月) 21:49:27.31 ID:DcbmT0400.net
>>926
OSの兼ね合いもあり得るし
bit数の兼ね合いもあり得るし
権限の兼ね合いもあり得るし
AHKバージョンの兼ね合いもあり得るし
コードの書き方で下位互換取れなくなることもあるのでそれだけの情報では何とも
大学のPCのOSバージョンわからんがwin10ではAdmin権限でUAC切ってても
できないことは増えてるよ

MGLが起動できるならAutohotkey*.exeでブロックされてるだけかも知れんがな
>899が発表された後だし

932 :名無しさん@お腹いっぱい。 :2019/04/08(月) 21:53:55.86 ID:Ybo7mrUl0.net
a >= b
と書くべきところを
a => b
と書いてしまいました
すると、エラーにはならずに通るのですよ
これ、どういう処理をしてるのでしょうか

たとえば、
if( a => b )

933 :名無しさん@お腹いっぱい。 :2019/04/08(月) 22:52:52.97 ID:dtEOa8yO0.net
>=と=>は同じ意味だから平気

934 :名無しさん@お腹いっぱい。 :2019/04/08(月) 23:24:34.06 ID:JYN8cO/g0.net
>>932
>>933
(a = 空 > b)
式として成り立たないので空

MsgBox % (1 = ) ; 空
MsgBox % (1 = 1) ; 1
MsgBox % (1 = 0) ; 0

935 :名無しさん@お腹いっぱい。 :2019/04/09(火) 07:32:24.04 ID:kB8+leot0.net
>>933
嘘つくな

a => b はちゃんとした答えを出さないよ

936 :名無しさん@お腹いっぱい。 :2019/04/10(水) 01:28:44.14 ID:lHjLlmt60.net
ちなみにほとんど使ってる人いないだろうけどAutoHotkey v2だと
a => b は a <= b と明確に違う。
https://lexikos.github.io/v2/docs/Variables.htm

使用例はこんなのとか。
https://lexikos.github.io/v2/docs/commands/ToolTip.htm

937 :名無しさん@お腹いっぱい。 :2019/04/10(水) 06:48:21.15 ID:g8rQCpt50.net
>>936
ありがとう。 こんな使い方するんだねえ

double := a => a * 2

938 :名無しさん@お腹いっぱい。 :2019/04/10(水) 06:51:27.44 ID:g8rQCpt50.net
しかし、if()の中とか条件分岐のところでは、
=> はエラー判断してほしいよ。 わかってはいるが、つい間違えることもあるからなあ

939 :名無しさん@お腹いっぱい。 :2019/04/10(水) 08:24:21.96 ID:lfZf6WY20.net
ES6 JSで受け入れられているから、arrow functionは普及すると思う。v2...
=>をsyntax highlightしておけばいいじゃない

940 :名無しさん@お腹いっぱい。 :2019/04/10(水) 08:44:45.01 ID:9EnZGzOa0.net
Q. AHKウンコすぎね?

A. 黙ってウンコ食え

これテンプレに入れといてくれ

941 :名無しさん@お腹いっぱい。 :2019/04/11(木) 21:51:31.79 ID:shJNY/6t0.net
下記で、
m を押すと、マウスがZ字状に5回動き、sを押すと、5秒間経ってからDoneと表示されます

これで、mを押してマウスが動いている間にsを押すと、マウスの動きが完全に止まって5秒間待ってDoneと
表示されてから、マウスの動きが再開されてZの動きが終わります

ここで、mを押してマウスが動いている間にsを押しても、マウスの動きと5秒間待ちを同時にすることは出来ませんか
マウスが動きながら5秒間経ってDoneを出す、としたいのですが

もともとは全く別のことをしたいのですが(複雑で説明出来ません)、簡単にしてこの問題にしました
もともとはsの動きをタイマーで定期的に入れているのですが、mの動きをしている最中にタイマーでsが入るとmの動きが一旦停止してしまうのです

m::
Loop, 5
{
MouseMove, 100, 100, slow
Sleep, 500
MouseMove, 500, 100, slow
Sleep, 500
MouseMove, 100, 500, slow
Sleep, 500
MouseMove, 500, 500, slow
Sleep, 500
}
return

s::
loop, 10
Sleep, 500
MsgBox,,,Done !, 1
return

942 :名無しさん@お腹いっぱい。 :2019/04/11(木) 22:56:01.03 ID:epm/mph80.net
mとsを両方とも別々のタイマーで動かしたら?

sのほうは単純に500msタイマーでカウンタ10で-1ずつして0になったらDoneしてタイマー終了
mのほうはMouseMove一回したらすぐ抜ける500msタイマーで
何回目のMouseMoveかはインデックス変数で+1づつしてってifで分岐
それをループカウンタで5回実行したらタイマー終了

943 :名無しさん@お腹いっぱい。 :2019/04/11(木) 22:59:07.55 ID:jmthjTyC0.net
>>941
スクリプトファイルを二つに分けてそれぞれ実行
または#Includeで複数のスクリプトを同時に読み込む

944 :名無しさん@お腹いっぱい。 :2019/04/12(金) 06:41:50.47 ID:0wXDrWI60.net
>>943
#Includeってのは、単にファイルの途中で別ファイルを読み込んでいるだけで全体では1つのファイル、
1つのスクリプトと同じじゃないの?

945 :943 :2019/04/12(金) 13:44:19.42 ID:01hZtQQy0.net
ごめん#Includeはダメでした
2つそれぞれ実行なら同時に行ける

946 :名無しさん@お腹いっぱい。 :2019/04/12(金) 16:41:11.44 ID:sk583VTH0.net
並列処理は対応してないからなぁ

947 :名無しさん@お腹いっぱい。 :2019/04/12(金) 18:30:01.84 ID:LpUTYcTq0.net
>>941
一番簡単なのは「#SingleInstance Off」を使ってそれぞれ別々のスクリプトで動かすかな
で、AHKはマルチスレッド不可、キー割り込みは可能ってことで自分で処理をシリアライズして並列処理っぽくするしかないということで・・・
マウスを移動する処理とメッセージを処理するルーチンに処理の実施を確認するフラグと稼働時間を確認する処理を付ける
loop
{if(mflag=1)
 {if(mtime=500)
  {MouseMove
   mflag=0
  }
  if(sflag=1){stime+=1}
  mtime+=1
  sleep1
 }
 if(sflag=1)
 {if(stime=5000)
  {MsgBox
   sflag=0
  }
  if(mflag=1){mtime+=1}
  stime+=1
  sleep1
 }
}
キー割り込みでは機能を動作させるフラグをONにする処理とタイマーを初期化する処理を入れる
m::
mflag=1
mtime=0
s::
sflag=1
stime=0
これだけじゃうまくいかないので色々足さないといけないけど考え方だけということで(改行起こられるので読みにくいです)

948 :名無しさん@お腹いっぱい。 :2019/04/12(金) 18:33:44.35 ID:eSD6/P200.net
s押したときに5秒後ワンタイムのタイマーをセットすればいいだけでは

949 :名無しさん@お腹いっぱい。 :2019/04/13(土) 20:25:39.71 ID:chdD1ygZ0.net
便利やね

950 :名無しさん@お腹いっぱい。 :2019/04/13(土) 20:58:46.21 ID:7yOwuXDN0.net
なあ、AHK Studioってどうよ。

http://www.maestrith.com/ahk-studio/
https://neokixblog.wordpress.com/2018/11/22/autohotkey-%E5%85%A5%E9%96%80-%E5%AD%A6%E7%BF%92%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-29%E3%80%80%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%83%BC%E3%82%92ahk-studio%E3%81%B8%E3%81%AE%E7%A7%BB%E8%A1%8C/

使ってみて、IDEとしては微妙だけど、
単にエディタとしてならアリかなとおもったんだが。

951 :名無しさん@お腹いっぱい。 :2019/04/13(土) 21:12:40.64 ID:SFCAHVL60.net
適当なエディタにシンタックスハイライトあれば十分と思う。自分はSciTEで事足りてる
まぁ健忘症だったりダラダラと長いコーディングするならIDEもアリかもしれないけどAHKで殆どそんな事しないし・・って感じ

952 :名無しさん@お腹いっぱい。 :2019/04/13(土) 21:19:39.89 ID:BNGM7AbB0.net
>>950
コンパイルとかは出来るの?

953 :名無しさん@お腹いっぱい。 :2019/04/13(土) 21:29:40.67 ID:BNGM7AbB0.net
エディタはSciTEしかないと思っていたが、前ここのスレで、秀丸エディタでも問題ないと言われて
やってみたんだが、めちゃ使いにくくて、やっぱりSciTEに戻した

954 :名無しさん@お腹いっぱい。 :2019/04/13(土) 21:35:41.35 ID:7yOwuXDN0.net
>>952
Fileメニューの Compileを選択したらできた。
いまDebugのテスト中。

ToolメニューのDebug-Auto Variable Browser を有効にしたら、
ステップ実行と変数のウオッチができた。これは中々使えそう。

未だブレークポイントの設定ができないので、次はこれが課題でつね。

955 :950 :2019/04/13(土) 21:42:34.77 ID:7yOwuXDN0.net
Ahk Studio続報

ソースの所定の行にカーソルを設定し、
ToolメニューのDebug の
Focus Studio on Debug breakpointを選択して、Run したら
無事にブレークポイントで止まった。

これは・・・(・∀・)イイ!!
この週末に使い倒して、Qiitaにでも書くかな、と。

956 :名無しさん@お腹いっぱい。 :2019/04/13(土) 22:09:11.24 ID:7qZpaNoj0.net
>>953
秀丸はご新規さんには使いにくいと思う
Windows3.0時代からのユーザーにあわせてインターフェイス作ってるから
改築と建て増しでやってきてる複雑極まりない旅館みたいな感じになってる

957 :名無しさん@お腹いっぱい。 :2019/04/13(土) 23:04:40.36 ID:OjpCdfeY0.net
IDEない時代からコツコツ強調表示や単語補完やアウトラインを育ててきた身としては
なかなか乗り換えらんないんだけど
今から選ぶなら汎用エディタでもVSCODEやAtomのほうが充実してるしね

958 :名無しさん@お腹いっぱい。 :2019/04/13(土) 23:10:52.24 ID:K1JUo9vY0.net
フォーラムにあったnotepad++のシンタックスハイライトとか補完するプラグイン使ってた

959 :名無しさん@お腹いっぱい。 :2019/04/14(日) 03:36:26.78 ID:fH0H3zDc0.net
SciTEはいまいち使いこなせず結局秀丸を使ってる

960 :名無しさん@お腹いっぱい。 :2019/04/14(日) 07:25:00.41 ID:PQvQm40n0.net
>>954
マジか

AHK Studio 使ってみようかな

961 :名無しさん@お腹いっぱい。 :2019/04/14(日) 07:28:00.08 ID:PQvQm40n0.net
SciTEの唯一の不満は、カーソルをラベル名のところにおいてF12を押したら
ラベル: のラベルの内容のところに飛ぶはずなのが、ずれて違うところに飛ぶところ

これってバグなのかなんなのか。 これって直せない?

962 :名無しさん@お腹いっぱい。 :2019/04/14(日) 09:11:27.14 ID:PQvQm40n0.net
AHK Studio
使ってみた。

まず日本語入力が出来んなあ。 でもEnterの代わりにいろいろやってみて、Ctrl+矢印(いろいろ)でなんとか出来た
速く日本語対応してほしい
そして背景色、文字色も変えたいな。 どこかにあるんだろう

963 :名無しさん@お腹いっぱい。 :2019/04/14(日) 09:18:25.09 ID:PQvQm40n0.net
AHK Studio
残念。 使うのやめた
編集していて、途中編集前のままセーブせずに終わりたいのに、そのままAHK Studioを終了しても、クローズで
閉じても、編集したあとの状態でセーブして終わってしまう

これダメじゃん。 編集せずに終わることが出来ないみたい

964 :名無しさん@お腹いっぱい。 :2019/04/14(日) 09:37:54.08 ID:e65LHQp+0.net
そういや俺もそれで昔使うのやめたんだったな

965 :名無しさん@お腹いっぱい。 :2019/04/14(日) 09:54:26.06 ID:m2s9dE0qM.net
Sublimeにプラグイン入れてやるのが結構使いやすいよ

966 :名無しさん@お腹いっぱい。 :2019/04/14(日) 15:36:35.80 ID:z2Djuaior.net
>>961
goto, ラベル名
みたいな所からラベル名:にジャンプ出来るってこと?
それ便利そうでいいな

俺は過去スレで教えてもらったVXEditorで慣れてしまった
正規表現検索、grep検索置換
行番号にマーキングしてPgUp/PgDnでジャンプ
マーカーは行番号変わっても付いてくるときとズレるときがあるけど
ツールバーにAhkアイコン置くことも出来る

967 :名無しさん@お腹いっぱい。 :2019/04/14(日) 15:45:07.24 ID:4MvwQPoj0.net
ちょっと教えておくれ。
ttps://www.youtube.com/watch?v=-F09kuk54wY

デバッグ環境が欲しいとおもい、このビデオを元に
Notepad++の Plugins フォルダに DBGpPlugin.dll を入れたんだが、
プラグインメニューに DBGp が表示されない。
誰か、Notepad++ で DBGp を使えている香具師は居る?

968 :名無しさん@お腹いっぱい。 :2019/04/14(日) 17:06:47.03 ID:PQvQm40n0.net
>>966
そう。 goto, ラベル名 とあったら、そのラベル名をダブルクリックしてラベル名を選択した状態で
F12を押すと、そのラベル: のところへジャンプする仕様がある、、、んだが、どうもバグっててそのちょっと上に
飛んで、ちゃんとラベル名: のところに行かないんだ。 ただ、必ずちょっと上に行くからすぐにわかるのはわかるんだが
でも、ここで再掲


SciTEの唯一の不満は、カーソルをラベル名のところにおいてF12を押したら
ラベル: のラベルの内容のところに飛ぶはずなのが、ずれて違うところに飛ぶところ

これってバグなのかなんなのか。 これって直せない? 直す方法知ってる人がいたら教えて

969 :967 :2019/04/14(日) 17:31:23.96 ID:4MvwQPoj0.net
967です。スマソ 自己解決しますた。

Notepad++ ver.7.5.8 ならば、
DbgpPlugin.dll と組み合わせて動作しますた。
ブレークポイント設定も、変数名のウオッチもできますた。

970 :967 :2019/04/14(日) 22:06:50.43 ID:4MvwQPoj0.net
Notepad++ と DBGp を使ったデバッグについて纏めました。
https://qiita.com/kenichiro_ayaki/items/29a60514ff63f666e26a

971 :名無しさん@お腹いっぱい。 :2019/04/15(月) 16:04:10.44 ID:4NEzXSdq0.net
>>970
Notepad++って編集しているとき、

WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]

みたいのって出るの?

972 :名無しさん@お腹いっぱい。 :2019/04/16(火) 10:24:43.20 ID:U20d2LlE0.net
エディタは何でもいいけど

test.ahkに

##!! msgbox test
msgbox,msgbox test

##!! log test
log("log test")

##!! tooltip test
...

とか書いておいて
カーソル位置の##!!で囲まれた部分を切り出して実行するエディタマクロ書いとくとめっちゃ便利だぞ

973 :名無しさん@お腹いっぱい。 :2019/04/16(火) 22:34:23.96 ID:Uekhzxc40.net
>>972
ん? わかんね。
##!! って書いたらエラーになるけど。 詳しく

974 :名無しさん@お腹いっぱい。 :2019/04/16(火) 22:55:02.77 ID:qasxXjXEr.net
>>972
俺は選択範囲を一時ファイル.ahkにFileAppendして終了後一時ファイル削除でやってる
それだと後でコメントアウトするの面倒くさくない?

975 :970 :2019/04/16(火) 23:17:46.78 ID:Vj9Tt84Y0.net
>>971
出ません。
単にシンタックスハイライト機能と、デバッグ機能があるだけ。

976 :名無しさん@お腹いっぱい。 :2019/04/17(水) 06:29:22.24 ID:aDWHZ+EL0.net
WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]

みたいなのが出るのって、

SciTE と AHK Studio

だけしかないのか

977 :名無しさん@お腹いっぱい。 :2019/04/17(水) 08:31:14.83 ID:EknWVjIf0.net
先頭コマンド補完で[ ]ごと丸々挿入するだけなら
VSVODEのahkプラグインでも秀丸の単語補完でもできるよ
パラメーターの文脈解釈 (,の位置に合わせて正しい候補を出す)のは無理だけど

978 :名無しさん@お腹いっぱい。 :2019/04/17(水) 08:40:46.06 ID:aDWHZ+EL0.net
>>977
秀丸は使ってみたけど出来ないでしょ
単語ベースの補完、候補出力なら出来るけど、構文の表示は出来ないと思うけど

979 :名無しさん@お腹いっぱい。 :2019/04/17(水) 10:02:10.85 ID:5y4mKmoO6.net
LWIN & LButton::
WinSet, Style, -0xC00000, A
return

でウィンドウのタイトルバー等を非表示にすることができることがわかったのですが
起動時から「自動的に」「全ての」ウィンドウに適用する方法がわかりません

よろしくお願いします

980 :名無しさん@お腹いっぱい。 :2019/04/17(水) 10:24:00.42 ID:EknWVjIf0.net
>>978
旧ahk(v1.0)に含まれてる Commands.txt を秀丸側の辞書ファイルに指定すればできるよ
Lで追加されたコマンドは未対応だけど

なお[ ]での全文構文は実用性なしとみなされたのかLのハイライト保守からは外された模様
https://github.com/ahkscript/AutoHotkey-Editors

981 :名無しさん@お腹いっぱい。 :2019/04/17(水) 10:57:22.60 ID:aDWHZ+EL0.net
>>980
だから、それを言っている。見てきたけどダメじゃない

982 :名無しさん@お腹いっぱい。 :2019/04/17(水) 11:16:46.36 ID:EknWVjIf0.net
>>981
辞書ファイルの種類を「行単位」にしてないとか?
https://i.imgur.com/GpUQxqL.png

文脈でわかると思うけど旧ahkのCommands.txtと >980のリンク先のCommands.txtとは中身違うよ
旧ahkのCommands.txtじゃないとダメ
逆に言えば旧ahkのCommands.txt使えば辞書参照型の補完備えてるエディタなら何でも行けるんじゃね


>>979
SetTimer + WinGet, List で
「定期的に」「全ての」ウィンドウをループで回して「個別に」適用

983 :名無しさん@お腹いっぱい。 :2019/04/17(水) 11:24:51.57 ID:aDWHZ+EL0.net
>>982
おお、わざわざありがとう。そのhttpの中の
Available files (for AutoHotkey 1.x) の中のCommands.txtをクリックして見たけど、
[] 内がなかったから
でもそのpngで出来ることがわかったよ

984 :名無しさん@お腹いっぱい。 :2019/04/17(水) 11:57:01.60 ID:aDWHZ+EL0.net
さっきは仕事しながら急いで見てたんだけど、今改めてみたら、
(for AutoHotkey 1.x)って古いバージョンって意味ではなかったんだな
Commands.txt
って2か所に上がってたからてっきりこれが古いバージョンだと思ったわ。なんだよ、ややこしいw

985 :名無しさん@お腹いっぱい。 :2019/04/17(水) 14:40:28.19 ID:JT27ONBy0.net
ホットストリングでエスケープシーケンスが必要なキーを二回打ったあとに文字入力して
変換したい場合は何か記述方法が異なるんでしょうか? 下の記述だと未実行になってしまいます

:*:`;`;a:aaaaa

反応なし

あと、何故かコロンだけ文字列の後に記述するとエラーが出て、
エスケープシーケンスが認識されていないようなのですが原因はわかりますでしょうか?

:*:b`:::bbbbb

エラー Line Text: ::*:b:::bbbbb
Error: Invalid hotkey.

986 :名無しさん@お腹いっぱい。 :2019/04/17(水) 18:11:10.05 ID:2csDdktp0.net
>>985
文字列の直接入力だからエスケープはいらないぞ
:*:;;a::aaaaa
:*:b:::bbbbb

987 :名無しさん@お腹いっぱい。 :2019/04/18(木) 06:47:36.61 ID:BEuBckcI0.net
>>986
ちゃんと実行できました
有難うございます!!

988 :名無しさん@お腹いっぱい。 :2019/04/19(金) 11:56:32.71 ID:ZbxvF3uP0.net
AutoGUI 2.5.6
一年ぶりの更新
俺にはこれが最高のエディタ
一度終了するとデザインモードが効かなくなるのが大きな問題ではあるけど

989 :名無しさん@お腹いっぱい。 :2019/04/19(金) 13:18:33.33 ID:GdaekvvE0.net
{LButton Up}{RButton Up}などを送信せずに、ただ単に「押された状態を解除」するだけってできませんか?
マウスジェスチャー機能を作ってみたものの、ブラウザで余計な右クリックメニューが現れたりしちゃうので…

990 :名無しさん@お腹いっぱい。 :2019/04/20(土) 12:44:37.98 ID:5RPvd5ly0.net
>>989
車輪の再開発してるのかな
MouseGestureL.ahkってソース公開されてなかったっけ?
あれがどう実装されてるか知らんけど、最初から乗っ取ってジェスチャ発動条件を満たさなかったら通常動作を送信で良くない?

991 :名無しさん@お腹いっぱい。 :2019/04/20(土) 12:49:58.14 ID:SHLakqKQ0.net
ふつーにセットタイマー

992 :名無しさん@お腹いっぱい。 :2019/04/20(土) 13:06:41.93 ID:mU2N0TJM0.net
>>989
俺だったら「押された状態を解除」する方法を探すよりも
「余計な右クリックメニュー」が出ない方法を見つける

993 :名無しさん@お腹いっぱい。 :2019/04/20(土) 15:23:22.49 ID:ApAKSKTb0.net
UPコマンド送る以外の手段でどうやって「押された状態を解除」するつもりなのかしらん

マウスジェスチャーは「押された状態を解除」してるのではなく
「押した状態をOSに認識させない」ようにしてるのだと思うけど

994 :名無しさん@お腹いっぱい。 :2019/04/20(土) 15:28:45.42 ID:SHLakqKQ0.net
GetkeyStateのPオプションでチェックしてU(仮想無視)が出てるのにGetkeystateではD(仮想)が出てるならSettimerで50m秒ごとにキーを上げる処理送ってUになったらSettimer止めればいい


すり抜け対策に使えるから覚えとくといいよ

995 :名無しさん@お腹いっぱい。 :2019/04/20(土) 17:07:07.17 ID:c5Fgtpzg0.net
>>994
横からですが、すり抜け対策とっても勉強になりました
ありがとうございます

996 :名無しさん@お腹いっぱい。 :2019/04/20(土) 18:55:44.69 ID:ZF3cqF3Y0.net
良いってことよ

997 :名無しさん@お腹いっぱい。 :2019/04/20(土) 23:39:14.43 ID:cTmLtZyf0.net
次スレが無かったので建てといた
連投規制食らったのでテンプレの続き誰かよろしく頼みます

AutoHotkey スレッド part27
https://egg.5ch.net/test/read.cgi/software/1555770773/

998 :名無しさん@お腹いっぱい。 :2019/04/21(日) 15:46:54.31 ID:M3X0BWV50.net


999 :名無しさん@お腹いっぱい。 :2019/04/21(日) 15:47:25.82 ID:M3X0BWV50.net


1000 :名無しさん@お腹いっぱい。 :2019/04/21(日) 15:47:44.69 ID:M3X0BWV50.net


1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
340 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★