探検
AutoHotkey スレッド part25 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ f977-fKjf)
2017/09/14(木) 11:52:40.84ID:uijNj4qb0■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part24
http://egg.2ch.net/test/read.cgi/software/1487149472/
■日本語解説等
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: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 11:53:33.21ID:uijNj4qb0 ■重要事項
オリジナルである、旧 "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)
オリジナルである、旧 "AutoHotKey" の開発は2009年9月で終了している。
現在は、そこからフォークした "AutoHotkey_L" が主流となり、2014年1月からは後のLが取れ
正式にAutohotkeyとして扱われるようになりました。
よって古いスクリプト(主にDllCall()を利用しているスクリプト)は最新Verで動作しないものがあり、
その場合はスクリプトの修正が必用です。
旧版のAHKとの変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。
→http://ahkscript.org/docs/AHKL_Features.htm
→http://ahkwiki.net/Addition_L
※新規利用者には最新版を推奨しますが、旧AHK(2009年9月までのVer)の利用者は新AHKへの移行に際して
少なからず改修が必要となります。特に、旧流行らせるページの配布物(MouseGesture等)の多くは
そのままでは動作しません。安定利用できている環境を崩して移行するかどうかは各人の判断による。
MouseGestureについては有志の方が最新AHK対応版(MouseGestureL.ahk)を配布しているのでそれを
利用するのもありです。
http://hp.vector.co.jp/authors/VA018351/mglahk.html
http://code.google.com/p/mousegesturel/
※ACC.ahk(旧版用)とCOM.ahkはフォーラムのリンク先にファイルが存在しませんので下記から入手してください。
http://ux.getuploader.com/autohotkeyl/download/24/ACC%2BCOM.zip
※Unicode版のACC.ahkは下記(AccInfoViewer.ahk付き)またはフォーラムから入手してください。
http://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip
■質問に際して
OSの種類(XP/Vista/7)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。
また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。
2chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、
レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。 👀 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
3名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 11:54:40.33ID:uijNj4qb0 ■過去スレ
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/
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/
4名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 11:55:20.32ID:uijNj4qb0 以下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を再起動する。
■実行環境
Q1:スクリプトに書いた日本語が文字化けしちゃうんだけど...
A1:スクリプトファイルを「UTF-8」の「BOM」付きで保存する。(AHK1.1の場合)
Q2:初めて使うけどどれを使えばいいの?
A2:AHK1.1のユニコード版を推奨。
旧流行らせるページの配布物をそのまま使う場合は本家をそのまま利用する事。
64ビットOSでAHK1.1 32ビット版の使用は制約が多いので、64ビット版を強く推奨。
■ リマップ・ホットキー割り当て
Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ
A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。
OS側がキーUp/Down情報を正しく返してこないのでAHKのみで対処は無理です。
レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。
例) ChangeKeyを使って[ひらがな]を[F13]にする
AutoHotkeyで任意のキーをF13にリマップする(例えばF12をF13にリマップし、スクリプトを実行)。
F12::F13
Changekeyを起動する。( http://www.forest.impress.co.jp/library/software/changekey/ )
「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。
F12を押すとスキャンコード(0x0064はF13)が表示されるので覚えておき「終了」をクリック。
「ひらがな」キーをクリックすると「【ひらがな】キーをどのキーに変更しますか?」という
ウィンドウが表示されるので右上の「Scan code」をクリック。
覚えておいたスキャンコード(0064)を入力し、「OK」ボタンをクリック。
「登録」をクリックし、Windowsを再起動する。
5名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 11:55:58.23ID:uijNj4qb0 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のジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。
A2:リマップは修飾キー(Ctrl,Shift,Alt,Win)の押下状態を引き継いでキー発行するので、[Ctrl]+[Esc] がキー送信されるため。
これを避けるには、「Send」コマンドを利用して明示的に修飾キーなしのキーを発行をすればよい。
^1::Send, {Esc}
Q3:[Shift], [Ctrl], [Alt], [Win]以外を修飾キーとしてキー割り当てしたいよ
A3:コンビネーションキーの機能で実現ができる。
例) 無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたい場合は以下のように記述する。
sc07B & I::Send, {Blind}{Up}
sc07B & K::Send, {Blind}{Down}
sc07B & J::Send, {Blind}{Left}
sc07B & L::Send, {Blind}{Right}
Q4:「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による)
A4:多分自分自身のキーを送って無限ループになっている。 例) 「a::Send, a 」
先頭に $ を付ければ回避できる(NT系のみ)。 例) 「$a::Send, a」
#UseHookで全部にキーボードフックを適応する方法でも可。
Q5:キーリマップを使うとキー押下中に連打するけど、マウスボタンの場合は連打しない…
A5:マウスはキーリピートしないので、Loopなどを使って自前でリピートさせてください。
Q6:ジョイスティックのリマップがうまくいきません!!助けて
A6:ジョイスティックではリマップできない。「Send」コマンドでキー発行する必要がある。
× Joy1::Esc
○ Joy1::Send, {Esc}
Q7:ジョイスティックの上下左右に割り当てたいけど、JoyLeft,JoyUpってホットキーは無いの?
A7:無い。AHKのジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。
6名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 11:57:01.04ID:uijNj4qb0 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, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている
A8:AutoHotkeyではできない。
Q9:[Ctrl][Shift][Alt]が押されっぱなしになる時がある。これってAHKのせい?
A9:AHKが原因の場合とそうでないときがある
○AHKが原因の場合
AHKには、以下のような修飾キー付きのホットキーで修飾キー無しでキーを発効する場合、
一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構がある。
しかしこのように発効するキーストロークが多い場合は、Sendコマンドが完了する前に
物理キーが押下解除されてしまっている場合がある。この齟齬が押しっぱなしの原因となる。
例) ^W::Send, {w 30}
これを回避するためには、以下の方法をとればよい:
・キー押下状態を常に監視するキーボードフックを導入する(#InstallKeybdHook)
・キー発効のコマンドを SendInput, SendPlay にする(SendModeで一括指定でもよい)
・上記二つが出来ない場合は、SetKeyDelay, 0 等としてキー発効をなるべく早く行うか、
#HotkeyModifierTimeout で修飾キー押下のタイムアウト値を長めに設定をする。
なお、他のキー発効を行うツール(クリップボードユーティリティやマウスジェスチャツールなど)が、
発効する修飾キーが原因となる場合もあるが、フックの導入でほぼ解決出来ると思われる。
○AHK以外が原因の場合:
環境により異なるので何とも言えないが、以下のような環境の場合発生する事が報告されている。
・ Logicool(Logitec)のマウスユーティリティSetPoint(verによっては問題ない事もあるとか)など他多数
・VirtualPC, WMWare, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている
7名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 11:57:51.02ID:uijNj4qb0 ■ 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
Q1:IMEのOn/Offの切り替えや、状態を得るにはどうすればいいの?
A1:http://www6.atwiki.jp/eamat/pages/17.html の「IME.ahk」を使いましょう。
Q2:IMEが現在文字を入力している、または変換中であるかどうかを得ることはできる?
A2:↑のIME.ahkで一部可能(IEやFirefox,MS-Wordのようにインライン化しているアプリでは無理)
■ その他
Q1:「a=abc」と「a:="abc"」って違いがある? / 「If a=1」と「If (a=1)」って違いがある?
A1:意味としては違いは無い。単体では、コマンド形式(共に前者)の方が「式」形式(同後者)より*少し*速い。
複数条件の場合、IfのネストよりはAND(&&)条件で「式」を並べた方が速い。
が、バッチでかなりの回数(数万↑〜)回したりする場合以外は、体感出来るほどの差はない。
Q2:テキストエディタでキーワードの色づけなどをしたいんだけど。
A2:wikiに各種エディタの定義ファイル及びキーワード一覧あり。( http://ahkwiki.net/Tools )
Q3:GUI作るのめんどくせ〜〜
A3:海外の有志が作ったツールを使うと楽。
SmartGUI Creator ( http://www.autohotkey.com/board/topic/738-smartgui-creator/ )
GUI Creator ( http://ahkscript.org/boards/viewtopic.php?f=6&t=303 )
Q4:AHKってマルチスレッドじゃないの?
タイマーやMsgBox, WinWait, KeyWaitを使ってるけど思った通りに動かない。
A4:「擬似マルチスレッド」です。最後に割り込んだスレッドが終わるまで元スレッドは動きません。
MsgBox、WinWait、KeyWait、Process,WaitClose などをタイマーで複数動かす時は注意。
> 要は処理系統が複数同時に走らないってこと。図にするとこんな感じ。
> → 実行中、 …:割り込み終了待ち
> 元スレッド →→→→→→……………………………………→→→→
> ★割込 ↑再開
> 割り込みスレ →→→→…………→→→→→→END
> ◆割込 ↑再開
> 更に割り込み →→→END
8>>1より、テンプレに割り込んで業務連絡。 (ワッチョイ c977-fKjf)
2017/09/14(木) 12:15:31.88ID:uijNj4qb0 次スレを立てる際は、1行目に「!extend:checked:vvvvv:1000:512」と記入してください。
その行はスレが立った時点で消えてなくなるので、
告知のため、その呪文を2行目以降に再度書いてください。
その行はスレが立った時点で消えてなくなるので、
告知のため、その呪文を2行目以降に再度書いてください。
9名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 12:17:11.83ID:uijNj4qb0 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} にする。
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} にする。
10名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 12:17:32.04ID:uijNj4qb0 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」に変更。
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」に変更。
11名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 12:18:05.36ID:uijNj4qb0 ■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/
┌ 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/
12名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/14(木) 12:18:34.38ID:uijNj4qb0 ■派生版
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
※テンプレここまで
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
※テンプレここまで
13>>1より業務連絡。 (ワッチョイ c977-fKjf)
2017/09/14(木) 12:21:12.97ID:uijNj4qb014名無しさん@お腹いっぱい。 (ワッチョイ 5987-XDX8)
2017/09/14(木) 18:25:44.27ID:CmOCopOE0 >>1 乙
15名無しさん@お腹いっぱい。 (ワッチョイWW 61cf-XGwg)
2017/09/14(木) 18:39:12.30ID:KTBfP0580 Toukou:=いちおつ
sleep 4
Toukou=
return
sleep 4
Toukou=
return
16名無しさん@お腹いっぱい。 (ワッチョイWW 61cf-XGwg)
2017/09/14(木) 18:40:50.62ID:KTBfP0580 しまった " がない
17名無しさん@お腹いっぱい。 (ワッチョイ 5b09-8btW)
2017/09/15(金) 04:38:32.95ID:lepJIuBi0 1.特定のアプリだけ>>7のIME.ahkで常にIMEをOFFにする
2.頻繁に落ちるアプリをエラーダイアログ検知後、再起動する
この機能をそれぞれタイマーにして1つのスクリプトにすると
2のエラーダイアログ表示で固まることがあります
ログをみるとIME.ahkの途中で止まってるので
・1か2のタイマーを SetTimer, Main, 500, -1 としてスレッドの割り込み優先度を指定
・一方に Critical を付けてスレッド割り込みを禁止する
・一方に Thread, NoTimers を付けてタイマーイベントの割り込みを禁止する
など試してみましたが失敗します
ちなみに2つのスクリプトに分けると上手く動くのですが
これを1つで実現できる方法がありましたら教えてください
2.頻繁に落ちるアプリをエラーダイアログ検知後、再起動する
この機能をそれぞれタイマーにして1つのスクリプトにすると
2のエラーダイアログ表示で固まることがあります
ログをみるとIME.ahkの途中で止まってるので
・1か2のタイマーを SetTimer, Main, 500, -1 としてスレッドの割り込み優先度を指定
・一方に Critical を付けてスレッド割り込みを禁止する
・一方に Thread, NoTimers を付けてタイマーイベントの割り込みを禁止する
など試してみましたが失敗します
ちなみに2つのスクリプトに分けると上手く動くのですが
これを1つで実現できる方法がありましたら教えてください
18名無しさん@お腹いっぱい。 (ワッチョイ 5991-fKjf)
2017/09/15(金) 05:07:21.26ID:t6JvSMbV0 >>17
タイマー1つで出来ないかな
タイマー1つで出来ないかな
19名無しさん@お腹いっぱい。 (ワッチョイ 93c6-o7xi)
2017/09/15(金) 07:55:45.94ID:1jvV58yu0 具体的な環境とコードがわからないと何とも
20名無しさん@お腹いっぱい。 (ワッチョイ 019b-o7xi)
2017/09/15(金) 14:20:00.31ID:qvzlKVt/0 あるウインドウがアクティブになったときに何かをする
そのウインドウが非アクティブになったときに何かをする
ということをしたいのですが、出来ますか?
そのウインドウが非アクティブになったときに何かをする
ということをしたいのですが、出来ますか?
21名無しさん@お腹いっぱい。 (ワッチョイ 019b-o7xi)
2017/09/15(金) 14:24:35.08ID:qvzlKVt/0 OnMessage等を使ってもいいです。ただ、タイマーで監視とかは
アクティブになる機会はたまにしかないので、資源の浪費な気がして、気が引けます
アクティブになる機会はたまにしかないので、資源の浪費な気がして、気が引けます
22名無しさん@お腹いっぱい。 (ワッチョイ 816c-o7xi)
2017/09/15(金) 14:34:36.19ID:JDrYmG0X023名無しさん@お腹いっぱい。 (ワッチョイ 019b-o7xi)
2017/09/15(金) 15:44:59.25ID:qvzlKVt/0 >>22
なるほど。なんか出来そうですねえ。ありがとうございました
なるほど。なんか出来そうですねえ。ありがとうございました
2417 (ワッチョイ 5b09-8btW)
2017/09/15(金) 23:15:45.05ID:lepJIuBi0 >>18-19
当初はタイマー1つで書いてましたがやはり止まるので
タイマー2つで片方の割り込みを制限すればと思い分けました
環境はWin8.1x64 AHKv1.1.24.02(U64)/v1.0.48.05(A32)で
以下コードの主要部分です
この2つのタイマーを2ファイルへ分けると正常に動きます
当初はタイマー1つで書いてましたがやはり止まるので
タイマー2つで片方の割り込みを制限すればと思い分けました
環境はWin8.1x64 AHKv1.1.24.02(U64)/v1.0.48.05(A32)で
以下コードの主要部分です
この2つのタイマーを2ファイルへ分けると正常に動きます
2517 (ワッチョイ 5b09-8btW)
2017/09/15(金) 23:16:51.76ID:lepJIuBi0 #Persistent
Classes = 特定アプリのクラス名, ...
;ここにエラーになるアプリのタイトル数パターン分
GroupAdd, err, タイトル
:
SetTimer, Main, 500 ;IME.ahkのタイマー(IME.ahkはahkの.\lib以下へ
SetTimer, Mon, 500 ;エラー検知用のタイマー
Return
Main:
WinGetClass, ActiveWinClass, A
If ActiveWinClass in %Classes%
{
If (IME_GET()) {
;ここに特定のClasNNではOFFにせずReturnする例外処理
IME_SET(0)
}
}
Return
Classes = 特定アプリのクラス名, ...
;ここにエラーになるアプリのタイトル数パターン分
GroupAdd, err, タイトル
:
SetTimer, Main, 500 ;IME.ahkのタイマー(IME.ahkはahkの.\lib以下へ
SetTimer, Mon, 500 ;エラー検知用のタイマー
Return
Main:
WinGetClass, ActiveWinClass, A
If ActiveWinClass in %Classes%
{
If (IME_GET()) {
;ここに特定のClasNNではOFFにせずReturnする例外処理
IME_SET(0)
}
}
Return
2617 (ワッチョイ 5b09-8btW)
2017/09/15(金) 23:17:15.94ID:lepJIuBi0 Mon:
IfWinExist ahk_group err
{
WinActivate
ControlClick, OK, A ;アプリケーションエラー画面でOKを押す
Process, WaitClose, プロセス名, 30
If ErrorLevel = 0
{
Run, パス,,, PID
Process, Wait, %PID%, 30
If ErrorLevel <> 0
{
;ここにアプリの画面を普段の状態にする処理
}
}
}
Return
IfWinExist ahk_group err
{
WinActivate
ControlClick, OK, A ;アプリケーションエラー画面でOKを押す
Process, WaitClose, プロセス名, 30
If ErrorLevel = 0
{
Run, パス,,, PID
Process, Wait, %PID%, 30
If ErrorLevel <> 0
{
;ここにアプリの画面を普段の状態にする処理
}
}
}
Return
27名無しさん@お腹いっぱい。 (ワッチョイ 93c6-o7xi)
2017/09/16(土) 00:16:27.89ID:vASzTH8m0 ログの詳細詳しく
ME.ahkのどこで止まってる?
あと使ってるIMEは何?
ME.ahkのどこで止まってる?
あと使ってるIMEは何?
28名無しさん@お腹いっぱい。 (ワッチョイ 1387-+ACF)
2017/09/16(土) 04:55:52.43ID:aHU7hLXq0 シングルクリック?をコードできちんと定義できますでしょうか?
ひとつのキーで押し方によって違う動作をさせたいです
コードを書いてみましたがうまく行きません
Else以降が動作したりしなかったりです
また、シングルクリックでElseより上のコードを巻き込んでしまう場合もあり動作が安定しません
尚、別のキーにコードを分けると問題なく動作します
Pause:: ;━━ダブルクリックでモニタをオフにする━━
KeyWait, Pause
if (A_PriorHotkey==A_ThisHotkey)&&(500>A_TimeSincePriorHotkey)
Run,C:\Program\Monitor OFF.exe
Else ;━━シングルクリックでボスが来た━━
DetectHiddenWindows,On
ControlSend,,b,ahk_class MPC-BE
ControlSend,,^w,ahk_class MozillaWindowClass
ControlSend,,+{F8},ahk_class WindowsForms10.Window.8.app.0.141b42a_r14_ad1
Return
何かヒントをください。よろしくお願いします。
ひとつのキーで押し方によって違う動作をさせたいです
コードを書いてみましたがうまく行きません
Else以降が動作したりしなかったりです
また、シングルクリックでElseより上のコードを巻き込んでしまう場合もあり動作が安定しません
尚、別のキーにコードを分けると問題なく動作します
Pause:: ;━━ダブルクリックでモニタをオフにする━━
KeyWait, Pause
if (A_PriorHotkey==A_ThisHotkey)&&(500>A_TimeSincePriorHotkey)
Run,C:\Program\Monitor OFF.exe
Else ;━━シングルクリックでボスが来た━━
DetectHiddenWindows,On
ControlSend,,b,ahk_class MPC-BE
ControlSend,,^w,ahk_class MozillaWindowClass
ControlSend,,+{F8},ahk_class WindowsForms10.Window.8.app.0.141b42a_r14_ad1
Return
何かヒントをください。よろしくお願いします。
29名無しさん@お腹いっぱい。 (ワッチョイ 599a-p+ov)
2017/09/16(土) 05:13:42.46ID:/k1Xm57s0 >>28
ifやelseは二行以上ある場合は{}で囲う
ifやelseは二行以上ある場合は{}で囲う
3017 (ワッチョイ 5b09-8btW)
2017/09/16(土) 05:43:07.83ID:5bWrgVaq0 >>27
IMEはMS-IME2012で、Win2000のMS-IME2000でも確認してます
ログはエラー画面の時点で何も表示されず
OKを押すと復旧して以下で止まっていたことが分かります
046: WinGetClass,ActiveWinClass,A
047: if ActiveWinClass in %Classes%
049: if (IME_GET())
---- ahk\Lib\IME.ahk
147: ControlGet,hwnd,HWND,,,%WinTitle%
148: if (WinActive(WinTitle))
149: ptrSize := !A_PtrSize ? 4 : A_PtrSize
150: VarSetCapacity(stGTI, cbSize:=4+4+(PtrSize*6)+16, 0)
151: NumPut(cbSize, stGTI, 0, "UInt")
152: hwnd := DllCall("GetGUIThreadInfo", Uint,0, Uint,&stGTI) ? NumGet(stGTI,8+PtrSize,"UInt") : hwnd
154: }
156: Return,DllCall("SendMessage", UInt, DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hwnd), UInt, 0x0283, Int, 0x0005, Int, 0) (14.77)
IMEはMS-IME2012で、Win2000のMS-IME2000でも確認してます
ログはエラー画面の時点で何も表示されず
OKを押すと復旧して以下で止まっていたことが分かります
046: WinGetClass,ActiveWinClass,A
047: if ActiveWinClass in %Classes%
049: if (IME_GET())
---- ahk\Lib\IME.ahk
147: ControlGet,hwnd,HWND,,,%WinTitle%
148: if (WinActive(WinTitle))
149: ptrSize := !A_PtrSize ? 4 : A_PtrSize
150: VarSetCapacity(stGTI, cbSize:=4+4+(PtrSize*6)+16, 0)
151: NumPut(cbSize, stGTI, 0, "UInt")
152: hwnd := DllCall("GetGUIThreadInfo", Uint,0, Uint,&stGTI) ? NumGet(stGTI,8+PtrSize,"UInt") : hwnd
154: }
156: Return,DllCall("SendMessage", UInt, DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hwnd), UInt, 0x0283, Int, 0x0005, Int, 0) (14.77)
31名無しさん@お腹いっぱい。 (ワッチョイ 1387-+ACF)
2017/09/16(土) 07:23:01.09ID:aHU7hLXq0 >>29
ありがとうございます
前よりマシな動作になりましたが何回か押してみたところ、ダブルクリックでElse以降のコードを巻き込んでしまうことがあります
Pause upにしたらだいぶマシになった気はするものの安定しませんね
また、シングルクリックで上のコードを巻き込むことはなくなりました
しかし、シングルクリックの場合動作が安定しません。動作したりしなかったりです
キー自体は青軸なのでしっかりカチッと入ってることがわかります(キーを変えても同じでした)
う〜ん押し方のタイミングの問題でしょうか? 軸がカチッと入って1秒くらい押し下げてからアップしないと動作しないことがありますし
また、軽いタッチでカチッと入って素早くキーから指を離しても動作することもあります
Pause up:: ;ダブルクリック的直し方でモニタをオフにする
KeyWait, Pause
if (A_PriorHotkey==A_ThisHotkey)&&(500>A_TimeSincePriorHotkey)
{
Run,C:\Program\Monitor OFF.exe
}
Else
{ ;シングルクリックでボスが来た
DetectHiddenWindows,On
ControlSend,,b,ahk_class MPC-BE
ControlSend,,^w,ahk_class MozillaWindowClass
ControlSend,,+{F8},ahk_class WindowsForms10.Window.8.app.0.141b42a_r14_ad1
}
Return
長押しという選択肢もあろうかとは思いますが、コードの内容上長押しにはしたくないので何とかワンクリックで確実に動作しないでしょうか?
ありがとうございます
前よりマシな動作になりましたが何回か押してみたところ、ダブルクリックでElse以降のコードを巻き込んでしまうことがあります
Pause upにしたらだいぶマシになった気はするものの安定しませんね
また、シングルクリックで上のコードを巻き込むことはなくなりました
しかし、シングルクリックの場合動作が安定しません。動作したりしなかったりです
キー自体は青軸なのでしっかりカチッと入ってることがわかります(キーを変えても同じでした)
う〜ん押し方のタイミングの問題でしょうか? 軸がカチッと入って1秒くらい押し下げてからアップしないと動作しないことがありますし
また、軽いタッチでカチッと入って素早くキーから指を離しても動作することもあります
Pause up:: ;ダブルクリック的直し方でモニタをオフにする
KeyWait, Pause
if (A_PriorHotkey==A_ThisHotkey)&&(500>A_TimeSincePriorHotkey)
{
Run,C:\Program\Monitor OFF.exe
}
Else
{ ;シングルクリックでボスが来た
DetectHiddenWindows,On
ControlSend,,b,ahk_class MPC-BE
ControlSend,,^w,ahk_class MozillaWindowClass
ControlSend,,+{F8},ahk_class WindowsForms10.Window.8.app.0.141b42a_r14_ad1
}
Return
長押しという選択肢もあろうかとは思いますが、コードの内容上長押しにはしたくないので何とかワンクリックで確実に動作しないでしょうか?
32名無しさん@お腹いっぱい。 (ワッチョイ 816c-o7xi)
2017/09/16(土) 08:11:29.94ID:FeLII/E00 巻き込んでるというか、1回目を押した時点で
未来に2回目が押されるかどうか関係なく即座に1度押しとしてelseのほうに行ってる
未来に2回目が押されるかどうか関係なく即座に1度押しとしてelseのほうに行ってる
33名無しさん@お腹いっぱい。 (ワッチョイ 1387-+ACF)
2017/09/16(土) 09:07:41.02ID:aHU7hLXq0 >>32
あぁなるほど状況は理解した
1回押しで動くコードがあるからそれがダブルの1回目で邪魔してるのね
ということはElse以降の方をダブルクリックにしたほうがいいのかな
もうちょい頑張ってみます
ありがとうございました
あぁなるほど状況は理解した
1回押しで動くコードがあるからそれがダブルの1回目で邪魔してるのね
ということはElse以降の方をダブルクリックにしたほうがいいのかな
もうちょい頑張ってみます
ありがとうございました
34名無しさん@お腹いっぱい。 (ワッチョイ 5991-fKjf)
2017/09/16(土) 09:16:40.59ID:wsPHlpoD0 >>30
32bit64bitの問題じゃねえかな149でポインタサイズ確認してるのに
152のポインタ渡で型が32bitのUInt、SendMessageも64bitだと64,32,64,64で
型はptr, UInt, ptr, ptrになると思う
32bit64bitの問題じゃねえかな149でポインタサイズ確認してるのに
152のポインタ渡で型が32bitのUInt、SendMessageも64bitだと64,32,64,64で
型はptr, UInt, ptr, ptrになると思う
35名無しさん@お腹いっぱい。 (ワッチョイ 1387-+ACF)
2017/09/16(土) 09:53:44.44ID:aHU7hLXq0 あぁ逆にしても駄目ですな
条件分岐する前に1回押されてしまう
1回押しを定義しつつダブルクリックを否定
から〜の Else
で、ダブルクリックを設定しつつシングルクリックを拒否
理屈だとこういうことか
できんのかなコレ...
条件分岐する前に1回押されてしまう
1回押しを定義しつつダブルクリックを否定
から〜の Else
で、ダブルクリックを設定しつつシングルクリックを拒否
理屈だとこういうことか
できんのかなコレ...
36名無しさん@お腹いっぱい。 (ワッチョイ 5991-fKjf)
2017/09/16(土) 10:02:33.95ID:wsPHlpoD0 >>35
タイマー使わないとだめだと思う
タイマー使わないとだめだと思う
37名無しさん@お腹いっぱい。 (ワッチョイ 2bf3-BM26)
2017/09/16(土) 10:17:02.44ID:LFPsV6Pf038名無しさん@お腹いっぱい。 (ワッチョイ 110f-SGtB)
2017/09/16(土) 10:29:23.67ID:sfnfppsC0 >>34
https://ux.getuploader.com/autohotkeyl/download/123
勝手にIME.ahkを修正してみたけどこんな感じかな? 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
https://ux.getuploader.com/autohotkeyl/download/123
勝手にIME.ahkを修正してみたけどこんな感じかな? 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
39名無しさん@お腹いっぱい。 (ワッチョイ 5991-fKjf)
2017/09/16(土) 11:49:48.01ID:wsPHlpoD0 >>38
WPARAMにUPtrすばらしい
WPARAMにUPtrすばらしい
4035 (ワッチョイ 1387-+ACF)
2017/09/16(土) 19:46:44.50ID:aHU7hLXq0 一応、ElseじゃなくReturn で繋いで双方のコードを引き込まなくなった(タイミングは調整中)
しかし、ボスが来た自体に問題が出てることが発覚
どうやらプログラムによって発動までにラグがあったり、何度か押さないと反応が無い
あれ? 単独スクリプトでもっとしっかり動いてたはずなんだけどなぁ
特にFirefoxの反応が悪すぎる。それに対して動画プレイヤーは素直に反応する
音楽プレイヤーはちょっと遅れ気味で反応
SetKeyDelay,を10から-1にしても変わらず...
クラスを1個づつに分けて試したけど反応悪い
直接のショトカは問題ないので何か悪さしてるのかな
しかし、ボスが来た自体に問題が出てることが発覚
どうやらプログラムによって発動までにラグがあったり、何度か押さないと反応が無い
あれ? 単独スクリプトでもっとしっかり動いてたはずなんだけどなぁ
特にFirefoxの反応が悪すぎる。それに対して動画プレイヤーは素直に反応する
音楽プレイヤーはちょっと遅れ気味で反応
SetKeyDelay,を10から-1にしても変わらず...
クラスを1個づつに分けて試したけど反応悪い
直接のショトカは問題ないので何か悪さしてるのかな
41名無しさん@お腹いっぱい。 (ワッチョイ 59a0-p+ov)
2017/09/16(土) 20:19:04.67ID:KYSYUlmE0 サンプルコード集の例を元にして1度押しと2度押しで動作を分けてみたけど
Pauseキーだと10回に1回くらい2度押し判定がスカってaがsendされることがある
#UseHook ;ホットキーラベルの定義で、常にフックを使用するようにする
Pause:: ;無変換
KeyWait,Pause
KeyWait,Pause,D T0.2 ;0.2秒対象キーが押されるのを待つ
If(ErrorLevel)
{
;ここに任意のコマンド 1度押し
Send, a
KeyWait,Pause
Return
}
;ここに任意のコマンド 2度押し
Send,b
KeyWait,Pause
Return
他のキーだと2度押し判定ミスすることないからキーボードの仕様なのかな
まあPauseはそういう使い方想定してないから2度押ししたいなら素直に別キー使った方が良いんだろうね
Pauseキーだと10回に1回くらい2度押し判定がスカってaがsendされることがある
#UseHook ;ホットキーラベルの定義で、常にフックを使用するようにする
Pause:: ;無変換
KeyWait,Pause
KeyWait,Pause,D T0.2 ;0.2秒対象キーが押されるのを待つ
If(ErrorLevel)
{
;ここに任意のコマンド 1度押し
Send, a
KeyWait,Pause
Return
}
;ここに任意のコマンド 2度押し
Send,b
KeyWait,Pause
Return
他のキーだと2度押し判定ミスすることないからキーボードの仕様なのかな
まあPauseはそういう使い方想定してないから2度押ししたいなら素直に別キー使った方が良いんだろうね
42名無しさん@お腹いっぱい。 (ワッチョイ 1387-+ACF)
2017/09/16(土) 21:41:53.91ID:aHU7hLXq0 >>41
検証ありがとうございます
現在、F13キーにして検証中
ボスキーの反応がキーによってまちまちです
もう、わけわからんのでショトカの割り当て含めて組み直しですね
MusicBee
MusicBeeのショトカをグローバル設定に変えてControlSend,,を使わず直接Send, +{f8}で送ってみた結果、レスポンスとしては全く問題なし。
それ以外の機能のショトカをControlSend,,で送ったところMusicBeeはレスポンスが非常に悪いようです
一度反応した後は間をあけないと2回目以降ラグが出てしまう?遅延しやすい感じ
分けて使ってる時はたまたま運が良かったみたい?。ボスが来なくてよかった...
Firefox
F13で反応無し、#F13で確実にレスポンスよく反応する
MPC-BE
どのキーでも確実にレスポンスよく反応する
発動キーを2キー以上使えば行けそうな気がしてきましたが
そうなるとコードをひとまとめにして簡単にしてやろうという当初の目論見から少しズレてしまうだよね
ってかFirefoxどうしたんだって感じです。もともと1キーでテキパキ反応してたんだけど
もうちょい頑張ってみます
検証ありがとうございます
現在、F13キーにして検証中
ボスキーの反応がキーによってまちまちです
もう、わけわからんのでショトカの割り当て含めて組み直しですね
MusicBee
MusicBeeのショトカをグローバル設定に変えてControlSend,,を使わず直接Send, +{f8}で送ってみた結果、レスポンスとしては全く問題なし。
それ以外の機能のショトカをControlSend,,で送ったところMusicBeeはレスポンスが非常に悪いようです
一度反応した後は間をあけないと2回目以降ラグが出てしまう?遅延しやすい感じ
分けて使ってる時はたまたま運が良かったみたい?。ボスが来なくてよかった...
Firefox
F13で反応無し、#F13で確実にレスポンスよく反応する
MPC-BE
どのキーでも確実にレスポンスよく反応する
発動キーを2キー以上使えば行けそうな気がしてきましたが
そうなるとコードをひとまとめにして簡単にしてやろうという当初の目論見から少しズレてしまうだよね
ってかFirefoxどうしたんだって感じです。もともと1キーでテキパキ反応してたんだけど
もうちょい頑張ってみます
43名無しさん@お腹いっぱい。 (ワッチョイ 1387-+ACF)
2017/09/17(日) 04:52:29.36ID:oCfXbTFr0 ◯::
DetectHiddenWindows,On
ControlSend,,^w,ahk_class MozillaWindowClass
Return
F13:: まったく動作せず
#F13:: アクティブの時動作せず
^F13:: アクティブでも非アクティブでも動作する
F13長押し まったく動作せず
^F13長押し アクティブの時動作せず
#F13長押し アクティブの時動作せず
うん。心が折れた
^F13でいこう。そしてボスキーは他のコードと分けようかな...
ってか面倒くさいから普通にボスキーアプリ拾ってこいって話だよな
DetectHiddenWindows,On
ControlSend,,^w,ahk_class MozillaWindowClass
Return
F13:: まったく動作せず
#F13:: アクティブの時動作せず
^F13:: アクティブでも非アクティブでも動作する
F13長押し まったく動作せず
^F13長押し アクティブの時動作せず
#F13長押し アクティブの時動作せず
うん。心が折れた
^F13でいこう。そしてボスキーは他のコードと分けようかな...
ってか面倒くさいから普通にボスキーアプリ拾ってこいって話だよな
44名無しさん@お腹いっぱい。 (ワッチョイ db3a-p+ov)
2017/09/17(日) 06:15:54.77ID:p/7ZTW530 F13をどこに割り当ててんだ?
45名無しさん@お腹いっぱい。 (ワッチョイ 1387-+ACF)
2017/09/17(日) 06:50:16.95ID:oCfXbTFr046名無しさん@お腹いっぱい。 (ワッチョイ c977-fKjf)
2017/09/17(日) 09:43:50.02ID:ZslvSlHV0 AHKのスクリプトから簡単に使える文字コード変換ライブラリって、何があります?
AHKネイティブでも、あるいはDLLになっているものでも構いません。
環境はXP 32bit版、Windows 7 64bit版、Windows 10 32bit版(いずれも日本語版)の
3つで動くことが前提、Ahk2ExeでUnicode 32bitのEXEファイルにして持ち歩くことも想定中。
もしまだなければ自分で書くしかないのかなと思っていますけど、
既にあるようなら教えていただきたく。
具体的にやりたい操作としては、文字列が与えられたときに、
・全角英数字をすべて半角にする
・ASCII文字のうちファイル名に使えないものを、すべて対応する全角文字に置き換える
・カタカナの全角⇔半角を一括して切り替える
・ひらがなをすべて全角カタカナに変換する
という操作ができればOKです。
秀丸エディタを持っているので、その変換モジュールを使うという手もあるのですが、
そのまま使うには色々とネックがあります。
・秀丸の32bit DLL呼び出しはWINAPIV規約なので、WINAPI規約を前提にしたAHKの
DLL呼び出し機能で呼ぶには、ラッパーDLLをひとつ書く必要がある
・秀丸の変換モジュールの内部コードはCP932で、Unicode文字は独自の内部表現にして
渡す必要があるので、Unicode文字の入った文字列の場合には注意を要する
…やっぱり、tr() 関数を自分で書くのが手っ取り早いでしょうか?
ざっと見た限りではJavaScriptにも tr() はないようですし、いちど一念発起して作っておけば
使い回しがきくかも、とは思っているのですが、もし既に存在してBSDライセンスなり
LGPLなりで自由に使えるなら、わざわざ自作するのも馬鹿らしいので…。
AHKネイティブでも、あるいはDLLになっているものでも構いません。
環境はXP 32bit版、Windows 7 64bit版、Windows 10 32bit版(いずれも日本語版)の
3つで動くことが前提、Ahk2ExeでUnicode 32bitのEXEファイルにして持ち歩くことも想定中。
もしまだなければ自分で書くしかないのかなと思っていますけど、
既にあるようなら教えていただきたく。
具体的にやりたい操作としては、文字列が与えられたときに、
・全角英数字をすべて半角にする
・ASCII文字のうちファイル名に使えないものを、すべて対応する全角文字に置き換える
・カタカナの全角⇔半角を一括して切り替える
・ひらがなをすべて全角カタカナに変換する
という操作ができればOKです。
秀丸エディタを持っているので、その変換モジュールを使うという手もあるのですが、
そのまま使うには色々とネックがあります。
・秀丸の32bit DLL呼び出しはWINAPIV規約なので、WINAPI規約を前提にしたAHKの
DLL呼び出し機能で呼ぶには、ラッパーDLLをひとつ書く必要がある
・秀丸の変換モジュールの内部コードはCP932で、Unicode文字は独自の内部表現にして
渡す必要があるので、Unicode文字の入った文字列の場合には注意を要する
…やっぱり、tr() 関数を自分で書くのが手っ取り早いでしょうか?
ざっと見た限りではJavaScriptにも tr() はないようですし、いちど一念発起して作っておけば
使い回しがきくかも、とは思っているのですが、もし既に存在してBSDライセンスなり
LGPLなりで自由に使えるなら、わざわざ自作するのも馬鹿らしいので…。
47名無しさん@お腹いっぱい。 (ワッチョイ 816c-o7xi)
2017/09/17(日) 17:16:58.81ID:XAx2qwWa0 そのどれもそんなたいした手間かかるものじゃないんで
みんな自分で書いてるんじゃないの
みんな自分で書いてるんじゃないの
48名無しさん@お腹いっぱい。 (ワッチョイ ab67-ReIe)
2017/09/17(日) 19:34:08.24ID:4ImUmMF/0 過去ログのどっかにありそうだな
49名無しさん@お腹いっぱい。 (ワッチョイ 936c-SGtB)
2017/09/17(日) 19:35:09.61ID:TU6C1wnl0 https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.strings.strconv(v=vs.110).aspx
俺は知識のない人間だからよくわからんけどこれは使えないのだろうか
俺は知識のない人間だからよくわからんけどこれは使えないのだろうか
50名無しさん@お腹いっぱい。 (ワッチョイ ab67-ReIe)
2017/09/17(日) 19:45:12.80ID:4ImUmMF/05146 (ワッチョイ c977-fKjf)
2017/09/18(月) 15:18:21.15ID:30s93rv60 >>46です。皆さんありがとうございます。
>>47
まあ、そういわれればそうですね。書いても大した手間じゃないと思ってはいます。
>>49
.NETでDLLをひとつビルドする必要がありますね。
Visual Studioが今は無料になったとはいえ、もしかしたらWindows 2000とか
98とかのVMにAHKを入れて使う可能性があるので、.NETは避けたいです。
#単に.NETに対してアレルギーがあるだけなんだけど。
>>48 >>50
けっこう面倒臭そうですね。
* * *
というわけで、大した手間じゃないので自分で書くことにします。
tr() って、いろんな言語で汎用的に使いそうな関数ですから、
著作権フリーの自前のものを手元に持っておいたほうが、
あとあと融通がききそうですし。
>>47
まあ、そういわれればそうですね。書いても大した手間じゃないと思ってはいます。
>>49
.NETでDLLをひとつビルドする必要がありますね。
Visual Studioが今は無料になったとはいえ、もしかしたらWindows 2000とか
98とかのVMにAHKを入れて使う可能性があるので、.NETは避けたいです。
#単に.NETに対してアレルギーがあるだけなんだけど。
>>48 >>50
けっこう面倒臭そうですね。
* * *
というわけで、大した手間じゃないので自分で書くことにします。
tr() って、いろんな言語で汎用的に使いそうな関数ですから、
著作権フリーの自前のものを手元に持っておいたほうが、
あとあと融通がききそうですし。
52名無しさん@お腹いっぱい。 (ワッチョイ b3e0-o7xi)
2017/09/18(月) 19:35:44.46ID:MAIQQZAv0 マウスのホイールで加速
ってAHK単体で実現できますか?
Webブラウザで超縦長ページを高速スクロールさせたいとき、ホイールを高速で回すと10数ページぐらい移動とか・・・
ってAHK単体で実現できますか?
Webブラウザで超縦長ページを高速スクロールさせたいとき、ホイールを高速で回すと10数ページぐらい移動とか・・・
53名無しさん@お腹いっぱい。 (ワッチョイ 816c-o7xi)
2017/09/18(月) 20:35:20.93ID:wwQcrx5N0 拾ってきたAccelerated Scrollingてのを少しいじってメインに組み込んでる
54名無しさん@お腹いっぱい。 (ワッチョイ 2bf3-BM26)
2017/09/18(月) 21:34:32.47ID:plzfm86Y0 >>52
ホイールスクロール - eamat @Cabinet - アットウィキ
https://www6.atwiki.jp/eamat/pages/30.html
WheelScroll.ahkはどうだろう
一応日本人作だから日本語の説明だから分かりやすいかと
10数ページ一気に移動とか可能か分からないけど・・・
ホイールスクロール - eamat @Cabinet - アットウィキ
https://www6.atwiki.jp/eamat/pages/30.html
WheelScroll.ahkはどうだろう
一応日本人作だから日本語の説明だから分かりやすいかと
10数ページ一気に移動とか可能か分からないけど・・・
55名無しさん@お腹いっぱい。 (ワッチョイ b3e0-o7xi)
2017/09/18(月) 21:59:14.37ID:MAIQQZAv0 素早いレスをありがとうございます
AHKの万能さに感動しました
AHKの万能さに感動しました
56名無しさん@お腹いっぱい。 (ワッチョイ 59c5-p+ov)
2017/09/19(火) 03:22:47.92ID:IXDgiRwq0 自分は加速ではなく
サイドボタン1&ホイール上下でHome/End
サイドボタン2&ホイール上下でPageUP/PageDown
を割り当ててる
とりあえず一番上か一番下に飛びたいことが多いのでHome/End割り当てるのが効率良いです
サイドボタン1&ホイール上下でHome/End
サイドボタン2&ホイール上下でPageUP/PageDown
を割り当ててる
とりあえず一番上か一番下に飛びたいことが多いのでHome/End割り当てるのが効率良いです
57名無しさん@お腹いっぱい。 (ワッチョイ 39d9-SGtB)
2017/09/19(火) 06:19:29.73ID:g9F/3nwt0 デスクトップのなにもないところ(ウインドウも、アイコンも無い壁紙部分)をダブルクリックすると、特定のアプリを起動する
って事はAHKで出来ますか?
って事はAHKで出来ますか?
58名無しさん@お腹いっぱい。 (ワッチョイ 816c-o7xi)
2017/09/19(火) 06:47:36.39ID:zmB9SGAt0 出来ると思います
59名無しさん@お腹いっぱい。 (ワッチョイ 0187-SGtB)
2017/09/19(火) 17:19:30.66ID:I2JJpXcS0 LOOP中にキーボードAを押したらLOOPから抜けるようにするにはどうすればいいですか?
60名無しさん@お腹いっぱい。 (ワッチョイ 5906-p+ov)
2017/09/19(火) 18:33:04.11ID:kLxokK7d061名無しさん@お腹いっぱい。 (ワッチョイ ab67-ReIe)
2017/09/19(火) 20:25:23.62ID:FwZUdIIc0 あとはUntilかWhile
62名無しさん@お腹いっぱい。 (ワッチョイ 0187-SGtB)
2017/09/20(水) 00:48:55.91ID:VcXou4qe063名無しさん@お腹いっぱい。 (ワッチョイ 9376-p+ov)
2017/09/20(水) 02:50:57.69ID:RyttgFZS0 横からだけど>>57って出来るのか気になる
デスクトップのアイコンの有無ってどうやって判別したら良いんだろう?
デスクトップのアイコンの有無ってどうやって判別したら良いんだろう?
64名無しさん@お腹いっぱい。 (ワッチョイ 816c-Kmyb)
2017/09/20(水) 03:03:21.51ID:YkfHD61c0 例えば、コピー送ってクリップボードに入るかどうか、とか
65名無しさん@お腹いっぱい。 (ワッチョイ 996e-cJT8)
2017/09/20(水) 04:26:52.19ID:cHabdo460 AHKにSendMessageでポインタを渡す機能があればLVM_HITTESTを送る
-1が返るとアイコンなし
-1が返るとアイコンなし
6657 (ワッチョイ 39d9-SGtB)
2017/09/20(水) 05:36:41.50ID:1u+zkbMh0 色々調べたけど殆ど分からない
user32.dllを読み込んで何かのイベントを貰えれば良いのだけど、それについての情報が殆ど無いですよね
やり方もわからないし…
で、https://sites.google.com/site/agkh6mze/howto/winevent
このページ見てて、デスクトップのなにもない所をダブルクリックという作動をよくよく考えてみると、
すべてのフォーカスが外れた状態でダブルクリックイベント
という事なんじゃないかと
その先さっぱり
パラメータの説明はMSにあるけど、無能過ぎてちんぷんかんぷん
Spy++で調べるとデスクトップはFolder viewというFormだということはわかったけど…
user32.dllを読み込んで何かのイベントを貰えれば良いのだけど、それについての情報が殆ど無いですよね
やり方もわからないし…
で、https://sites.google.com/site/agkh6mze/howto/winevent
このページ見てて、デスクトップのなにもない所をダブルクリックという作動をよくよく考えてみると、
すべてのフォーカスが外れた状態でダブルクリックイベント
という事なんじゃないかと
その先さっぱり
パラメータの説明はMSにあるけど、無能過ぎてちんぷんかんぷん
Spy++で調べるとデスクトップはFolder viewというFormだということはわかったけど…
67名無しさん@お腹いっぱい。 (ワッチョイ 39d9-SGtB)
2017/09/20(水) 05:42:34.55ID:1u+zkbMh068名無しさん@お腹いっぱい。 (ワッチョイ 816c-o7xi)
2017/09/20(水) 06:24:09.05ID:UwzymyTj0 他にやりようがあるんだからできる範囲で工夫すりゃいいのに
69名無しさん@お腹いっぱい。 (ワッチョイ 814c-O10d)
2017/09/20(水) 07:55:16.00ID:VDqFQXZJ0 >>66
検索したらすぐに見つかったけど
https://autohotkey.com/board/topic/82196-solved-double-click-on-the-desktop/
1ページ目に手抜きのコード
2ページ目に実用上ほぼ問題なさそうなきれいなコード(中程のやつ)
これだと問題となるケースがあって、それを除外する努力が3ページ目までつづくけど、
結局は潰しきれないので、好きなやつをどうぞ
検索したらすぐに見つかったけど
https://autohotkey.com/board/topic/82196-solved-double-click-on-the-desktop/
1ページ目に手抜きのコード
2ページ目に実用上ほぼ問題なさそうなきれいなコード(中程のやつ)
これだと問題となるケースがあって、それを除外する努力が3ページ目までつづくけど、
結局は潰しきれないので、好きなやつをどうぞ
70名無しさん@お腹いっぱい。 (ワッチョイ 39d9-SGtB)
2017/09/20(水) 08:03:50.81ID:1u+zkbMh07117 (ワッチョイ 4609-dBFo)
2017/09/21(木) 14:16:57.34ID:h2uQQOf90 >>34>>38
解析有難うございます
修正版にてようやくエラーが再現しましたが、応答なしになるのは変わらずでした
Win2000+IME2000ではIMEの状態が常にOFFになりました
残念ですが2つ起動することにします
解析有難うございます
修正版にてようやくエラーが再現しましたが、応答なしになるのは変わらずでした
Win2000+IME2000ではIMEの状態が常にOFFになりました
残念ですが2つ起動することにします
72名無しさん@お腹いっぱい。 (ワッチョイ ff6e-sSCG)
2017/09/21(木) 16:45:49.92ID:HOY/MTbD073名無しさん@お腹いっぱい。 (ワッチョイ ff6e-sSCG)
2017/09/21(木) 16:59:11.88ID:HOY/MTbD074名無しさん@お腹いっぱい。 (ワッチョイ ff8e-E65P)
2017/09/21(木) 19:45:29.75ID:d8X2A9cD0 GetKeyStateで無変換キー(vk1Dsc07B)が取得できないんだけど、何か方法ないかな?
75名無しさん@お腹いっぱい。 (ワッチョイ 2b6c-PvnN)
2017/09/21(木) 20:00:00.03ID:aaW3C7Am0 できるけど
76名無しさん@お腹いっぱい。 (ワッチョイ ff8e-E65P)
2017/09/21(木) 20:40:29.55ID:d8X2A9cD077名無しさん@お腹いっぱい。 (ワッチョイ 8ba7-hoCt)
2017/09/21(木) 21:43:38.91ID:so7+jRcr0 どちらかにすれば?
vk1D
sc07B
vk1D
sc07B
78名無しさん@お腹いっぱい。 (ワッチョイ 2b6c-PvnN)
2017/09/21(木) 22:28:51.86ID:aaW3C7Am0 >>76
それでも"vk1D"でも"sc07B"でも"P"があってもなくても0|1ちゃんと返る
それでも"vk1D"でも"sc07B"でも"P"があってもなくても0|1ちゃんと返る
79名無しさん@お腹いっぱい。 (ワッチョイ ff8e-E65P)
2017/09/21(木) 22:36:11.29ID:d8X2A9cD0 おっかしいなぁ・・・
ならないから多分おま環かも
面倒だし別のキーに割り当てますわ
ならないから多分おま環かも
面倒だし別のキーに割り当てますわ
80名無しさん@お腹いっぱい。 (ワッチョイ 469c-39ZJ)
2017/09/22(金) 06:58:59.56ID:OAhgYF7S081名無しさん@お腹いっぱい。 (ワッチョイW a36c-bW+6)
2017/09/24(日) 01:23:40.12ID:ovq+ASMp0 キーを押している間
クリックして
マウスムーブ
クリックして
マウスムーブ を繰り返したいんですが
マウスムーブの値が一定じゃない場合
数珠繋ぎにif文を増やして行けばいいのでしょうか?
キーを離したら停止は出来るんですが
If文の数珠繋ぎにするやり方を教えてください
クリックして
マウスムーブ
クリックして
マウスムーブ を繰り返したいんですが
マウスムーブの値が一定じゃない場合
数珠繋ぎにif文を増やして行けばいいのでしょうか?
キーを離したら停止は出来るんですが
If文の数珠繋ぎにするやり方を教えてください
82名無しさん@お腹いっぱい。 (ワッチョイ 9f44-lfob)
2017/09/24(日) 01:34:28.38ID:0aSErUDh0 >>81
質問するならもう少し具体例を挙げるとかとかした方がいいんじゃないかな
質問するならもう少し具体例を挙げるとかとかした方がいいんじゃないかな
83名無しさん@お腹いっぱい。 (ワッチョイ 9f87-hoCt)
2017/09/24(日) 03:46:08.78ID:EkpWsIry084名無しさん@お腹いっぱい。 (ワッチョイ 9fd3-lfob)
2017/09/24(日) 05:24:39.24ID:rm7yR9v00 >>83
多分コレジャナイ感
多分コレジャナイ感
85名無しさん@お腹いっぱい。 (ワッチョイ de67-O6mJ)
2017/09/24(日) 09:42:45.44ID:199+CCx2086名無しさん@お腹いっぱい。 (ワッチョイ a777-LePR)
2017/09/24(日) 13:45:20.15ID:vmDjT91J0 >>81
概略こんなコードになるはず。
何か適当な名前の関数()
{
マウスムーブ1回目を実行
当該キーの状態を取得
if (押されていない)
return
マウスムーブ2回目を実行
当該キーの状態を取得
if (押されていない)
return
:
}
で、回数が多いようならこんな感じで1回分の作業単位の関数を書いたほうがいい。
MouseMoveAndKeyCheck(dx, dy, strKeyName)
{
MouseMove, dx, dy,. , R
return ( GetKeyState(strKeyName)=="D" )
}
この場合、この関数を
if ( !MouseMoveAndKeyCheck(10,10,"LShift") )
return
if ( !MouseMoveAndKeyCheck(10,-20,"LShift") )
return
とかかいて呼び出してやればいい。
#テストしてないので誤字とかあったらごめんね
概略こんなコードになるはず。
何か適当な名前の関数()
{
マウスムーブ1回目を実行
当該キーの状態を取得
if (押されていない)
return
マウスムーブ2回目を実行
当該キーの状態を取得
if (押されていない)
return
:
}
で、回数が多いようならこんな感じで1回分の作業単位の関数を書いたほうがいい。
MouseMoveAndKeyCheck(dx, dy, strKeyName)
{
MouseMove, dx, dy,. , R
return ( GetKeyState(strKeyName)=="D" )
}
この場合、この関数を
if ( !MouseMoveAndKeyCheck(10,10,"LShift") )
return
if ( !MouseMoveAndKeyCheck(10,-20,"LShift") )
return
とかかいて呼び出してやればいい。
#テストしてないので誤字とかあったらごめんね
87名無しさん@お腹いっぱい。 (ワッチョイ d387-PvnN)
2017/09/25(月) 17:03:34.64ID:FNSh64gG0 if (3 < %A% < 5) とかの3項比較すらできないとか何このクソ言語
一つづつ比較しろってのかよ
一々%がついたりつかなかったりもウザいし
一つづつ比較しろってのかよ
一々%がついたりつかなかったりもウザいし
88名無しさん@お腹いっぱい。 (ワッチョイ de67-O6mJ)
2017/09/25(月) 19:15:51.75ID:b7qo8gsc0 if A between 3 and 5
89名無しさん@お腹いっぱい。 (ワッチョイ 2356-PvnN)
2017/09/25(月) 19:32:18.57ID:dkkQJqva0 サルが迷い込んでてわろた
90名無しさん@お腹いっぱい。 (ワッチョイWW 3bcf-cMyM)
2017/09/25(月) 22:47:53.97ID:gWdFgzgp0 サルのふりをすると素早く結果が得られるのか
よいなウキキ
よいなウキキ
91名無しさん@お腹いっぱい。 (ワッチョイ 9f4c-lfob)
2017/09/25(月) 22:57:58.76ID:E5zwZhHI0 サルまねは簡単に見抜かれるがな
ウッキー
ウッキー
92名無しさん@お腹いっぱい。 (ワッチョイ 1eec-tSko)
2017/09/27(水) 23:26:25.74ID:8l6buZma0 お尋ねします。
FileReadからのStringReplace何ですが、よく理解していないので以下のように変数から変数へリプレイスしています。
もっとスマートな方法はありますか?。
unko0 =
(
unko chan
geriguso chan
bichiguso chan
)
StringReplace, unko1, unko0, unko chan, unko kun
StringReplace, unko2, unko1, geriguso chan, geriguso kun
StringReplace, unko3, unko2, bichiguso chan, bichiguso kun
msgbox, リプレイス前`n%unko0%`n`nリプレイス後`n%unko3%
FileReadからのStringReplace何ですが、よく理解していないので以下のように変数から変数へリプレイスしています。
もっとスマートな方法はありますか?。
unko0 =
(
unko chan
geriguso chan
bichiguso chan
)
StringReplace, unko1, unko0, unko chan, unko kun
StringReplace, unko2, unko1, geriguso chan, geriguso kun
StringReplace, unko3, unko2, bichiguso chan, bichiguso kun
msgbox, リプレイス前`n%unko0%`n`nリプレイス後`n%unko3%
93名無しさん@お腹いっぱい。 (ワッチョイ 8ac6-PvnN)
2017/09/27(水) 23:54:13.76ID:5X3wI39C0 A32.exeってUTF-8のスクリプト読み込ませても普通に動くしL版の追加機能も使えるのか
今まで本家版そのままと勘違いしてた
今まで本家版そのままと勘違いしてた
94名無しさん@お腹いっぱい。 (ワッチョイ c56c-IQJU)
2017/09/28(木) 01:00:06.89ID:ZCT1JF0Y0 Outputunko is allowed to be the same unko as an Inputunko.
95名無しさん@お腹いっぱい。 (ワッチョイ cbec-sfnj)
2017/09/28(木) 02:29:17.50ID:GQSksrr9096名無しさん@お腹いっぱい。 (ワッチョイ 4d4c-qEDe)
2017/09/28(木) 11:06:02.36ID:sWQkFnkH0 キーリピートできない多ボタンマウスに
キーリピートできるようにはできないんでしょうか?
左クリック押しながら、マウスの別ボタンを押すと
ロジクールの多ボタンマウスだとちゃんと書いたコードが機能しますが、今のやつは無理です。
たぶん、キーリピートが関係している?気がするんですが。
キーリピートできるようにはできないんでしょうか?
左クリック押しながら、マウスの別ボタンを押すと
ロジクールの多ボタンマウスだとちゃんと書いたコードが機能しますが、今のやつは無理です。
たぶん、キーリピートが関係している?気がするんですが。
97名無しさん@お腹いっぱい。 (ワッチョイ 2d87-asy+)
2017/09/28(木) 11:43:16.41ID:tPmB9WEX098名無しさん@お腹いっぱい。 (ワッチョイ 4d4c-qEDe)
2017/09/28(木) 13:37:56.81ID:sWQkFnkH099名無しさん@お腹いっぱい。 (ワッチョイ 9b1c-MY2y)
2017/09/28(木) 16:18:29.95ID:mqOcEldg0100名無しさん@お腹いっぱい。 (ワッチョイ 4d4c-qEDe)
2017/09/28(木) 17:18:30.28ID:sWQkFnkH0 たぶんマウスの問題なんだと思います。
いろいろ実験したんですけど、そのマウスだけAuto Hot Keyが認識しませんでした。
KeyHistoryを教えてくれた方、ありがとうございました。
これを知らなかったら、認識しないのに無駄にコードを書いて悩んでたと思います。感謝です。
いろいろ実験したんですけど、そのマウスだけAuto Hot Keyが認識しませんでした。
KeyHistoryを教えてくれた方、ありがとうございました。
これを知らなかったら、認識しないのに無駄にコードを書いて悩んでたと思います。感謝です。
101名無しさん@お腹いっぱい。 (ワッチョイ 3d4e-MY2y)
2017/09/28(木) 17:26:18.24ID:a7Erhn8f0 >>100
普通多ボタンマウスならボタンのカスタマイズやキーアサイン機能あるだろ
俺の場合ならRazerNagaにF13〜F24など割り当ててAHK側でキーリピートさせたりも出来る
どこのマウス使ってんだよ
普通多ボタンマウスならボタンのカスタマイズやキーアサイン機能あるだろ
俺の場合ならRazerNagaにF13〜F24など割り当ててAHK側でキーリピートさせたりも出来る
どこのマウス使ってんだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★3 [樽悶★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★3 [お断り★]
- 高市首相「台湾有事」発言引き出した「立憲・岡田克也氏」に聞いた質問の真意「これはマズイ発言だと」少しずらしてみたが焼け石に水 ★2 [ぐれ★]
- トランプ氏、女性記者に「ブタ、静かに」 エプスタイン元被告めぐる質問さえぎる [1ゲットロボ★]
- 【株価】日経平均、上げ幅一時2000円超 5万円台を回復 [蚤の市★]
- 【米中関係】中国、米国産大豆84万トン輸入 他国産より高値で購入… [BFU★]
- 副大臣経験者「そもそも高市首相は円安のデメリットを理解していなさそう」閣僚の側近「政権で円安についてよく理解していない人がいる」 [812874503]
- 【高市悲報】母から「男性客を射精させたら終わりだから」告げられ…タイ人少女が労働か [947959745]
- 吉村知事「あのさぁ、中国人観光客の頼るのやめようよ?他のエリアの人に来てもらうとかもっと考えようよ?中国依存してないでさァ!」 [856698234]
- 日経新聞さん、中国をおちょくってしまう… 大丈夫か?日本人 [271912485]
- 日本人「な、なぜだ?なぜこの件で日本を助けてくれる国が0カ国なんだ!?」。日本人、さすがに気づく [805596214]
- 議員「我々も物価高で苦しいんだ!」 [256556981]
