X



AutoHotkey スレッド part27
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。 (ワッチョイ 3b70-YIQo)垢版2019/04/20(土) 23:32:53.28ID:cTmLtZyf0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

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

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

■日本語解説等
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)
0002名無しさん@お腹いっぱい。 (ワッチョイ b670-YIQo)垢版2019/04/20(土) 23:33:51.96ID:cTmLtZyf0
■重要事項
オリジナルである、旧 "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)
0003名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 00:01:56.16ID:jvh47c/h0
■過去スレ
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/
0004名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 00:02:41.14ID:jvh47c/h0
以下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を再起動する。
0005名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 00:03:14.16ID:jvh47c/h0
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のジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。
0006名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 00:03:53.53ID:jvh47c/h0
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, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている
0007名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 00:04:25.65ID:jvh47c/h0
■ 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
0008名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 01:36:47.15ID:jvh47c/h0
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} にする。
0009名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 01:37:17.74ID:jvh47c/h0
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」に変更。
0010名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 01:37:53.10ID:jvh47c/h0
■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/
0011名無しさん@お腹いっぱい。 (ワッチョイWW d9f1-j2m6)垢版2019/04/21(日) 01:38:28.96ID:jvh47c/h0
■派生版
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

※テンプレここまで
0012名無しさん@お腹いっぱい。 (ワッチョイ 0988-Ce13)垢版2019/04/21(日) 15:50:19.34ID:M3X0BWV50
下記のスクリプトを作りました
関数fffで、引数としてジャンプの飛び先ラベル名を入力してそこに飛んで行きたいのですが出来ません
出来る方法はありませんか
ラベルが関数内にあれば出来るようですが、関数外のラベル名に飛びたいのです

fff( "labelJ" )
return

fff( la )
{
MsgBox %la%
goto %la%
}

labelJ:
MsgBox Label J!
return

q::ExitApp, 0
0014名無しさん@お腹いっぱい。 (ワッチョイ 55be-ry3J)垢版2019/04/21(日) 16:05:53.19ID:jO7wRSRO0
>>12
Gosub
ttp://ahkwiki.net/Function#.E9.96.A2.E6.95.B0.E5.86.85.E3.81.8B.E3.82.89.E3.81.AEGosub.2FGoto.2FExit
0015名無しさん@お腹いっぱい。 (ワッチョイ 0988-Ce13)垢版2019/04/21(日) 16:09:53.75ID:M3X0BWV50
背景を説明すると、もともと、
fff( la )
{
loop, 100
{
処理
}
}
という関数があるのですが、処理に時間がかかってその間他の処理ができなくなるので、これを分けて、
fff( la )
{
static cnt = 0
labelStart:
{
処理
cnt := cnt+1
if( cnt > 100 )
{
goto %la%
return
}
SetTimer, labelStart, -50
return
return
}
として、途中で他の処理が割り込めるようにしようとしたのです。 そしてこの処理が終わった時にジャンプで
外に飛び出したいのです
0017989 (ワッチョイ 81b1-JAQW)垢版2019/04/21(日) 16:36:26.18ID:gr8NQEgj0
前スレ989です

$WheelDown::
Send, {WheelDown}

If( GetKeyState( "RButton", "P" ) ) {

Send, ^w
}
Return

$RButton::
Send, {RButton Down}
KeyWait RButton
Send, {RButton Up}
Return

で、「右ボタンを押しながらホイールダウンしたらブラウザのタブを閉じる」
というマウスジェスチャーを作ったのですが
このままだとタブを閉じたあとに{RButton Up}に反応して右クリックメニューが開かれてしまうのをどうにかしたいと思っています

RButton & WheelDown:: Send, ^w
とかだと右ボタンを離すまで{RButton Down}もされなくなるのが困るので別の方法を取りたいのですが…

MouseGesture.ahkのソースは読んでみましたがちょっと長くてすぐには把握できませんでした…
0022名無しさん@お腹いっぱい。 (ワッチョイ 55e5-v/Yv)垢版2019/04/22(月) 10:43:52.59ID:HbehiDV40
>>17
>右ボタンを離すまで{RButton Down}もされなくなるのが困る

ジェスチャを聞かせたいアプリ(ウィンドウ)とそうでないものを#IfWinActiveで分ける
前者の中の右ボタンを押しはGetKeyStateなりKeyWaitなりで監視して自分で面倒を見る
簡単にやりたいならこれくらいじゃないかね

MGLが難解すぎるというなら簡易マウスジェスチャのMoGe.ahkあたりを見てみたら?
dllcall()使いまくりなのでこれはこれで理解はしんどいが
コメントちゃんと書いてあるので具体的に何やってるかが分かりやすい
https://sites.google.com/site/agkh6mze/strage
0023名無しさん@お腹いっぱい。 (ワッチョイ a9b1-8I1V)垢版2019/04/22(月) 18:36:26.25ID:Cf6Byjh40
Firefoxを使ってるんですが、他のウィンドウでは効くのですが、Wordとタスクマネージャーのみで効きません。
タスクマネージャーはどうでもいいので、Wordで使えるように修正して下さい。

「ホイールクリックでウィンドウを閉じる」
~MButton up:: ;タイトルバーをホイールクリック = alt + F4
CoordMode,Mouse,Screen
MouseGetPos, x, y, h
SendMessage,0x84,0,% x|y<<16,,ahk_id %h%
WinGetClass, win_class, ahk_id %h%
;chromeが誤作動するのでchrome以外
If((ErrorLevel=2) && WinActive("ahk_id " . h) && (win_class!="Chrome_WidgetWin_1"))
{
Send,!{F4} ;alt + F4
}
return
0027名無しさん@お腹いっぱい。 (ワッチョイ a9b1-8I1V)垢版2019/04/22(月) 19:37:54.76ID:Cf6Byjh40
>>26
言われた通りにしたら、タスクマネージャーでは効くようになりましたけど、
やっぱりWordでは効かないですね。
0029名無しさん@お腹いっぱい。 (ワッチョイ 55e5-v/Yv)垢版2019/04/22(月) 23:23:40.11ID:HbehiDV40
うちだとOfficeもChromeも>23で取れてるけどなあ
win10 pro 1809 (ビルド17763.437) / Office365 / AHK 1.1.30.03 (管理者じゃない権限で実行)

けど自作関数見直したらoffice用にタイトルバー検出追加してあったんで
(今はその部分なくても動いてるけど)一応上げときます。
https://gist.github.com/eamatt
https://www6.atwiki.jp/eamat/pages/27.html
0031名無しさん@お腹いっぱい。 (JP 0H4d-3DfX)垢版2019/04/23(火) 11:07:32.28ID:F5d1wnL0H
無変換+カーソル移動を上下左右のホイール回転に割り当てることは可能ですか?
0035名無しさん@お腹いっぱい。 (ワッチョイ 2373-KxX0)垢版2019/04/26(金) 21:43:07.89ID:YRa+WZQz0
数週間前からWheelをからめたスクリプトが急に動かなくなったりするようになったんだけどみんなはそんなことない?
Xbutton1 & Wheel downで動かすスクリプトがあるんだけどこれが急に動かなくなったりする
そうなったらリロードしてスクリプトを読み直すしかない
Windows10のアップデートのせいかなとか思ったんだけど原因がわからず
0037名無しさん@お腹いっぱい。 (ワッチョイ 5d56-HJzg)垢版2019/04/26(金) 23:53:20.29ID:VcGv9X7K0
vk1Dsc07B:: ;無変換
Flag += 1 ;判定用に変数に加算していく
If Flag = 1
{
MsgBox,1回目
Return
}
If Flag = 2
{
MsgBox,2回目

Return
}
〜〜〜〜〜〜〜〜〜〜〜〜〜中略〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
MsgBox,4回目
Flag = ;変数を空にして1回目に戻る
Return

wikiのサンプルコードに、前回このキーを押してから、3秒以内にこのキーの入力がなければ
Flag=1に戻るコードを組み込みたいんですが、どうしたらいいですか?
※のところに下記コードを入れてみたんですけど何が間違っているんでしょうか?

KeyWait,{vk1Dsc07B},T3
If(ErrorLevel=1)
{
Flag =
}
else
{
}
return
0038名無しさん@お腹いっぱい。 (ワッチョイ 1bdf-KxX0)垢版2019/04/27(土) 02:54:37.85ID:7YPJPIal0
>>37
ツッコミどころ多いんだがとりあえず仮想キーの書き方は今のバージョンだと
vk1D か sc07B のどちらかにしないとwikiのサンプルコードのままではエラー出る
貼るならちゃんと動くコード貼ろうな

で本題の3秒以内に入力がなければって話だけど、最初のIf分岐の前に
SetTimer, Label, -3000
を入れてサブルーチンでFlagを空にすれば良いだけ
-3000は「3秒後に1回実行」の意味ね

これで3秒以内に無変換押せばFlagは2→3→4と増えて、3秒以内に押さなければ次に押した時は1に戻る
0041名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/27(土) 22:30:24.55ID:as/WLoHe0
autohotkey で、ファイルから読み取った16進文字列を
変数に格納するエレガントな方法はないでしょうか。

いまのコードは長すぎて・・・

StringLen _len, aStr
uc := 0
loop,%_len%
{
 StringMid, c, aStr, A_Index, 1
 _code := Asc(c)
 if _code in 48,49,50,51,52,53,54,55,56,57
 {
  uc := uc*16 + _code - Asc("0")
 } else if _code in 65,66,67,68,69,70
 {
  uc := uc*16 + _code - Asc("A") + 10
 } else {
  uc := uc*16 + _code - Asc("a") + 10
 }
}

aStr に入った16進文字列を数値に変換して 変数 uc に格納するコードです。
もっとエレガントな方がいい。
0043名無しさん@お腹いっぱい。 (ワッチョイWW 6511-PxI6)垢版2019/04/28(日) 02:49:42.39ID:hWAEyTOu0
見識のある方いれば…

GetKeyState関数で修飾キー(alt)を検知しようとするとアクティブウィンドウへの入力を食ってしまうようなのですが、なにか良い回避策無いでしょうか?

やりたいこととしては、同一ゲーム(ff14)を2画面起動して同時操作のために1つのキーボードから入力をそれぞれのゲームウィンドウに送りたいのです。
実装内容としては、while無限ループ内で修飾キー+英字キーで該当する組み合わせ(今試しているのだとAlt+j)をgetkeystateで検知してcontrolsendでアクティブでない方のウィンドウにjを送信しています。
困っているのは、このプログラムを起動するとアクティブウィンドウへが修飾キー+英字キーではなく単なる英字キーが入力された時のように挙動することです。(alt+jではなくただのjとして動く)非アクティブウィンドウのもう一つのアプリは意図した通りに動いております。

ちなみにalt+jをほぼ同タイミングで押すとちゃんとアクティブウィンドウがalt+jとして動作しました。結構タイミングはシビアですが。

どなたか思い当たることある方いましたらなんでも良いので教えて下さいm(_ _)m
0045名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/28(日) 09:38:37.03ID:RQlzQ/nr0
>>42 さん
ありがとうございました。16進数は4桁固定を想定なので、ちょっと追加

aStr := W0x0123W 
SetFormat, INTEGER, D 
dec := aStr + 0 
SetFormat, INTEGER, H
hex := dec + 0 
hex := W0000W . substr(hex,3)
StringRight,hex,hex,4
hex := W0xW . hex
msgbox,% WaStr=W aStr W`ndec=W dec W`nhex=W hex
0046名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/28(日) 09:41:18.54ID:RQlzQ/nr0
先の書き込みを確認される際には、例えば
Word に貼り付けて全選択したのち、
ホームリボンの「文字種の選択」から、半角をクリックしてください。

半角で投稿しようとしたら、5ch.net に「不正なコードを含む書き込み」として
ブロックされました。
0047名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/28(日) 09:47:34.77ID:RQlzQ/nr0
>>44
Format関数は、Integer値を16進文字列に変換するときに使えそうです。
ありがとうございました。

aVal := 291
sdec := aVal
shex := Format("0x{4:x}", aVal)
msgbox,% "aVal=" aVal "`sdec=" sdec "`shex=" shex
0048名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/28(日) 10:01:03.91ID:RQlzQ/nr0
>>43
自分はDllcall を使ってキー状態を調べています。多分、副作用はない筈。

vKey0 := 164 // 多分、左Alt
vKey1 := 165 // 多分、右Alt
stCurr := DllCall("GetKeyState", "UInt", vkey0) & 128
stCurr :=(DllCall("GetKeyState", "UInt", vkey1) & 128) | stCurr
0052名無しさん@お腹いっぱい。 (ワッチョイ b5b1-mEZ1)垢版2019/04/28(日) 18:17:38.17ID:nX/tX0040
>>51
今まで問題なかったモノが急に使えなくなったと言うことですか?
windows update以外に何か環境は変えましたか?

自分はwin8.1ですが、1年以上前、AHK使い始めた時からからずっとwheel絡めたスクリプトは全て急に動かなくなります。

スクリプト開始から5分後に使えなくなることもあれば数時間後に使えなくなることもある。

以前ここでこの症状について質問し、もらった回答全て試したり、違うメーカーのマウスとドライバに変えても駄目でした。

海外掲示板見てみても同じ症状の人がいて、色々対策書いてあったけど、効かない人には効かないみたい。

自分は諦めました。
0054名無しさん@お腹いっぱい。 (イルクン MM93-OQT6)垢版2019/04/28(日) 21:59:53.64ID:fWI8wbzJM
最近の話じゃないけど
リダイレクトホイールでホイールが急に遅延して
その間まったくスクロールが効かなくなることはよくあった
そのまましばらく放置してると忘れた頃にアクティブウィンドウがスクロールしまくる
最近はだいぶ頻度は下がった
0055名無しさん@お腹いっぱい。 (ワッチョイWW b5b1-PxI6)垢版2019/04/29(月) 04:37:49.10ID:QZTb/6eG0
>>48
うーん、ダメでした…
メインウィンドウをメモ帳とかにしても同じように修飾キーの入力が食われてしまうのでゲームの方の問題じゃないみたいですね…

osはwindows10ですがバージョンが悪さしてるのでしょうか
0056名無しさん@お腹いっぱい。 (ワッチョイ b5b1-BP9Y)垢版2019/04/29(月) 04:39:55.03ID:QZTb/6eG0
ちなみに今のコードはこんな感じです。

#InstallKeybdHook
#UseHook

SetKeyDelay,10,100
subPid = 22460
Loop
{
stCurr := DllCall("GetKeyState", "UInt", 164) & 128
stCurr2 := DllCall("GetKeyState", "UInt", 74) & 128
If stCurr && stCurr2
{
ControlSend, , j, ahk_pid %subPid%
}
}
0057名無しさん@お腹いっぱい。 (ワッチョイ 63f5-KxX0)垢版2019/04/29(月) 05:02:47.41ID:p8hzRzQr0
FF14とかネトゲでAHKみたいな外部ツールを使うのは不正行為
別に運営じゃないしFF14もやってないので不正をするなとは言わないけど
不正行為の「やり方」を恥ずかしげもなく人様に聞くのはみっともない
自分で考えて誰にもバレないように使え
それが出来なけりゃ潔く諦めろ
0063名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/29(月) 09:17:42.22ID:YyTDcGy20
>>55
Win32のGetKeyState関数は静的状態を取得するものなので、
変化を検知して出力する方がよいです。
Notepad.exe を非アクティブウインドウとして、
サクラエディタをアクティブウインドウとしたとき、"j"キーを両方に出力するサンプルです。

#InstallKeybdHook
#UseHook

SetKeyDelay,10,100
Loop
{
Sleep,16
stCurr2 := DllCall("GetKeyState", "UInt", 74) & 128 ; VK_J
If(stCurr2=128 && stLast2= 0)
{
ControlSend, , {j down}, ahk_class Notepad
} else If(stCurr2=0 && stLast2= 128)
{
ControlSend, , {j up}, ahk_class Notepad
}
stLast2 := stCurr2
}

現状、このソフトウェアを持っていないので再現できないのですが、
非アクティブウインドウに Alt-JをControlsend できるならば、
寧ろ、Alt + j をホットキー登録して、Autohotkeyにキーを喰わせたのち、
アクティブウインドウと非アクティブウインドウに Alt-J を Controlsend してはどうでしょうか。

その場合、ループ処理と、GetKeyState関数は不要となります。
0064名無しさん@お腹いっぱい。 (ワッチョイ 25e5-lypM)垢版2019/04/29(月) 10:37:23.86ID:kkLjthPU0
>>56
メイン秀丸 サブメモ帳でsubPidだけ変えて実行してみたが
アクティブウィンドウはちゃんとAlt+Jのショートカット動作したし
subPidの非アクティブウィンドウもちゃんと j が入力されたよ

つかFF14の2画面動作時の挙動は知らんけど
2ウィンドウで両方とも同じ挙動させたいのに非アクティブのほうに Alt 送らなくて大丈夫なの?

「アクティブのAltが食われてる」のではなく j しか送ってないsubPidのほうをメインだと思ってて
「非アクティブにAltが送られてない」状態を「食われてる」と勘違いしてたりしない?
0065名無しさん@お腹いっぱい。 (ニククエ 2327-MRXB)垢版2019/04/29(月) 13:49:17.48ID:Bj2ge2Bl0NIKU
Pictureコントロールで画像の比率を維持したまま固定の枠内に収める事ってできませんか?
比率を維持するには縦横どちらか片方だけを指定すればいいようなんですが
簡易のビューアのように縦長や横長のいろんな画像をそこに表示したいので
画像によってどちらを固定サイズにするか変わってきちゃうんです
その画像が縦長か横長なのかだけでも判断できれば行けそうなんですがAHKの機能だけでは無理なんでしょうか?
0066名無しさん@お腹いっぱい。 (ニククエ b5b1-BP9Y)垢版2019/04/29(月) 14:37:18.14ID:QZTb/6eG0NIKU
お二方共ありがとうございますm(__)m
ダメもとで書いてみましたがこんなに反応していただいて感謝感激です。

>>63
>>64
> 非アクティブウインドウに Alt-JをControlsend できるならば
> 非アクティブのほうに Alt 送らなくて大丈夫なの?
ControlSendでAlt送らなくてよいかという話ですが、自分の環境だとうまくいかなかった経緯があって抜いています。
ネットで同じようなQ&Aあって最終的には次の二通りの記述方法でやってみたのですがうまくいかずでした。
ControlSend, , ^v, ahk_pid %subPid%
ControlSend, , {ctrl down}{v}{ctrl up}, ahk_pid %subPid%
一応ゲームの方でキーバインドは変更できるので、サブの方は修飾キー使わない配置でもいいかなぁと思いメインにのみ修飾キーつける形にしてます。

> 寧ろ、Alt + j をホットキー登録して
たしかにそうですね…しかし↑のショートカットコマンドControlSendできない問題が解決しないとちょっと厳しいです。
もちろんメインの方も修飾キー使わないキーバインド配置にすれば可能なのですが、基本的にはメインの1画面だけでプレイしているのがほとんどなのでなるべくそういう時はautohotkeyを使いたくないのです。最終手段としては検討したいですが。

> アクティブウィンドウはちゃんとAlt+Jのショートカット動作したし
すみません書きそびれていましたが、タイミングによってはちゃんとアクティブウィンドウにAlt+jが送信されてました。
ですが確率でいうと成功するのは半分いかないくらいで、どんな時に成功するかの傾向もいまいち判断つきにくい状況です。
こころなしか>>48さんのコードを反映してから成功する確率は増した気がしますが…

> 「非アクティブにAltが送られてない」状態を「食われてる」と勘違いしてたりしない?
一応まったく別のキーの組み合わせでも試しているのでこちらは大丈夫だと思います。
0067名無しさん@お腹いっぱい。 (ワッチョイ 2373-KxX0)垢版2019/04/30(火) 01:28:07.47ID:K0TtcLI00
>>52
原因はよくわからない
5ちゃんみるのにJane つかってるんだけど
image viewerが立ち上がるときにマウスホイールのスクリプトがかなりの確率で動かなくなる
あとXbutton & Lbutton でうごくやつを用意してるけどこれもだめになる
0068名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/30(火) 14:09:40.67ID:w21JuZ030
autohotkey で exe ファイルを作ったとき、
タスクアイコンを右クリックしたときのメニューに
"Suspend hotkeys" と "Pause Script" が表示されないようにしたい。

どなたかご存知でしょうか。
0072名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)垢版2019/04/30(火) 17:04:55.31ID:w21JuZ030
>>71
ありがd、できますた。

Menu, Tray, NoStandard
Menu, Tray, Add, Exit, Menu_Exit
return

Menu_Exit:
exitapp

a::return
a up::return
0074名無しさん@お腹いっぱい。 (Hi!REIWA 6d05-mEZ1)垢版2019/05/01(水) 18:22:04.79ID:SieO+8nP00501
ピリオド〜ピリオドに囲まれた範囲を削除したいんですが、
アイデアってありますでしょうか?

英文を書いていて、一文削除したいんです。
カーソルの位置はその文の任意の場所にあります。
0078名無しさん@お腹いっぱい。 (Hi!REIWA 6d05-mEZ1)垢版2019/05/01(水) 20:17:10.20ID:SieO+8nP00501
>>75
1文の長さもバラバラですし、正規表現難しいですよね。
と言いますか、「特定範囲を選択」するコマンドがAHKにないような。^aだと範囲が広すぎるし。
ワンプッシュでサクっと消えてほしいんですけど。

>>76
やっぱりエディタのマクロですかね……。
0079名無しさん@お腹いっぱい。 (Hi!REIWA cbcf-7MPY)垢版2019/05/01(水) 20:20:21.68ID:a/vdThoT00501
テキスト編集に特化したエディタならそういうコマンドくらいデフォで入ってそうだけど
あるいはそういうプラグインがありそうな開発環境向けの高機能エディタ使うか
0080名無しさん@お腹いっぱい。 (Hi!REIWA Sr01-7Fq6)垢版2019/05/01(水) 21:06:04.46ID:VU2a+akWr0501
>78
>1文の長さもバラバラ
何のための正規表現だよw
ましてや英文なら一番簡単パターンだろ
最短マッチ
var := RegExReplace(var, "s`n),[\w\x20'\.\-]*?,", ",,")
最長マッチ
var := RegExReplace(var, "s`n),.+,", ",,")
0084名無しさん@お腹いっぱい。 (ワッチョイ f70d-R0y6)垢版2019/05/02(木) 00:45:45.54ID:mNYgW5tn0
>>83
; xxx,yyy,zzz,test,
; xxx,yyy,zzz,test,
; xxx,yyy,zzz,test,

F1::DeleteGroup()

DeleteGroup(String=",", Wait=0.3) {
ClipSaved := ClipboardAll
Clipboard =
Send ^x
ClipWait %Wait%
if (ErrorLevel) {
Send +{Home}^x
ClipWait %Wait%
Forward := Clipboard
if (Pos := InStr(Forward, String,, 0)) {
Clipboard =
Send +{End}^x
ClipWait %Wait%
Clipboard := RegExReplace(Forward Clipboard, String ".+?" String, String String,, 1, Pos)
Send ^v
} else
Send ^z
} else {
Clipboard := RegExReplace(Clipboard, "s)" String ".+?" String, String String,, 1)
Send ^v
}
Clipboard := ClipSaved
}
0087名無しさん@お腹いっぱい。 (コードモ 8e4d-ahOC)垢版2019/05/05(日) 13:35:33.46ID:M2iqQKSj00505
>>86
俺はahkファイルをそのままランチャーに登録したりしてるからエディタに関連付けたら使い物にならなくなるわ
その代わり常駐スクリプトなどはトレイアイコンダブルクリックでエディタ起動するようにしてる
0090名無しさん@お腹いっぱい。 (ワッチョイWW b287-NoMZ)垢版2019/05/07(火) 17:39:26.46ID:TrTdwL+B0
win10で2chMateを使いたくてエミュ導入したのですが
google日本語入力の109A選択で日本語/英語の切り替えがShift+Ctrlと押しづらい
「全角/半角」→認識なし?
「Del」→「.」
ってことでAutoHotkeyを使ってみました。

「半角/全角」を置換元キーにすると不安定。1回置きに指定リマップされてる?
置換先キーにShiftとCtrlの同時押しもうまくいきません

結局、今は無変換キーをShift、変換キーをCtrl に指定
無変換と変換キー同時押しで、Shift+Ctrl「日本語/英語切り替え」にはなりました。

#IfWinActive ahk_exe BlueStacks.exe
vk1C::Shift
vk1D::Ctrl
#IfWinActive

「半角/全角」を押してShift+Ctrl出力で日本語/英語切り替え
ができたら理想なのです、ご指導いただけたら嬉しいです。
ついでにDeleteキー復活もお願いします。

BlueStacks 4.60.20.1002
google日本語入力 109A
2chMate 0.8.10.45/
0094名無しさん@お腹いっぱい。 (ワッチョイWW b287-NoMZ)垢版2019/05/08(水) 16:06:11.53ID:a/Pr15AK0
>>91
MEmuですけど、google日本語入力と物理キーボードが上手く動かないのと、
ChMateでもカクカク動作になるので、今の所は敬遠します。

なんかかっこ悪いけど、一応AutoHotkeyで念願の様に組めました。

なぜか置換先にShiftとCtrl同時押しができませんが、
無意味なキー(vkF4)を含めた(+^vkF4)で代用ができました。
「半角/全角」(vkF3)を、日本語/英語の切り替え(+^vkF4)にリマップ
使ってなさそうな「カタカナ/ひらがな」(vkF2)も(+^vkF4)にリマップ

AndroidにはDelキーが無い?ので
→の後、BackSpaceでカーソル右側1文字削除を再現しました。


#IfWinActive ahk_exe BlueStacks.exe
vkF3::+^vkF4
vkF2::+^vkF4
Del::
send,{Right}
send,{BS}
return
#IfWinActive

AutoHotkey 1.1.30.03
BlueStacks 4.60.20.1002
google日本語入力 109A
2chMate 0.8.10.45/
0099名無しさん@お腹いっぱい。 (ワッチョイ f7e5-y35d)垢版2019/05/08(水) 18:46:11.81ID:3WHtVALo0
ていか泥の中のgoogle日本語入力を動かすことにこだわってるようだけど
PC側のIMEそのまま使うんじゃダメなの?
MEmuだと(泥の中ではなくエミュ側の)設定からソフトキーボード閉じれるので
わざわざ泥内のIME使う必要ないんだけど

一応 MEmuはブルスタやNOXより軽いと言われてる、怪しさに関しては目くそ鼻くそだが
カクついて遅いのはVT-xやOpenGLが有効になってないか泥のバージョンのせいかも
うちは泥バージョンをデフォルト(5.1)から7.1にしたら安定した
0101名無しさん@お腹いっぱい。 (ワッチョイW 1f56-83wE)垢版2019/05/10(金) 11:09:21.05ID:uOTPr9gE0
初歩的なことですがおしえてください

・セミコロンだけを押すと→enterが押下され
・シフト+セミコロン→+が入力され(そのまま)
・コントロールとセミコロンのキーを押すと→セミコロン ; が押下されるようにしたい

のですがうまくいきません。以下のようにしてみましたが
コントロール+セミコロンでもEnterが押されてしまいます。

vkBBsc027::Send, {Enter}
^vkBBsc027::Send, {vkBBsc027}

お知恵をください
0105名無しさん@お腹いっぱい。 (ワッチョイW 1f56-83wE)垢版2019/05/10(金) 12:51:39.21ID:uOTPr9gE0
以下で成功しました

^sc027::Send, {sc027}
sc027::Send, {Enter}

vkBBを削除しただけでいけました。
なにがだめだったんだろう・・・
ありがとうございました。103さんの助言をヒントにいけました
0113名無しさん@お腹いっぱい。 (ワッチョイ 57b1-y0Vo)垢版2019/05/11(土) 08:29:28.11ID:0qFFuv3w0
^a::Send, {ユニコード}
^b::Send, {ユニコード}
^c::Send, {ユニコード}

といった形でコントロールと文字キーを押して別の文字を
出せるようにしてあるのですが、

例えばF1を押したら常にコントロールを押した状態になって
あとはa, b, c, ...と打つだけで登録した文字を好きに打てて、
もう一度F1を押したら解除されて普通のキーボードに戻る
ようなことは可能ですか?
0114名無しさん@お腹いっぱい。 (ワッチョイ 570d-vVMj)垢版2019/05/11(土) 09:50:54.26ID:VISQT7EV0
>>113
{Ctrl Down} {Ctrl Up} で分ければ出切るが
Ctrl押したままはいろいろ誤操作誘発するので止めたほうがいい
登録した物を切り替えるだけなら必要ない

KeyChange = 0
F1::KeyChange := !KeyChange ; 0/1
F2::(KeyChange = 2) ? KeyChange:=0 : KeyChange+=1 ; 0/1/2

1::ToolTip 1
2::ToolTip 2
3::ToolTip 3

#If KeyChange = 1
1::ToolTip x
2::ToolTip y
3::ToolTip z
#If

#If KeyChange = 2
1::ToolTip xx
2::ToolTip yy
3::ToolTip zz
#If
0115名無しさん@お腹いっぱい。 (ワッチョイ ff76-vVMj)垢版2019/05/11(土) 10:06:22.79ID:kH9aKoH20
一番わかり易いのはモード変更ダイアログボックス出して
そのダイアログがあるかどうかで分岐
野暮ったいが誤動作誤操作はしなくなる
クリップボードフィルタ&FIFOユーティリティ関連でこのやり方使ってるな

^F1::  ; 特殊モード発動
run,特殊モード.ahk
return

F1::
IfWinExist,特殊モード
...
else
...

特殊モード.ahkの中身
help=
(
F1: aaa
F2: bbb
F3: ccc
)
msgbox,,特殊モード,%help%
0118名無しさん@お腹いっぱい。 (ワッチョイ 9b56-qZMj)垢版2019/05/16(木) 06:42:10.73ID:hupmSm4w0
イヤホンのリモコンでYouTubeプレイリストを次の曲へ飛ばせるようにしたいんですけど
もしかしてVivaldiってControlSend働かなかったりしますか?
アクティブウィンドウにすればもちろん届くんですけど...

$Media_Next::
SetTitleMatchMode,2
ControlSend, , +n, ahk_class Chrome_WidgetWin_1, YouTube
return


動いた方↓

$Media_Next::
SetTitleMatchMode,2
WinActivate, YouTube ahk_class Chrome_WidgetWin_1
send,+n
return
0119名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)垢版2019/05/18(土) 22:25:29.83ID:YTsL4HgD0
>114-117
ありがとうございます。順番に試しながらヒントにして
少しずつ追加したり入れ替えたりなんとかやってます。

理想的には秀丸マクロで

[Ctrl] [@] [a] で &aacute;
[Ctrl] [Shift] [@] [a] で &agrave;

としているのでそれをAHKでも再現したいのですが、
3つ以上はダメらしいですので、せめて
外国語キーボードにある、[@] と [a] で &aacute;、
[Shift] と [@] と [a] で &agrave; といった出し方はAHKでは再現
できないんでしょうか?
0122名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)垢版2019/05/19(日) 21:49:43.64ID:u1McXRZM0
うーん、まだ自分がよく解っていないようです。

ちなみにホットストリングで修飾キーは使えないんですか?

:*:@a::{u+00e1}

は機能するのに

:*:^@a::{u+00e1} や :*:^@::{u+00e1}

は機能しないんですが・・・。
0124名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)垢版2019/05/20(月) 01:33:16.42ID:1TQOMk6E0
>>123
なるほど。かといって

^@a::Send, {u+00e1}

としても使えないんですよねぇ。

^a::
If GetKeyState("@", "T")
Send, {U+00E1}
Else
XXXXX
Return

で取り敢えず ^@a::Send, {U+00E1} 状態を作れました。
同時押しではなくて時間差を認める調整は必要ですが。

ただ、これだと通常のCtrl と aで「すべて選択」が効かなくなる
のですが、@を押していない場合のElseのXXXXX部分、
どう書いたら良いのでしょう?
0126名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)垢版2019/05/20(月) 08:56:51.64ID:1TQOMk6E0
ですね。あとで気づきました。

^@::
If GetKeyState("a", "T")
Send, {U+00E1}
Return



^@::Send, {u+00e1}

^+@::Send, {u+00e1}

とせず ^@a にこだわるのは、あとで
^@e や ^ta とか、^+@a や ^+@e でも
使うつもりだからです。
0129名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)垢版2019/05/21(火) 05:23:14.44ID:7W5GDYJe0
>>127
不慣れでわからないことだらけなので
まずは3〜4つのキーで目的の文字を出せるようにして、
キーの押し方はそのあとで考えようと思っていました。

リンクありがとうございます。あとで試してじっくり読んでみようと
思います。

とりあえず>120でヒントをもらったインプットを使って

^@::
Input,InputChar,C I L1 T10,{Esc},a
if ErrorLevel=Match
{
if InputChar=a
Send,{U+00E1}
}
return

としても ^@a は機能しました。数を増やしていくと何か
問題が出るのかはまだ検証してませんが。
0130名無しさん@お腹いっぱい。 (ワッチョイ a688-EL+e)垢版2019/05/21(火) 05:57:15.89ID:zoAcTfZP0
>>129
>キーの押し方はそのあとで考えようと思っていました

いやそれは先にハッキリさせるべきところだろ
3キー同時押しなのか順番押しなのか、それによってやり方も全然変わってくるんだから
質問するなら正確に何をやりたいのか伝えるのが礼儀ってもんだ
でないと答える側はお前が何やりたいのか全く分からねえし話がズレてくだけ
最初にF1で切り替えとか言ってた話はどこ行ったんだよと
0131名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)垢版2019/05/22(水) 20:17:54.08ID:/ee0fjiV0
>>130
すいません。全部説明するとけっこう長くなるのと、
AHKではやりかたが変わるのかあとづけで修正が容易なのかも
はっきり知らなかったので1つずつ試行錯誤しながら質問していました。

F1の件は最低限の組み合わせを作ってテストしてうまくいきました。
F1はラテン文字以外のユニコード文字のまとまりを
複数切り替える想定のもので、^@aの話は日本語キーボードの
英数モードの拡張として試しているものです。

^@a でやっていることの全体像としては、1つのラテン文字
キーボードでできるだけ多くの音声記号つき文字や欧文で使う
合字・記号を出せるようにしようというものです。
ウィンドウズで設定できる外国語キーボードを調べるとどれも
一長一短で、また最も出せる文字が多いと思われるものでも
不足を感じたのと、どうせ切り替えるなら日本語の半角英数モードに
まとめてしまった方がいいのでは?と思いました。
@aや+@aの順次押しのようなやりかたは外国語キーボードで
使われているものです。^を加えたのは秀丸マクロで同じ事をする
場合、日本語英数モードの一部なので同じ場所が@になり、
@も残すために加えていたやり方を援用しようとしただけです。

なのでその先の話としては、^@aでアキュートつきaを出すのは
日本語キーボードの英数モードでのみにするとか、^+@aに更に
キャップスロックが加わる場合とか、英数モードへの集約に問題が
あって断念した場合、通常の言語切り替えで言語別にキーの
修正の仕方を変えられるのか?ということも調べようかと考えて
いました。

 上で教えていただいたリンクのkeysUpdateやKeysCheckや
KeysClearというのはAHKwikiには解説の項目がありませんが、
どういった物を読めば使い方がわかりますか?
0133名無しさん@お腹いっぱい。 (ワッチョイWW 4ee5-qa8w)垢版2019/05/22(水) 21:17:29.23ID:oe8s41BQ0
動機や理由は該当の外国語キーボードとやらを知らない人には細かく書いてもわからないそれより動作仕様を簡潔にまとめよう

>128のkeysなんとか()はユーザー関数
複数にホットキーでほぼ同じことの繰り返し作業になるから纏めてあるだけ
新規.ahkに全文コピペで一通り動くように作ってあるんでとりあえず試してみて

関数についての解説はこの辺
http://ahkwiki.net/Function
0140名無しさん@お腹いっぱい。 (ワッチョイ e7e5-8QQr)垢版2019/05/25(土) 12:21:35.07ID:GKynUIXB0
ウィンドウ閉じたらそのハンドルは破棄されるので
ハンドル保持したままにしたいなら閉じないでWinHideで非表示にして後でWinShowするしかない

完全に閉じた状態から復活(ソフト再起動)したいなら
・WinGet,...,ProcessPath でソフトのパスを覚えておく
・必要ならコマンドライン引数も取得しておく
・WinGetTitle / StatusBarGetText 等でタイトルバーやステータスバー上のフォルダパスを取得して覚えておく

で Run, %apppath% %option%
0142名無しさん@お腹いっぱい。 (ワッチョイW bfcf-/rDV)垢版2019/05/27(月) 19:34:10.13ID:TeG2ijze0
MouseWithoutBordersを使って他のPCにマウスカーソルが移動している時に、
ControlSendを使ってウインドウを操作しようとするとおかしくなるのですが、何かいい対処法はないでしょうか?

MouseWithoutBordersのキーボードショートカットを使ってAHKを実行しているPCに移動させようとしても、別PCにマウスカーソルが移っている場合これも動きませんでした
0145名無しさん@お腹いっぱい。 (ワッチョイW 6a20-OiwE)垢版2019/05/30(木) 17:49:54.54ID:7Ufw480c0
LAltを2連打するとaキーを発行、押しっぱなしならALTキーを活かすという設定を作りたく書き始めたところ、

<!a::send,c ;<!で始まればなんでもいい

LAlt::
Keywait, LAlt, U
Keywait, LAlt, D T0.2
If (ErrorLevel=0) {
Send, a
}
Return

上記の様に<!で始まる無関係な一行をつけると、
この状態で何故か希望通りの動きをする事に気づきました。
例えばLALT+TAB、CTRL+ALT+DELETEも問題なく動作します。

If文に
else {
Send, b
}
を追加した場合は、何故か2連打時にもelseをすりぬけて、abと表示されますが、
ALTキー押しっぱなしの機能は有効のままです。

そして本来関係ないはずの<!を外すと記述通りの動きになります。
ちなみにLCTRLでも同じでした。この場合は冒頭が<^になります。
また普通の英数字の場合は本来の記述通りの動作しかしません。

変な言い方ですが、なぜそう動くのか分からずでして、どなたか解説願えないでしょうか。
また本来のものをシンプルな記述で完成させるとしたらどう書くのがよいでしょうか。

AHK v1.1.30.03です。
0146名無しさん@お腹いっぱい。 (ワッチョイ 9f58-2ZOZ)垢版2019/05/30(木) 18:25:53.19ID:KRcnBsNi0
なぜと言われてもAHKはそういう仕様ですとしか
例えば <!a::send,c を消して
LAlt & Tab::AltTab
を追加するだけでもAlt+Tab はもちろん Alt+F4 なども使える様になるし
もっとわかりやすい例だと

LWin::Send,a

だけだと Win+R や Win+D などのショートカットが使えなくなるけど

LWin::Send,a
LWin & R::#r

と書くとWin+R はもちろんのこと、 Win+D や Win+Tab などの複数キー押しが全て使える様になる
(Winキー単押しの時だけSend,a)
修飾キーに関してはそういう仕様なんです
0149名無しさん@お腹いっぱい。 (ワッチョイ 2f90-Gwz4)垢版2019/05/30(木) 21:44:35.55ID:nVSJ01/e0
Windows 10 ver 1809 x64 + AutoHotkey 1.1.30.03 x64 を使っています
サクラエディタを AHK から起動し、確実に入力できる状態になってからキーストロークを送りたいのですが
Sleep で待つ以外にどんな方法があるでしょうか
0150名無しさん@お腹いっぱい。 (ワッチョイWW 5be5-u2rU)垢版2019/05/30(木) 21:45:37.85ID:UhMDJ/xR0
WinCloseでもWinWaitCloseでも待ち時間は指定できるけど
本来closeを待たないはずのWinCloseで止まってしまってるということは
同一スレッドでは対処不能ということかと




タイマーで別スレッド立ててやるのが(邪道だけど)一番確実じゃないかと

>>147
それが無難だろうね
0154名無しさん@お腹いっぱい。 (ワッチョイ b756-V0IX)垢版2019/06/02(日) 08:45:21.25ID:0NGkjVV40
joyキーの方はたまにだけど
BTの方はリモート制御とかのチェックボックス変更して適用するとほぼ確実に落ちるわ
しかも落ちた時、マウス制御が超鈍重になるからプログラムの終了を押すのが難しい

イヤホンが動作不安定なのが悪いんだけどさ
0155名無しさん@お腹いっぱい。 (ワッチョイW 436c-q0WE)垢版2019/06/02(日) 13:37:22.12ID:fgLpX/350
よくんからんけどosクリーンインストールしたら治るんじゃない
0157名無しさん@お腹いっぱい。 (ワッチョイ cb98-V0IX)垢版2019/06/03(月) 09:12:40.86ID:PY0IUJxP0
PixelSearchで下から検索させる方法ってありますか?
イラストソフトで現レイヤーから親フォルダの特定の為に、下からPixelGetColorをループさせてるんですけど、若干遅いんですよね
左上から検索するのではなく左下もしくは右下からできると速く特定できそうなんですけど
0160名無しさん@お腹いっぱい。 (ワッチョイ cb98-V0IX)垢版2019/06/04(火) 18:42:45.00ID:lwnGZ+XM0
入れ替えてみましたけど、Slow限定の機能なんですね
以前より遅くなりそうだったんで結局やめました アドバイスありがとうございます

それにしてもSlowは尋常じゃなく遅すぎる…
Fastがオプションじゃなくてデフォルト設定でいいんじゃないかと思いました
0161名無しさん@お腹いっぱい。 (ワッチョイ 7e73-2ZOZ)垢版2019/06/04(火) 20:29:45.19ID:SfBx3yi30
ホットキーを特定のウィンドウだけで機能し、かつ特定のタイトルでは機能しないようにしたいのですが、どうすればいいかわかりません。

例えば、以下のコードでは思った通りに機能しません。
#IfWinActive ahk_exe chrome.exe
#IfWinNotActive Google
!A::Send, ^a
#IfWinNotActive
#IfWinActive

#IfWinActiveコマンドで実装は無理なのでしょうか。また他の方法でなら可能なのか教えて下さい。
0162名無しさん@お腹いっぱい。 (ワッチョイ 6bb1-2ZOZ)垢版2019/06/04(火) 20:41:39.23ID:wli2UBB50
>>161
#IfWinActive ahk_exe chrome.exe
だけを使って、 !A を押した時に
もしもアクティブタイトルがGoogleだったら何もしない
それ以外ならば Send, ^a
と言う条件分岐すればいいかと

#IfWinActiveと、#無しのIfWinActiveの使い方を整理して考えよう
0164名無しさん@お腹いっぱい。 (ワッチョイ a676-R3bS)垢版2019/06/04(火) 22:26:59.54ID:Es9oy+ZU0
日本語を含んだ文字列のバイト数を知りたいのですけど
unicode版だとStrLenは文字数を返してきます
簡単に知る方法は無いでしょうか?
0171名無しさん@お腹いっぱい。 (ワッチョイ 7b98-8daA)垢版2019/06/07(金) 12:13:25.60ID:AB/5CdCc0
WinActivateでアクティブにするより、Clickしたほうが高速で動作する気がするですけど
WinActivateを速くする方法ってありますか?

Clickだとペンタブと画面が近いとカーソルを乗っ取れない?というかバグる時があるから
なるべくClickさせたくないんですよね
0174名無しさん@お腹いっぱい。 (ワッチョイ 7b98-8daA)垢版2019/06/07(金) 12:36:05.08ID:AB/5CdCc0
0.11〜0.14秒だからむしろ速いとは思うんですけどClickは0.03〜0.05秒で終わると思うと遅く感じるんですよね
何回かアクティブにさせるスクリプトだとチリが積もって遅くなるというか...
0176名無しさん@お腹いっぱい。 (ワッチョイ 63b1-mMzj)垢版2019/06/14(金) 00:32:15.07ID:FvBTnZwU0
設定中に変換キー効かなくなってアンインストールしても反応ないんですがこのケースご存じの方いませんか?
キーボードが英語用で認識されてないかとか物理的に壊れたのかとかどれも違うみたいで
再変換機能が使えないだけではなくキー自体が反応しないんですがこういったことはあるんでしょうか
0179名無しさん@お腹いっぱい。 (ワッチョイ 63b1-mMzj)垢版2019/06/14(金) 00:52:31.05ID:FvBTnZwU0
>>178
再起動してもダメだったのでAutoHotkey関係なしで調べてみます
ありがとうございました
0186名無しさん@お腹いっぱい。 (ワッチョイ 9374-f3ih)垢版2019/06/25(火) 18:36:07.38ID:fJAmXUdV0
wiki 見ながら書きました
メモ帳は動くのですが、秀丸は動きません 何が原因なんでしょう

メモ帳
WinActivate, ahk_class Notepad
WinMenuSelectItem, ahk_class Notepad, , ファイル, 開く
秀丸
WinActivate, ahk_class Hidemaru32Class
WinMenuSelectItem, ahk_class Hidemaru32Class, , ファイル, 開く
0194名無しさん@お腹いっぱい。 (ワッチョイ 01e5-fpSC)垢版2019/06/25(火) 22:54:58.13ID:HgfYOxLv0
秀丸はコントロールを独自にオーバーラップしてるのでメモ帳のようには扱えない
>192のようにショートカットキー投げちゃうのが簡単だと思うけど
あえてメニューを実行させたいならリソースハッカーでメニュー番号調べてWM_COMMAND を投げてやるといい

WM_COMMAND = 0x111
MENUITEM_OPEN = 4
WinActivate, ahk_class Hidemaru32Class
PostMessage, %WM_COMMAND%, %MENUITEM_OPEN%, 0, ,ahk_class Hidemaru32Class
https://i.imgur.com/P00ELZl.png

参考
https://ajinoya.hatenadiary.org/entry/20080509/1210329386
0195186 (ワッチョイ 9374-f3ih)垢版2019/06/26(水) 12:29:12.81ID:cfzOTqWJ0
>>194

ありがとうございます。 動きました。
秀丸を動かしたいわけでなくショートカットキー設定がない別のソフトを動かす勉強のつもりで
最初から動かなかったので助かりました。
0196名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)垢版2019/06/26(水) 16:08:17.86ID:SU3Y3WNV0
検索ソフトのeverythingを使っていますが”クリップボードの監視機能”
がないので下記を作りました。

#Persistent
OnClipboardChange:
Run,C:\Program Files\Everything\Everything.exe -s "%Clipboard% "
Return

firefoxで試しましたが、検索文字をコピーすると、firefoxの画面の上に、
everythingの検索結果の画面が毎回出てきます(ちょっとうざい)。
下記改善をしたいので知恵をお貸しください。

改善したいこと:コピーは、検索のためだけじゃないので、いつもはeverythingをfirefoxの
画面の下で動かして置き、検索結果を見たい時だけ、everythingの画面をクリックして、
上に持ってきたい。見た後は、FIREFOXの画面をクリックしてeverythingの画面を下にしたい。

表示優先度を最優先にできるソフトを使ってみたが、FIREFOXの画面が常時上になり、
everythingの画面は、隠れたままになりだめでした。

AHKですがキーボード操作は使いたくなく、クリック動作だけで行う方法を教えてください。

文章力がないので、うまく伝わるといいのですが。
0198名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)垢版2019/06/26(水) 19:21:23.57ID:SU3Y3WNV0
>>196 です。
調べましたが、ControlSetTextの使い方が素人にはわかりません。
できたら、答えをください。
0199名無しさん@お腹いっぱい。 (ワッチョイ b958-Im5L)垢版2019/06/26(水) 20:33:10.24ID:5lMSjDGm0
>>198
ここは学ぶ気無い人に答え丸々くれる人は殆どいないよ
もし学ぶ気があるならwikiのControlSetTextの使い方説明をしっかり読んで
その上でどの部分が理解できないのかを書いてくれないと
こちらも「何が分からないのか」が分からないので教えようが無いよ
0200名無しさん@お腹いっぱい。 (アウアウウーT Sac5-uxod)垢版2019/06/26(水) 21:37:45.44ID:fx2Owl41a
かなり根本的な問題な疑問
クリップボード監視機能はどういうときにほしいんだ?
検索結果を見たい時だけ見るのならクリップボードの監視は必要ないのでは?
Firefoxの下で動作させておく意味はあるのか?

Everythingというソフトの構造がインデクス作成用のサービスと表示用のEXEが別になっているとすればだけど
必要なときにクリップボードにある文字列を渡して起動すればいいだけなような気がするけど
そのときにRunWaitを使うようにして抜けてきたらFirefoxをアクティブにすればいい
Everythingを知らすに言っているので頓珍漢かもしれないけど
0202名無しさん@お腹いっぱい。 (ワッチョイ 09f0-Im5L)垢版2019/06/26(水) 22:10:21.02ID:aFqC4gPH0
自分もそう思う
>>196
>キーボード操作は使いたくなく、クリック動作だけで行う方法
というなら、長押しやロッカージェスチャーでEverything専用のものを作ればいい
文字列選択した後に、例えば右ボタン+X1ボタンで、
Ctrl+C
Clipwait
Run,〜
とかでいいんじゃないの
0203名無しさん@お腹いっぱい。 (ワッチョイ 01e5-fpSC)垢版2019/06/26(水) 22:13:08.84ID:Yek0UStY0
そのものズバリをやりたいならControlSetTextを使う(難易度 中)
一瞬ちらついてもいいのなら直前のアクティブ(firefox)を再アクティブにする処理でごまかす(難易度 低)
バックグラウンドじゃなくて最小化で妥協するならMINオプション付きでrunする(難易度 低)

ただ願わくばクリップボードにあるものを何でもかんでもEverythingに送る必要が本当にあるのかよく考えて欲しい
>200やhttp://egg.5ch.net/test/read.cgi/software/1559369719/29,36 でも再三アドバイスされてるが
ホットキー起動で検索したい時だけEverythingに送るのがもっとも簡単でスマートな解決法だと思う
0204名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)垢版2019/06/26(水) 22:38:36.80ID:SU3Y3WNV0
>>200/201/202さん
舌足らずで申し訳ない。
Aという画面(例:firefox)で出てくるワードを頻繁にコピーしてネットで調査して記録しています。
この作業の中で、調査済みかどうか判断するために検索をかけています。
この検索は連続して必要な場合と記憶で不必要と判断できる場合があります。
検索ソフトのeverythingを使う場合
@検索をかけたい文字列をコピーし
AEverythingの画面を出し
BEverythingの検索ボックスにペースト
して検索しているが、”クリップボードの監視機能”があればBの動作を
省略できるので、その方法を探しています。

---ということで、>>196の質問をしています。
0205名無しさん@お腹いっぱい。 (ワッチョイ 09f0-Im5L)垢版2019/06/26(水) 22:47:53.45ID:aFqC4gPH0
>>204
んー、つまり>>196は、どこかしらから拾ってきたもので、そのスクリプト自体をよく分かってないってことか
Run,C:\Program Files\Everything\Everything.exe -s "%Clipboard% "
が、
>AとBの動作を省略してることになるんだが…
AHKだけじゃなく、コマンドラインも理解しないとダメだよ
0206名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)垢版2019/06/26(水) 22:56:12.36ID:SU3Y3WNV0
>>199さん
おっしゃる通りですが、
#Persistent
OnClipboardChange:
Run,C:\Program Files\Everything\Everything.exe -s "%Clipboard% "
Return

の中で、今与えられているヒントは、RUNしないでControlSetTextを使えということだけです。
理解できたのは、everythingは起動させている状態で(構文では起動させない)
Clipboardの変化でeverythingにデータを送るということです。
ということで、
#Persistent
OnClipboardChange:
ControlSetText, Edit1, New Text Here, Untitled -
Return
まで来ましたが、Clipboardの指定と、
C:\Program Files\Everything\Everything.exeの指定をどうやってやるのか、
でつまずいています。ご指導をお願いいたします。
0207名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)垢版2019/06/26(水) 22:58:35.42ID:SU3Y3WNV0
>>204 さん
おっしゃる通りです。
100年早いですかねー。。。。
0208名無しさん@お腹いっぱい。 (ワッチョイ 09f0-Im5L)垢版2019/06/26(水) 23:00:41.21ID:aFqC4gPH0
>>204
Everythingについてスレチだけど、↓読んで、-s がどういう意味なのか確認しよう
コマンドラインオプション - Everything日本語ヘルプ
ttps://sites.google.com/site/everythingjphelp/command_line_options
↓と組み合わせれば、もっと絞り込んだ検索ができるようになる
ttps://sites.google.com/site/everythingjphelp/searching

>>206
>RUNしないでControlSetTextを使えということだけです
何人も書いてる通り、その必要はないw そこから離れるべき
0210名無しさん@お腹いっぱい。 (ワッチョイ b958-Im5L)垢版2019/06/26(水) 23:25:22.02ID:5lMSjDGm0
>>206
wikiのサンプルコード
ControlSetText, Edit1, New Text Here, Untitled -
これはメモ帳を使った一例だよ
日本語版メモ帳の場合は最後のウィンドウタイトルはUntitled ではなく 無題 - だけどね

ウィンドウ指定の方法はwikiにリンク書いてあるからそれをちゃんと読もう
タイトルの他に、exeで指定したり ahk_class で指定したり出来る
(↑これ基本中の基本だからとても大事)

上記サンプルの Edit1 はメモ帳のテキスト入力欄のコントロールなので
Everythingの検索ボックスのコントロールはAHK付属の Window Spy で調べましょう
0213名無しさん@お腹いっぱい。 (ワッチョイ 4a20-Ij2G)垢版2019/06/27(木) 19:58:24.56ID:3ZicoPkN0
>>212さん
砂漠で道に迷っているときにこの言葉、私にとってのオアシスです。
ありがとうございます。
>>211/210さん
具体的な構文と Window Spy というキーワードで少し進めたような気がします。

#Persistent
OnClipboardChange:
ControlSetText, Edit1, %Clipboard%, ahk_class EVERYTHING
Return

でやっていますが、everythingの検索窓にClipboardの内容が入って来ません。
ほかの方々のご意見も含めて何回も何回も読んで、少しずつかみ砕いて行っています。

ControlSetTextから離れろ、というご指摘も含めて、七転八倒しています。
時間はかかりますがよろしくご指導ください。
0217名無しさん@お腹いっぱい。 (ワッチョイ 4a20-Ij2G)垢版2019/06/27(木) 22:00:48.31ID:3ZicoPkN0
>>213です。
管理者権限 でした。構文はあってたようです。
おかげで実行ファイルの作り方まで覚えてしまいました。(大したことではないですが)
助言、ありがとうございました。
初めて利用しましたが、あったかいですねここのスレは。ーーー感謝!感謝!
0218名無しさん@お腹いっぱい。 (アウアウウーT Sa11-kB4y)垢版2019/06/27(木) 22:30:09.18ID:GJMvau+Va
なるほど管理者権限か
解決したところで
こういうやり方もありではないかというやり方

Run,C:\Program Files\Everything\Everything.exe -minimized -s "%Clipboard% "

キーワードを送ると最小化するので
Everythingのウィンドウが見えている状態では違和感があるかもしれないが、
ほかのウィンドウの裏で動作しているなら
これでも実質ほぼ同じような使い方ができる
0219名無しさん@お腹いっぱい。 (ワッチョイ 56be-Ij2G)垢版2019/06/28(金) 09:57:37.77ID:4QUstTnm0
結果報告です。
minimizedのほうがいいかも。
everythingの起動がいらないし、たくさんの画面が出ているときに一つでも画面を
減らしたい場合に効果があります。

ということで、最終形として下記にしました。
#Persistent
OnClipboardChange:
Run,C:\Program Files\Everything\Everything.exe -minimized -s "%Clipboard% "
Sleep,5000
Return
0222名無しさん@お腹いっぱい。 (ワッチョイ a15c-zwFU)垢版2019/06/30(日) 10:29:26.75ID:cPd/cUyO0
AHKって、夜中の12時にリロードされるってことはありますか

なぜか、私のAHKは夜中の12時にリロードされてしまうのです。
リロードされてしまうので、デバッグをしようにもおかけようがないのですが何かいい方法はないでしょうか
0226名無しさん@お腹いっぱい。 (ワッチョイ a15c-zwFU)垢版2019/06/30(日) 11:55:57.55ID:cPd/cUyO0
タスクトレイのアイコンをダブルクリックすると、トレース画面が出てきますが、
これを自動でファイル保存させるオプションってないでしょうか
ファイルに保存されていたらあとから確認できるのですが
0228名無しさん@お腹いっぱい。 (ワッチョイWW d973-joy7)垢版2019/07/01(月) 01:26:28.34ID:0ZD9smhN0
下のスクリプトを実行すると、^vの貼り付けがうまくいかないのはなぜでなんでしょうか?

vClipboardAll := ClipboardAll
Clipboard := ""
Clipboard := "Test"
ClipWait
MsgBox, %Clipboard%
Send, ^v
Clipboard := vClipboardAll

「hogehoge」をコピーした上でホットキーを実行
実行結果
メッセージボックス「Test」
テキスト出力「hogehoge」

「Send, ^v」の後ろに「Sleep, 100」を入れるとちゃんと「Test」が出力されますが、それもMsgBoxを消してしまうとそこそこの確率で失敗します。
っていうか前にSleepを入れると上手くいくのならまだ分かるのに……。

それと、Clipboard変数に直接文字を入れる場合、ClipWaitは不要だと思うのですが、合っていますか?
0230名無しさん@お腹いっぱい。 (アウアウウーT Sa11-kB4y)垢版2019/07/01(月) 02:58:24.79ID:xeKHJhLba
>>228
一番最初に?と思ったのは
>Send, ^v
のときにどういうウィンドウがアクティブになってるんだろうってこと
たとえばメモ帳がアクティブな状態でホットキーでスクリプトを呼ぶので
MsgBoxを閉じた後アクティブなウィンドウがメモ帳に戻っているということでいいんだろうか

もうひとつは
>テキスト出力「hogehoge」
が"Send, ^v"の効果としてのメモ帳への貼付けの意味なのかということ

>そこそこの確率で失敗します。
というのはメモ帳に「hogehoge」が貼り付くということなのか
つまりペーストは成功しているけどその内容が期待しているものと違うということなのか

>ClipWaitは不要だと思うのですが、合っていますか?
不要です
ついでに細かいことをいえば"Text"を入れる前に""を入れるのも不要です

ClipWaitがあるとうまく動いたりするならマシンスペックの問題ではないのか
であればそこにSleepを入れたとしてもうまく動くと思う

ペーストの処理で「hogehoge」が貼り付くのも
クリップボードの内容を「hogehoge」に戻す処理がahkのプロセス内で完結しているのに対して
Send による貼り付け処理は、ahk側のプロセスではメッセージを発行しているにすぎず
貼り付けが完了するにはOSがそのメッセージを処理して
アクティブになっているウィンドウ側でそのメッセージを受け取る処理となるので
ラグが発生する
マシンに十分なスペックがあればそれを意識しないで済むにすぎない
ということで受け取るウィンドウでの貼付け処理が終わるまでSleepで待ってやると
成功するのだと思う
0231名無しさん@お腹いっぱい。 (ワッチョイ 2d11-yKxc)垢版2019/07/01(月) 06:10:33.35ID:BQ1MBvZ20
>>228
Sendの前じゃなくて後ろの問題
Send, ^v が実行された後、実際に貼り付けられるよりも先に次の
Clipboard := vClipboardAll によってクリップボートの中身が書き変わっている
スクリプトは貼り付けの成功を見届けてくれるわけではない
0232名無しさん@お腹いっぱい。 (ワッチョイ 4d42-zwFU)垢版2019/07/01(月) 08:23:54.89ID:rzFpecjD0
>>229
タスクトレイのアイコンをダブルクリックしたときに、どういう行を順番に実行してきたかのトレース履歴がでてきますが、
それをファイルに保存したいのです
そういうオプションはありませんか
0234名無しさん@お腹いっぱい。 (オイコラミネオ MM65-dqaN)垢版2019/07/02(火) 07:22:58.89ID:Kw4uOEBEM
Menuで作るポップアップメニューについて
基本的にはラベル名を予め定義して使うものだと思いますが
例えば「あ」「い」「う」の3つの文字をメニュー表示し
選択された文字を特定するにはどうしたらよいでしょうか
選択可能な文字や選択肢の数は処理の実行ごとに変化します

ラベルを動的に定義する方法が分からなくて躓いています
0236名無しさん@お腹いっぱい。 (オイコラミネオ MM65-dqaN)垢版2019/07/02(火) 15:04:30.74ID:Kw4uOEBEM
>>235
ありがとうございます
頂いたヒントを基に一応やりたいことができました

str := "あ|い|う"
StringSplit, strArray, str , |
i := 0
Loop, %strArray0%
{
i := i + 1
s := strArray%i%
Menu, MENU1, add, %s%, label%i%
}
Menu, MENU1, SHOW
msgbox, %A_ThisMenuItem%
Return

label1:
Return
label2:
Return
label3:
Return

ただこれだと選択肢が増えたとき(あいうえお等)のためにラベルをたくさん定義しておかないといけません
もっといい方法があったらご教示ください
0239名無しさん@お腹いっぱい。 (ワッチョイ 4d0d-Eaty)垢版2019/07/02(火) 18:49:14.13ID:HVA9KY7k0
>>238
圧縮するとこんな感じ

; --- 文字列 ---
str := "あ|い|う"
StringSplit, strArray, str, |
Loop %strArray0%
Menu, MENU1, Add, % strArray%A_Index%, label ; "% "で引数を式に変更
Menu, MENU1, Show
return

label:
MsgBox %A_ThisMenuItem%
return

; --- 配列 ---
arr := ["え", "お", "か"]
for k, v in arr
Menu, MENU1, Add, %v%, label
Menu, MENU1, Show
return

label() { ; 関数でもおk
MsgBox %A_ThisMenuItem%
}
0241名無しさん@お腹いっぱい。 (ワッチョイ 6d1d-zwFU)垢版2019/07/03(水) 18:35:17.77ID:9G3p7G5Q0
パソコン上のゲームで、上から落ちてくるりんごをマウスでカーソルを動かしてクリックして消滅させるというのがあります。
これを昔のインベーダーゲームのように左右の矢印キーを押して、スペースキーを押してやろうとして、
Left::
MouseGetPos, x, y
MouseMove % x-2, y
return
とかして作ろうとしたのですが、すると。左矢印キーを押すと、一旦止まってから動き出す、という状況になってしまいます。
キーを押して直後から動き出すようにはできないでしょうか
0245名無しさん@お腹いっぱい。 (ワッチョイ 6f11-mE9d)垢版2019/07/04(木) 04:11:02.69ID:HjepJlAZ0
すみません
デスクトップのどこかをクリックして何も選択していない状態にして
alt + F4 でシャットダウンとかをさせるショートカットを作ろうとしているのですが、
何も選択しないように(非アクティブに)するコマンドが分かりません
マウスでどこか背景をクリックしたような状態になればそれでいいのですが、
いい方法はありますでしょうか?
よろしくお願いします
0251名無しさん@お腹いっぱい。 (ワッチョイ 6f11-mE9d)垢版2019/07/04(木) 11:40:51.42ID:HjepJlAZ0
>>249
出てるウインドウが全部消えてしまうのですが
キャンセルした時に復帰するウインドウとしないウインドウがあって
ちょっと不安ですが、本当にシャットダウンする場合はいけそうな気がします
ありがとうございます

>>250
デスクトップをアクティブにするコマンドを知りたいんですが
みつからなくて
0254名無しさん@お腹いっぱい。 (ワッチョイ 6f11-mE9d)垢版2019/07/04(木) 11:46:30.78ID:HjepJlAZ0
>>253
WinActivate って指定のウインドウをアクティブにするやつでは?
全部を非アクティブにしたいのですが、、、

今いろいろ調べてたらwin+Bでタスクトレイを選択させれば
見た目は変わらず選択が外れるみたいで
もしかしたら行けるかもとか思いました
邪道ですが、、
0256名無しさん@お腹いっぱい。 (ワッチョイ 93f0-tOvn)垢版2019/07/04(木) 12:28:25.04ID:FUdgW0PN0
>>255
>シャットダウンやスリープを選ぶ画面を出す
ということであれば、Win+X→U
デスクトップ→Alt+F4とは違うけど、デスクトップの何もない場所クリックとかアクティブ化とか
そういうのは気にしなくていいし、キー操作だけだから作りやすいのでは?
0259名無しさん@お腹いっぱい。 (ワッチョイ 6f11-mE9d)垢版2019/07/04(木) 13:25:52.40ID:HjepJlAZ0
>>257
ahk_class WorkerW
ahk_exe explorer.exe
これらをやってみたときは場合によってうまくいく場合と行かない場合が
あってよくわかりませんでした。
そもそもデスクトップをアクティブにするコマンドがわからなくて
0263名無しさん@お腹いっぱい。 (ワッチョイ a30d-mVFY)垢版2019/07/04(木) 13:49:56.93ID:96zwb0Dh0
>>245
; --- Windowsの終了ダイアログ表示 ---
ControlSend,, !{F4}, ahk_class Progman ; explorer > Alt+F4
; または
ComObjCreate("Shell.Application").ShutdownWindows ; COM

>>247
問題なく動作するので、そちらの単純なミスだと思われる

MouseMove, 800, 800, 100
MouseMove, 400, 400, 100
0264名無しさん@お腹いっぱい。 (ワッチョイ 231d-BEQt)垢版2019/07/04(木) 15:32:01.25ID:6QzvhFwe0
>>263
理由がわかりました。
エディタにSciTE4AutoHotKeyを使っているのですが、新規ファイルを作った時にデフォルトで頭に数行書かれているのも
含めてテストスクリプトを載せると、

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#UseHook
SetTitleMatchMode, 2 ; 2: 中間一致(WinTitleで指定した文字列を含むウィンドウが一致する)

MouseMove, 100, 100, 10
Sleep, 500
MouseMove, 200, 100, 10
Sleep, 500
MouseMove, 200, 200, 10
Sleep, 500
MouseMove, 100, 200, 10
Sleep, 500
ExitApp,0


なのですが、ここで、
SendMode Input
があるとスピードが効かず、これをコメントアウトするとスピードが効くようになりました
これってなんでデフォルトで入れてるのかな。これって何?
0265名無しさん@お腹いっぱい。 (ワッチョイ 6f11-mE9d)垢版2019/07/04(木) 15:42:43.07ID:HjepJlAZ0
>>263
ControlSend,, !{F4}, ahk_class Progman ; explorer > Alt+F4
こちらはデスクトップ状態の時は動作しなかったです

ComObjCreate("Shell.Application").ShutdownWindows ; COM
こちらはどんな時もどうさします
ズバリこれが一番よさそうです ありがとうございます
でもどういうコマンドなのか調べたけど分かりませんでした
かなり難しい感じみたいですね
0266ポジションがずれる (ワッチョイ e760-YtL5)垢版2019/07/13(土) 07:40:52.68ID:WrmDLoIa0
CoordMode, Mouse, Screen

CoordMode, Mouse, Relative
を使って
MouseGetPos, x, y, ctrlHWnd, ctrlClass, 1
としてxy座標を取得しようとしてるんですが、
Google Chromeを(Chromeに限らず)最大化して
一番左上にマウスをもっていってプログラムを実行すると、
Screen x:0 y:0
Relative x:11 y:11
といった具合に相対座標が若干ずれるんですが
これはアプリケーションがスクリーンより若干大きめに
表示されているということでしょうか?
0267名無しさん@お腹いっぱい。 (ワッチョイ f617-AvHN)垢版2019/07/13(土) 07:59:23.02ID:3s990zET0
>>266
はい、Windowsの仕様です
Win10のUIだと分かりにくいけどウィンドウ枠の周りには数ドット分の境界線の領域が設けられてるので
ウィンドウの最大化をするとその境界線領域の分だけScreen座標とRelative座標はズレます
ちなみにChromeでF11を押して、ボーダーレスフルスクリーンモードにすると
「境界線領域」が消えるのでマウスを一番左上に持っていくとScreen座標もRelative座標も0,0になると思います
0268ポジションがずれる (ワッチョイ e760-YtL5)垢版2019/07/13(土) 09:05:23.69ID:WrmDLoIa0
>>267
ありがとうございます!
モヤモヤが消えました!
0270名無しさん@お腹いっぱい。 (ワッチョイ b643-mVAd)垢版2019/07/13(土) 11:02:01.63ID:9Fgech0n0
●2ちゃんねる犯罪者リスト
秋葉通り魔(36)   卒業アルバム
> http://livedoor.blogimg.jp/surumeinu/imgs/a/c/ac02ef9e.jpg
刺殺された長男(51) 仕事の依頼で描いたなんらかのロボット
> https://moekoblog.com/wp-content/uploads/2019/06/0404619e-s.jpg
鈴木ドイツ(58)  コイツの趣味 = ナ  チ  ス  ド  イ  ツ  お  よ  び   第  二  次  世  界  大  戦 
> http://o.5ch.net/eflo.png 
> http://o.5ch.net/eosw.png 
> http://o.5ch.net/eouo.png 
> http://o.5ch.net/er4x.png 
> http://o.5ch.net/en8s.png
パンツァーフロントの続編を待つスレPART85 より一部画像抜粋
https://mevius.5ch.net/test/read.cgi/army/1442343972/167-

●自作自演容疑者リスト   鈴木あきら (ペンネーム:鈴木ドイツ) 

 北海道札幌市出身 昭和36年生まれ・58歳・無職・ひきこもり・独身・年金未納者 【要注意】>>>通り魔予備軍<<<【要注意】

    電通・TBS系下請け末端ネット工作員

●2ちゃんねるでのおもな犯行
・テレビ番組板で石橋貴明さんを誹謗する内容のスレを大量に立てて自作自演で保守している犯人
・爆報THEフライデースレで田原俊彦さん、笑点スレで林家三平さん、ヒルナンデススレで南原清隆さんを執拗に攻撃しているのもコイツ
・代表的な著書:『大戦略マスターコンバット』 ←中卒作家(自称)に相応しいすさまじいクソゲーw
・昭和36年生まれ、北海道札幌市生まれ(昭和30年代生まれは中卒は当たり前だった)
・●●ドリームキャストマガジンというゲーム情報雑誌のアドバンスド大戦略のページでナチスの軍服を着て写真掲載にのぞむなど危険な思想を持つ●●
・生涯のライバルは岡野哲氏(ファミ通出版社のホストを使って2ちゃんねるへ殺害予告を書いたこともあるぐらい彼を強く意識している)→要検索
・黒子のバスケ脅迫事件の犯人と同性質で、攻撃対象者のみならずその家族にまで脅迫をする
・レトロフリークやレトロゲームのミニ版を各スレでひっきりなしに宣伝して回っている
・レトロフリークの端子部がすぐ折れ曲がる欠陥があった時口汚く火消しに奔走していたのもコイツである

働けクズ
0271名無しさん@お腹いっぱい。 (ワッチョイ 0f9b-MpFw)垢版2019/07/21(日) 20:53:34.97ID:zSGXpb8H0
すみません、プログラミングド初心者なのですが、
whileループで、クリップボードが空白になったら終了ってどうやるんでしょうか・・・

While Clipborad("")
{
WinActivate, ahk_class XLMAIN
Send, {Down}
Send,{LControl Down}{c}{LControl Up}
}
Return
0274名無しさん@お腹いっぱい。 (ワッチョイ 6bb1-r781)垢版2019/07/28(日) 14:11:20.31ID:mEaQR9BY0
ssgfb094さん

2019/7/2813:49:53
.

F4押したら2、space,F、V、3と順番でループしてF4押したら終わるAutohotkeyのプログラム
教えてちょー
0275名無しさん@お腹いっぱい。 (ニククエ 6b76-5Ye2)垢版2019/07/29(月) 19:03:06.32ID:5kpAaXc20NIKU
京都アニメを放火したのって
みんなも 犯人は  鈴 木 ド イ ツ し か い な い と 思 っ た よ ね 。次点で南 人 彰とかいうチョンね
犯行現場に刃物やハンマーが残されてたと聞いて

て          【2016年 3月11日】
っ          ADVANCED大戦略 テキダンヘイ39
き          http://potato.2ch.net/test/read.cgi/game/1447069423/999
り          > 999 名前:名無しさんの野望[] 投稿日:2016/03/11(金) 12:52:41.46 ID:hmD+sBrQ
鈴          > 南とかいう人間じゃないって何度書いても理解できない精神発達遅滞者にパソコン
木          > 与えてる成年後見人は誰だよ全く
            >
ド          > こいつのせいで2001又は5以降AD大戦略が作って貰えなくなったと思うと本当に殺したく
イ          > なるは。俺は昔から粘着気質でどこまでもいつまでもあきらめずに調べ続けるタチやから
ツ          > 調べ上げて DIYセンター で 斧 か ハ ン マ ー で も 買 っ て 頭 カ チ 割 る の が今の夢かな
容          > 状況判断的にSSαかセガから調べると早そうだ

者 秋葉通り魔(36)   卒業アルバム
が > http://livedoor.blogimg.jp/surumeinu/imgs/a/c/ac02ef9e.jpg
ア 刺殺された長男(51) 仕事の依頼で描いたなんらかのロボット
ド  > https://moekoblog.com/wp-content/uploads/2019/06/0404619e-s.jpg
バ 鈴木ドイツ(58)  コイツの趣味= ナ  チ  ス  および第二次世界大戦
ン > http://o.5ch.net/eosw.png http://o.5ch.net/eouo.png http://o.5ch.net/er4x.png http://o.5ch.net/en8s.png




略スレに書いていた殺害予告をとうとう実行したのだなと思ったよね

最近ではゲーセン板の栃木スレで特定人物に対して執拗に「死ぬ」「殺す」などのワードを含んだ脅迫文を毎日繰り返し書いているらしい
   https://medaka.5ch.net/test/read.cgi/gecen/1560508236/6

なんにしても予備軍どころでは済まされないようなキチガイ犯罪予備軍が中年〜壮年層にゴロゴロいるっていう事よ、みんなどうするよ?
0277名無しさん@お腹いっぱい。 (アウアウウーT Sacf-iGr7)垢版2019/07/30(火) 20:52:26.01ID:88nhTZOna
バックグラウンドにわざわざボタンを出してそれを押す意味とは?
そのタイミングで直にボタンを押された後の処理をすればいいだけでは?
どういうシチュエーションでそれが必要になるのか想像できない
0278名無しさん@お腹いっぱい。 (ササクッテロル Sp23-I05x)垢版2019/07/30(火) 21:44:40.15ID:sP0IFLhpp
すみません意味不明でしたね
やりたい事をちゃんと説明しますと
お絵描きソフトで専用のツールパレットを作りたくて
GUIでボタンを並べてキーを送信するようにしました
でもボタンを押すと一瞬GUIがアクティブになるので
ボタンの命令の最初にお絵描きソフトをアクティブに戻すようにしました
しかしそうするとレスポンスが悪いです
mousegestureLなどはターゲットのソフトがアクティブのまま
キーを送信できてるのでGUIのボタンもアクティブにならずに
キーを送信する方法があるのかと思いまして質問しました
0279名無しさん@お腹いっぱい。 (ワッチョイWW 8ae5-VSVx)垢版2019/07/30(火) 22:14:13.54ID:UN03LOZn0
アクティブにならない=ボタン押せない
ってことなんだけど意味分かってるんだろうか?
非アクティブなパレット作りたいなら
触れない透過ウィンドウでパレット風の画像を貼って
自力でマウスのポインタ位置とパレット画像の位置から差分で
押されたであろうボタンを割り出して処理する必要がある

自分なら面倒なのでホットキーかジェスチャーの割当一覧でも表示しておいて
ボタン操作は諦める
0281名無しさん@お腹いっぱい。 (アウアウウーT Sacf-iGr7)垢版2019/07/30(火) 22:48:55.96ID:88nhTZOna
あーボタンを押すのはプログラムではなくユーザーなのか

試してないからわからないが
GUIのウィンドウスタイルとして
WS_EX_TOOLWINDOWとか
WS_EX_PALETTEWINDOW(この場合はWS_EX_TOPMOSTを含んでる点に注意)を
設定したら行けそうな気もする

拡張ウィンドウスタイル
http://ahkwiki.net/Styles

(Unnamed ExStyle)
https://www.autohotkey.com/docs/commands/Gui.htm#Controls_Uncommon_Styles_and_Options
0283名無しさん@お腹いっぱい。 (ワッチョイ 8e73-tP4r)垢版2019/07/31(水) 00:03:12.56ID:J1PR6W6m0
ちょっと質問です。

PhraseExpress と autohotkey を並行して動作させることは可能でしょうか。

試したところ、phaseexpress で 「ぬるぽぬるぽ」="np;" を定義して
np; をタイプすると np;ぬるぽ が表示されます。
np; がバックスペースで消去されて、「ぬるぽぬるぽ」に
置き換わってほしいのですが、そうはならないようです。

autohotkey でキーフックしているキーを phaseExpress で使うことは
できないのでしょうか。
0287名無しさん@お腹いっぱい。 (ワッチョイ 8e81-tP4r)垢版2019/07/31(水) 12:35:41.67ID:7ejrOIYH0
>>285
autohotkey で提供しているのは、親指シフト・エミュレータです。
そして、PhraseExpress を並行して使いたいと考えておられるのは、
この親指シフト・エミュレータのユーザです。

>>286
これですね。ありがとうございました。試してみます。
http://ahkwiki.net/Hotkeys
イベントを乗っ取らず、そのままシステムに通す。(NT系専用)
例: ~*a::SoundPlay,D:\AutoHotkey\typesound.wav Aキーが押されたときにサウンドを鳴らす。
0288名無しさん@お腹いっぱい。 (ワッチョイWW 8ae5-v5Ce)垢版2019/07/31(水) 12:45:26.71ID:rsrLpJYL0
その親指シフト・エミュレータスクリプトにPhraseExpress 相当の機能を盛り込むのはダメなの?
ホットストリング使えば比較的楽に実装できると思うけど
(改行含むテンプレは工夫する必要があるかもしれんが)
0291名無しさん@お腹いっぱい。 (ワッチョイ 6b76-KIok)垢版2019/07/31(水) 19:12:45.91ID:qcKL+brg0
【八岐の】孕ませちゃうぞ!!【ちんこ】
https://egg.5ch.net/test/read.cgi/game/1564489966/1-

1 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:32:46.58 ID:f5SDCqKZ
逮捕しちゃうぞの作者にカバーデザイン頼んだが断れられた

2 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:38:14.95 ID:XaAESd3N
お前1日中PCゲーム板に貼り付いてある時はゴミスレ立てて
またある時は南人彰ネタで荒らして… よほど暇なんだねw

3 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:42:12.17 ID:gIwacsld
ほんそれ
いい歳こいて親の金で生きてるって情けないと思わない?テメェの食い扶持ぐらいテメェで稼げよボケ!>鈴木ドイツ

さっさと自殺するなり自力で安楽死するなりしろカスw
----------------------------
●自作自演容疑者リスト   鈴木あきら (ペンネーム:鈴木ドイツ) 

 北海道札幌市出身 昭和36年生まれ・58歳・無職・ひきこもり・独身・年金未納者 【要注意】>>>通り魔予備軍<<<【要注意】

    電通・TBS系下請け末端ネット工作員

●2ちゃんねるでのおもな犯行
・テレビ番組板で石橋貴明さんを誹謗する内容のスレを大量に立てて自作自演で保守している犯人
・爆報THEフライデースレで田原俊彦さん、笑点スレで林家三平さん、ヒルナンデススレで南原清隆さんを執拗に攻撃しているのもコイツ
・代表的な著書:『大戦略マスターコンバット』 ←中卒作家(自称)に相応しいすさまじいクソゲーw
・昭和36年生まれ、北海道札幌市生まれ(昭和30年代生まれは中卒は当たり前だった)
・●●ドリームキャストマガジンというゲーム情報雑誌のアドバンスド大戦略のページでナチスの軍服を着て写真掲載にのぞむなど危険な思想を持つ●●
・生涯のライバルは岡野哲氏(ファミ通出版社のホストを使って2ちゃんねるへ殺害予告を書いたこともあるぐらい彼を強く意識している)→要検索
・黒子のバスケ脅迫事件の犯人と同性質で、攻撃対象者のみならずその家族にまで脅迫をする
・レトロフリークやレトロゲームのミニ版を各スレでひっきりなしに宣伝して回っている
・レトロフリークの端子部がすぐ折れ曲がる欠陥があった時口汚く火消しに奔走していたのもコイツである
0292名無しさん@お腹いっぱい。 (ワッチョイ 8e73-tP4r)垢版2019/07/31(水) 23:59:59.56ID:J1PR6W6m0
>>288
PhraseExpress は、かなり高機能でGUIも凝っています。
これをそのまま autohotkey のスクリプトで実現するのは骨が折れます。

それに、ユーザさんのご希望は、"PhraseExpress を親指シフト環境でも使い続けたい"
というものなので、PhraseExpress 相当の機能を盛り込んでも、使ってはもらえないとおもいます。

ユーザさんにインタビューしたところ、
PhraseExpressについては、IMEの直接入力モードで動作すれば足りるようです。

つまり、IMEの直接入力モードのときには、Hotkeyコマンドで、各ホットキーをOFFすれば
PhraseExpress が問題なく動作すると考えられます。

IMEのひらがな/全角カタカナ/半角カタカナ/全角英数/半角英数のときには
HotKeyコマンドで、各ホットキーをONすれば、親指シフトをエミュレートできます。
その代わり、PhraseExpressは動作しなくなりますが、
制限事項として容認してもらえるとおもいます。

問題は、Dvorak配列のエミュレートのように、
直接入力であってもホットキーをONしたい場合ですが、
このような使われ方は稀なので、制限事項として容認してもらえると考えました。
0293名無しさん@お腹いっぱい。 (ワッチョイ 05b1-dfB4)垢版2019/08/01(木) 01:37:41.64ID:wlpN6fyQ0
【八岐の】孕ませちゃうぞ!!【ちんこ】
https://egg.5ch.net/test/read.cgi/game/1564489966/1-

1 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:32:46.58 ID:f5SDCqKZ
逮捕しちゃうぞの作者にカバーデザイン頼んだが断れられた

2 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:38:14.95 ID:XaAESd3N
お前1日中PCゲーム板に貼り付いてある時はゴミスレ立てて
またある時は南人彰ネタで荒らして… よほど暇なんだねw

3 名前:名無しさんの野望[sage] 投稿日:2019/07/30(火) 21:42:12.17 ID:gIwacsld
ほんそれ
いい歳こいて親の金で生きてるって情けないと思わない?テメェの食い扶持ぐらいテメェで稼げよボケ!>鈴木ドイツ

さっさと自殺するなり自力で安楽死するなりしろカスw
----------------------------
●自作自演容疑者リスト   鈴木あきら (ペンネーム:鈴木ドイツ) 

 北海道札幌市出身 昭和36年生まれ・58歳・無職・ひきこもり・独身・年金未納者 【要注意】>>>通り魔予備軍<<<【要注意】

    電通・TBS系下請け末端ネット工作員

●2ちゃんねるでのおもな犯行
・テレビ番組板で石橋貴明さんを誹謗する内容のスレを大量に立てて自作自演で保守している犯人
・爆報THEフライデースレで田原俊彦さん、笑点スレで林家三平さん、ヒルナンデススレで南原清隆さんを執拗に攻撃しているのもコイツ
・代表的な著書:『大戦略マスターコンバット』 ←中卒作家(自称)に相応しいすさまじいクソゲーw
・昭和36年生まれ、北海道札幌市生まれ(昭和30年代生まれは中卒は当たり前だった)
・●●ドリームキャストマガジンというゲーム情報雑誌のアドバンスド大戦略のページでナチスの軍服を着て写真掲載にのぞむなど危険な思想を持つ●●
・生涯のライバルは岡野哲氏(ファミ通出版社のホストを使って2ちゃんねるへ殺害予告を書いたこともあるぐらい彼を強く意識している)→要検索
・黒子のバスケ脅迫事件の犯人と同性質で、攻撃対象者のみならずその家族にまで脅迫をする
・レトロフリークやレトロゲームのミニ版を各スレでひっきりなしに宣伝して回っている
・レトロフリークの端子部がすぐ折れ曲がる欠陥があった時口汚く火消しに奔走していたのもコイツである
0294名無しさん@お腹いっぱい。 (ワッチョイ cd58-7ShF)垢版2019/08/01(木) 02:02:12.83ID:3twbqCEv0
>>292
お前は要点を簡潔に書くこと出来ねえのかよ
しかも言ってることがトンチンカンすぎ
お前は>>283
>np; がバックスペースで消去されて、「ぬるぽぬるぽ」に
>置き換わってほしい
と書いたんだから、じゃあその機能はAHKのホットスリングでやれば簡単にできるだろって話
それ以外の他の機能のことなんて一切書いてないんだから知らねえよw
0295名無しさん@お腹いっぱい。 (ワッチョイ ab73-ONUK)垢版2019/08/01(木) 23:09:05.68ID:MQwmWyWq0
いちおう >>292 で考えていたことのプロトタイプは動きました。
IMEをON したときには、aキーをタイプすると u を出力してIMEに「う」と変換させます
IMEをOFF したときには、キーフックoffして、
aキーをタイプすると、そのまま aを出力します。
このときには PhraseExpress が動く筈です。

本番ではもっと細かくIMEのモードを判定するのですが、
動作確認用プロトタイプなのでここまでにしました。

このソースを動かすには、ime.ahk を同一フォルダに入れてください。
------ 以下は autohotkey のソース ----
SetTimer Interrupt10,10
hotkey,a,Label_a
return

Interrupt10:
vImeMode := IME_GET() & 32767
if(vImeMode = 0)
{
hotkey,a,off
} else {
hotkey,a,on
}
return

Label_a:
send,u
return
#include IME.ahk
0298名無しさん@お腹いっぱい。 (ワッチョイ cd73-M93O)垢版2019/08/02(金) 14:02:49.33ID:7//panOr0
京都アニメを放火したのって
みんなも 犯人は  鈴 木 ド イ ツ し か い な い と 思 っ た よ ね 。次点で南 人 彰とかいうチョンね
犯行現場に刃物やハンマーが残されてたと聞いて

て          【2016年 3月11日】
っ          ADVANCED大戦略 テキダンヘイ39
き          http://potato.2ch.net/test/read.cgi/game/1447069423/999
り          > 999 名前:名無しさんの野望[] 投稿日:2016/03/11(金) 12:52:41.46 ID:hmD+sBrQ
鈴          > 南とかいう人間じゃないって何度書いても理解できない精神発達遅滞者にパソコン
木          > 与えてる成年後見人は誰だよ全く
            >
ド          > こいつのせいで2001又は5以降AD大戦略が作って貰えなくなったと思うと本当に殺したく
イ          > なるは。俺は昔から粘着気質でどこまでもいつまでもあきらめずに調べ続けるタチやから
ツ          > 調べ上げて DIYセンター で 斧 か ハ ン マ ー で も 買 っ て 頭 カ チ 割 る の が今の夢かな
容          > 状況判断的にSSαかセガから調べると早そうだ

者 秋葉通り魔(36)   卒業アルバム
が > http://livedoor.blogimg.jp/surumeinu/imgs/a/c/ac02ef9e.jpg
ア 刺殺された長男(51) 仕事の依頼で描いたなんらかのロボット
ド  > https://moekoblog.com/wp-content/uploads/2019/06/0404619e-s.jpg
バ 鈴木ドイツ(58)  コイツの趣味= ナ  チ  ス  および第二次世界大戦
ン > http://o.5ch.net/eosw.png http://o.5ch.net/eouo.png http://o.5ch.net/er4x.png http://o.5ch.net/en8s.png




略スレに書いていた殺害予告をとうとう実行したのだなと思ったよね

最近ではゲーセン板の栃木スレで特定人物に対して執拗に「死ぬ」「殺す」などのワードを含んだ脅迫文を毎日繰り返し書いているらしい
   https://medaka.5ch.net/test/read.cgi/gecen/1560508236/6

なんにしても予備軍どころでは済まされないようなキチガイが高年層にゴロゴロいるって事。これは安楽死法案を求めての犯行なのでは?
0301名無しさん@お腹いっぱい。 (ワッチョイ d5b1-dfB4)垢版2019/08/06(火) 18:43:46.55ID:3SL5AHge0
■■■PS2史上最悪の欠陥品にご注意ください■■■

http://ages.sega.jp/information.html
『SEGA AGES 2500 Vol.22 アドバンスド大戦略 〜ドイツ電撃作戦〜』バランス調整版交換に関するお知らせ

平成18年5月22日
株式会社セガ

平素は弊社商品をご愛顧頂きまして、誠にありがとうございます。
先般ご案内致しました、弊社発売のプレイステーション2用ゲームソフト『SEGA AGES 2500 Vol.22 アドバンスド大戦略 −ドイツ電撃作戦−」における、アルゴリズムを調整しなおしたバランス調整版の交換方法につきまして下記の通りご案内申し上げます。


【調整版における変更の内容】
1. CPUアルゴリズムの調整・・・・・・・・・・・敵がプレイヤーを無視してMAP左斜め上に行軍してゲ一ムにならないというPS2史上最悪の欠陥
2. 戦闘画面の「DEFENCE」表示を修正
3. 戦闘結果計算アルゴリズムの調整・・・・・南人彰が攻撃力と防御力のデ一タをあべこべに算出するよう打った。早い話、すべてのデ一タデタラメ。
4. 都市回復力のバランス調整

※セーブデータは引継ぎ可能です。
SEGA AGES 2500 シリーズ Vol. 22 アドバンスド大戦略 −ドイツ電撃作戦--
【交換方法につきまして】
[1] まず、下記の要領にてお送りください。
※ お持ちのゲ一ムディスクの印刷面が「青色」であれば、そのディスクは調整版です。
お送りにならないよう、ご注意ください。
─----------------------------------
欠陥を故意に出した犯人の名前は韓国人通名の元セガ社員、南人彰容疑者
セガエイジス担当の奥成氏に恥をかかせる目的で犯行に及んだキチガイ通名韓国人

2ちゃんねるで芸能人を誹謗中傷している鈴木ドイツ(鈴木あきら)容疑者はアドバンスド大戦略好きで
ドリームキャストの雑誌でアドバンスド大戦略についてコラムを書いた事もある(ナチスの軍服を着用して著者近影の撮影にのぞんでおり、そこからどういう人間かが伺い知れる)

ただ、どっちが改竄した犯人かわからないが、wikipediaに書いてあったはずのこの欠陥項目は現在バッサリ削除されているので皆さんは悪質な犯罪者および欠陥品にご注意下さい
0304名無しさん@お腹いっぱい。 (ワッチョイ 8511-dfB4)垢版2019/08/06(火) 19:31:04.03ID:2Vnf8Yu00
■■■PS2史上最悪の欠陥品にご注意ください■■■

http://ages.sega.jp/information.html
『SEGA AGES 2500 Vol.22 アドバンスド大戦略 〜ドイツ電撃作戦〜』バランス調整版交換に関するお知らせ

平成18年5月22日
株式会社セガ

平素は弊社商品をご愛顧頂きまして、誠にありがとうございます。
先般ご案内致しました、弊社発売のプレイステーション2用ゲームソフト『SEGA AGES 2500 Vol.22 アドバンスド大戦略 −ドイツ電撃作戦−」における、アルゴリズムを調整しなおしたバランス調整版の交換方法につきまして下記の通りご案内申し上げます。


【調整版における変更の内容】
1. CPUアルゴリズムの調整・・・・・・・・・・・敵がプレイヤーを無視してMAP左斜め上に行軍してゲ一ムにならないというPS2史上最悪の欠陥
2. 戦闘画面の「DEFENCE」表示を修正
3. 戦闘結果計算アルゴリズムの調整・・・・・南人彰が攻撃力と防御力のデ一タをあべこべに算出するよう打った。早い話、すべてのデ一タデタラメ。
4. 都市回復力のバランス調整

※セーブデータは引継ぎ可能です。
SEGA AGES 2500 シリーズ Vol. 22 アドバンスド大戦略 −ドイツ電撃作戦--
【交換方法につきまして】
[1] まず、下記の要領にてお送りください。
※ お持ちのゲ一ムディスクの印刷面が「青色」であれば、そのディスクは調整版です。
お送りにならないよう、ご注意ください。
─----------------------------------
欠陥を故意に出した犯人の名前は韓国人通名の元セガ社員、南人彰容疑者
セガエイジス担当の奥成氏に恥をかかせる目的で犯行に及んだキチガイ通名韓国人

2ちゃんねるで芸能人を誹謗中傷している鈴木ドイツ(鈴木あきら)容疑者はアドバンスド大戦略好きで
ドリームキャストの雑誌でアドバンスド大戦略についてコラムを書いた事もある(ナチスの軍服を着用して著者近影の撮影にのぞんでおり、そこからどういう人間かが伺い知れる)

ただ、どっちが改竄した犯人かわからないが、wikipediaに書いてあったはずのこの欠陥項目は現在バッサリ削除されているので皆さんは悪質な犯罪者および欠陥品にご注意下さい
0306名無しさん@お腹いっぱい。 (ワッチョイ 81bc-vqjO)垢版2019/08/18(日) 08:38:30.73ID:dgvFBP0c0



シエ
 東
  マ
  ン
   シ
    ョ
    ン
    神
   隠
   し
  殺
  人
 事
件              い く ら I D を 偽 っ て も 、 チ ョ ン 臭 さ と 根 の 暗 さ は 変 え ら れ な い 














株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  根の暗い自作自演工作なんてやめて 遊  ぼ  う  ぜuu
0307名無しさん@お腹いっぱい。 (ワッチョイ d1cf-fkBG)垢版2019/08/19(月) 03:18:03.68ID:/TODY0uT0
>>9の対策パッチですが現在どこで手に入りますか?
Windows10を再インストールしたら昔保存していたEnableUIAccess.ahkを使っても効果が無くなってしまいました。
0308名無しさん@お腹いっぱい。 (ワッチョイ b9a1-vqjO)垢版2019/08/19(月) 11:26:56.36ID:g68QXlwb0



シエ
 東
  マ                こんなネット工作しにくい状況下で自作自演なんかしてどうするつもりだい?人彰くん
  ン
   シ
    ョ
    ン
    神
   隠
   し
  殺
  人
 事
件              い く ら I D を 偽 っ て も 、 チ ョ ン 臭 さ と 根 の 暗 さ は 変 え ら れ な い 






入            なんなら自作自演ネット工作を営業妨害されたとかで告訴してもいいんだよボンクラ人彰くんw







株  式  会  チ  キ  ン ヘ  ッ  ド の  ミ  ナ  ミ  ヒ  ト  ア  キ  根の暗い自作自演工作なんてやめて 遊  ぼ  う  ぜkt
0310名無しさん@お腹いっぱい。 (ワッチョイ fb6c-vqjO)垢版2019/08/19(月) 19:30:15.82ID:x+7Yv8mr0
真・セガサターン総合スレ [無断転載禁止](c)2ch.net
https://medaka.5ch.net/test/read.cgi/game90/1469246499/629-630


629 名前:せがた七四郎[sage] 投稿日:2019/08/19(月) 15:35:56.10 ID:49tARyAI
コピペ馬鹿がソフトウェア板にニートタイムに書き込んでいてワロタw

630 名前:せがた七四郎[] 投稿日:2019/08/19(月) 18:46:12.62 ID:LMwdgPMX
悔しい気持ちは分かるが

ニートタイムにソフトウェア板














ト工作してるバカが誰かを知ってるのは   

                 刑事さんなんだよ>株式会社チキンヘッドのボンクラ朝鮮人の南人彰くん

嘘だと思うんだったら被害届出して証拠を提示してもいいし

君が自殺または殺害されればソフトウェア板のネット工作が止まるhhwaga
0311名無しさん@お腹いっぱい。 (ワッチョイ 49b1-FfMw)垢版2019/08/21(水) 08:17:08.13ID:7pDdH3h+0
オブジェクトのパラメータをうまく関数に渡せないのですが…

obj := Object()
obj["xxxx"] := "エックス"
obj.yyyy := "ワイ"

myFunc(arg1, arg2, arg3) {
global
Send, 第1引数は『%arg1%』
Send, 第2引数は『%arg2%』
dai3 := obj[%arg3%]
Send, 第3引数で取り出した中身は『%dai3%』
Return
}

F1:: myFunc(obj["xxxx"], obj.yyyy, "xxxx")

これでF1を押しても
第1引数は『』第2引数は『』第3引数で取り出した中身は『』
と出るだけで…
0315名無しさん@お腹いっぱい。 (ワッチョイ 113b-vqjO)垢版2019/08/21(水) 17:43:52.98ID:VPHC843o0
:]w毎日熱中症対策で頭に巻いてるタオルから生乾き臭がする株/式/会/社/チ/キ/ン/ヘ/ッ/ド/のボンクラチョーセンジンの南ひ/と/あ/き/?


























どうせ青葉みたいに独りよがりな思い込みで勝手に恨み抱いてんだろうな

15年も前からずっと粘着してる子供部屋おじさんとか完全に末期だろw

自殺したほうがいいよba
0317311 (ワッチョイ 5db1-LWMi)垢版2019/08/22(木) 04:10:51.19ID:4UzFImrr0
>312
あ、これだけを新規ファイルに移したらできました…!
どうやら他に色々書いてるコードとの兼ね合いでおかしくなってるようですが、
一体何のせいで動かなくなっているのかがわからない… 特に衝突しそうなコードは見当たらないし…
変数名を変えても同じなので変数名のせいではないとして…
0320名無しさん@お腹いっぱい。 (ワッチョイ d5be-gQHD)垢版2019/08/23(金) 02:17:48.68ID:XwLuw69/0
,,> 全
> 部
> 自
> 分
> に
> 当
> て
> 嵌
> ま
> っ
> て
> る
> の
> が
> ま
> ぁ
> ア
> レ
> な
> 人
> の
> 特
> 徴
> な
> ん
> で
> し
> ょ
>
> 青葉と宮崎のハイブリッド それが○株○式○会○社○チ○キ○ン○へ○ッ○ド○のチョウセンヒトモドキ 南ひとあき たるゆえん
0322名無しさん@お腹いっぱい。 (ワッチョイ 7a63-gQHD)垢版2019/08/24(土) 23:19:00.44ID:xUJhw3CT0
v全
> 部
> 自
> 分
> に
> 当
> て
> 嵌
> ま
> っ
> て
> る
> の
> が
> ま
> ぁ
> ア
> レ
> な
> 人
> の
> 特
> 徴
> な
> ん
> で
> し
> ょ
>
> 青葉と宮崎のハイブリッド それが○株○式○会○社○チ○キ○ン○へ○ッ○ド○のチョウセンヒトモドキ ミナミヒトあき たるゆえん
0324名無しさん@お腹いっぱい。 (ワッチョイ d644-gQHD)垢版2019/08/27(火) 05:41:09.16ID:RgkWX4N60
/i/|ii!//|!/!i/´i/   .|i |/ノ        i\i!゙、:iヽ|:::|  ヽ 'i  ! ヾi |'!ヽ::::||::::::/:::::::::::::::::::::ヽ
i i 川i!ハ/" _!   | │        川 ヾ:ii ゙'∨     |    ゙ヾiヽヽ;||:::::i':::::::::::::::::::::::::
ノ ノ/リ,,,,,,二三テ=''" ヽノ        ル |ノノヽヾ ノ  、,,,ノ,、     iヽ:::||:::::i'::::::::::::::::::::::::::::
 /   ̄ ´~~゙''''    ゙''‐- ..,,         ,, ‐'    `゙ヾミッ、,,   ヽ::|::::/::::::::::::::::::::::::::::
,,イ|                i'        i"         `'‐='   `'|/i!:::::i::::::::::::::::::::::::
 i | :::::::ヽ::::ヽ::::::ヾ::    ゙、        l       〃:::::       i//::::ハ::::::::::::::::::i:::
  i i \\\\\ヽ     )       ヽ        ′′′   / /:::::/:::::::::::::::::::|::::
!  | i            ,,ィノ         <         :::: :    /:::::/:::::::::::::::::::/::::
i!  i i!            /i/    ,r''''‐y'''.;、  \             /:::::/:::::/::::::::::::/:::::
゙i!  | i          /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i           /::::::/::::::/::::::::::::/::::/i
 i  i ゙!         ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r''          /:::::::/::::::/::::::::::::/:::://
゙、ii! ゙| i           ノ  ゝ;;;:::::::::::::::::::;ノ 。 `i          //:::::/:::::/::::::::::::/::::::/:::
ヾ!トl ゙iU          i  。l '゛..  ‐ー:::::i    |         //::::::/::::::/::::::/:::/:::::i!::::::
 iiミ! ハ             i  l ,,,,::: :::;;;;;...{ ° ゙、       //::::://::::/::::::/:::::/::::i::::ii::
 i!ヾ!i ゙、!         , '  |::: ::::ヽ   ..}     |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
 !ヽヾi  i゙、  ___,,,/   }:: :  ;;;::: ::::::::}     レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
0325名無しさん@お腹いっぱい。 (ワッチョイ d644-gQHD)垢版2019/08/27(火) 05:41:21.23ID:RgkWX4N60
/i/|ii!//|!/!i/´i/   .|i |/ノ        i\i!゙、:iヽ|:::|  ヽ 'i  ! ヾi |'!ヽ::::||::::::/:::::::::::::::::::::ヽ
i i 川i!ハ/" _!   | │        川 ヾ:ii ゙'∨     |    ゙ヾiヽヽ;||:::::i':::::::::::::::::::::::::
ノ ノ/リ,,,,,,二三テ=''" ヽノ        ル |ノノヽヾ ノ  、,,,ノ,、     iヽ:::||:::::i'::::::::::::::::::::::::::::
 /   ̄ ´~~゙''''    ゙''‐- ..,,         ,, ‐'    `゙ヾミッ、,,   ヽ::|::::/::::::::::::::::::::::::::::
,,イ|                i'        i"         `'‐='   `'|/i!:::::i::::::::::::::::::::::::
 i | :::::::ヽ::::ヽ::::::ヾ::    ゙、        l       〃:::::       i//::::ハ::::::::::::::::::i:::
  i i \\\\\ヽ     )       ヽ        ′′′   / /:::::/:::::::::::::::::::|::::
!  | i            ,,ィノ         <         :::: :    /:::::/:::::::::::::::::::/::::
i!  i i!            /i/    ,r''''‐y'''.;、  \             /:::::/:::::/::::::::::::/:::::
゙i!  | i          /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i           /::::::/::::::/::::::::::::/::::/i
 i  i ゙!         ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r''          /:::::::/::::::/::::::::::::/:::://
゙、ii! ゙| i           ノ  ゝ;;;:::::::::::::::::::;ノ 。 `i          //:::::/:::::/::::::::::::/::::::/:::
ヾ!トl ゙iU          i  。l '゛..  ‐ー:::::i    |         //::::::/::::::/::::::/:::/:::::i!::::::
 iiミ! ハ             i  l ,,,,::: :::;;;;;...{ ° ゙、       //::::://::::/::::::/:::::/::::i::::ii::
 i!ヾ!i ゙、!         , '  |::: ::::ヽ   ..}     |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
 !ヽヾi  i゙、  ___,,,/   }:: :  ;;;::: ::::::::}     レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
0330名無しさん@お腹いっぱい。 (ワッチョイ 714f-cRT5)垢版2019/09/03(火) 20:34:51.92ID:XiUvhYth0
>>326
#IfWinActive を使わなくて良いんじゃない?
IfWinActive なら複数条件指定簡単にできるよ

F1::
SetTitleMatchMode, 2
IfWinActive YouTube ahk_exe chrome.exe
{
Msgbox, ChromeでYouTubeを開いてます
Return
}
IfWinActive YouTube ahk_exe firefox.exe
{
Msgbox, FireFoxでYouTubeを開いてます
Return
}
Send,{F1}
Return
0331名無しさん@お腹いっぱい。 (ワッチョイ 9ba8-cRT5)垢版2019/09/04(水) 00:49:20.05ID:TS7JVwL00
みなさまありがとうございます
簡単に言えば Chro && YouT のようにただ単純に
複数の「タイトル」でマッチングする方法が知りたかったんです
説明が下手ですみません
GroupAdd, test1, Chro
GroupAdd, test2, YouT
#If WinActive("ahk_group test1") && WinActibe("ahk_group test2")
先ほどはこんな方法で実現できましたが

>>330さんの方法で
F1::
 IfWinActive Chro
 {
  IfWinActive YouT
  {
   msgbox, テスト
  }
 }
こんな感じで可能でした
なにか無駄なことをしていたらご教示お願いします
0333名無しさん@お腹いっぱい。 (アウアウウーT Sa55-PNAg)垢版2019/09/04(水) 21:29:17.19ID:F6SnFQgGa
SetTitleMatchMode, RegEx
にすれば
#IfWinActive ^(?=.*Chro)(?=.*YouT).*$
でもいけるな

ところで
"Chro"と"YouT"が
"Chrome YouTube"
のように同一タイトル内にある場合なら
下の例は
SetTitleMatchMode, 2
にする必要があるのでは?

>>331

IfWinActive Chro
IfWinActive YouT
の両方が一致しているようなので
SetTitleMatchMode, 2
なのだろうか
0334名無しさん@お腹いっぱい。 (ワッチョイ 06a8-kyym)垢版2019/09/05(木) 04:07:25.88ID:pwekNu620
>>333
#If WinActive("Chro") && WinActive("YouT")
こちらが一番簡単でしたありがとうございます

SetTitleMatchMode, 2はIfWinActiveに対しては機能したんですが
#IfWinActiveはなぜか機能しなかったので
ファイルの上の方に記述してます
0335名無しさん@お腹いっぱい。 (ワッチョイ 3dbd-uegj)垢版2019/09/05(木) 13:00:25.25ID:Rn6bcm5H0
>>334
Auto-executeセクションに書いて初期値を変えると他の設定も変わってしまうので
#ifで色々処理したいなら関数を作ればいい
http://ahkwiki.net/Scripts

-------------------

SetTitleMatchMode 1 ; 実行される
return

F1::MsgBox % "F1 - " A_TitleMatchMode ; Mode1

SetTitleMatchMode 2 ; Auto-executeセクションではないので実行されない

#if Test(2)
F1::MsgBox % "if F1 - " A_TitleMatchMode ; Mode1
#if

Test(Mode=1) {
SetTitleMatchMode % Mode
IfWinActive A ; Mode2
return 1
IfWinActive A ; Mode2
return 1
}
0336名無しさん@お腹いっぱい。 (ワッチョイ e958-fUZA)垢版2019/09/11(水) 12:20:32.47ID:NVeVOa2E0
最近利用し始めたばかりの初心者で恐縮なのですが、次のような動作はできるでしょうか?

1.マウスカーソルを手動でAの座標に合わせる
2.とあるスレッドを実行する(カーソル移動や座標取得コマンドを使っている)
3.マウスカーソルをAの座標へコマンドで戻す

1と3だけなら「MouseGetPos,x0,y0」→「MouseMove,x0,y0」を使えばいいと思いますが、間で別座標を再取得しているため、「MouseMove,x0,y0」ではAに戻れません。
Aの座標を取得し、別の座標でMouseGetPosが使われても記憶したままにしておき、後からAの座標へ移動という事をしたいのですが…
0338名無しさん@お腹いっぱい。 (ワッチョイ 2233-kyym)垢版2019/09/11(水) 12:42:31.40ID:P2eX/i3r0
>>336
1.と3.で「MouseGetPos,x0,y0」→「MouseMove,x0,y0」を使ったなら
2.では「MouseGetPos,x1,y2」→「MouseMove,x1,y1」などを使えばいいだけ

別にx1,y2じゃなくても何だって良い
とにかく「x0,y0」を2.で使わなきゃいいだけ
0342名無しさん@お腹いっぱい。 (ワッチョイ b1c1-Ms+D)垢版2019/09/21(土) 10:01:10.12ID:IU1wIXHW0
保守
0343名無しさん@お腹いっぱい。 (ワッチョイ fe73-9GzD)垢版2019/09/23(月) 10:57:38.48ID:qfHF9La20
ちょっと質問です。
autohotkeyのスクリプトをコンパイルして.exe化するときに、
画像リソースを .exe に含ませる方法をご存じでしたら
ご教示ねがいます。

別ファイルにして配布すると、フォルダ配置を間違えて実行して
画像が表示されないとか色々ありそうなので。
0344名無しさん@お腹いっぱい。 (ワッチョイ e292-Ms+D)垢版2019/09/23(月) 11:11:51.87ID:hj4W7B870
>>343
exeに含ませる方法は分からないけど、%A_ScriptDir% で画像のパスを指定すりゃ
他人のフォルダ配置を気にする必要ないんじゃね?
0346名無しさん@お腹いっぱい。 (ワッチョイ fe73-9GzD)垢版2019/09/23(月) 23:19:12.90ID:qfHF9La20
>>345
dクス、流石はautohotkeyですね。
普通にプログラマがやりたいことは、ちゃんと機能として持ってくれている。

設定用のウイザード画面を出すとき、
それだけじゃ寂しいので画像をつけたいという理由ですけどね。
0350名無しさん@お腹いっぱい。 (ワッチョイ 0638-Ms+D)垢版2019/09/24(火) 19:31:08.45ID:5h1Dr7QC0
>>349
配布したりポータブルで使ったり色々あるだろ
そんなことも想像できんのか
0351名無しさん@お腹いっぱい。 (ワッチョイWW 82e5-9eIW)垢版2019/09/24(火) 21:15:06.85ID:F9MfNW2G0
exe化したってネイティブバイナリに変換されるわけじゃなし
むしろ実行時にコードに戻して展開するぶんおそくなるまである

そういやオプソ隠してexeだけシェアウェアで売ってたキーカスタマイズソフトあったよな
24でベクターから削除された後どうなったんだっけ
0354名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/24(火) 22:03:27.97ID:3CjQc+EH0
>本ソフトウェアは、キー環境変更ソフトAutoHotkey附属コンパイラで作製しています。
>AutoHotkey作者の意向から、ライセンスの扱いに問題がないと判断しています。

だってさ〜
0357名無しさん@お腹いっぱい。 (ワッチョイ 0dcf-tKbs)垢版2019/09/24(火) 22:25:20.62ID:NRIFXNed0
また作者発狂かw
0362名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/24(火) 22:47:03.63ID:3CjQc+EH0
>>361
そんなこと知る訳ねえだろwww
別に詐欺ソフトを無理矢理押し売りしてるわけでもねえんだし
少し調べりゃ誰だって他のフリーソフトに辿り着けるんだから金払いたくない奴はそっち使えばいいだけだろw
お前は正義のヒーロー気取りにでもなってるつもりかそれ?w
0363名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 22:51:13.52ID:zzW/EO520
>>362
ここで指摘されるまでライセンスの記載していなかった以上、詐欺的と言われても仕方ないと思うがね
それとも何か、詐欺ソフトで押し売りじゃなければ問題ないと?
正義のヒーローとか話が飛躍しすぎ。お前に常識やモラルが欠落していると言うだけのことだ
そのいかにも頭悪そうなレスの書き方からも窺える
0364名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/24(火) 22:53:28.52ID:3CjQc+EH0
>>363
脳内妄想で作者認定とかしてる妄想ガイジの方がよほどモラル欠陥してんだろw
ライセンスの記載とか俺は細かいことは知らねえよw
ただ公式みたら
>AutoHotkey作者の意向から、ライセンスの扱いに問題がないと判断しています。
って書いてあったからそうなんだろw
0365名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 22:56:50.63ID:zzW/EO520
>>364
アホか。それは今の話だろ。ニワカは知ったかする前に過去スレ見てこい
AHKについてひと言も触れていなかったから、ここで問題になった
それで慌ててHPに記載して、同時にベクターからも削除した
経緯を知らないのに偉そうなモノの言い方をするな
0367名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:03:53.74ID:zzW/EO520
>>366
>ギャーギャー騒いでたのは知ってるが
その時にライセンスの記載が問題にされたのだから、お前が使ったことがあるかどうかは関係ない
騒がれたいたことを知っているならライセンス問題も自動的に知ってて当たり前
お前の主張は大いに矛盾する
言い訳にしてもあり得んくらいみっともないわ。無能の極みと言って何も差し支えないだろうよ
0369名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:07:09.97ID:zzW/EO520
>>368
全部って言うほどのレス数ではなかったんだがなー
やっぱり以前のこと知らずに適当こいてるとしか思えんわ
知ったかするからレスすればするほどボロが出る
もう1度書いてやるな。無能の極みと言って何も差し支えない
0371名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:11:06.29ID:zzW/EO520
>>370
つまり、知らないくせにアレコレ書き立てていると言うことか?
であれば、必死なのはお前の方なんだが?
何せ、知らないことのはずなのにしつこくレスするわけだから
質問形式にしてやるわ
細かい経緯は知らないんだろ?その程度のくせして、何でそんなにしつこいんだ?
納得できる回答じゃなければやり直しを求めるからそのつもりでな
0373名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:15:46.93ID:zzW/EO520
>>372
何の質問?
もしかして、誰に対して言ってるのかも明示されてないのに
>そんなに恨みつらみでもあるのか?
これ質問なのか?お前に対して?作者に対して?お前の質問の仕方が悪いだろ無能
意味不明だから回答不能と言いたいところだが、そんなものはどこにもないわ
今度から質問する時は、相手に伝わるような書き方を心掛けろ。いいな?
さて、こっちは答えたからお前も回答しろよ
0376名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:20:59.03ID:zzW/EO520
>>374
お前に対してと解釈することも可能だろ。お前の質問の仕方が悪いんだよ無能
で、それはすでに答えているだろ。見てないのか無能?どこでどう答えているかを抜き出せ
それから、こっちの質問に対する回答はまだか。無能もたいがいにせい
0380名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/24(火) 23:29:08.29ID:3CjQc+EH0
>そんなものはどこにもないわ

これだけで答えたつもりになってるならお前は相当な無能w
未回答が残ってるのもお前の方だし完全なブーメランw

早くなんで必死に作者叩いてるのか答えろよw
ライセンス記載はもう直ってんだろ?で?なんで未だにネチネチやってんの?w
0381名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:31:58.07ID:zzW/EO520
>>380
おいおい、追加で質問するなら、その前にこっちが聞いてることに答えろよ
それをしない限り、話は進まんぞ。やり直し
>こっちの質問に答えろよアスペw
とまで買いたくせに、こっちの複数の質問に対して1つしか答えないって無能の極みだろ
お前は自分で言っていることが自分でできないのか?これも質問な
やり直しだ。テンポ悪いから早くしろ
0383名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:35:16.10ID:zzW/EO520
>>382
そんなことは聞いていない。やり直し
こっちの質問にまともに答えられたら、お前が後出しのように聞いてきたことにも対応してやるから。な?
まず、ロクに答えていないお前の態度をどうにかしろ
0385名無しさん@お腹いっぱい。 (ワッチョイW 3d58-KNn0)垢版2019/09/24(火) 23:36:50.60ID:m/hBUOQr0
>>375
>客観的に見て気持ち悪い

いや気持ち悪いは主観だろ
俺も5ちゃん外の直接反論できない人間を叩くのは卑怯だと思うし嫌いだから
感情的には味方をしたいところだけど
自分が事情も知らずに主観だけで絡んでいってるってことが自分で理解できてないのは困るな
0386名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:37:34.20ID:zzW/EO520
>>384
そんなことは聞いていない。やり直し
こっちの質問にまともに答えられたら、お前が後出しのように聞いてきたことにも対応してやるから。な?
まず、ロクに答えていないお前の態度をどうにかしろ
都合が悪くて答えられないなら、そのように明確に都合が悪くて答えられないと書け
不愉快だがそれで納得してやるわ
0387名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/24(火) 23:39:21.17ID:3CjQc+EH0
キモいもんはキモいんだからしょうがねえだろw
お前誰かに似てるなーと思ったら立花とかいう目が言っちゃってる馬鹿チューバ―そっくりだなw

ほら俺の最初の質問さっさと抜き出してみろよ
ログも読めない程脳味噌沸騰してんのか?w
0388名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:42:06.70ID:zzW/EO520
>>385
そういう書き方をするから作者臭いと言われても仕方ないと思うんだけどねぇ

>>387
そんなことは聞いていない。やり直し
こっちの質問にまともに答えられたら、お前が後出しのように聞いてきたことにも対応してやるから。な?
次のレスで回答がなければ、もう都合が悪くて答えられないということでいいよな?
どうせ答えないだろお前?
0389名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/24(火) 23:45:09.58ID:3CjQc+EH0
そうか、俺の質問も読めないほど日本語理解力の低い馬鹿だったのねすまんすまん
じゃあ特別にもう一度書いてあげよう

なんでお前そんな必死に粘着してんの?
※ソースは>>368

これが俺の最初の質問であって後付けでも何でもないんだよボケw
ほらお前は最初の質問にすら答えてないんだからさっさと答えろよw
0390名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:46:44.74ID:zzW/EO520
>>389
粘着などしていない。以上、回答終了。

で、お前は相変わらずこっちの質問に答えていないのだが?
次のレスで回答がなければ、もう都合が悪くて答えられないということでいいよな?
どうせ答えないだろお前?
0392名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:50:44.77ID:zzW/EO520
>>391
何をもって粘着と言うのか、客観的かつ合理的な根拠を示せ
これが粘着と言うなら、お前がやってることも粘着じゃないのか?
俺とお前の違いを客観的かつ合理的な根拠をもって説明しろ
いずれも納得できる説明であることが必要最低条件な
お前の思い込みだけで粘着と言われても、お前の思い込みだろ?
他の人も書かれてるじゃないか、主観と客観の区別がついていないと
思い込みでアレコレ言われてもねぇ… 何の意味もないぞ
0394名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:54:56.24ID:zzW/EO520
>>393
>主観で語っちゃいけないルール
なら、粘着なんてのはお前が勝手に言ってるだけのことと言うことだな。それはそれで結構

>客観的に見て僻んでる奴らきめえってだけw
>客観的に見て気持ち悪いと言ってるだけ
と、散々書いといて
>主観で語っちゃいけないルール
ってのはどういうこと?客観的視点とか大嘘でハナからお前の思い込み満開だったってことか?
俺の理解を超えるから、整合性の取れる説明をしろよ無能
0396名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/24(火) 23:59:52.28ID:zzW/EO520
>>395
それはお前の主観だろ。アホかよ。ホント無能の極みだな
議論の当事者でありながら客観的視点と言うなら、お前じゃない世間一般の根拠のあるものを持ってこい
やっぱりお前、主観と客観の区別がついてないわ
これで他人に日本語がとか笑えるわ〜
0398名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/25(水) 00:04:51.45ID:QktKVjlM0
>>397
>客観的に(お前らの書き込みを)見て
ここに客観的なんてのは不要。意味がない。その後、お前の主観で感想を述べるのだから

>俺の主観で)気持ち悪いと思いました
と書いてる以上は、お前の主観以外の何物でもない

いちからせつめいしないとダメか?
0402名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/25(水) 00:10:35.40ID:QktKVjlM0
>>399
やっぱり分かってないな。無能はどこまでも無能よ
>俺が俺の主観で語っ
た瞬間に、お前のスタンスは客観的ではなくなるんだよ。だから
>お前や作者のことを客観的に見てる
ということはあり得ない。主観で語った以上は、客観視などできていないと言う証

自分で書いてて支離滅裂だと分からない……のだろうな
分かってたら、こんな屁理屈にもなってないアホレスなんかできるわけないもんな
0403名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/25(水) 00:16:26.12ID:Qj2l9jO10
>>402
バカかこいつwwww
客観的って言葉と主観って言葉がどこに対して掛かってるのか考えられないほど知能低いのか?w

客観的って言葉はあくまで「作者とお前を当事者」としてそれに対する「客観的」立場の意見って意味だぞ?
第三者の主観=客観的ってことすら理解出来ないのか?w
0406名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/25(水) 00:23:25.64ID:QktKVjlM0
>>403
>第三者の主観=客観的
何このトンデモ理論(笑)
第三者の主観はどこを取っても主観であって、客観的視点ではない

客観的-特定の立場にとらわれず、物事を見たり考えたりするさま。


明確な落ち度のあった作者の批判は皆無どころか、擁護するような立ち位置で、なおかつ
作者に批判的なレスに対して
>お前らってほんと他人に妬み嫉みばっかだなw
>僻んでる奴らきめえってだけw
>気持ち悪いと言ってるだけ

どこをどう取っても
>特定の立場にとらわれず、物事を見たり考えたりするさま。
になってないので、お前の主張は
>「客観的」立場の意見
になっていないのだよ。ホントに無能だな〜
0408名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/25(水) 00:32:59.33ID:QktKVjlM0
>>407
>その意見が俺の主観なのは当たり前
それは
>「客観的」立場の意見
ではない。ばかなの?お前でも理解できそうなサイトから引用すると
99bako.com/1026.html
>【主観的】自分だけが納得できる意見
>【客観的】誰もが納得できる事実

>「客観的」とは、調査データなどが存在したり数値で測れるため、誰もが納得できるものの見方で、
>自分の意見と他人の意見はほぼ一致します。

お前は意見はもちろん、視点も客観的なものではない
しかし、必死だな〜 お前の方がよっぽど必死こいてるよなぁ
0411名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/25(水) 00:41:51.92ID:QktKVjlM0
>>409
スマンね。いや、自分もここまでしつこくされるとは…ってな所。粘着って言いたいのはホントこっちなんだけどね
少なくとも、ここでライセンスのことが指摘されて、HP修正・ベクターから削除という事実はあるわけで
作者がここ見てることは確実なんだよな

>>410
>俺は作者の立場になって意見したわけでも何でもない
残念ながら、お前のその主張もお前の主観に過ぎない
>【客観的】誰もが納得できる事実
ではないな。よって該当してるとか片腹痛い
ところで、お前、こっちの質問の未回答残ったままなんだが?答えるつもりないよな?
>こっちの質問に答えろよアスペw
とまで書くような奴が、こっちの質問からは逃げるのか?これも質問だぞ。逃げるなよ
0412名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/25(水) 00:44:26.78ID:Qj2l9jO10
>>411
言葉は複数の意味を持つの知ってるか?
>【客観的】誰もが納得できる事実
必ずしもこれだけが「客観的」の意味ではない

>客観的-特定の立場にとらわれず、物事を見たり考えたりするさま。
これも客観的の意味なのだから俺の意見は客観的意見
0413名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/25(水) 00:46:30.00ID:QktKVjlM0
>>412
>これも客観的の意味なのだから俺の意見は客観的意見
これまた残念ながら、お前のスタンスが
>客観的-特定の立場にとらわれず、物事を見たり考えたりするさま。
になってるとは思えないから、その意見は大間違い

ところで、お前、こっちの質問の未回答残ったままなんだが?答えるつもりないよな?(2回目)
>こっちの質問に答えろよアスペw
とまで書くような奴が、こっちの質問からは逃げるのか?これも質問だぞ。逃げるなよ
0415名無しさん@お腹いっぱい。 (ワッチョイ ae89-Ms+D)垢版2019/09/25(水) 00:49:10.54ID:Qj2l9jO10
>>413
>>客観的-特定の立場にとらわれず、物事を見たり考えたりするさま。
>になってるとは思えない

↑これはお前の主観でしかないからその意見は大間違い

そもそも俺がしつこいんじゃなくてお前がしつこいからこうなってんだろw
0416名無しさん@お腹いっぱい。 (ワッチョイ a5f0-Ms+D)垢版2019/09/25(水) 00:53:26.59ID:QktKVjlM0
>>415
つまり意見がぶつかる時点で客観的ではということだ
お前の主張はどこまで言ってもお前の主観でしかない
お前に客観的視点からの主張は皆無

ところで、お前、こっちの質問の未回答残ったままなんだが?答えるつもりないよな?(3回目)
>こっちの質問に答えろよアスペw
とまで書くような奴が、こっちの質問からは逃げるのか?これも質問だぞ。逃げるなよ

次のレスで回答がなければ、都合が悪くて答えられないと言うことで確定な
お前もそれで了承したと言うことだぞ。予め宣言してやってるのだから
お前の身勝手極まりない態度に、こっちだけがバカ正直に付き合ってる意味もないんでな
0421名無しさん@お腹いっぱい。 (ワッチョイ a55a-qa2C)垢版2019/09/25(水) 07:15:53.73ID:qbsdijKb0
■■■【enthumble】問題まとめ■■■

公式HPのURLは、ひとまず保留
キー ソフト enthumble 等で検索すると
enthumble: あなたの理想のキーボードは、こちら?
と表示されるキーカスタマイズソフト

何が問題か?
前スレ AutoHotkey スレッド part26
https://egg.5ch.net/test/read.cgi/software/1524647289/583-629
https://egg.5ch.net/test/read.cgi/software/1524647289/672-676
あたり

enthumbleの一部機能についてAutoHotkeyで同様のスクリプト組めないかと質問が出る
Resource Hackerで調べたら、enthumbleの中身がAHKと判明
あれ?これライセンス違反じゃね?
Vectorに問い合わせた人が返信を公開
(約2週間後)
enthumble、Vectorからダウンロードできなくなっていることが確認される
以降は公式HPでのみ販売

客観的に見て擁護君があまりにも気持ち悪かったwから、思わずまとめてしまった
0423名無しさん@お腹いっぱい。 (ワッチョイ 0dcf-tKbs)垢版2019/09/25(水) 09:18:37.48ID:ov/V9rvx0
スレすげー伸びたな(白目
0427名無しさん@お腹いっぱい。 (ワッチョイ ff73-srNF)垢版2019/09/30(月) 23:30:08.05ID:YeJxGAIP0
またまた質問です。

Autohotkeyを使ったフリーソフトを配布しているのですが、
Windows Defender が「Trojan:Win32/Zpevdo.B」だという
濡れ衣を着せて、勝手に削除してくれます。

Microsoft に、Windows Defenderが誤検知すると報告しましたが、
解決できるのはいつになるやら。

確かに autohotkey は、キーフックするコードが入っているので、
コード解析すると、キーロガーっぽく見えることでしょう。

皆様はどのようにして、この問題に対処しておられるのでしょうか。
0428名無しさん@お腹いっぱい。 (ワッチョイ c7b1-srNF)垢版2019/10/01(火) 06:00:24.09ID:f/D+dRIt0
>>427
Windows Defenderの「ウィルスの脅威の防止」→「設定の管理」→「除外」に
誤検知されるファイルまたはファイルがあるフォルダを追加する

もしくはWindows Defenderを窓から投げ捨てて(無効化して)
他のAntivirus系アプリをインストールする
それでも誤検知するなら除外リストにファイルまたはフォルダ追加する
0429名無しさん@お腹いっぱい。 (ワッチョイ e7b1-srNF)垢版2019/10/01(火) 23:45:13.25ID:O1LeTfiA0
#Persistent

time = 100

SetTimer,test,5000
return

test:

PixelSearch,,,1500,500,1505,505,0x0093FF,0,Fast
If ErrorLevel=0


Sleep,%time% ←
MouseMove, 1500 , 500

return


初歩の段階なんですけど、
画面のある場所の色が特定の色になったことを検出してなんやかんやしたいと思ってるんです。
まだわかっていることが少ないんですが
矢印のsleepの部分を有効にすると色に関係なく、MouseMoveの動作が動いてしまうのは
どういう理由でだかわかりませんでしょうか?
sleepは外すわけにはいかないのですが、どうにか対処はできないでしょうか。
0432名無しさん@お腹いっぱい。 (ワッチョイW 7f6c-TDk8)垢版2019/10/02(水) 00:21:34.76ID:QR6VQmqv0
Ah... It’s so easy way!!!!!!!!!!
thanks.
0433名無しさん@お腹いっぱい。 (ワッチョイ 5d8c-JzCR)垢版2019/10/03(木) 01:16:20.22ID:MjH9LMCk0
AHKを走らせているんだが、スピードが遅いので、おかしいと思って調べたら、
ファイルからの読み込みが多いので、ResourceMonitorを見たけど大してアクセスしておらず、
だが、タスクマネージャーを見たら、CPUが最高で25%でそれ以上にならない。
最高で25%。それ以上にはならない。なんで?
Windows7、64bit Celeron G1820
AHKの優先度を通常以上にしても変わらん
0445名無しさん@お腹いっぱい。 (ワッチョイ e511-UEcU)垢版2019/10/03(木) 23:31:44.62ID:VbiGNDSw0
>>444
修飾キーとしてしか機能しないのではなくてそのゲームで弾かれてるだけじゃね
Enterなど他のキー割り当てが効くかどうかとか色々試して順を追って原因を探れ
勝手な想像だけで結論付けてたら原因も特定できない
0447名無しさん@お腹いっぱい。 (スフッ Sd0a-8qoz)垢版2019/10/04(金) 00:14:03.53ID:fRVyq7ird
ありがとうございます 管理者としてやってみましたがダメでした
一応文章1つは進むので反応はしてるみたいです
10個ほど試しに起動したら吉里系(エンジン名)が全滅で他はスキップできるのも結構ありました
HUTで割り当ててたときはサイドボタンでスキップ全ゲームでできてました
0448名無しさん@お腹いっぱい。 (ワッチョイ a958-UEcU)垢版2019/10/04(金) 00:17:47.02ID:xHIQzbu90
>>447
あのさ、お前の質問の仕方がまず下手糞っつーか、そのゲームでCtrlでどんな動作するのかすら
俺らは何も知らねえんだから「1つは進むので反応はしてる」とか言われても知ったこっちゃねえよと
元々のXButton2の機能は?Ctrlの機能は?そのゲームでどういう動作するのかの説明が先だろ
0449名無しさん@お腹いっぱい。 (スフッ Sd0a-8qoz)垢版2019/10/04(金) 00:26:51.50ID:fRVyq7ird
どうも エロゲでctrl といえばスキップで元々のサイドボタンは「進む」みたいですが今やったらゲームでは無反応です
ctrlが押してる間押してるようになってくれればいいのでそんなに難しいとは思いませんでした、すみません
0451名無しさん@お腹いっぱい。 (スフッ Sd0a-8qoz)垢版2019/10/04(金) 00:52:10.57ID:fRVyq7ird
連投してしみません。解決したので報告です。
マウスのボタンは押してる間にリピートにならないのが原因だったみたいです
ここみてやったらできましたhttp://nmm.blog.jp/archives/51338945.html
XButton2::
        Send {Ctrl}
        Loop, 10
        {
                Sleep, 50
                 If GetKeyState("XButton2","P") == 0
                         Return
        }
        While GetKeyState("XButton2","P")
        {
                 Send {Ctrl}
                 Sleep, 80 ; miliseconds
        }
        Return
0453名無しさん@お腹いっぱい。 (スフッ Sd0a-8qoz)垢版2019/10/04(金) 04:45:58.20ID:XpbFhFamd
ゲームのスキップでしか使えなかったので闇雲にいろいろいじってこうなりました
ブラウザやエクスプローラでも修飾キーとして使えました
*XButton2::
While GetKeyState("XButton2","P")
Send {Blind}{Ctrl DownTemp}
Return

*XButton2 up::
SetKeyDelay -1
Send {Blind}{Ctrl Up}
Return
0455名無しさん@お腹いっぱい。 (ワッチョイ a6dd-o6K/)垢版2019/10/04(金) 22:27:38.43ID:5qN/CPDW0
#Persistent

SetTimer,xxx,3000
return

xxx:

return

こういう形で動作を常駐させたいんですが、
任意の時間帯に動作停止して、また任意の時間帯に動き出すっていう設定可能でしょうか?

タスクスケジューラに絡ませずAHK単独でできれば取り回しいいかなと思ってるんですが
0456名無しさん@お腹いっぱい。 (ワッチョイ 6a76-aTPZ)垢版2019/10/05(土) 02:07:34.53ID:AHwPqKMd0
このソフトで、プリントスクリーン(自分のキーボードではFnキー+Oキー)
を押したときに音(WAVとか)を鳴らすようにできますか?
全画面のゲーム中に、そのゲームの機能でスクショをとるときに音を出したいんですが
0461名無しさん@お腹いっぱい。 (ワッチョイWW 6ae5-qaII)垢版2019/10/05(土) 14:42:18.65ID:QdWSk/Uo0
>そのゲームの機能でスクショをとるとき
この書き方だとOSではなくゲーム上で専用のスクショ機能があるように読めるが
それもしやPrintScreenキー押し以外の操作方法でスクショ撮ってるのでは?

上のコードはあくまで
PrintScreenキーが押さたときに音を出す
であって
スクショを取ったときに音を出す
ではないのは理解できてる?
0463名無しさん@お腹いっぱい。 (ワッチョイ 5ecf-7FC1)垢版2019/10/05(土) 18:14:47.73ID:k0BzwU+I0
ゲームによってはチート・マクロ対策でキー入力監視・横取りするからAHKみたいなキーフックが効かなくなる
SendModeを変更したり横取りされないように常にコマンドを送信したり、無理ならハードウェアマクロ使う
0468名無しさん@お腹いっぱい。 (アウアウエー Sa52-LHep)垢版2019/10/07(月) 18:09:34.27ID:pkHLCvz2a
何年も使っててふと現在はどうなってるのかとスレに来たんですけど、テンプレって更新されてて最新の状態なんでしょうか?
10の系譜見るとメインが1.1で、他に派生がありますが今もこの状態でしょうか?
今使ってるのが1.1.24.03なんですが、サイト見たら今1.1.31だったので取りあえず上げようと思います
でもv2や派生などの方が良くなってるのなら変えようかと思ったので詳しい方のお話を聞かせて頂けないかと思いました
1のwiki(wikになってるけど)は最新が1.1.14.03で更新止まってて情報が古いですし
v2が下位互換性を排除して操作利便性の向上と書いてるので鵜呑みにすればv2が良いのかなとか、AutoHotkey.dllは真のマルチスレッド対応だとか
よろしくお願いします
0469名無しさん@お腹いっぱい。 (ワッチョイ 8df1-G1PU)垢版2019/10/07(月) 18:26:44.08ID:OgvUEp/w0
>>468
1.1.24ってまた随分と古いの使ってるな
俺も1.1系しか使ってないから他の派生とかは全く知らないけど
とりあえずVer.Upするならキーコードのルールが変わったからそれだけ注意

例えば無変換キーをリマップする場合昔は vk1Dsc07B::a だったけど1.1.27以降はこれだとエラーになる
vk1D::a もしくは sc07B::a の様に仮想コードのみかスキャンコードのみで指定すれば動く
なのでキーコード使ったスクリプトは書きかえなきゃならない
0470名無しさん@お腹いっぱい。 (ワッチョイ 3d11-0yLF)垢版2019/10/07(月) 19:00:10.82ID:y5fciisX0
>>468
v1かv2かは好きにすればいいけど、現状このスレは暗黙にv1の最新版前提なので
v2の話がしたいときは初めにことわらないと無駄に揉める、揉めなかったとしてもそもそも返答がつきにくい
ということだけは知っておきましょう
0471名無しさん@お腹いっぱい。 (アウアウエー Sa52-LHep)垢版2019/10/07(月) 20:32:01.24ID:pkHLCvz2a
>>469
いやあ、セキュリティソフトみたいにいつでも最新にしなきゃいけないわけでも無いので、特に気にならなくてそのまま使ってて…(笑)
そういうのがあるんですね
んー、じゃあ現状特に必要が無ければこのままの方が良いのかな
アプデで良くなった部分は何かとサイトのダウンロードページとか見たんですが変更履歴とかは見当たらず
>>470
利便性向上とかでもあまり使われて無いんですね
使用バージョンなどについては心がけてはいましたが仰って頂けて再認識出来ました

お二人、ありがとうございました
0475名無しさん@お腹いっぱい。 (ワッチョイ b358-S3Tg)垢版2019/10/18(金) 22:00:37.79ID:0ITd9EnG0
すみません質問させてください
ウィンドウが最大化されてるかどうかを判定する方法ってありますか?
あったらその方法を教えて下さい
WinGetPosでf幅と高さは取得出来ますが最大化ボタン押されてるかどうかの状態は取得できませんよね?
0479名無しさん@お腹いっぱい。 (ワッチョイ 9276-R8pi)垢版2019/10/21(月) 09:06:06.26ID:2nJ1m63u0
F5を押しっぱなしにするとF5を1回押して離し、離すとF5をもう1回押して離す、というふうにしたいのですが、
現状F5を押してる間連打入力になってしまいます。連打にしないようにするにはどうすればいいですか?

SetKeyDelay -1
*F5::
Send {F5}
Return
*F5 up::
Send {F5}
Return
0483名無しさん@お腹いっぱい。 (ワッチョイ 9fd5-V+wO)垢版2019/10/21(月) 16:59:28.57ID:RGns00bI0
解決方法があれば教えてください。

無変換キーとIJKLの組み合わせで↑←↓→を割り当てています。
----
vk1D & i::Send {Blind}{Up}
vk1D & j::Send {Blind}{Left}
vk1D & k::Send {Blind}{Down}
vk1D & l::Send {Blind}{Right}
----
この状態で、
無変換 + Win + L を押すと、Windowsロックのショートカットが働いてしまいます。
Win + → で、ウインドウが画面右半分に寄る動きになってほしいんですけど、
どうすればできるでしょうか?

環境は、
Version 1.1.31.00
Windwos 10 64bit
です。
0487名無しさん@お腹いっぱい。 (ワッチョイ b358-S3Tg)垢版2019/10/21(月) 20:47:38.05ID:JlnJZS5i0
>>483
システムの割り込み優先度がロック画面の方が高いから効かないんだろうな
試しに Win+L を無効化しようとしても全く効かないし
まあ無理なもんは無理なので諦めて別のやり方考えた方が良いだろうね
Alt+無変換+L を Win+→ にするとか

どうしてもWinキーでやりたいならChangeKeyなどでWinキーを一旦 F13 などに変更しといて
F13::LWin
とか追加しとけば一応 無変換+Win+L で Win+→ になる
ただしWinキーを使う別の機能に余計な弊害でるかもしれないのであまりオススメはしない
0488483 (ワッチョイ 9fd5-V+wO)垢版2019/10/21(月) 23:12:55.10ID:RGns00bI0
>>487
ありがとうございます!
とても参考になりました

Win+Lは無効化できないものとして一旦あきらめます
Altでの代用は「Alt+→」の「進む」と衝突するので、
別の手段を考えてみることにします

事前にF13に置き換えるというのはヒントになりそうです!
Winキーじゃなくて、Lキーの方をF13に置き換えるとか……
(でも気持ち悪いし、これだけのために書くの面倒だし、たぶんやらない)

ひとまずは、
無変換+Win+Lでの「Win+→」はもう使わないようにして
無変換+Win+Jでの「Win+←」を何回か押せば、
ウィンドウ右寄せ状態になるので、それで我慢します

代案まで出していただいたのに申し訳ないですが、
個人的にはキッパリ諦めがつきました
0497名無しさん@お腹いっぱい。 (ワッチョイ 122a-S3Tg)垢版2019/10/23(水) 18:17:53.83ID:WG26tbAE0
>>496
他にもっと良い方法はあるかもしれんけど
スクロールバーの一番上の▲の座標をウィンドウ相対値で指定して
一番上にスクロールしてたらグレーアウトになるのでその色で判別するとか
サイトによっては特殊なスクロールバー表示で使えない場合もあるけどね

てか確認だけをして何がしたいのかがよく分からん
問答無用で一番上にスクロールしたいだけなら Send,{Home} の方が手っ取り早いと思うけど
0498名無しさん@お腹いっぱい。 (ワッチョイ 9fd5-V+wO)垢版2019/10/23(水) 20:06:09.06ID:wyx5LJzl0
>>496
これ↓

AutohotkeyからChrome上でJavaScriptを実行する方法を考えた | yuipro
https://yuis-programming.com/?p=1852

AHKから、
「Alt+D」とか「Ctrl+L」でChromeのアドレスバー部分に移動させて、
ちょっと待ってから「"javascript:〜〜"」の文字列を送って、
ページが一番上までスクロールされていることを判定するJSをブラウザ上で実行させる。

JSの処理では、最後にクリップボードになんか書き込んで、
AHKで、クリップボードの中身を監視しておけば、
ページが一番上までスクロールされていることを確認した後に、
AHKで処理を続けさせることもできると思う。

使用範囲がブラウザに限定されているのとても大事。
0502名無しさん@お腹いっぱい。 (ワッチョイ e3d5-kwV+)垢版2019/10/24(木) 18:23:02.24ID:2Gkj02rM0
; 「変換キー+T」ブラウザ上でページの一番上かどうかを判定してMsgBoxを表示する
vk1C & t::
  ; クリップボードの内容を保存
  cb = %ClipboardAll%
  
  ; (ブラウザがアクティブになっているとして)
  ; アドレスバーからJavaScriptブックマークレットを実行
  ; -> ページの一番上かどうかをクリップボードに保存
  Send, !d
  Clipboard = javascript
  Send, ^V
  Sleep 100
  Clipboard = :void(((d)=>{b=d.body;e=d.createElement('input');e.value=+!(window.pageYOffset);b.appendChild(e).select();d.execCommand('copy');b.removeChild(e);})(document));
  Send, ^V`n
  Sleep 200
  
  ; 結果を変数に格納 1:一番上、0:一番上以外、その他:判定失敗
  result = %Clipboard%
  
  ; クリップボードの内容を戻す
  Clipboard = %cb%
  
  ; 結果に応じてMsgBoxを表示
  Switch result {
  Case 1:
    MsgBox top
  Case 0:
    MsgBox not top
  Default:
    MsgBox error
  }
Return
0503502 (ワッチョイ e3d5-kwV+)垢版2019/10/24(木) 18:24:38.23ID:2Gkj02rM0
>>498 の方法でページの一番上かどうかを判定するスクリプトを書いた
思ったのは、JavaScript→AHKへの値渡しをクリップボード以外でできればいいのってこと

あと、>>502 はタブを全角スペース2つに置換してるから
0505名無しさん@お腹いっぱい。 (ワッチョイ e33a-IJ3v)垢版2019/10/25(金) 11:27:18.16ID:/0DeN9YR0
あるxxx.exeがあったとき、これを終了させたいのですが、

SendMessage, 0x112, 0xF060,,, ahk_exe xxx.exe

では終了出来ません。xxx.exeにはウインドウがないのでそのせいなのかもしれませんが、
強制終了ではなく出来れば普通に終了させたいのですが方法はありませんか
どうしてもだめなら強制終了の方法でもいいです
0507名無しさん@お腹いっぱい。 (ワッチョイ 7f75-mjLV)垢版2019/10/25(金) 11:50:45.18ID:D6ouzmNa0
>>505
強制終了でいいなら Process, Close,

トレイに入ってる常駐プロセスを強制ではなく正常終了させるには
自分はトレイアイコンをImageSearch使って座標取得してMouseMoveして右クリック→EXITを選ぶ
という処理を自動マクロ化してるけどもっとスマートな方法あったら俺も知りたい
0509名無しさん@お腹いっぱい。 (ワッチョイ 7f75-mjLV)垢版2019/10/25(金) 13:15:57.35ID:D6ouzmNa0
>>508
あとはWin10ならWin+Bでトレイアイコン選択になるので←→キーで目的のアイコン選択して
Appskeyでメニュー表示して↑↓キーでExit選択するって方法もあるけど、これだと一時的にトレイアイコンの
配置が変わった時などに別のソフトが選ばれてしまう可能性がある
アイコン配置を固定してれば問題無いけど
>>507のやり方はスマートではないけどトレイアイコン配置が変わろうが問題無く動いてくれる
0512名無しさん@お腹いっぱい。 (ワッチョイWW 8f73-M947)垢版2019/10/25(金) 13:32:01.32ID:pf2j0VqN0
>>511
タスクトレイから正常終了出来るんだろ?
タスクトレイってタスクトレイ経由でメニュー操作してることになってるから
そのメニューコードさえ調べれば同様のことが出来る
当然常駐アプリで隠れるだけのコードとは別
0513名無しさん@お腹いっぱい。 (JP 0H9f-MdJ4)垢版2019/10/25(金) 13:35:38.28ID:ikMeVi52H
peerblockの切り替えにオーバーフロー通知領域のアイコンをexeで指定して
任意のクリックができるやつをわからないなりに改悪してタスクトレイに変えたけど
結局controlsendで出来た悲しい思い出
0520名無しさん@お腹いっぱい。 (イルクン MMdf-K1ib)垢版2019/10/25(金) 15:53:47.34ID:qDdTpsamM
@モバイル君

机上論=想像だけで役立たず
どうやってやるんだよ
実際にやったことあんのかよ(ないんだろ)

自分が回答する側なら完璧に教える気無くすね
やり方書いてくれなきゃ絵に描いた餅だと諭したかったにしろ
相手を否定して貶める必要は全くなかったのでは?
0522名無しさん@お腹いっぱい。 (ワッチョイ e33a-IJ3v)垢版2019/10/25(金) 17:55:08.55ID:/0DeN9YR0
みなさんありがとうございました。
出来ましたよ


DetectHiddenWindows,on
WinGet, h, ID, ahk_exe xxx.exe

SendMessage, 0x112, 0xF060,,, ahk_id %h%

で成功しました

ahk_exe xxx.exeではダメで、ハンドルをゲットしてハンドルに対してSendMessageしないとダメみたいです
なんで??? w
まあ、ウインドウに対してじゃないとダメってことなのかな。融通が利かないよねえ
0524名無しさん@お腹いっぱい。 (アウアウウーT Sa27-mjLV)垢版2019/10/26(土) 22:38:20.60ID:hT6UEneJa
マウスが動くたびに処理を実行する、ということをしたいのですが(ウェブでいうonmousemove)
ホットキーではボタンとホイールの動きしか検出できないようです
SetTimerで短い間隔で関数を呼びまくって判定するのでしょうか?
0528名無しさん@お腹いっぱい。 (ワッチョイ e376-roNU)垢版2019/10/27(日) 04:23:07.31ID:or1gSIZt0
>>504
ahkのclassはいろいろウンコ過ぎて使うのやめた
クラシックなCスタイルで書くのが無難
凡ミスをエラーとして検出できず誤動作するだけなんでテキストエディタでのコーディングには全く向いてない
0531名無しさん@お腹いっぱい。 (ワッチョイ e3d5-MZfN)垢版2019/10/28(月) 02:14:57.75ID:EYtu/5rk0
すみません。
Google Chrome で、バックスペースで「戻る」を実現しようとして、
----
BS::Send, !{Left} ; ALT+←
----
などと書くのですが、
そうすると、入力フォームや、アドレスバーにフォーカスがあるときも、
前のページに戻ってしまいます。(当たり前ですが)

「文字入力可能な状態」でないときだけ
ホットキーが動くようにしたいのですが、どんな方法で実現できそうでしょうか?
どなたかアドバイスいただけませんでしょうか。

※ブラウザのアドオンで実現できるのはわかっていますが、
 AHKでできれば、他のブラウザでも使えるようできるので
 何卒よろしくお願いします。
0534531 (ワッチョイ e3d5-MZfN)垢版2019/10/28(月) 19:10:40.32ID:EYtu/5rk0
>>532
ありがとうございます。
文字入力の状態を簡単に判断できると期待してました、すみません。

>>533
せっかく教えていただいたのに恐縮ですが、
「文字入力可能な状態」を判定できるスクリプトをうまく書けませんでした。
IME.ahkのどの関数を使うとできるようになるか教えていただけませんでしょうか?

AHKのバージョンは、1.1.31.00
OSは、Windows10 64bit
IMEは、Microsoft IME です。
0535名無しさん@お腹いっぱい。 (JP 0Hff-MdJ4)垢版2019/10/28(月) 21:42:37.99ID:ouS0zuNbH
>>534
すまない
確認したら入力モードが"かな"かつ変換モードが"無変換"だと出来ない
そうでなければIME_GetConvMode()とIME_SetConvMode()の値がともに0で出来る……はず

あとはテンプレのACC.ahkで通知領域から取得かなあ
Nameの値が変わっているはずだから
0536名無しさん@お腹いっぱい。 (ワッチョイ e3d5-MZfN)垢版2019/10/29(火) 01:17:09.42ID:2e9d+4+f0
>>535
すみません、できませんでした。
ローマ字入力です。
変換モードは「一般」になっていました。

IME_GetConvMode()は、基本的に"25"を返してきます。
半角全角キーでIMEの状態をOFFにしても"25"のままです。……@
通知領域の「あ」をクリックして「A」に変えると、"16"を返すようになります。……A
※@の操作では、通知領域は「A」になっていても"25"を返します。
 Aの操作の後、IMEの状態をONにするとまた"25"を返すようになります。(通知領域は当然「あ」)

IME_SetConvMode() は、引数に0x00を与えて呼び出すのでしょうか?
そうすれば、確かにそのときはIME_GetConvMode() も"0"を返すようになりますが、
実際の入力の状態は判定できないです。

思うに、
通知領域の「あ」「A」が「×」(IMEが無効です)になっているときが、
「文字入力できない状態」なので、
通知領域の情報が取得できるなら判定できそうです。
(ACC.ahkっていうので可能なのかはわかりませんが)

もっと簡単にできると甘く見てました。。
0537532 (ワッチョイ ffbe-roNU)垢版2019/10/29(火) 06:22:25.79ID:xdxELTwV0
>>536
知ったかしてごめんなさい。<(_ _*)>

IME_GetConvMode()を使えば
入力モードがかな入力(半角英数)のIMEOFF時を除いて大丈夫ですね

条件式
(IME_GetConvMode() || (!IME_GetConvMode() && IME_GET())) ⇒ Send {BS}
0539名無しさん@お腹いっぱい。 (中止T Sx03-okXf)垢版2019/10/31(木) 16:19:19.34ID:xF1MewNvxHLWN
>>538
自分なりに考えてみた

まず、https://sites.google.com/site/agkh6mze/howto/winevent
↑ここを参考にウインドウを監視するか、settimerで監視する
次にウインドウのタイトルを取得する(フォルダオプションでタイトルにフルパス表示させるようにしとく)
これでフォルダのパスは取得できるはず

後はお好きなように
0540名無しさん@お腹いっぱい。 (中止 9e76-qp9g)垢版2019/10/31(木) 22:46:12.46ID:1CPf1QEn0HLWN
RB_DLD_をAlt+Tabにしたいと思い、AltDownとTabにしましたが、左クリック時にAltUpするいい方法はありますか?
左クリックされるまでGetKeyStateの無限ループとか?LB_にAltUp用ジェスチャーは当てたくないです。
0541名無しさん@お腹いっぱい。 (中止 9e76-qp9g)垢版2019/10/31(木) 22:49:05.13ID:1CPf1QEn0HLWN
>>540です
MouseGestureLの設定ですが、AutoHotKeyも併用しているので、
そちらで左ボタンの挙動を変更する方法はありますか?
Alt押下ならAltUpで行けるだろうと思ったのですがうまく行かなかったです
0543名無しさん@お腹いっぱい。 (ワッチョイWW 4ae5-qKM9)垢版2019/11/01(金) 08:48:01.02ID:IMkCGAbl0
試してないけど
Lbutton up:: send,{alt up}
とかじゃあかんの?

MouseGestureLとAutoHotKeyの併用というのがどういう状態か分からんし
別スクリプトとして同時に動かしてるのか
MouseGestureL.ahkをAutoHotKey.ahkに#includeしてるのかで
コンフリクト時の挙動は変わってくると思うが
0544名無しさん@お腹いっぱい。 (ワッチョイ 9e76-qp9g)垢版2019/11/01(金) 16:25:04.59ID:gYvtzhMc0
回答ありがとうございます。状況説明が下手で申し訳ない。
やりたいことはまさにCtrl+Alt+Tabそのものでした・・・
そのショートカットキーを知らなかったです。赤子からやり直してきます。
0545名無しさん@お腹いっぱい。 (ワッチョイ 9e76-qp9g)垢版2019/11/01(金) 16:31:09.62ID:gYvtzhMc0
しかし後学のために、Ctrlなしで実現させる方法を理解しておきたいです。

まず、併用というのは単にどちらも独立に使用しているというだけであり、
例えばMGLのジェスチャーでAltDown+Tabまで行い、左クリック時にAHKで、
Altの押下が確認されれば左クリックを送信する前にAltUpを挟む、
などできるのではないかと思った次第です。
0547名無しさん@お腹いっぱい。 (ワッチョイ 07f0-qV4/)垢版2019/11/01(金) 22:01:08.00ID:VfugqGrn0
>>545
MGLは専用スレがあるから、ここで書くのも何だが
ヘルプ 4.4.4. 設定例-応用編- の
左ボタンを押しながら右ボタンで右のタブ、その逆で左のタブ
あたりを参考にすればやりたいことはできるんじゃないの
0548名無しさん@お腹いっぱい。 (ワッチョイ 6b9b-6BDJ)垢版2019/11/03(日) 01:39:25.14ID:O7MXiPNf0
winキー+EscでDeleteに置き換えてるんだけど、どうやら
一瞬だけctrlの入力がはいってしまっているぽい。
完全にwinキーを修飾キーにするにはどうすればいいんでしょうか・・・
ちなみにワード使ってて、図を選択したときにctrlを押すと開かれる
サブメニュー?が出てきて判明しました。

;winキー単体を殺す

~LWin::
~RWin::
LWin Up::
RWin Up::
return

; Win+EscをDeleteに
#Esc::
send, {NumpadDel}
return
0550名無しさん@お腹いっぱい。 (ワッチョイ 9fcf-qQ6b)垢版2019/11/03(日) 01:43:15.56ID:x4wegOmC0
まずそのコードをここに書いてみよ
0552名無しさん@お腹いっぱい。 (ワッチョイ 6f58-qV4/)垢版2019/11/03(日) 02:28:01.13ID:T/dyPpuj0
>>548
それだけでCtrlが入る要素は何一つ無いからサブメニューが出るのは何か他の要因が重なってんだろ

ちなWINキー単押しを無効にするなら
LWin::Return
RWin::Return

すると#Esc::の表記も無効になるので
LWin & Esc::
send, {NumpadDel}
return
にすれば2キー押しは有効になる

それでもたまにスカするならレジストリでWinキーをF13などに変更して
F13 & ESC:: をDeleteにすればいい
0555名無しさん@お腹いっぱい。 (ワッチョイ ff56-6TZK)垢版2019/11/03(日) 10:51:10.01ID:1hPQjtfu0
335 名前:いやあ名無しってほんとにいいもんですね[sage] 投稿日:2019/11/03(日) 10:22:35.60 発信元:211.14.222.92
【依頼に関してのコメントなど】よろしくお願いします
【板名】ソフトウェア
【スレッド名】AutoHotkey スレッド part27
【スレッドのURL】ttp://egg.5ch.net/test/read.cgi/software/1555770773/
【名前欄】
【メール欄】sage
【本文】
>>548
#MenuMaskKey
ttp://ahkwiki.net/-MenuMaskKey
0560名無しさん@お腹いっぱい。 (ワッチョイ 7bf6-DaD1)垢版2019/11/09(土) 22:57:18.17ID:avm3BFlQ0
:*:A::○○

だとシフト英数でキャップスロックかけた状態でaを押しても
○○が表示されるけど、

+a::Send, ○○

だとシフト英数でキャップスロックかけてaを押してもaにしかならない。
後者の場合でも前者と同じように機能させる方法ってあるの?
0564名無しさん@お腹いっぱい。 (ワッチョイ 1f3a-Sray)垢版2019/11/12(火) 00:07:42.36ID:XvJWFDxd0
あるウィンドウがアクティブなら(なんらかのポップアップされたメッセージウィンドウを想定)、
Esc以外のどんなキーを押しても、ある処理を実行するみたいなスクリプトをつくりたいんですけど、

この"どんなキーを押しても"の部分って、全部のキー羅列しないといけないんですかね?
何かいい方法ありますか?
0568名無しさん@お腹いっぱい。 (スププ Sda2-NlRl)垢版2019/11/19(火) 20:50:10.36ID:DwmpxaS1d
ie上でalt+speceに設定したIME切替が動かないので、ie上のaltを無効化したいんですが、どうしたら無効化しますか?試行錯誤してるんですけど、どれもダメみたいで、
0570名無しさん@お腹いっぱい。 (スププ Sda2-NlRl)垢版2019/11/19(火) 22:33:48.23ID:DwmpxaS1d
もう残ってないっす
0571名無しさん@お腹いっぱい。 (ワッチョイW 8b6c-3WJL)垢版2019/11/23(土) 20:28:16.06ID:Mh7lYThn0
vimでよくある、ddや<leader>wのようなシーケンス割当をいい感じでできるLibなぞどこかにありませんでしょうか?
:*:dd:: で割り当ててみたのですが、はじめのdが入力されてしまう点と、d単体に割り当てできなくなってしまっていけてないです…
0572名無しさん@お腹いっぱい。 (ワッチョイ 1976-BEIG)垢版2019/11/26(火) 22:15:06.67ID:JAmcxqSM0
obj:=[1,2,3]
ScratchPad("a", 100)
ScratchPad("b", obj)
ScratchPad("keystate:a", keystata)
ScratchPad("c", "hello")
ScratchPad("a", 500)

と実行すると
a=500 <- 最後に書き込まれた値
b=1,2,3
keystate:a=U
c=hello
というウィンドウが表示されるデバッグ用ツール作ってくださいお願いします!
ウィンドウは存在しなかったら自動で生成し
存在していたら再利用し
ユーザーはいつでも閉じても構わない感じにお願いします!
ログ系の関数だとどんどんスクロールしてしまって不便で仕方が有りません
0578名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)垢版2019/11/28(木) 09:30:29.24ID:lQjz+pHhd
>>568 もだれかお願いできないですかね
0579名無しさん@お腹いっぱい。 (ワッチョイ 5518-R3ru)垢版2019/11/28(木) 09:41:34.01ID:u3kK9hCK0
マジレスするとまともな回答が付かないのは質問の仕方に問題があるということ
ここはお客様サービスセンターじゃないのでそういう面倒な奴はスルーまたは適当にあしらわれるだけ
0580名無しさん@お腹いっぱい。 (ワッチョイ b5cf-8b9h)垢版2019/11/28(木) 10:44:26.21ID:M99/5zSx0
回答がつかないのはこういうの
・Windows標準機能を乗っ取ろうとかバカなやつ(無謀
・それ普通に一般機能でできるけどってやつ(無知
・試したソース書かないやつ
・試してすらいないやつ
・日本語になってないやつ

すぐに回答がつくやつ
・やりたいことが明確で試したソースもついてる
・具体的な関数や文法的なアドバイスを求める内容
0583名無しさん@お腹いっぱい。 (ワッチョイ 0df0-R3ru)垢版2019/11/28(木) 12:10:44.20ID:8Y2KV43/0
>>578
他の人も書いてるけど、その試行錯誤を書いてほしい
それとAlt+Spaceって自分には必要なキーだから潰してもいいの?と言う疑問もある
例えば、WinMinimizeで最小化を設定してもタスクバーに収まらずに変な残り方するソフトが
時々あるけど、そういう場合に Alt+Spane,Nを充てて対処してる
0584名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)垢版2019/11/28(木) 14:00:15.68ID:lQjz+pHhd
なるほど。質問の仕方か、、そう言われると確かに丸投げみたいな質問だな、、反省
試行錯誤したやつをまとめて、出直してきます
0585名無しさん@お腹いっぱい。 (ワッチョイ 6558-R3ru)垢版2019/11/28(木) 14:10:26.69ID:U/9F6nEa0
>>584
一つだけ確認しておきたいんだがaltではなくCtrl+スペースでIME切り替えするのでは駄目なのか?
それならAHKを使わずにIMEのプロパティでキー割り当て変えるだけで出来るしスマート
無理してAHKでどうこうするよりシステム本来の機能で出来ることはそっちでやった方がいい
0586名無しさん@お腹いっぱい。 (スフッ Sdb2-fSRg)垢版2019/11/28(木) 19:11:05.66ID:F3zZXs0fd
>>585
CtrlとCaps入れ替え前提だよね
0588名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)垢版2019/11/28(木) 20:00:07.48ID:lQjz+pHhd
>>585
この状況の経緯です。何年もMacとMac用USキーボード使ってコマンド&スペースで入力モード変換してたけど、最近WindowsとWindows用のUSキーボードを使うことになった
0589名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)垢版2019/11/28(木) 20:00:44.11ID:lQjz+pHhd
>>585
最初はalt&バッククォートやコントロール&スペースで変換してたけど、常時Macと併用してることもあり、やっぱり指が慣れず、コマンドの位置にあるaltばかり押してしまうので、altとスペースを入力モード変換として使えるようにした。という感じです

エラーになったので2つに分けました。
0590名無しさん@お腹いっぱい。 (ワッチョイ 6558-R3ru)垢版2019/11/28(木) 20:10:55.37ID:U/9F6nEa0
>>589
そういうことならまずChangeKeyなど使いレジストリでAltとCtrlを入れ替えたほうがいいんじゃね
コピペなどもAltをCtrlとして使えるからMacに近い指の操作感になる
全てではないがMacのコマンドキーに相当する機能がWinでは概ねCtrlキーだからな
Ctrlをコマンドと同じ位置にしてしまったほうが早いだろ
そのうえでCtrl+スペースをIME切り替えに割り当てれば実際に押すのはAlt+スペースでIME切り替え出来るようになる
0591名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)垢版2019/11/28(木) 20:34:13.20ID:lQjz+pHhd
>>590
実はその通りで、Ctrl+cとかもalt+cで動くように設定してるんですけど、ieだけaltが制御できずコピペが不安定なんです。。change keyはレジストリいじるの怖くて何となくスルーしてたんですが、そっちのがいいんですかね、、調べてみます
0592名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)垢版2019/11/28(木) 20:39:17.44ID:lQjz+pHhd
>>590
というのと、自分以外の人がこのpcを使うことを考えてAHKでの一時的な制御を考えた。という経緯もありました
0593名無しさん@お腹いっぱい。 (ワッチョイ b5cf-8b9h)垢版2019/11/28(木) 20:39:54.18ID:M99/5zSx0
ChangeKeyはWin7時代に使ったけど問題なかったよ
Win10じゃ非対応だったと思うけど違ったかな
(もちろん類似ソフトはあると思う)
0594名無しさん@お腹いっぱい。 (ワッチョイ 19cf-5Jli)垢版2019/11/29(金) 03:44:10.27ID:Tf3CI0sR0
質問したいです ステレオミニジャックに
イヤホンをさしたら 特定のファイルを実行する
ぬいたら別のファイルを実行するということがしたいです

以前ネットでそんなことができると見た覚えがあるのですが
ヘルプにそれらしきコマンドなどなかったです
目論見は可能でしょうか?
可能でしたら記述方法をおしえていただけませんか?
よろしくお願いします
0595名無しさん@お腹いっぱい。 (ニククエT Sacd-YKtJ)垢版2019/11/29(金) 23:04:50.44ID:gIwANFe0aNIKU
>>594
AutoHotkey はCOMオブジェクトを扱えると思うので
できるのではないかと思うのだが確信はない

できるとすれば
たぶん思っているよりだいぶ面倒だとは思うが
以下のような方法がある

もっといい方法があるかも知れないが、Windoows の
Core Audio インタフェースを通して状態を知ることはできる

再生デバイスの一覧とボリュームの取得
http://yamatyuu.net/computer/program/vc2013/vollist/index.html
がいいサンプルになると思う(言語はC++)

この中のボリュームに関する処理は不要だか
pProperties->GetValue(PKEY_Device_FriendlyName, &vName);
で取得したデバイス名が自分の対象としているヘッドフォンなら
DWORD stat;
HRESULT hr = pEndpoint->GetState(&stat);
(↑この行はサンプルコードには含まれていない)
でその状態を取得することができると思う
0599名無しさん@お腹いっぱい。 (ワッチョイ 9e73-YC6P)垢版2019/12/04(水) 04:05:05.50ID:nf1P/FNe0
>>598
formattimeじゃなくてFormatTimeを使う

FormatTime, today, yyyymmdd D4, LongDate
MsgBox, % today
0601名無しさん@お腹いっぱい。 (アウアウオーT Sa93-yZWx)垢版2019/12/05(木) 00:33:31.68ID:izzBjhE+a
edgeがフルスクリーンかそうじゃないかって判定する方法ないですか?
IEだとかFirefoxはタイトルバー(0x00C00000)があるかどうかで判定できたんですけどedgeだとこれで判定できないので困ってます。

if tmp & 0x00C00000
{
send,{F11}
}
else
{
sleep,100
}
0604名無しさん@お腹いっぱい。 (ワッチョイ 1d52-MVf8)垢版2019/12/05(木) 01:56:39.84ID:Jhh0ALwr0
連投はかんぜんに間違いでした、ずっと書き込めなかったので本文つくる前に
軽率に確認しちゃいました申し訳ない

質問なのですが

最終的に座標の色をみてなんやかんやしようというための途中段階なんですが、

ある座標(今回は100,200として)の場所の色を判定するのに第一段階として
以下のx→yで確認して確認動作としてzに組み込むという方法を以前からやっていて何の問題もなくできたのですが
今回 zで上手く hensuu :=1 と出てくれません。
別のコードも今まで同じやり方で作って正常動作できているので、動作を理解していないということはないと思うのですが
何かポカしていることありますでしょうか?

x::MouseMove, 100,200

y::
MouseGetPos,x,y,
PixelGetColor, color, %x%, %y%
return
で調べた colorの値を下に代入して(FFFFFFという値が出たとして)

z::
PixelSearch,,,100,200,102,202,0xFFFFFF,2,Fast
If ErrorLevel=0
Msgbox,hensuu :=1
else Msgbox,hensuu :=0

0605名無しさん@お腹いっぱい。 (ワッチョイ 1d52-MVf8)垢版2019/12/05(木) 02:00:32.20ID:Jhh0ALwr0
連投すみません 修正します
大分テンパって申し訳ないです

x::MouseMove, 100,200

y::
MouseGetPos,x,y,
PixelGetColor, color, %x%, %y%
Clipboard=%x%, %y%, %color% 
return
で調べた colorの値を下に代入して(FFFFFFという値が出たとして)

z::
PixelSearch,,,100,200,102,202,0xFFFFFF,2,Fast
If ErrorLevel=0
Msgbox,hensuu =1
else Msgbox,hensuu =0
return
0608名無しさん@お腹いっぱい。 (ワッチョイ cb4e-V35x)垢版2019/12/05(木) 02:47:51.06ID:8EiK3bS00
>>601
お詫びに代案だけど
WinGetActiveStats でEdgeのウィンドウサイズを取得してスクリーンサイズと比較するのはどうだろう
最大化の場合はボーダーラインの分だけスクリーンサイズよりウィンドウサイズが一回り大きくなるけど
フルスクならスクリーンサイズとウィンドウサイズがピッタリ同じで位置も0,0になるので判定できるかと
0610名無しさん@お腹いっぱい。 (ワッチョイ cb73-MVf8)垢版2019/12/07(土) 17:24:42.64ID:yB203HjY0
AutoHotkeyで他プロセスのイベントを監視したい。

例えばNotepad.exeにSendMessageを送ってプログラムを終了させたり、拡大縮小化などをさせることはできますが
逆に終了や拡大縮小化などがNotepad.exeで行われた場合に、AutoHotkey側でそれを検知して、Notepadで〇〇したタイミングにAutoHotkeyでなにかの処理をさせたいのですが、その方法がわかりません。
AHKのOnMessage関数でできないかと思ったのですが、AutoHotkeyから送信されたメッセージしか取得できないみたいなのでこの方法ではうまくいきませんでした。
WIN32 APIのSetWindowsHookExを使えばできなくもなさそうなのですが、イベントを検知させるためのDLLを自作しないのいけないみたいなので、AutoHotkeyしか使えない自分には難しいです。

いろいろ調べたのですが、結局どうしたらできるのかわかりません。
AutoHotkeyで似たようなことをしている資料やコードを知っている、もしくはなにかヒントとなるアイデアを持っていたら教えて下さい。
0614名無しさん@お腹いっぱい。 (ワッチョイ cb73-MVf8)垢版2019/12/09(月) 02:28:27.50ID:Yrg6ObJm0
>>612
>>613
回答ありがとう。

本当にやりたかったことは、とあるアプリが終了したときにAutoHotkeyでホットキーを送信するようにしたかったんです。
タイマーを使えばできることは知っていたのだけど、Windows APIで終了時の判定ができる方法があればそっちを使いたかったからです。
SetWinEventHookだと拡大縮小時にはイベントが取れるけど、終了時を判別するイベントはたぶんないみたい。
EVENT_OBJECT_DESTROYを使えばいけそうだと思ったけど、オブジェクトを破壊したときのタイミングを取得するみたいで、アプリそのものが終了したタイミングだけを取得する方法は自分にはわからなかった。
もう少し頑張ってみて、それでもだめなら素直にタイマーを使おうと思います。
0615名無しさん@お腹いっぱい。 (ワッチョイ a5b1-Pezt)垢版2019/12/09(月) 02:55:28.85ID:qhn+RYVz0
質問者の真意は回答者には計り知れないのに回答者がかわいそう…
今時のPCならahkのタイマー監視なんてどうってことないと思うんだがな
おれ、結構timer使ってるけど0.5%前後だぜ(i5 3470)
0616名無しさん@お腹いっぱい。 (ワッチョイ e5e5-f6tG)垢版2019/12/09(月) 09:38:36.59ID:RhLy9rR30
まあ 〇〇したタイミング とか とあるアプリ とか条件ボカされて ドンピシャな回答期待されても困るんで…

そもそも終了しか見ないんなら フック使う意味薄いような
SetWindowsHookExでグローバルフック使ったところで結局は得られるのは
ウィンドウの破棄情報であってプロセスの終了情報じゃないと思うけど

どうしても Timer使いたくないなら専用スプリクト化してProcess, WaitCloseで永遠に待てば
0618名無しさん@お腹いっぱい。 (ワッチョイ e5e5-f6tG)垢版2019/12/09(月) 12:52:16.96ID:RhLy9rR30
1プロセスで複数ウィンドウこさえるSDIのアプリなんかだと どの窓も同列でメインウィンドウってのが無かったり
タスクトレイに常駐するタイプのアプリはメインウィンドウが破棄されてもアプリそのものは終了してなかったり

まあ厳密にいうと複数プロセスで動いてるアプリもあるし
トップレベルのプロセス監視でも終了確認できないウィルス的な挙動のアプリもあるし
とあるアプリが特定不可な以上具体的な挙動はわからんですが
0620名無しさん@お腹いっぱい。 (ワッチョイ e5e5-f6tG)垢版2019/12/09(月) 18:05:58.70ID:RhLy9rR30

何が問題になるのかわからんと言われたから問題になるケースを上げたんだが…?

>やりたい事を実現出来ないケースは殆ど無いだろ
ごめん殆ど無いの根拠がよく分からないわ
一般的な範疇のアプリという条件の元だとして
同列のメインウィンドウを複数作るアプリもタスクトレイに常駐するアプリも
ほとんどないから考えなくていいというほど特殊な存在でもないと思うけど

もちろん前提条件として「とあるアプリ」がそういう挙動をしないとあらかじめわかってるなら話は別だが
どっちにしたところでウィンドウ破棄をahkだけでイベントとして拾うのが難しい以上は
WinExistかProcess, Existかみたいな話になるだろうから確実な線で見るほうがよくない?
0625名無しさん@お腹いっぱい。 (ワッチョイ 77c8-/nlV)垢版2019/12/13(金) 17:09:10.07ID:4NH6Uzpf0
chromeを使っていますが複数ウインドウ複数タブの中で
今アクティブでないウインドウでもタイトルが一致したら
Alt + F4でそのウインドウだけ閉じる方法をご存じないですか。

SetTitleMatchMode, 2 ; 中間一致
IfWinExist, xxxxxxxx
{
WinActivate , xxxxxxxx
send !{F4}
}

目的のタブがアクティブならできますが、そうでないときはこれではできません。
0631名無しさん@お腹いっぱい。 (ワッチョイWW cf58-9VLn)垢版2019/12/14(土) 06:06:50.14ID:TFN+dvhQ0
当該ウィンドウの全ての非アクティブタブのタブタイトルを合成した文字列を、アクティブタブのオリジナルタイトルの最後に合成する拡張機能を作ればイケそう
(アクティブタブ切り替えやタブの追加/削除/ページ遷移の各タイミングで適切にタイトルを更新する)

ある程度特徴的な区切り文字列(例えば「/////」など)を決めておけば、普段使いでの混乱を抑制できるかなかも
例) アクティブタブオリジナルタイトル ///// 全非アクティブタブのタブタイトル合成文字列
0632名無しさん@お腹いっぱい。 (ワッチョイWW 77e5-oCUh)垢版2019/12/14(土) 08:52:43.42ID:hjikztn/0
非アクティブタブのタイトルだけ分かっても
そのオブジェクトが特定できないとタブ閉じに再利用できなくね?
ああでも特定のタブを閉じるのではなく窓ごとバッサリやっちゃっていい前提なんだっけ?
0634名無しさん@お腹いっぱい。 (ワッチョイ 77c8-/nlV)垢版2019/12/14(土) 10:50:21.11ID:u1T33DCP0
625です
実験でAlt + F4にしましたが、できれば>>632さんのようにそのタブ以外を閉じる
ほうがいいですね。
実際のところ別ウインドウでアドインのTab Posision Optionsを使っているので
目的のタブが裏に隠れることはあまりないですけど。
ただ、将来的にそのような機能が必要かと思い質問してみました。
というわけで、すべてのウインドウのタイトルを取得したとしてもそのタブを特定して
残すのはどうすればいいか分からないです。
今のところはもう一つアドイン・Keyboard shortcuts to close Chrome tabsを使って
Alt + SHITF + wで他のウインドウを閉じるようにしています。
SetTitleMatchMode, 2 ; 中間一致
IfWinExist, xxxxxxxx
{
WinActivate , xxxxxxxx
send !+w
}
0636名無しさん@お腹いっぱい。 (ワッチョイ 77c8-/nlV)垢版2019/12/14(土) 12:05:31.76ID:u1T33DCP0
>>635
Javascriptからローカルサーバー → PHP → AutoHotkeyの順番で
やっていて、できればJavascriptから直接やりたいのですが、危ないし
やろうとしても、おそらくできないと思うのでこの形にしています。

chromeの拡張機能で例えばどのようなものがあるか、おすすめを教えてもらえると
ありがたいです。
0639名無しさん@お腹いっぱい。 (ワッチョイ 77c8-/nlV)垢版2019/12/14(土) 22:33:32.80ID:u1T33DCP0
>>637
今のところTampermonkeyを使ってJavascriptを書いてるだけなのでそこまでは研究していません。
作ったのことないのでわかりませんが拡張機能だと、別々のURLで別の作業をしたいときはその都度
新しい拡張機能を作るのでしょうか。
0640名無しさん@お腹いっぱい。 (ワッチョイ c3a2-bWwy)垢版2019/12/16(月) 04:35:35.72ID:xPE2f/1b0
test1.ahk というのが起動しているときに
それを検出して、test1.ahkを除去してtest2.ahkを起動させたり
その逆にtest2.ahkを除去してtest1.ahkを起動させたり
さらにその際にtest1.ahkが誤って2重起動しないようにしたいのですが
test3.ahkというのを作って、それら二つのahkファイルを外部から制御するって可能でしょうか?
0644名無しさん@お腹いっぱい。 (ワッチョイ a705-kui+)垢版2019/12/16(月) 15:02:09.19ID:Jeggue7g0
2ストロークのキー割り当て
2ストロークキーとは、一回のキー操作ではなく、二回のキー操作の組み合わせによって行う操作のことです。
例えば、Ctrl-Q Ctrl-R という感じで Ctrl-Q を押した後すぐに Ctrl-R を押すと「ファイルの先頭に移動」を実行します。
(古きWordStarにあったキー操作)

このワードスターを再現する.ahk探してるけど、やはりないね
0646名無しさん@お腹いっぱい。 (ワッチョイ c3a2-bWwy)垢版2019/12/17(火) 23:11:02.53ID:qsbQwbCU0
>>641
ありがとうございます
相手を起動したのち自分が停止するっていう考えですよね
一時的にでも両者が共存するのはできれば避けたいんですよね
そういう意味で外部で検出して、停止したのち起動という手法を選んだんですよ

ahk単体では無理な感じですかね
0648名無しさん@お腹いっぱい。 (ワッチョイ 57b1-hXk1)垢版2019/12/17(火) 23:37:30.80ID:E8AX9lFu0
>>646
ハッキリ言って具体的に何やりたいのかよく分からない
アクティブなアプリまたは決まった条件によってキーリマップ(ホットキー)のスクリプトを変更するとか?
↑だとしたら、スクリプト一つで出来るから小難しいこと考える必要はない

とりあえずそれは置いといて…
1.test3.ahkでtest1.ahk及びtest2.ahkが起動中か監視する
2.例えばtest1.ahkが起動中なら「test1.ahk起動中サブルーチン」を実行
 そのサブルーチン内で、test1.ahkを終了→test2.ahkを起動させるための条件が揃ったかを監視する
 条件が揃ったらtest1.ahkを終了→test2.ahkを起動しサブルーチンを抜け 1. に戻る

※スクリプトの終了方法はwinclose使う

的外れなこと言ってたら無視で
0649名無しさん@お腹いっぱい。 (ワッチョイWW 77e5-oCUh)垢版2019/12/18(水) 00:55:13.90ID:jgaai62z0
>>646
そうじゃのうて外から強制終了するのはなるべく避けた方がいいので
test3から終了命令受けたらtest12がそれぞれ自力で終了するようにしたらって意味では

例えば
-- test1.ahk
F13:: ExitApp
-- test2.ahk
F14:: ExitApp
-- test3.ahk
Send,{F13}
run,test2.ahk
みたいな それかOnMessage

起動検出はDetectHiddenWindows,ONにしてWinExistするか>642
0650名無しさん@お腹いっぱい。 (ワッチョイ 8edf-GBjH)垢版2019/12/18(水) 01:21:22.06ID:sON/QP2u0
>>649
test3.ahkでSend,{F13}してもそれをtest1.ahkで受けるのは無理じゃね

そもそも質問者はどういう操作でtest1.ahkを終了させたりtest2.ahkを起動させたりしたいのかも不明だから
何かのキーを押したときなのかそれともtest3を非常駐で実行したときなのかなど、とにかく説明不足なんだよ
test1とtest2が一時的でも被ってはいけないという理由も謎だしな
0653名無しさん@お腹いっぱい。 (ワッチョイ 97e5-Dhz5)垢版2019/12/19(木) 00:23:12.81ID:rueYUr0o0
>>650
>test3.ahkでSend,{F13}してもそれをtest1.ahkで受けるのは無理じゃね
やってみたがうちではできてるよ
できない人はメーカー製マウスユーティリティでF13キー以降の割り当てしてない?
ただ再三いうがAHK間でやり取りするならOnMessage()使ったほうが自由度は上がると思う
0654名無しさん@お腹いっぱい。 (中止 97c8-4tOU)垢版2019/12/24(火) 21:56:40.15ID:4O80sp520EVE
AutoHotkeyU64 で PHPのexecから引数をつけて文字列を渡そうと
思っていますが、変数で中身がUTF-8だとSJISに変換しないと
正しく機能しません。
$TITLE = $_POST['title'];
$SJIS_TITLE = mb_convert_encoding($TITLE, "SJIS");
exec("\"D:\\Program Files\\AutoHotkey\\AutoHotkeyU64.exe\" \"D:\\MyProgramFiles\\apache\\httpd-2.4.20-win64-VC14\\Apache24\\htdocs\\close_other_tabs.ahk\" \"$SJIS_TITLE\"");
echo json_encode($TITLE);
0656名無しさん@お腹いっぱい。 (中止 97c8-4tOU)垢版2019/12/24(火) 22:11:06.79ID:4O80sp520EVE
PHPも
header('Content-Type: application/javascript; charset=utf-8');
を入れて保存。 ファイルもUTF-8で保存。
ahkもBOM付きで保存しています。
とりあえず今のところSJIS変換で使えるのですがUTF-8のまま使えない理由が
分かりません。
0658名無しさん@お腹いっぱい。 (中止WW 97e5-ndJl)垢版2019/12/24(火) 22:19:32.39ID:jnSVlV9m0EVE
execでahk起動してるコマンドライン(コマンドプロンプト?)がSJISだからじゃないの?

プロンプトならchcp 65001すりゃいいけど
コマンドラインの場合はどうすんのかね
0664名無しさん@お腹いっぱい。 (中止 9787-OtLi)垢版2019/12/25(水) 16:40:32.69ID:eAAE7EkP0XMAS
ControlClick, X690 Y415, ahk_exe apli.exe, , L, , Pos

このようにしても指定した座標の場所がクリックされないのですが何が原因でしょうか?
クリックそのものは発生していのですが現在カーソルがある位置をクリックしてしまうのです
0665名無しさん@お腹いっぱい。 (中止 MMdb-77b/)垢版2019/12/25(水) 19:00:11.99ID:CgUlNSdiMXMAS
>>664
記述は問題ない

考えられる問題は
実行中にマウスを動かしている
対象がマウス座標を拾っている

---------------------------------
Run, mspaint,, Max ; ペイント起動

F1::
Random, X, 100, 200
Random, Y, 300, 400
ControlClick, x%X% y%Y%, ahk_exe mspaint.exe,, L,, Pos
return

F2::
Random, X, 300, 400
Random, Y, 300, 400
MouseClick, L, %X%, %Y%
return
0666名無しさん@お腹いっぱい。 (中止 9787-OtLi)垢版2019/12/25(水) 19:14:26.91ID:eAAE7EkP0XMAS
>>665
ご回答ありがとうございす。
試しにペイントでその2つを試した所、座標どおりにクリックされました。
しかし自分がUnity製のゲームではControlClickだとマウスの位置しかクリックされませんでした。
アプリケーションによってはダメみたいですね…。
0667名無しさん@お腹いっぱい。 (ワッチョイ 1e76-yLny)垢版2019/12/28(土) 05:51:22.70ID:uzpbn+ZX0
{Blind}の効果がいまいちよくわからないんだけど
つけるべきときにつけないことで誤動作してしまう例ってどんな物ですか?

よくあるのはこれですが
sc07B & i::Send,{Blind}{Up}

sc07B & i::Send,{Up}
と挙動が異なるときってどんな時ですか?
0669名無しさん@お腹いっぱい。 (ワッチョイ 210d-dR36)垢版2019/12/28(土) 20:19:29.58ID:dK7lFuaz0
>>667
その例はわかりにくいから一旦忘れよう
{Blind}はSendで修飾キーの状態をAHKから隠したいときに使う


; Sendに修飾キーの状態を反映させたい
+s::Send abc ; abc
+s::Send {Blind}abc ; ABC

; 修飾キーの自動復元を無視したい
^space::Send {Ctrl up} ; Ctrlが押された状態に戻る
^space::Send {Blind}{Ctrl up} ; Ctrlが上がったままになる
0671667 (ニククエ 9276-yLny)垢版2019/12/29(日) 23:53:27.36ID:0ftJxOi20NIKU
ありがとうございます
今まではコピペコードくらいでしか使っていませんでしたが
これからは新規のコードを書く際にしっかり意識しながらやっていこうと思います
0677名無しさん@お腹いっぱい。 (ワッチョイ 2fd5-VnBs)垢版2019/12/30(月) 16:41:24.85ID:++vtXWHX0
すまん、質問の仕方が悪かった
「F13」の部分が、実際は何にしているのかを知りたかったんだ

例えば「Ctrl + Shift + N」を、仮に「Win + N」で置き換えてるとしたら、
「OneNoteに送る」とバッティングするなぁ、とかそういうの
(OneNote使ってない人は全然気にしないだろうけど)

 ※普通のキーボードにはF12までしかないから、実際は別の何かなんだろうと思ってる
 ※多ボタンマウスとかの割り当てで、F13にしてるのかなぁ
 ※1キー押しだとすると、結局普段使われないキーなのだから、実際にもF13なのか?
0680sage (ワッチョイ c273-pIXJ)垢版2020/01/02(木) 19:38:23.07ID:tVOKYODP0
https://www.autohotkey.com/docs/scripts/KeyboardOnScreen.htm
上のサンプルスクリプトのについて質問があります。
キーボードの各キーにあたるボタンの設定変更についてです。

ボタンはgui, add で追加されたButtonです。ボタンの色またはボタン上の
テキスト(A,B,Cなどの1文字)の色を動的に変えたいんですが初期状態で
変えることすら出来ません。そういうことはできないんでしょうか?

掲載コードでは透明になっているキーボード全体の背景色を変えることは出来ました
0683名無しさん@お腹いっぱい。 (ワッチョイ c273-pIXJ)垢版2020/01/03(金) 15:57:48.70ID:Og8N9g0/0
>>682
ありがとうございます。
結局それは使わずに

同サイズのProgressバー、Button、Textを同じ位置に重ねて
表示、非表示を切り替える感じで実現できました。
(Progressバーはボタンの四角形を表示するために一挙に100%まで行きます。)

参照:
https://autohotkey.com/board/topic/94703-another-approach-to-a-virtual-keyboard/
https://autohotkey.com/board/topic/89959-centering-text-in-a-progress/
0684名無しさん@お腹いっぱい。 (ワッチョイ 4273-UAPS)垢版2020/01/05(日) 02:58:05.24ID:z6nCiPO+0
最近AHKのバージョンを1.1.30.03から1.1.32.00にしたんですけど
GetkeystateとKeywaitの反応がおかしくなったアプリがあります
具体的にはこんなスクリプトなんですが

vk1D::
Send,{Space down}{Ctrl down}
Keywait,vk1D
Send, {Space up}{Ctrl up}
return

無変換キーを離しているのに1秒くらいしてから Send, {Space up}{Ctrl up} が実行される状態です
下記のGetkeystateでも同じ状態です

vk1D::
Send,{Space down}{Ctrl down}
loop
{
sleep,10
GetKeyState, state, vk1D , p
if state = u
{
Send, {Space up}{Ctrl up}
return
}
}


こういう不具合が報告されてたりしますかね?バージョン1.1.30.03なら問題なく動くんですが
0687名無しさん@お腹いっぱい。 (ワッチョイ 4273-UAPS)垢版2020/01/06(月) 16:20:17.37ID:oLM8GZzz0
>>685
ClipStudioPaintで修飾キーを使った一時ツール切り替えのためのスクリプトです
CtrlとSpaceキーを押すと虫眼鏡ツールに切り替わります

>>686
それを試してもだめでした
0688名無しさん@お腹いっぱい。 (ワッチョイ e10d-Fu3+)垢版2020/01/06(月) 19:34:24.26ID:7mFD3sLb0
>>687
後試すことは
修飾キーの順序直す、ホットキーにAHKフック、送信方式変更、ディレイを入れる

以下必要最低限の記述でテストすること
わかりやすいように音を鳴らしてキーを離してからAHKが遅延するのかアプリ側が遅延しているのか判断

; 自分で調整↓
; SendMode, Mode
; SetKeyDelay[, Delay, PressDuration, Play]

$vk1D::
Send {Ctrl down}{Space down}
Keywait vk1D
Send {Space up}{Ctrl up}
SoundPlay *64
return
0691名無しさん@お腹いっぱい。 (ガックシW 0623-h659)垢版2020/01/14(火) 12:19:10.98ID:GNH0LeBL6
ゲームをやる時にある特定のキーを一回押すだけで次にもう一回押すまで長押しの状態にしたいのですがどうすればいいですか?
0693名無しさん@お腹いっぱい。 (ガックシW 0623-h659)垢版2020/01/14(火) 14:50:34.59ID:GNH0LeBL6
$1::
Send, {a down}

試しにこれで長押しするか試したけどメモ帳には1文字しか入力されない
0694名無しさん@お腹いっぱい。 (ガックシW 0623-h659)垢版2020/01/14(火) 14:53:54.61ID:GNH0LeBL6
>>693
>$1::
> Send, {a down}
>
試しにこれで1を一回押したらaが自動で長押しされるか試したけどメモ帳にはaが1文字しか入力されない
0696名無しさん@お腹いっぱい。 (ガックシW 0623-h659)垢版2020/01/14(火) 15:03:54.07ID:GNH0LeBL6
できませんorz
0697名無しさん@お腹いっぱい。 (ガックシW 0623-h659)垢版2020/01/14(火) 15:06:05.27ID:GNH0LeBL6
回数指定はいけます
0699名無しさん@お腹いっぱい。 (ガックシW 0623-h659)垢版2020/01/14(火) 15:11:49.13ID:GNH0LeBL6
Loop使ったらいけました。ありがとうございます。
ちなみに今のような質問をする時は次からどこで聞けばいいですか?
0700名無しさん@お腹いっぱい。 (ワッチョイ ff1b-G18V)垢版2020/01/14(火) 15:24:14.71ID:wU9b9Ut70
>>699
Loopと押しっぱなしは全然意味が違うぞ
お前がやりたいのは押しっぱなしじゃなかったのか?
押しっぱなしなら{キー名 down} でいい(キーリピートはしない)

あと初心者スレみたいなもんは無いしwikiのサンプルコード熟読するとか
最低限の知識は自力で付けられないならahk使うの諦めたほうがイイ
0701名無しさん@お腹いっぱい。 (ガックシW 0623-h659)垢版2020/01/14(火) 15:38:47.56ID:GNH0LeBL6
ゲームだとLoopなしでもいけたけど押しっぱなしになったままで解除する方法が分からない。

分かりました。wikiもう少し読んで出直します...orz
0703名無しさん@お腹いっぱい。 (オイコラミネオ MMd3-Uq5u)垢版2020/01/14(火) 19:04:45.74ID:roP/RC34M
GuiのEditのGラベルでサブルーチンを実行するとき
そのサブルーチンの実行中の
Edit値の変化は無視されてしまうのでしょうか

例えば下記のスクリプトで
"a"と"b"を続けて素早く入力した場合
"a"のみが表示されるのですが
"ab"も(又は"ab"だけ)表示するには
どうしたらよいでしょうか

Gui,Add,Edit,Gsub
Gui,Show
Return

sub:
ControlGetText, newtext , edit1
Sleep, 1000
MsgBox, %newtext%
Return
0709名無しさん@お腹いっぱい。 (ワッチョイ df0d-lZna)垢版2020/01/14(火) 20:40:03.39ID:YCyA6bsk0
Gui, Add, Edit, w500 r5 gThread_Edit1 ; 処理が終わるまで入力禁止
Gui, Add, Edit, wp hp gThread_Edit2 ; 処理中に追加があれば再実行
Gui, Show
return

Thread_Edit1:
GuiControl, Disable, edit1
Test()
GuiControl, Enable, edit1
return

Thread_Edit2:
SetTimer, Thread_Timer, -1
return

Thread_Timer:
Test()
return

Test() {
Sleep, 1000 ; 重い、時間のかかる処理
GuiControlGet, newtext,, edit2
Tooltip, %newtext%
SetTimer, RemoveToolTip, -2000
}

RemoveToolTip:
ToolTip
return
Esc::
GuiClose:
ExitApp
0710名無しさん@お腹いっぱい。 (ワッチョイ df0d-lZna)垢版2020/01/14(火) 20:53:14.14ID:YCyA6bsk0
>>709
ミスがあるので修正

Thread_Edit1:
GuiControl, Disable, edit1
Test(1)
GuiControl, Enable, edit1
return

Thread_Edit2:
SetTimer, Thread_Timer, -1
return

Thread_Timer:
Test(2)
return

Test(n) {
Sleep, 1000 ; 重い、時間のかかる処理
GuiControlGet, newtext,, edit%n%
0714名無しさん@お腹いっぱい。 (ワッチョイ df0d-lZna)垢版2020/01/14(火) 21:13:01.16ID:YCyA6bsk0
>>711
Criticalはやめとけ延々と待つことになるぞ


Gui, Add, Edit, w500 r5 gThread_Edit1
Gui, Show
return

Thread_Edit1:
Critical
Test(1)
return

Test(n) {
Sleep, 1000 ; 重い、時間のかかる処理
GuiControlGet, newtext,, edit%n%
Tooltip, %newtext%
SetTimer, RemoveToolTip, -2000
}

RemoveToolTip:
ToolTip
return

Esc::
GuiClose:
ExitApp
0717715 (ワッチョイ f9b1-VRpb)垢版2020/01/15(水) 00:48:33.04ID:hWCUiCW80
>>716
すみません>>715に書き忘れたのですが
IfWinActive, ウィンドウ名, 2
としても
IfWinActive, [ウィンドウ名, 2]
のように配列で渡してもうまく部分一致になりません
(あと部分一致でなく後方一致にする方法についての記載を見つけられませんでした)
0718715, 717 (ワッチョイ f9b1-VRpb)垢版2020/01/15(水) 00:52:29.97ID:hWCUiCW80
あ、わかりました!
SetTitleMatchModeは引数ではなく独立したコマンドでしたね…

SetTitleMatchMode,2

IfWinActive, ウィンドウ名の一部
{
Send, あ
}

うまくいきました
0723名無しさん@お腹いっぱい。 (ワッチョイWW 41e5-doUQ)垢版2020/01/15(水) 08:49:17.92ID:/Z4xN/Rd0
まあ解決したみたいだしそこまで噛みつく内容でもないと思うが
質問時にソース貼るなら次からは試して動かなかったコードを貼ろうな
そしたらどこで勘違いしてんのか分かるし具体的にアドバイスできるから
やりたい、分からない部分を空白にしたソース貼って穴うめして下さいっていうのは
結局丸投げと同じだからさ
0724名無しさん@お腹いっぱい。 (ワッチョイWW c576-zDNX)垢版2020/01/20(月) 09:16:30.24ID:d4sYPmSp0
キーボードの右altキーをChangekeyで
F24に割り当ててAHKを使用しています。
AHKでやりたいことは出来ているのですが、
マウスジェスチャーLで右クリックの代わりにF24を始動キーにしようと思い、設定したのですが、この場合AHKで設定したのことが無効になります。
どちらもアプリもF24で共存することは出来ないのでしょうか?
0729名無しさん@お腹いっぱい。 (オッペケ Srd1-fBm7)垢版2020/01/21(火) 15:27:33.69ID:5Eh+0+HCr
常駐してるahkに記述されてる自作関数をコマンドプロンプトから呼び出すことできる?
----------------------------
func:
msgbox, hoge
return
----------------------------
>>1見たりググったりしたけど答えが見つからなかった。あるのならすまない
最近AHK使い始めて良くわかってないから大目に見てくれ
0732名無しさん@お腹いっぱい。 (スフッ Sd7f-6xyq)垢版2020/01/22(水) 14:27:34.11ID:RxEen8tTd
去年からAutoHotKey使い始めて
ホームポジションから離れることが激減したのはいいんだが
ノートのキーボードだと同時押しの効かないキーの
組み合わせが機種ごとにランダムに発生するのが悩ましい
特に変換、無変換が絡むと
「こんなキーと同時押しする馬鹿のことなんか
どうでもいいわwww」という
設計者の意図が透けて見えるようだ

会社で支給されるノートが新品になると
キーバインドに違うアレンジが必要になる

プライベート用だとRazerのスリムなノートぐらいしか
俺のニーズにマッチするやつはなさそうなんだが
最近のモデルは右シフト周りのキー配列が
上カーソルに侵食されて好みでなくなってるのが難点
しかし、尊師スタイルはしたくないので
これからはノートを変えるたびにキーボードガチャ
0734名無しさん@お腹いっぱい。 (スフッ Sd7f-6xyq)垢版2020/01/23(木) 14:09:10.05ID:z6hrYOWsd
ノートや安いキーボードでの運用について語りたい奴はいないのか

次にノート買うならUSキーボードにしようと思ってたが
USキーボードの右AltをF13にしたとして
致命的にうまく動かないキーコンビネーションがあると
ほとんど詰んでしまうな
JISなら無変換、変換、カタカナキーのどれかが使い物になれば良い
0736名無しさん@お腹いっぱい。 (ワッチョイWW 87e5-vv9f)垢版2020/01/23(木) 14:49:25.24ID:TL0iCSLV0
ノートの変態配列についてはahkでどうにかできるレベルじゃないので…
PC買い換えるたびにキー配列で悩むの嫌なんでここ最近はThinkPad一択
デスクトップは安物乗り継いで結局リアフォに落ち着いた
0744名無しさん@お腹いっぱい。 (ワッチョイ 87e5-yKkE)垢版2020/01/23(木) 17:44:20.06ID:TL0iCSLV0
そういう制約が面倒なのでモデファイヤキー以外をトリガにするのは避けることにしてる

AHK出始めの頃はここや流行らせるページでLocks系キーの
機種依存挙動でわいわいやってたりもしたがもうそういう時期通り過ぎてるというか
20年も使ってると汎用で使えないオレオレ設定は淘汰済みなんだな
0747名無しさん@お腹いっぱい。 (スフッ Sd7f-6xyq)垢版2020/01/23(木) 18:17:16.67ID:z6hrYOWsd
>>744
そうすれば確かに引っかかる確率は減るだろうね
だけど、片方のAltをF13とかにして
他のキーとの組み合わせでカーソルキーや
ファンクションキーをSendしたとする
そこに残った方のAltも加えて同時押しすると
一部組み合わせが機能しないという悲しいケースもあったよ
左右Alt同時使用は想定外なんだね

デスクトップのゲーミングキーボードなら
何でも普通に動いて快適な状態に慣れてしまったから
ノートでも限界まで追求している

過ぎた話題で興味無いならスルーしてくれればいいよ
他の話題が始まれば俺も遠慮するし
0749名無しさん@お腹いっぱい。 (ワッチョイ 879b-FkkX)垢版2020/01/23(木) 23:35:40.91ID:nifKxp710
エクスプローラーでアクティブに選択しているファイルを
サクラエディタで開きたいんだけど、サクラエディタ自体は起動するけど
選択したファイルが開いていないです。
どうしたらいいのでしょうか・・・

^e::
Send, ^c
Run, "C:\Program Files (x86)\sakura\sakura.exe" %Clipboard%
return
0751名無しさん@お腹いっぱい。 (スフッ Sd7f-6xyq)垢版2020/01/24(金) 11:02:24.45ID:NBF8iWUcd
>>748
なんで動かないのかなんて聞いてないし
そもそも俺は質問も相談もしていないし
お前に向けて書いてない
読解力無い癖にゴミのような横槍をこまめに入れるな
面白いことを言えないのなら黙ってろ
なんでお前がレスするんだよ

>>740
>>743
お前は↑でも勝手に俺の代返をしてデタラメ書いて
他のまっとうなレスした人間まで不快にしただろう
ガイジそのもの
お前こそが会話をめちゃくちゃにして荒らしている
お前の見当外れで無駄に攻撃的なゴミレスは無視してきたが、
ここだけレスした意味ぐらい分かってんだろうな?
それもあやしいかな
こんなにもガイジなんだからな

>>741
>>743
何が大正解だ脳障害め
NKRO対応の機種に限定したら軽めのノートは殆ど選択肢から外れる
そういうマシンでAHK運用することに関してテキトーに雑談して何が悪いんだ?
少なくとも明らかにスレチではない
お前の好みの話題でないだけ
上から目線で面白味ゼロのゴミレスばっかしてんじゃねえよ

不愉快なガイジの声ばかりがデカイから、いい加減このスレで楽しむのは諦めるわ
何の面白味も無いゴミ虫め
生きてて楽しいか?
いちいち答えなくていいぞ
0753名無しさん@お腹いっぱい。 (ワッチョイWW 87e5-MXRD)垢版2020/01/24(金) 12:26:30.64ID:jm14eODy0
ガイジをNgWordでいいよ
ガイジ連呼する奴にまともなのはいない

ノートの変態配列の場合そもそも右側モデファイヤがない場合もあるので左右で動作分けるとかしないしなぁ
つか複雑なキーバインドは指も頭もついていかん
0757名無しさん@お腹いっぱい。 (ワッチョイ a70f-cKaM)垢版2020/01/24(金) 13:11:19.34ID:RQUs/BcE0
データ整理してたら出てきた、昔の拾い物でカーソルを時計/半時計に回ると左右に動くというものなんですが、
現行の環境では動かないのですがなぜでしょう??
win10でverは1.1.31.00です。
また以下の機能を任意のキーでオンオフ出来はしないでしょうか?
常にこの動作が効いていると困ることが割と想定されるので実装できればと
(改行が多いとのことで複数回投稿します、すみません)

#InstallKeybdHook
high=1 ;高速時のスクロールスピード(1-3)可変
low=1 ;低速時のスクロールスピード(1-3)可変
sens=1 ;感度(1-3)可変
timeout=50 ;タイムアウトまでの時間

upstr=12341234
downstr=43214321
base=567890
StringTrimRight,base,base,%sens%
SetTimer,Rotation,10
Return
0758名無しさん@お腹いっぱい。 (ワッチョイ a70f-cKaM)垢版2020/01/24(金) 13:12:09.95ID:RQUs/BcE0
Rotation:
If (A_TimeIdlePhysical>timeout)
str:=base
x1:=x2
y1:=y2
MouseGetPos,x2,y2
x:=x2-x1
y:=y2-y1
If (x>0 && y>0)
pos=1
If (x>0 && y<0)
pos=2
If (x<0 && y<0)
pos=3
If (x<0 && y>0)
pos=4
If (pos<>lastpos)
{
StringTrimLeft,str,str,1
str=%str%%pos%
lastpos:=pos
}
0760名無しさん@お腹いっぱい。 (スフッ Sd7f-6xyq)垢版2020/01/24(金) 14:54:09.52ID:NBF8iWUcd
>>756
お前みたいなつまらない奴の指図なんか
聞くわけが無いのだから無駄な書き込みやめたら?
こういう返答以外に何を予想してたの?
いちいち答えなくていいけど
放っておけば俺はもう興味を無くして
書き込みやめる流れなことぐらい分かるだろうに
ホントに人の話を聞かない奴ばっか
0761名無しさん@お腹いっぱい。 (スフッ Sd7f-6xyq)垢版2020/01/24(金) 15:19:45.51ID:NBF8iWUcd
>>757
汚いレスで遮ったから一応レスしとくか

>また以下の機能を任意のキーでオンオフ出来はしないでしょうか?
任意のキーで適当な変数を書き換えて
処理の本体はその変数の値を見て
IFでスキップすればいいと思うよ

あるいはSuspendコマンドについてググって
何かの役に立ちそうか考えてみたら?(糞適当)
要らないと思うけどw

動かない理由は面倒なのでパス
地道に変数の値をMsgBoxで表示させたりして
自分でデバッグすればいいんじゃないかな
元々頼りない前提に頼ったロジックだと
微妙な環境の変化だけで潜在的な問題が表面化する
プログラムというのはよくあるね
0763名無しさん@お腹いっぱい。 (ワッチョイ a70f-FkkX)垢版2020/01/24(金) 23:17:45.16ID:RQUs/BcE0
>>762
いや、全く各箇所の記述の動作を逐一なんてつもりはないです。
>>現行の環境では動かない といっているように、全く同じ内容で別環境では動いていており
動作の本筋に関しては本質的に間違っている箇所があるとはおもえません。
ただ環境が異なるため、恐らく何かver改訂やOSによる仕様変更のせいで何かが引っかかってると思い、
何か心当たりがあるならそれと照らし合わせもらうために情報を晒したにすぎません。

言葉が足りなくて申し訳ありません。
0764名無しさん@お腹いっぱい。 (ワッチョイWW 87e5-vv9f)垢版2020/01/24(金) 23:45:49.31ID:jm14eODy0
全直し希望じゃなくても
人が作ったスクリプトを自分は一切手を着けてない状態で貼ってたら丸投げ言われるわな

おいそれと弄れないにしても自分なりに調べて方向性だけでも書いてそれでいけそうか事前に聞くとかさ
環境依存部分はともかくホットキー起動に関してはいくつかの方法は考えられるでしょ
0766名無しさん@お腹いっぱい。 (ワッチョイ a70f-FkkX)垢版2020/01/25(土) 01:01:04.90ID:mylHY5dE0
>>764
761氏のおっしゃるようにmsgboxで探すのは質問前からもうやっていますし
最終的には
Rotation:
If (A_TimeIdlePhysical>timeout)
Msgbox,%A_TimeIdlePhysical%
Return
で正常な値がでることも確認しているんでお手上げなんですよ
だから
無変換キーを vk1Dsc07B → vk1D みたいな変更のように
仕様変更だったり、もしくば既知のバグのように
知らなきゃどうしようもないようなことに心当たりありませんかと聴いているんです
検索はすでにしていますが見つからないのでここで訪ねている次第です

それにホットキーに関しては本丸が出来ていないのでまだ取り掛かりようがないです
0767名無しさん@お腹いっぱい。 (ワッチョイ a70a-V1vN)垢版2020/01/25(土) 02:51:12.13ID:7N2llbO10
>>766
そもそも謎の前環境でも動くわけが無い

> #InstallKeybdHook
> If (A_TimeIdlePhysical>timeout)
> で正常な値がでることも確認しているんでお手上げなんですよ
正常な値なわけが無い、A_TimeIdlePhysicalは対応するフックで動作するので
「マウスフック」を使わなければマウスの動作は無視される

> カーソルを時計/半時計に回ると左右に動くというものなんですが、
> key=Left
> key=Right
> Send,{%key% %freq%}
クリックに見えますが?
0769名無しさん@お腹いっぱい。 (ワッチョイ 7ff2-Jq7D)垢版2020/01/25(土) 15:37:47.39ID:jE5Psj+a0
>>766
MsgBoxよりもTooltipの方がいいと思うよ

うちの環境だと、とりあえず If (A_TimeIdlePhysical〜の2行をコメントアウトして、strに初期値を入れたら動く様になった
TooltipでA_TimeIdlePhysicalを表示させたら、マウスを動かしても上がり続けたので、いっそのことPhysicalとったらリセットされるようになったよ
ただのTimeOut判定だから無くてもさほど困らないだろうし、A_TimeIdlePhysicalにこだわらなくても、自前のカウンターって手もあるね

あと、キー仕様を疑うなら、Sendの行付近に %key% をtooltipで表示して、表示されたキーを押すだけの別スクリプトで試してみるべきだよ
0770名無しさん@お腹いっぱい。 (バッミングク MM4f-bNzE)垢版2020/01/27(月) 12:37:39.85ID:EYLpIN0yM
エクスプローラーで選択中のファイルが、特定の拡張子だったときだけサクラエディタで開きたいのですが、うまく動いてくれません。
どうすればよろしいでしょうか、、、

#ifWinActive ahk_exe explorer.exe

;ctrl+Eでサクラエディタで起動
^e::

Send, ^c
Sleep,100
if ( %Clipboard% = "*.拡張子" ){
Run, C:\Program Files\sakura\sakura.exe %Clipboard%
}
else{
Send, ^{e}
}
return

#ifWinActive
0773名無しさん@お腹いっぱい。 (ワッチョイWW 5ffa-TZXF)垢版2020/01/27(月) 16:02:46.81ID:o+dKNXE50
1
セットタイトルマッチモードの仕様が書いてないからどれで突き合わせてるかわからん

2
IF文中にワイルドカードって使えたっけ?
使えたらごめんよ
でもその条件ならIF contains式でいいんちゃう?

3
そもそもの話としてAutohotkeyのClipboard関係は信用が置けないので一工夫がいるのも気をつける
測ってみたところ300ms後にクリップボードがうまるようなファイルもあった
0774名無しさん@お腹いっぱい。 (ワッチョイWW 879b-bNzE)垢版2020/01/27(月) 18:30:10.90ID:dv4SnxNn0
皆様ご回答ありがとうございます。
ワイルドカード使えなかったの知りませんでした、すみません。
おっしゃるとおり、拡張子の3文字を取り出すstringright関数でできました。
大変助かりました。
0775名無しさん@お腹いっぱい。 (ワッチョイ 870d-V1vN)垢版2020/01/28(火) 04:02:03.76ID:uvycofvT0
>>770
>>772-774
突っ込みどころ満載なので・・・。

フック使って無いのでSendに反応してホットキー無限ループ
複数選択した場合は意図しないことになる
クリップボードのタイムアウト、保管
拡張子を取り出すのに文字数では確実ではない
0783名無しさん@お腹いっぱい。 (ワントンキン MM3f-VQnw)垢版2020/01/28(火) 13:50:01.87ID:27uwmOduM
当人しか使わない個人的なスクリプトに関しては無理に完璧を記さなくても限られた状況下でだけ動けばいい場合も多いし
利用者本人が想定してないことまで無理に盛り込まんでもいいとは思うね

完全なコードを他人が丸ごと貼ってやっても理解できないことの方が多いだろうし
細かいとこは不完全でも本人が考えて書いたものを問題を感じた時に改修してく感じでいいんでない
多分そういう前提でヒントレスしてる人が多いと思う
0787名無しさん@お腹いっぱい。 (ワッチョイWW c7b1-K+7m)垢版2020/01/28(火) 20:07:29.82ID:ockOGIFp0
質問です。こういう転記作業ってAHKで出来るのでしょうか?

転記元Excelファイル
転記先IEのシステム

Excelファイルから任意のセルをコピーして、IEの入力欄に貼り付け、
登録ボタンを押下後、またExcelに戻って先程の一行下のセルをコピーして…
の繰り返しの作業です。

なんとなく出来そうな気はするのですが、AHKのスキルってどうやって
勉強したら身に付きますか?
0791名無しさん@お腹いっぱい。 (ドコグロ MM8b-VJNl)垢版2020/01/28(火) 21:34:48.42ID:3FNQgvymM
>>787
その作業は画面見ずにキーボードだけで完結できる?出来るのであれば、その操作通りにsendし、適宜sleepするだけで完成だ。
マウス操作必須だったり、条件で動作が変化するなら、その箇所に処理を加えたり、その箇所の自動化を諦めると良い。
0792名無しさん@お腹いっぱい。 (ワッチョイ 870d-V1vN)垢版2020/01/28(火) 21:36:17.98ID:uvycofvT0
>>783
当人以外も参考にする可能性が有るので無限ループに陥るようなコードを野放しはあかんだろ
ヒント?出してる方も色々分かってなかったしw
今後の初心者が見てアレが正解だと思われたらまずい
0799名無しさん@お腹いっぱい。 (ワッチョイ 6632-unxX)垢版2020/01/30(木) 03:03:10.18ID:hLaC5ZDt0
質問です。
ホットキー指定で~をつけると、イベントを乗っ取らずそのままシステムに通しますが
その後の処理で、システムに通さないよう分岐する方法はありますか?

イメージは以下のような感じです

~RButton Up::
MouseGetPos, mx, my, hwnd, ClassNN
if ( ClassNN <> "ListView321" )
return ; そのままシステムに通してなにもしない

; 以下コンテキストメニューを表示してシステムに通さない
0802名無しさん@お腹いっぱい。 (ワッチョイ 5d0d-Y6bJ)垢版2020/01/30(木) 06:48:31.85ID:2Pg1PDf70
>>799
ホットキーの割り当て変更 か 自前でSend
Upを設定すると自動でDownも乗っ取られるから
~つけない場合ちょっと工夫が必要になる


~RButton Up::
if (Flag := !Flag) {
Hotkey, RButton Up, ~RButton Up
ToolTip そのままシステムに通してなにもしない
} else {
Hotkey, ~RButton Up
ToolTip 横取り
}
return

; ------

RButton::
if (!Flag)
Send, {RButton Down}
return

RButton Up::
if (Flag := !Flag) {
Send, {RButton Up}
ToolTip そのままシステムに通してなにもしない
} else
ToolTip 横取り
return
0805名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/01/31(金) 15:15:41.79ID:Qxhc6BbA0
質問です
MouseGestureL が常に管理者権限で動いている状況下で
後から任意のタイミングで実行するスクリプトから
マウスのボタンの押し下げを知りたい場合に
MouseGestureL の中に "適当な関数名" でGetKeyStateする箇所を
あらかじめ準備しておき、自前スクリプト側で

SendMessage, DllCall("RegisterWindowMessage", "Str", "適当な関数名", "UInt"),,,,
  C:\AutoHotkey.ahk ahk_class AutoHotkey

こんな感じに呼び出していました
最近OSを変えるまではUACを全部切ってたのでこれで問題ありませんでしたが
切らずに運用してみたところ自前スクリプトも管理者権限にしないと
アプリ間通信自体ができないみたいで困ってます
0806名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/01/31(金) 15:16:15.19ID:Qxhc6BbA0
情報後出しにならないように使用環境も書きます
右ボタン、中ボタン、左ボタンはそのまま、それ以外の残りの5ボタンを
F16,F17,F18,F19,F20キーにマウスドライバ側で割り当ててあり
MouseGestureL側ではこの5ボタンでジェスチャー認識させてます
便宜上子スクリプトと呼びましたが、任意のタイミングで
個別に実行されるスクリプトでMouseGestureLから実行するわけではないです
コンパイルして特定の拡張子と関連付けしてあり
ファイル実行時にこのマウスボタンが同時に押されていたらこのアプリを
こっちのボタンならこのアプリをといった感じでラッパーとして機能させてます

特にアプリ間通信にこだわらず
一般ユーザ権限の子スクリプトがマウスのボタンの押し下げを知る方法ならなんでもいいです
よろしくお願いします
0807名無しさん@お腹いっぱい。 (ワッチョイWW 5de5-SuLP)垢版2020/01/31(金) 17:22:07.16ID:s1HRUi470
OSとahkのバージョンは?

win10からはadmin←→非admin間制御系が分断されてるので
UAC切ってても管理者権限で動いてるahkからは一般的権限のアプリの制御ができなくなってるはずだけど
そもそもMouseGestureL はまともに機能しているん?
0808名無しさん@お腹いっぱい。 (ワッチョイ 5936-unxX)垢版2020/01/31(金) 17:44:49.94ID:SUSq+Cgw0
>UAC切ってても管理者権限で動いてるahkからは一般的権限のアプリの制御ができなくなってるはずだけど

質問者じゃないけどこれ何言ってんだ?
Win10で管理者権限で動いてるahkから一般権限のアプリは制御できるぞ
一般権限で動いてるahkから管理者権限で動いてるアプリの制御は当然出来ないけど
0809名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/01/31(金) 18:15:40.06ID:Qxhc6BbA0
レスありがとうございます

OS:Windows10 Home
AHK:v1.1.32.00 - November 24, 2019
MouseGestureL.ahk:Version 1.32 (2020/01/28)

UACは切らずに運用してます
MouseGestureL は管理者権限で起動してます
他のアプリで意図的に管理者権限で起動しているものは
システム監視系のアプリぐらいですが、そのアプリに対しても
一般ユーザ権限のアプリでも問題なくMouseGestureLで制御できています
MouseGestureL から何かを起動する場合はRunは使用せずに
ComObjCreateを利用して一般権限で起動するようにしています
0810名無しさん@お腹いっぱい。 (アウアウウーT Sa21-RCOk)垢版2020/01/31(金) 21:36:49.69ID:v8RZrb+0a
ファイルかクリップボードを経由してやりとりするというのはどう
たとえば
クリップボードを監視して値を要求する特定の文字列が入っていたら
クリップボードに要求された値を返すとか
値を得るタイミングはもっさりするだろうけど
0811名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/01/31(金) 23:57:38.75ID:Qxhc6BbA0
やっぱりその辺りを経由するしか方法ないですかね
MouseGestureLはとてもいいスクリプトなので
監視ルーチンを寄生させるとかは避けたかったですが

ファイルやクリップボード経由しか手段がないならば
マウスボタンの押し始めタイミング自体は
改変しなくともMouseGestureL側で検知できると思うので
ボタンの押し始めに所定の位置にあるファイル名xxxをyyyにリネーム
ボタンが離されたらファイル名をxxxに戻す
子スクリプトは起動時にそのファイル名をチェック
とかの方法でやってみようかと思いました
アドバイスありがとうございました!
0814名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/02/01(土) 06:49:34.23ID:RcLxcGeu0
やりたいことは>>806に書いた通りです
>個別に実行されるスクリプトでMouseGestureLから実行するわけではないです
>コンパイルして特定の拡張子と関連付けしてあり
>ファイル実行時にこのマウスボタンが同時に押されていたらこのアプリを
>こっちのボタンならこのアプリをといった感じでラッパーとして機能させてます

MouseGestureLとは一切関係なく、ある拡張子のファイルを実行したときに
たとえば拡張子.txtならば本来のメモ帳の前にシステム側から関連付け設定で呼び出され
8ボタンマウスの5つの拡張ボタンのどれかを押す押さないで
実際に実行するアプリをメモ帳から他の物へ変更するラッパーを作ってて
管理者権限でMouseGestureLがつかんでるマウスボタン押下の情報を
一般権限しかもたないこのラッパーに伝達したい、というものです
0815名無しさん@お腹いっぱい。 (ワッチョイ 7db1-b3gp)垢版2020/02/01(土) 08:24:10.05ID:+/Lmpd8T0
未だに何やりたいのかがハッキリと分からないけど、
ファイルをダブルクリック(またはエンターキー押下)した"後"に開くアプリをいくつかの選択肢から選びたい、ってこと?
ならMGL側じゃなく実行するスクリプト側でGetKeyStateして何ボタンが押されてるか取得すればいいのでは?

管理者権限とか一般権限とかの話はよく分からんので適当
0820名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/02/01(土) 20:38:42.73ID:RcLxcGeu0
説明が拙くて申し訳ありません
目的は関連付けされたコンパイル済みスクリプトの動作ではありますが
そこ自体はちゃんと動いてるので、質問したいのはこのスクリプトが実行される瞬間に
「どのマウスボタンが同時に押されていたか知りたい」ということです

x1 := GetKeyState("XButton1", "P")
x2 := GetKeyState("XButton2", "P")
Msgbox, %x1% %x2%
Return

このスクリプトをマウスの拡張ボタンを押しながらダブルクリックしても
MouseGestureL が動いていると、GetKeyStateではボタンの状態を見れませんでした
MouseGestureL を終了させると拡張1・2のボタンがそれぞれ 1 となります
0821名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/02/01(土) 20:39:30.24ID:RcLxcGeu0
そこでスクリプトをこうして
DetectHiddenWindows, On
SendMessage, DllCall("RegisterWindowMessage", "Str", "何か適当な関数名", "UInt"),,,, "ここはMouseGestureLのスクリプトまでのパス" ahk_class AutoHotkey
x1 := (ErrorLevel & 2)
x2 := (ErrorLevel & 1)
Msgbox, %x1% %x2%
Return

更にMouseGestureL側のAuto-executeセクションに

"何か適当な関数名" := DllCall( "RegisterWindowMessage", "Str", "WM_USER_XBUTTONREQ", "UInt" )
OnMessage( WM_USER_XBUTTONREQ, "RsvMessage" )

こう書いて、あとはMouseGestureLのどこかに下の関数を定義しておけば

RsvMessage( wp, lp, msg, hWnd ) {
 global WM_USER_XBUTTONREQ
 r := 0
 If( msg == WM_USER_XBUTTONREQ )
 {
  If GetKeyState("XButton1", "P")
   r += 2
  If GetKeyState("XButton1", "P")
   r += 1
 }
 Return r
}

先ほどの子スクリプトはアプリ間でうまく通信してちゃんと
マウスボタンの押し下げを検知します
0822名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/02/01(土) 20:40:45.88ID:RcLxcGeu0
ただ、OSを入れ替えたのを機にもうさすがにUACを全オフするのはないかなと思い
MouseGestureLを除いて全部一般の権限で使ったらアプリ間で通信できなくなり
代替え案はありませんか?と質問した次第です

現在もMouseGestureLを一般権限で動かせばちゃんと動作しますが
それだと管理者権限でしか動かないアプリを制御できないので案としては除外してます
0824名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/02/01(土) 21:25:17.41ID:RcLxcGeu0
>>806,814,820に書いてある通りこれはファイルに関連付けされて動作するスクリプトなので
プロパティから「管理者としてこのプログラムを実行する」にレ点を入れてしまうと
ファイルを開くたびに管理者権限での動作を許可するか確認するダイアログが出るので
とてもとてもやりたくないのです(txt,zip,jpgなど殆どをスクリプト経由にしてます)

タスクスケジューラでタスクを事前に定義しておき
そのタスクの「全般」タグにある「最高位の特権で実行する」にレ点を入れて
Run, C:\Windows\System32\schtasks.exe /run /tn "事前に定義したタスクの名前"
と実行させてUACのメッセージを回避する方法もすでに試してはいたのですが
そうすると実行する度に変化する引数をスクリプトまで渡す方法が見つからずに断念してました
0825名無しさん@お腹いっぱい。 (ワッチョイ 5957-unxX)垢版2020/02/01(土) 21:37:19.74ID:4DvAyfEb0
>>824
管理者権限での動作を許可するか確認するダイアログはUACレベル下げれば出ないように出来る
俺もいくつか必要に応じて管理者権限で実行してるからUACの設定下げて確認ダイアログは出ないようにしてる
所詮UACなんて初心者に対する注意喚起でしかないんだから通知オフで何も問題はない
どのプログラムが管理者権限で動いているかをしっかり把握できてりゃいいだけ
0826名無しさん@お腹いっぱい。 (ワッチョイ 5957-unxX)垢版2020/02/01(土) 21:51:39.45ID:4DvAyfEb0
ちなみに管理者権限で動いてるスクリプトから一般権限でアプリケーションを起動したい場合は
Run, Explorer "(一般権限で起動したいプログラムのフルパス).exe"
で一般権限で起動出来る
0827名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)垢版2020/02/01(土) 22:01:30.61ID:RcLxcGeu0
回答ありがとうございます
あと勘違いさせていたらごめんなさい

この問題自体は>>810さんのアドバイスを元に>>811で書いた通り
MouseGestureL側でマウスのボタンが押される度にあるファイルをリネームして
ボタンが離されたら元に戻すというめちゃくちゃなゴリ押しで解決しており
今は望んだ状態で快適に使ってます

なのでもしもアドバイスいただけるとしたら
「自分の希望する前提条件をひっくり返せ」ではなく前提条件の元でなにか他の手段があるよ
だととても助かります、まぁすでに解決済みなので
「そんな手段ないよ」とかでも「ですよねー」といった感じです

>ちなみに管理者権限で動いてるスクリプトから一般権限でアプリケーションを起動したい場合は

の件は>>809に書いてますが
>MouseGestureL から何かを起動する場合はRunは使用せずに
>ComObjCreateを利用して一般権限で起動するようにしています

本家フォーラムにLexikosさんが投稿していらっしゃったのを参考に
ComObjCreate("{9BA05972-F6A8-11CF-A442-00A0C90A8F39}")系でわたしはやってました

教えていただいてありがとうございます
0834787 (アタマイタイーWW b5b1-9jkA)垢版2020/02/02(日) 20:35:45.97ID:BBAscVbG00202
>>788-791
レスありがとうございます

休みの間色々検討した結果、意図することは、マクロで出来そうな気がしてきました
マクロでIEとの連携ですね

uwscというのも良さげですが、既存のもの使って、となるとやはりマクロかなと

AHKは、マウスジェスチャーで使ってるのですが、連携となるとマクロに分がありそうですね
0837名無しさん@お腹いっぱい。 (ワッチョイ 66ac-unxX)垢版2020/02/03(月) 09:03:46.86ID:JFIzm4Vd0
>>835
834の言ってるはExcelVBAマクロの事だと思うよ
UWSCもAHKもExcelVBAもマクロ
ただ、当のExcelVBAについては、操作手順を記述してるわけじゃないから、マクロからかなり逸脱してる感あって、
一番マクロじゃないのだけをマクロと呼んでる事に、もやっとする
0838名無しさん@お腹いっぱい。 (ワッチョイWW 5de5-SuLP)垢版2020/02/03(月) 10:56:49.47ID:llPhOCHJ0
VBAには自動記録機能あるよ
そういう意味ではVBAもUWSCもAHKもマクロ機能のあるスクリプトだ

旧ahkには一応マクロ化ツールのAutoScriptWriterが同梱されてたが
なんか不完全でうまく記録されなかった記憶
ほとんどの人は使っておらず話題にもならなかった
0839834 (ワッチョイWW b5b1-9jkA)垢版2020/02/03(月) 20:49:50.35ID:ZP73R6UN0
>>834です
当方の意図してたのはExcelVBAマクロです
マクロって、調べたらプログラミング全般の概念なんですね。言葉足らずでした

で、そのVBAで今日出社してやってみたんですが、オートメーションエラー連発!
なかなか難しいですね
0840名無しさん@お腹いっぱい。 (ワッチョイ b758-56gX)垢版2020/02/07(金) 02:45:59.20ID:3oIzKiS00
・DOSコマンドをDOS窓表示せずにahkから実行したい

現在はDOSコマンドを拡張子.cmd のファイルに書き込んで保存し、
DOS窓を非表示にするためVBSファイルを作成してVBScriptから上記cmdファイルを vbHide 付けて実行
さらにahkからそのVBSファイルを実行する

という三度手間?な方法をやってるんだけど、もう少しスマートな方法ありませんか?
0844名無しさん@お腹いっぱい。 (ワッチョイ b758-56gX)垢版2020/02/07(金) 05:52:57.08ID:3oIzKiS00
>>843
run, %comspec% /c でAHKからDOSコマンド実行できるみたいですが
一つのDOS窓で複数行のコマンド実行する方法が分からず
cmdファイルに書き込んでから実行してます
後出しになってしまい申し訳ありません
0848名無しさん@お腹いっぱい。 (ワッチョイ 376e-56gX)垢版2020/02/09(日) 00:54:57.92ID:bRFqNBrR0
>>847
Shell_TrayWndってタスクバーのことだろ?

F1::
WinHide, ahk_class Shell_TrayWnd
Return

F2::
WinShow, ahk_class Shell_TrayWnd
Return

だけのスクリプトで試したけど何も問題無いぞ
そもそもこんなことしなくてもOS側設定の自動的に隠すオンと、WinActivateだけで事足りると思うんだが
0851名無しさん@お腹いっぱい。 (ワッチョイ 370a-RXZG)垢版2020/02/09(日) 04:19:29.40ID:zu3MaBNR0
>>850
win7以前  タスクバーとスタートボタンが別
win8     スタートボタンがない
win8.1以降 タスクバーとスタートボタンが一体型

スタートボタンだけ消えるならwin7以前だと思われるのでボタンも指定しないと
0853名無しさん@お腹いっぱい。 (ワッチョイ ff44-8Apu)垢版2020/02/09(日) 15:43:04.49ID:Ocp+8UND0
>>836
イエース!有難う。
0859名無しさん@お腹いっぱい。 (ワッチョイW 63bc-bduJ)垢版2020/02/14(金) 03:33:04.21ID:pw6jil4Z0
Windows10 x64日本語、AutoHotkey U64の環境で
WinTitle系の引数に日本語を書いたスクリプトをUTF-8で保存するとタイトルがマッチしないのはなんで?
ASCII文字だけにするとマッチするのは確認してます
あと何故かShift JISで保存するとマッチする
Unicode版とは一体
0862名無しさん@お腹いっぱい。 (ワッチョイ 0358-D5WE)垢版2020/02/19(水) 21:51:29.80ID:PeAf8/1k0
古い自社製アプリの画面に、CB FF 00..などのデータが
EXCELのセル状に縦横に並んでいます。
Windows spyで調べると、ClassNN:MSFlexGridWndClass##と表示されました。
この中から或る位置のセルの値を取り出したいのですが、方法が分からないです。
どうすればよいか、何か情報頂きたいです。
0863名無しさん@お腹いっぱい。 (ワッチョイ 230d-p4c1)垢版2020/02/20(木) 01:34:34.25ID:55zU6WW20
>>862
VB6 フレキシブルグリッド(MSFlexGrid)コントロール
ListViewならSendMessageでメッセージ送れば操作や取得できるが
MSFlexGridにはメッセージが用意されて無いらしい(ざっと検索した限りでは)
アプリ側で何かしら用意されて無いなら外部から取得できないと思う

代案としては
アプリですべて出力できるならそこから抜き出す
座標やキー入力で移動してCtrl+C
0864名無しさん@お腹いっぱい。 (ワッチョイ a38d-icXw)垢版2020/02/20(木) 17:21:06.89ID:luePz1Sb0
タブレットペンの「消しゴム」に該当するキーってあります?
SAI Ver2などのペイントソフトで、タブレットのボリュームボタンなどを押している間だけ一時的に消しゴムツールに切り替えたいのですが
単純にeキーを割り当てると、ボタンを離した後もツール自体が切り替わってしまい困ってます
0865名無しさん@お腹いっぱい。 (ワッチョイ 23e5-dWJr)垢版2020/02/20(木) 18:10:35.06ID:/B+c6ePE0
>>864
SAIは使ったことないが過去にPhotoshopで似たようなことしてた人がいたよ
https://hibari.5ch.net/test/read.cgi/software/1317156599/195-204

ググってで出てきたショートカット集によるとSAIもキー押しっ放しで一時切り替えモードになるみたいだし
押してる間中キーリピート発生させ続ければいけるのでは
http://blackstraycat.nobody.jp/digitalillustration/painttool-sai/painttool-sai-shortcut.html
0866名無しさん@お腹いっぱい。 (ワッチョイ 631c-Nz9x)垢版2020/02/21(金) 22:05:20.72ID:Oardne8I0
>>864
AHKでやるとしたらボタンを押したときにE、ボタンを離したときにNやVを送って鉛筆や筆ツールにするとかその程度
「押してる間だけ」とか「一つ前のツールに戻る」みたいな機能がSAIというソフト側にあるかどうかはSAIの問題であって
AHKと関係ないのでスレチ
一行目の聞き方からしてAHKが何をするソフトか根本的に分かって無さそう
0867名無しさん@お腹いっぱい。 (ワッチョイ 23e5-dWJr)垢版2020/02/22(土) 01:57:19.30ID:F7J0Py2h0
KeyHistory (AHKウィンドウの Key History and script info)で操作履歴は追えるから
ペンタブで消しゴム使った直後に見ればどういうキーコード吐いてるかはわかるよ
多分 eキーリピートしてるだけな気がするけど
0868名無しさん@お腹いっぱい。 (ワッチョイW 83cf-HLUH)垢版2020/02/22(土) 12:56:15.49ID:0s4DtZjs0
クライアント領域の幅と高さを取得できる方法ってある?
WinGetPosだとウインドウ領域の幅と高さしか取得できなくて困ってる

現状やってる取得方法

WindowSpyのActiveWindowPostionのwの差とhの差を自力で計算→それぞれwidthDifference, heightDifferenceと定義する
A
WinGetPosでwWidth, wHeightを取得
B
cWidth := wWidth - widthDifference
cHeight := wHeight - heightDifference

こんなめんどいことしなくてもWinGetPosでクライアント領域の幅高を一発で取得したい
それが無理ならせめて➀の自力計算の部分だけでもなんとかならないかと思う
ActiveWindowPostionのClientのw,hだけでも取得できれば…

誰かヒントでもいいからお願いします
0872名無しさん@お腹いっぱい。 (ワッチョイ 23bd-L7zd)垢版2020/02/22(土) 22:48:11.32ID:d6k+6QIl0
「現在何か作業中である」というのを AHK で感知するにはどんな方法があるでしょうか
現在は以下のようなスクリプト (AHK x64 用) で画面の電源状態を取得しているのですが
最近たまに動かなくなってしまいました
スクリプトはかなり前にいろいろ調べながら書いたもので、内容はほとんど理解していません
(無駄に関数化されていますがご容赦ください)
0874名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)垢版2020/02/22(土) 23:37:39.08ID:ezexSTr8a
>>871
「exeの指定アドレス」て実行中に使用されている
メモリ中のアドレスを書き換えたいってことじゃなく
EXEファイル中の特定アドレスを書き換えたいってことだよね
単に
File := FileOpen(Filename, "rw")
して
File.Seek(Distance, [, Origin = 0])
して
File.RawWrite(VarOrAddress, Bytes)
すればいいように思うけど
0875名無しさん@お腹いっぱい。 (ワッチョイ 43b1-p4c1)垢版2020/02/23(日) 11:15:48.32ID:pxQEnU210
ラベルの動的生成ってできませんよね?

なので、必要な個数のラベルを羅列したfileを動的生成し、
そのfileを追加スクリプトとして読み込もうと思ってますが、
この方法であってるでしょうか?
0877名無しさん@お腹いっぱい。 (ワッチョイ ff76-zTrs)垢版2020/02/23(日) 11:27:07.71ID:2+m3euNG0
>>875
何やりたいんだかイメージできないけど
複数回その処理した場合ラベル名が重複してたら破綻するし
重複しないならしないで際限なくスクリプトが増えてきそうな気もするし
単純な文字列処理にすることはできないのか

例えばポップアップメニューのラベルということなら
ラッパー関数作ってしまえば
key := Menu("&File,&Edit,&Help");
if(key = "F")
  ...
if(key = "E")
 ...
と表向きラベルに依存しない実装にすることもできる
0878名無しさん@お腹いっぱい。 (ワッチョイW 8f73-4oQp)垢版2020/02/23(日) 13:57:45.64ID:0PLAAEEu0
どうしてラベルの動的生成とかって発想になるのか、、、
詳細がわからんので何ともだが
このままだとどのみちif文のお化けになりそうな予感
ifをloopで回すとかで綺麗に書けると思うぞ
0879872 (ブーイモ MMff-L7zd)垢版2020/02/23(日) 17:06:19.15ID:v9Hizc1sM
>>873
それを忘れていました。ありがとうございます。
投稿規制にあってスクリプトはアップできませんでした
0882名無しさん@お腹いっぱい。 (ワッチョイW 8f73-xPG3)垢版2020/02/23(日) 19:29:40.06ID:0PLAAEEu0
バイナリーファイルのオフセットのことをアドレスとか言われることに違和感しか感じない

てか動的に実行ファイル書き換えてなにしたいんだろうね
そもそもahkでやるべき処理じゃない気がする
exe複数作って呼び分けりゃいいだけのような
0883名無しさん@お腹いっぱい。 (イルクン MMdf-VJax)垢版2020/02/23(日) 21:37:04.33ID:obxOZYA5M
アセンブラやってた頃は普通にアドレスって使ってたわ
stirlingとか使って手作業でやるんじゃあかんんの?
それかマクロ機能のあるテキストエディタでバイナリモードでゴニョゴニョするとか
0884名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)垢版2020/02/23(日) 22:26:37.57ID:nVMPXZkZa
>>880
利用場面がよくわからないが
使うなら必ず元のファイルを別箇所に保存した上で

https://pastebin.com/zKBrmi8v

一回書き換えるためだけにこれを使うなら

>>883 さんのいうように
https://www.vector.co.jp/soft/win95/util/se079072.html
のようなバイナリエディタ使うほうが
自分が何をしているのか直接はっきりわかるので安心感があると思う

どっちみち書き換えた後に確認するだろうし

あと
書き換え後の10 10がもし10進だとすれば当然
NumPut() のパラメータは 0x0A0A となります

ここではたまたま1バイト目も2バイト目も0x10(または0x0a)だけど
下位バイトから先に書き込まれるので
もしデータが0x1234ならファイルに書かれる順番は0x34 0x12になるので注意
0887名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)垢版2020/02/24(月) 14:23:08.95ID:dYC5j4aEa
>>885
まず
https://pastebin.com/zKBrmi8v
でNumPut()のtype指定に間違いがありました
同じURLで訂正版を上げました
NumPut(... UInt)
は間違いで
NumPut(... "UInt")
が正しい指定です
さらにサンプルで実際に書き込むのは2バイトなので
"UShort"の指定があれば足ります

指定を間違っていると
デフォルトの"UInt"が指定されたとみなされます
この場合は結果として"UInt"が指定されたのと同じことになります
指定されているtypeがUInt(Int)だと4バイト分のサイズなので
下位バイト分以上のデータは入りません
参考 UChar:1バイト UShort:2バイト UInt:4バイト UInt64:8バイト
またRawWrite()で有効なサイズ以上の書き込みサイズが指定されると
不足分には0x00が書き込まれます
なので5バイトのデータを書き込みたければ"UInt64"を使う必要があります
8バイト以上のデータを書き込みたければ
単純にNumPut()とRawWrite()を続けて使えば続けて書き込まれます

たとえば
すべてNumPut()で"UChar"1バイトのデータを指定し
RawWrite()で1バイトづつ書いていけば
サイズや書き込まれる順番などを考えず書き込むことができます
0888名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)垢版2020/02/24(月) 14:24:16.08ID:dYC5j4aEa
>>886 の指摘があるまで
"00 00"を5バイトのデータとは思いもしなかった
そういうことなのか?
"00 00"という文字列を"10 10"という文字列で
上書きしたいということなのか?
サンプルはあくまでも
0x00, 0x00の2バイトを0x10,0x10の2バイトで上書きする
という例です
0889名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)垢版2020/02/24(月) 14:54:03.36ID:dYC5j4aEa
もしやりたいことが文字列の書き換えだとすると

実行するAutoHotkey*.exeが
A32版で書き込み先のEXE中の文字列も
CP932やANSIなのだとしたら
datToWrite := "10 10"
としてRawWrite()で5バイト書き込めばいいと思うが

AutoHotkey*.exeがU版で書き込み先の対象文字列がCP932やANSIの場合
AutoHotkey*.exeがA版で書き込み先がの対象文字列がUTF16LEなどの場合
はそれぞれの状況に合わせて対応する必要がある
0891名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)垢版2020/02/24(月) 18:55:55.05ID:dYC5j4aEa
>>887
>下位バイト分以上のデータは入りません
下位4バイト分以上のデータは入りません

>>888
>0x00, 0x00の2バイトを0x10,0x10の2バイトで上書きする
>という例です
正確には書き換え元のデータをチェックすることはなく
指定位置の2バイトを0x10,0x10の2バイトで上書きするという例です

>>889
文字として扱う場合には文字コード変換を考える必要があるが
短いデータならもちろんバイナリを直接指定可能
"10 10"のバイナリは ASCII だと 0x3130203130
UTF-16LE だと 0x00310030002000310030 なので

; ASCII/CP932
NumPut(0x3031203031, &datToWrite, 0, "UInt64")
File.RawWrite(&datToWrite, 5)
; UTF-16LE
NumPut(0x300031002000, &datToWrite, 0, "UInt64")
; 最初に"10 "だけ書き、次に残りの"10"を書く
File.RawWrite(&datToWrite, 6)
File.RawWrite(&datToWrite, 4)
もちろん実行するのがA版でもU版でも問題ない

>>890
"00 00","10 10"というのは文字列の例だったのか
それとも2バイトのバイナリデータの例で
5バイトというのはそれとはまた別の例だったのか
どっちだったの
0893名無しさん@お腹いっぱい。 (イルクン MMdf-VJax)垢版2020/02/24(月) 20:09:50.30ID:611TGluuM
クレクレにやりたがり説明したがりが加担すると猛烈に面倒くさくなるという実例
クレクレはクレクレなので細かく説明されてもわかりませんてなもんだろうし
こうなると誰のための長文なのか謎
0900名無しさん@お腹いっぱい。 (ワッチョイ ff93-IPX/)垢版2020/02/25(火) 14:02:29.67ID:ZSNcjZkB0
x=a かつ y=b  の時 って if (x=a && y=b) って書きますけど

x=a かつ y=b かつ zはc か d の時場合に〜をするって書きたい時は
if (x=a && y=b && (z=c || z=d ) )
って書き方って正しいんですかね?
動いてはいるんですけど、偶々なのか仕様上アリな書き方なのか
0901名無しさん@お腹いっぱい。 (ワッチョイ cfac-Nz9x)垢版2020/02/25(火) 16:28:56.89ID:9JpJZY+40
>>900
何を気にしてるかいまいちわからないけど、
If(...) は、() 内の式の演算結果が0かそれ以外かで条件分岐を行うコマンド
式は演算子や関数、()等を組合わせて複雑な処理が行える(どうもAHK的には()は演算子(operator)ではなくsub-expressionらしい)
&&も||も=も、+-*/とかと同じ演算子の一種で、優先順位に従って前後を評価してるだけだから、仕様上普通にアリだぞ
0908名無しさん@お腹いっぱい。 (ワッチョイ 9fcf-/0SP)垢版2020/02/27(木) 21:56:51.63ID:XNLpv4aZ0
ここはヤフー知恵袋ではありません
検討が終わって「試した結果」アドバイスがほしいなら
その試行結果を書きましょう
0914名無しさん@お腹いっぱい。 (ワッチョイ 0f76-g6LZ)垢版2020/03/06(金) 02:08:23.38ID:fycGgJoa0
AHKにMGLの関数をIncludeで移植できないですか?
横スクロール関数とかそのまま使いたいんですが
0916名無しさん@お腹いっぱい。 (ワッチョイ 0f76-o1n2)垢版2020/03/06(金) 15:28:23.83ID:fycGgJoa0
確かにそうですね。

ところで、AHKで、Shift+Wheelに横スクロールをあてる方法がわからないのですが、
うまい方法はありませんか?

それこそMGLの作者様はうまい方法でそれをしていたのでIncludeしたいと思ったわけですが、
それを解析できるほどの能力はなく、困っています。
0917名無しさん@お腹いっぱい。 (ワッチョイ 9faa-xiWk)垢版2020/03/06(金) 15:42:14.15ID:vpOIQ0360
>>916
普通にリマップでShift+Wheelに横スクロールを割り当てればいいだけ
やり方はwikiに書いてあるし、その通りにやって出来ないというならまずそのスクリプトを貼れ
調べもせずに答えクレクレしてるならお門違い
0919名無しさん@お腹いっぱい。 (ワッチョイ abb1-o1n2)垢版2020/03/06(金) 16:24:37.14ID:wYD9JGiR0
>>918
ただリマップするだけならそんな余計な手間かける必要ないだろう
たった二行書くだけなんだからリマップの使い方調べた方が早い
リマップすら分からん奴がそれの中身を調べる方が遥かに手間がかかるわ
0920名無しさん@お腹いっぱい。 (ワッチョイ ef11-o1n2)垢版2020/03/06(金) 16:42:09.76ID:ax+hR1Y10
#IfWinExist, ahk_class Fallout4
*RButton Up::
If (Toggle := !Toggle){
Send {Click Down Right}
}
Else{
Send {RButton up}
}
Return
これにshiftとwキー同時押しで右クリック押上の機能を追加したいと思い
~w & ~LShift::Send {RButton up}を書き足し

#IfWinExist, ahk_class Fallout4
*RButton Up::
If (Toggle := !Toggle){
Send {Click Down Right}
}
Else{
Send {RButton up}
}
Return
~w & ~LShift::Send {RButton up}
これで実行してみたが右クリック押下中にshiftとwキー同時押しするともう一度押下するのに二回右クリックする必要があった
上の問題を起こさずshiftとwキーで右クリック押上を追加する方法はありますか
0922名無しさん@お腹いっぱい。 (ワッチョイ 0f76-o1n2)垢版2020/03/06(金) 19:49:27.70ID:fycGgJoa0
すごい剣幕の人いて草
そんなにあっさりしたスクリプトならどうぞやってみていただいて。
まあ普通に割り当てる「横スクロール」があればの話だけど
0925名無しさん@お腹いっぱい。 (ワッチョイ 3bcf-Inmc)垢版2020/03/06(金) 21:00:46.44ID:zXXWZlRK0
このスレ定期的にガイジが登場するね!
0927名無しさん@お腹いっぱい。 (ワッチョイ 4be5-qyrA)垢版2020/03/06(金) 21:18:35.26ID:2PcikLRF0
単純にチルトを割り当てるレベルの話なら
+WheelUp::WheelLeft
+WheelDown::WheelRight
だけでいい

けどMGL内のMG_Scroll2() 相当のことがしたいという話ならいきなり面倒になるね
MG_Scroll2()の中身を見たが基本は WheelAccel.ahk (WheelScroll.ahk)からの改造っぽいので
とりあえずWheelScroll.ahkを#Includeで組み込んでみては
Shift+Wheelでの横スクロールはデフォでリマップされてるのでそのままでいけるはず

WheelScroll.ahk
https://w.atwiki.jp/eamat/pages/30.html
0930名無しさん@お腹いっぱい。 (ワッチョイ 0f76-o1n2)垢版2020/03/06(金) 21:39:18.65ID:fycGgJoa0
「普通のやり方」では普通に動作してたわ
ごめんやでみんな

+WheelDown::Send, {WheelRight}
Return
+WheelUp::Send, {WheelLeft}
Return

ゆっくりスクロールしてみたら確かに横スクロールしていったけど、
普通に弾くようなスクロールだとスクロールがされないソフトもあるようで、気が付かなんだ

MGLの組み込み関数だとこれがしっかり動作してるけど、何が違うんだろう

ジェスチャー入力後にトリガー押しっぱのホイール回転で音量調整とか作れるくらいには
リファレンス読んでるけど、なにせ素人でこれ以上はわからなかった
0932名無しさん@お腹いっぱい。 (ワッチョイ eb58-xiWk)垢版2020/03/06(金) 22:22:43.09ID:jUknvGm+0
何が違うんだろうって関数の中を見たなら全く違うのは分かるでしょ
チルトホイールは回転じゃなくて押し倒した状態をホールドする機構だから、ホイールの回転に割り当てても
アプリ側の想定とは違うタイミングでイベントが発生して思ったように動かない場合も当然あるよ
0933名無しさん@お腹いっぱい。 (ワッチョイ ef84-o1n2)垢版2020/03/06(金) 22:33:27.89ID:rpP0pfcH0
弾くようなスクロールとか言ってる時点で普通のマウスじゃないんじゃね
普通のマウスホイールはカチカチ感があって弾くような操作はしないし
標準の横スクロールに対応してるソフトなら>>927の2行だけで問題なく正常に動く
0936名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)垢版2020/03/07(土) 00:05:52.60ID:2hfOjEC40
>>920
~w & LShift だけの場合
修飾キーw を先に押す必要があるので同時押しすると1/2の確立で失敗する
修飾キーShift も追加すると同時押し対応になる

#IfWinExist A
*RButton Up::
~w & LShift:: ; wを先に押す
~+w:: ; Shiftを先に押す
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton up}
return
#If

Esc::ExitApp
0937名無しさん@お腹いっぱい。 (ワッチョイ 4be5-qyrA)垢版2020/03/07(土) 00:38:53.32ID:/iw1tSxU0
>>930
スクロール関係のメッセージは縦横それぞれ2種類あって

縦ホイール(WM_MOUSEWHEEL) / 横ホイール(WM_MOUSEHWHEEL)
縦スクロール(WM_VSCROLL) / 横スクロール(WM_HSCROLL)

縦はさすがにホイールでスクロールできないアプリはほぼ駆逐されたので問題ないが
横(チルト)はいまだに対応していないアプリがちらほらある、ExcelとかExcelとかExcelとかな
なのでMGLではWM_HSCROLL使って動かしてる模様

あとアプリによってはスクロールバーがあちこちにあるので
マウス直下のコントロールを確実にスクロールさせるための特定処理とか
スムースに動かすための加速処理とか諸々
0938名無しさん@お腹いっぱい。 (ワッチョイ ef84-xiWk)垢版2020/03/07(土) 00:52:40.38ID:3dqwd/ss0
>>936
WとShiftどっちを先に押すかはまあ両方書いておくに超したことは無いだろうけど
それだとshiftとwキー同時押し時も押すたびに{Click Down Right}と{RButton up}が交互になってしまうから
質問者のやりたいことと違う

質問者は
>shiftとwキー同時押しで右クリック押上の機能を追加したい
               ~~~~~~~~~~~~~~~
なので>>920の後半のスクリプトに
Toggle :=
を加えてWとShift同時押しした時にToggleをリセットすればいいだけ
そうすれば次に右クリック押すときは必ず{Click Down Right}に戻るから2回右クリックしなくて済む
あとコマンドが複数行になるからReturnも書き忘れずに
0939名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)垢版2020/03/07(土) 01:22:22.38ID:2hfOjEC40
>>938 ご指摘ありがとうございます、失念していました。
>>936 修正しました

#IfWinExist A ; ahk_class Fallout4
*RButton Up::
~+w:: ; Shiftを先に押す
~w & LShift:: ; wを先に押す
if (Toggle := !Toggle && A_ThisHotkey == "*RButton Up")
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton up}
return
#If

Esc::ExitApp
0940名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)垢版2020/03/07(土) 02:01:04.77ID:2hfOjEC40
押されている場合のみ

#IfWinExist A ; ahk_class Fallout4
*RButton Up::
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton Up}
return
#If

~+w:: ; Shiftを先に押す
~w & LShift:: ; wを先に押す
if (Toggle) {
Toggle = 0
ToolTip Send {RButton Up}
}
return

Esc::ExitApp
0941名無しさん@お腹いっぱい。 (ワッチョイ 3b0c-gHpN)垢版2020/03/07(土) 02:20:12.93ID:m5Ine51e0
>>940
横からで申し訳ないんですが、文末に #if を記述する意味ってなんですか?

#IfWinExist A ; ahk_class Fallout4
*RButton Up::
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton Up}
return
#If ← これ。文末は、return で終わるもんだと思ってたんですが。
0942名無しさん@お腹いっぱい。 (ワッチョイ ef11-o1n2)垢版2020/03/07(土) 02:36:13.74ID:LDzhEuR80
このコードで快適にfallout4をtoggle adsで遊ぶことができるようになりました 920です
回答してくれた方ありがとうございました(´・ω・`)
エラーがでてコード書き込めなかった
0943名無しさん@お腹いっぱい。 (ワッチョイ ef84-xiWk)垢版2020/03/07(土) 03:44:00.38ID:3dqwd/ss0
>>941
#IfWinExist A ; ahk_class Fallout4 から #If まで囲った範囲が全て条件分岐の対象ってこと
#IfとReturnは関係ない

例)
#IfWinActive, ahk_class Notepad ;メモ帳がアクティブな場合
F1::
Msgbox, Notepad F1
Return

F2::
Msgbox, Notepad F2
Return
#If ;ここまで。これより下はメモ帳がアクティブでない場合

F1::
Msgbox, F1
Return

F2::
Msgbox, F2
Return
0946名無しさん@お腹いっぱい。 (ワッチョイ cbb1-5EiH)垢版2020/03/08(日) 01:43:49.31ID:t7JaPqPz0
WinSet, Style, -0x00C00000, A
Sleep, 3000
WinSet, Style, +0x00C00000, A

これだとタイトルバーの下の数px分が消えない・・・・・
-0x00400000、-0x00800000、-0x00080000とかもやったけども変わらず
どしたら綺麗にタイトルバー消えるようになるべか?
0948名無しさん@お腹いっぱい。 (ガックシ 067f-o1n2)垢版2020/03/09(月) 13:03:10.44ID:2KencZC16
>>937
ありがとう
今は一旦、かざぐるマウスでこの機能は使っていますが、
いずれはMGLに移行したいと思います
0949名無しさん@お腹いっぱい。 (ワッチョイ cbb1-5EiH)垢版2020/03/09(月) 20:53:57.60ID:qCHS/UCW0
>>947
どうも
以前からレジストリのCaptionHeight → -270 にしてて
今回ggってPaddedBorderWidth → 0 としてみたけど
それでも残り2〜3pxぐらいが消えてくれなかった…

序でにBorderWidth → 0 やSmCaptionHeight → -270 にしてみても変わらずだった
中々うまく行かないな
あ、ahk 1.1.32.00 U32 win10 pro 64bit 1909という環境ですた(情報後出しスマン)
0951949 (ワッチョイ cbb1-5EiH)垢版2020/03/10(火) 00:24:19.26ID:fBPGX49e0
こんな感じなんだけど…
今になって気づいたんだけどスクリプト実行した時の「メニューバーの色」が白じゃないのは何故だろ?
(他のウインドウも同様)

タイトルバー表示:https://dotup.org/uploda/dotup.org2083742.png
スクリプト実行:https://dotup.org/uploda/dotup.org2083746.png

一応レジストリ設定も
https://dotup.org/uploda/dotup.org2083748.png

…う〜んこんな現象はいわゆる俺環ってやつなのかな?
0952名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)垢版2020/03/10(火) 01:46:07.59ID:0mQe+mq20
>>951
win10枠線の設定が有効になっている
スタート → 設定 または デスクトップ右クリック
個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)


サイズ変更(0x00040000)も切らないと枠が消えないアプリがあったのでこれでテストしてみたら?
切るかどうかはWinGetでウィンドウスタイルを調べればいい

https://pastebin.com/AuD7BQ0R
0954951 (ワッチョイ cbb1-5EiH)垢版2020/03/10(火) 19:47:06.79ID:fBPGX49e0
>>952
>個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)
ここはアクティブウインドウがどれか分からなくなるので個人的にチェック有りじゃないと駄目なんで

スクリプトどうも
そのスクリプト実行した結果ウインドウ下部が画像赤矢印のようになり上手く行かなかった(0X00C00000 ではならない)
https://dotup.org/uploda/dotup.org2084284.png
その後ggってみたものの海外でもタイトルバー消すのに 0X00C00000 使ってるケースが多いようで…

>>953
そうすか、俺環だけじゃないのね…

Win10の仕様と判断して諦めるわ(´・ω・`)
0956名無しさん@お腹いっぱい。 (ワッチョイ 01b3-Zv6Q)垢版2020/03/13(金) 13:40:58.49ID:FajN12cx0
ひとつのスクリプトで、


LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

としておいて、別のスクリプトで、

GetKeyState, g_stateL, LButton, P

とやったら、マウス左ボタンを押しっぱなしにしていても
Uが帰ってきて、Lが来ない

どうしてでしょうか
0959名無しさん@お腹いっぱい。 (ワッチョイ f11f-drwQ)垢版2020/03/13(金) 14:10:30.77ID:6RSofPyV0
環境のせいにするより前に単なる勘違いやイージーミスをまず疑うべきだろ

○1.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

○2.ahk
F1::
GetKeyState, g_stateL, LButton, P
msgbox, %g_stateL%
return

これを実行してF1だけ押せばU、左クリック押しながらF1押せばDが返って来る
0960名無しさん@お腹いっぱい。 (ワッチョイ 01b3-Zv6Q)垢版2020/03/13(金) 18:37:36.09ID:FajN12cx0
○1.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

○2.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return
F5::
GetKeyState, g_stateL, LButton, P
MsgBox,,, g_stateL = %g_stateL%,1
return

と、両方にLButtonのスクリプトがありました。
これだと、2.ahkを後にロードすると出来ますが、1.ahkを後にロードすると、Uしか返りません。

1.ahkだけ、2.ahkだけ、双方をロードして使うことがあるためこうなってしまっているのですが
これはしょうがないのでしょうか
必ず2.ahkをあとからロードするようにするしかありませんか
0961名無しさん@お腹いっぱい。 (ワッチョイ a1b1-0uzQ)垢版2020/03/13(金) 19:25:22.62ID:LN/Q5YZj0
そのすく見る限りスクリプトは二つ必要ないでしょ
だから、○1.ahkは廃止して○2.ahkだけにする

○2.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

#If (条件) ;ここで切り分けすれば良いと思う(例えばウインドウAがアクティブなら↓が働く、とか)
F5::
GetKeyState, g_stateL, LButton, P
MsgBox,,, g_stateL = %g_stateL%,1
return
#If

と、適当に答えてみる
0964名無しさん@お腹いっぱい。 (ワッチョイ e5f0-drwQ)垢版2020/03/16(月) 22:38:48.18ID:RukI6SGP0
>>963
まず、その動作の一連の流れを書き出す。後はそれをAutoHotkeyの記述に落とし込む
コマンドで対応できるなら確実で速い。ショートカットキーは分かりやすいから無難
マウスでしかできない部分は、それらに比べるとちょっと難しくなる
0968名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)垢版2020/03/20(金) 12:43:27.15ID:YktARklY0
できたので再開させてもらいます
利用者少ないかとは思うのですが、AHKv2 について質問させてください
以下のスクリプトを通常の AHKv1 で動かすと "a" というメッセージボックスが出ます
clrs := Object()
clrs[1, 1] := "ff0000", clrs[1, 2] := "00ff00", clrs[1, 3] := "0000ff"
clrs[2, 1] := "a", clrs[2, 2] := "b", clrs[2, 3] := "c"
MsgBox % clrs[2,1]
; AHKv2 のときは上の % を外す
0969名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)垢版2020/03/20(金) 12:44:04.66ID:YktARklY0
しかし AHKv2 で動かすと下記のようなエラーがでます
私がオブジェクト型を理解していないことが原因ですが、次どうしてよいかさっぱりわかりません
識者のみなさんご教示願えないでしょうか

Error: This value of type "Object" has no property named "__Item".
--> 002: clrs[1, 1] := "ff0000"
0970名無しさん@お腹いっぱい。 (ワッチョイ 0b69-6w0H)垢版2020/03/20(金) 17:27:46.78ID:alE7Ns8K0
ちら見なんでよく分かってないけどv2は配列の実装が変わったんじゃない?
なんかドキュメント見るとArray Objectを使うようになってるみたいだけど
__ItemはArray Objectの中で使ってる何かみたいだし
0971名無しさん@お腹いっぱい。 (ワッチョイ b9be-9hUR)垢版2020/03/20(金) 18:16:04.13ID:8awlI5pq0
v2は、Arrayオブジェクトという配列用のものをObjectオブジェクトとは別に用意して、
Arrayオブジェクト用のプロパティはObjectオブジェクト自体に持たせなくなってる

v1(の途中から)は、Object()でもArray()でも動くけど、v2ではわかれている
0972名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)垢版2020/03/20(金) 18:19:51.89ID:YktARklY0
ドキュメントを読むと Array() てのはベクトル型配列のみ対応のようで
複数行 x 複数列の行列型配列にはならないようなのです
2 x 複数なら Map() という型があるのですが、それもうまく行かず…
公式フォーラムも調べてみます
0974名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)垢版2020/03/20(金) 20:06:33.27ID:YktARklY0
>>973
おー、こんな方法もあるのですね。ご助言ありがとうございます
v1 用スクリプトを v2 用に移植しようとしていて
>>968 のような形で記載していた配列型オブジェクトが全然期待通りに動かず困っていました

やりたいことは縦 1,440 x 横 10-20 マトリックスの CSV ファイルを読み込み
(縦は 1 日あたりの分で 24 x 60 = 1,440、横はさまざまな項目)
時間毎に各項目を集計するのに多次元配列型オブジェクトを使っていました
0976名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)垢版2020/03/20(金) 20:11:34.83ID:YktARklY0
本当は Python などの方がいいのかもしれませんが
自分は AHK くらいしかマトモに動かせないので
ちょっとしたルーチンの自動化は AHK にやらせることが多いのです
この用途別言語の点についてもご助言いただけますと助かります
0979名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)垢版2020/03/20(金) 20:47:06.60ID:YktARklY0
>>978 そうなんですよ
keyhac という Python ベースのキーカスタマイズツールへの以降ついでに学んでいたのですが
Python は逆に情報があふれすぎていて独習するにはちょっとハードル高めでした
ちょうど先週くらいにモチベーション低下して今にいたります
また再開するつもりではいるのですけどね

集計目的なら R でもいいかもですね
0980名無しさん@お腹いっぱい。 (ワッチョイ 0b76-cULp)垢版2020/03/21(土) 19:49:48.31ID:al5jEN1q0
OneNoteで文字を赤色にするホットキーとして、下記のように設定してみました。

^\::Send, {Alt}hf1{Down 7}{Left 4}{Enter}

結論としては希望の動作にはなりませんでした。
なぜか{Alt}が送信されていないようで、"hf1"と入力された後カーソル移動しました。
関係あるかはわかりませんが、SendModeはEventでもInputでも結果は同じでした。

そこで試しに、MouseGestureLで^\::から後ろを割り当てて見たところ、
こちらではなぜか正常にAltも送信され、赤文字にすることができました。

原因がわかりません。Altが阻害されるような要因として、何が考えられるでしょうか?
^\は他に使用していません。
0983名無しさん@お腹いっぱい。 (ワッチョイ 51fe-ED79)垢版2020/03/21(土) 22:04:03.93ID:rtzpQlb30
>>982
!h は質問者のやりたい事と違うやろ

>>980
質問者もまずはメモ帳とか誰でも試せるソフトで動作確認した方がいいぞ
その方が答える側も検証しやすいし

^\::
KeyWait, Ctrl
Send, {Alt}vs ;メモ帳のステータスバー表示/非表示
Return
0984名無しさん@お腹いっぱい。 (ワッチョイ 0bf2-ED79)垢版2020/03/21(土) 22:10:49.46ID:rqhRpjO/0
>>980
Wikiによると、Sendコマンドが始まるとき、仮想的に修飾キーを離した状態になる と書いてある
でも、Key History 見ると、なぜか、Ctrl up がAlt down , up の後に来てるね

試しに、{Alt} の前に、{Ctrl up} を入れてみたら、うまく動いたよ
0985名無しさん@お腹いっぱい。 (ワッチョイ 0b76-cULp)垢版2020/03/21(土) 23:54:21.38ID:al5jEN1q0
皆さんありがとうございます。
トリガーのCtrlの影響が尾を引いているとは思いませんでした。
お陰様で解決いたしました。

また、修飾キーのUpが遅れる現象について、把握いたしました。

>>981
>>983
KeyWaitを使う方法もあるのですね。勉強になります。

>>983
検証しやすい状況設定について、配慮が足りていませんでした。以後気をつけます。
ご指摘ありがとうございます。

>>984
KeyHistoryを見る発想がありませんでした。未熟でした。ありがとうございます。
KeyWaitもよいですが、強制的にUpを入れてしまう方が直感的ですので、採用させていただきます。
0986名無しさん@お腹いっぱい。 (ワッチョイ 5590-2iv1)垢版2020/03/26(木) 21:52:04.52ID:mJhZa4a/0
https://www.autohotkey.com/boards/viewtopic.php?t=70645
このページをみながら、AHK x64 でディスプレイの状態取得を試みています。
それで下記スクリプトを書いてみたのですが、どうにも動きません。
おそらく例題ページのスクリプトは AHK x86 用で、AHK x64 にするにはポインターサイズなどを
再検討せねばならないのでしょうが、そのあたり全然理解していません。
どこがダメなのか、ご教示いただけないでしょうか
0990名無しさん@お腹いっぱい。 (ワッチョイ a9b1-EKNF)垢版2020/03/27(金) 05:00:20.34ID:t1j7w9SC0
>>1では64bitOSには64bit版を推奨してるみたいだけど
自分の場合64bit版にするメリットとデメリット比べたらデメリットしかなかったから32bit版使ってるな
32bit時代(XP、7)に集めた32bitで動くスクリプトが使えなくなるのは大変なことだからねえ(直せるスキル無いし)
0991名無しさん@お腹いっぱい。 (ワッチョイ 09e5-F5Qr)垢版2020/03/27(金) 14:41:36.80ID:iIR98/+J0
>>986
その記事の投稿 2019年だしポインタ型はUIntじゃなくてPtr使ってるし
POWERBROADCAST_SETTING構造体のポインタ位置も下にある 2012 の説明から変わってないんで86/64関係ないと思うけど
自分で判断できない時は AutoHotkeyA32.exe / AutoHotkeyU32.exe に.ahkドラッグしてx86で動くのか確認したらいいと思うよ

というか>989じゃなくてWM_POWERBROADCAST() の中身晒してくんないと
そのままコピペじゃBeep鳴るだけで値をどうにかする処理入ってないし
うちでは msgbox,% NumGet(lP+20,0,"uInt") 追加して
電源オプションでディスプレイの電源切る設定を1分にしてから実行したら変化値取れてたけど

>>990
旧版AHKからLへの移行では64化よりUnicode化のほうが手間恩恵共に大きかったけどね
過去スプリクトのエンコードを全部SJISからUTF-8に保存しなおし AをWに直すのは結構骨が折れたが
2byte圏でANSI版を使い続けるのはデメリットがでかすぎた
x64へのPtr対応はそのついで修正で案外たいしたことはなかった
98/2000時代に集めたスプリクトはさすがに捨てた
0992名無しさん@お腹いっぱい。 (ワッチョイ 09e5-F5Qr)垢版2020/03/27(金) 14:43:23.76ID:iIR98/+J0
次スレ立てられなかったので誰かよろしく
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

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

■前スレ
AutoHotkey スレッド part27
http://egg.5ch.net/test/read.cgi/software/1555770773/

■日本語解説等
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/
0994名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)垢版2020/04/03(金) 17:37:58.24ID:KeyiwkKR0
https://autohotkey.com/download/

リンク先直行でアクセスできた


次スレ建てられる人お願いします
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 349日 11時間 51分 39秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況