1read 100read
2013年02月ソフトウェア172: AutoHotkey スレッド part15 (548) TOP カテ一覧 スレ一覧 2ch元 削除依頼
テキストエディタJmEditorスレ 2 (693)
ImageViewURLReplace.dat(Nida・Style専用) 1 (868)
【仮想化】 ORACLE VirtualBox Part2 (717)
【Rainmeter】RainySoft Part9【Rainlendar】 (527)
【トリップ検索】MERIKEN's Tripcode Finder その2 (512)
【ニコ風】実況ソフト Nicort Part4【実況板対応】 (600)

AutoHotkey スレッド part15


1 :2012/10/09 〜 最終レス :2013/02/11
■配布元
http://www.autohotkey.com/
本家Autohotkeyは事実上開発停止で、派生のAutoHotkey_L(AHKL)が主流。
新規利用者には日本語の扱いで不具合の無いAHKLのユニコード版の利用を推奨。
■前スレ
AutoHotkey スレッド part14
http://anago.2ch.net/test/read.cgi/software/1333372506/
■日本語解説等
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/
簡易スクリプト掲示板 ※31日で削除されます。
http://www.autohotkey.net/paste/
■派生版
IronAhk (.NET製、クロスプラットフォーム)
http://www.ironahk.net/
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.net/~tinku99/ahkdll/
■ 関連スレ
AutoIt
http://pc12.2ch.net/test/read.cgi/software/1277173327/
テンプレ>>2-10

2 :
■重要事項
オリジナルである、本家 "AutoHotKey" の開発は終了している。
現在は、そこからフォークした "AutoHotkey_L" が主流。
スクリプトについては、それが本家AHKで動くものであるか、Lであるのかに注意。
AutoHotkey_L (内部Unicode、64bitバイナリ、オブジェクト指向、COM対応など)
http://www.autohotkey.net/~Lexikos/AutoHotkey_L/
オリジナルのAHKとの変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。
 →http://www.autohotkey.net/~Lexikos/AutoHotkey_L/docs/
 →http://sites.google.com/site/autohotkeyjp/reference/AutoHotkey_L/index
※ 新規利用者にはAHKLを推奨するが、移行に際してすくなからずの改修が必要となる。
特に、旧流行らせるページの配布物(MouseGesture等)の多くはそのままでは動作しない。
安定利用できている環境を崩して移行するかどうかは各人の判断による。
MouseGestureについては有志の方がAHKL対応版を配布しているのでそれを利用するのもありです。
http://code.google.com/p/mousegesturel/
■質問に際して
OSの種類(XP/Vista/7)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。
また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。
2chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、
レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。

3 :
■過去スレ
@http://pc7.2ch.net/test/read.cgi/software/1098531338/ Attp://pc7.2ch.net/test/read.cgi/software/1129836713/
Bttp://pc11.2ch.net/test/read.cgi/software/1157043396/ Cttp://pc11.2ch.net/test/read.cgi/software/1184556627/
Dttp://pc11.2ch.net/test/read.cgi/software/1201502896/ Ettp://pc11.2ch.net/test/read.cgi/software/1219130051/
Fttp://pc12.2ch.net/test/read.cgi/software/1230694774/ Gttp://pc12.2ch.net/test/read.cgi/software/1243005818/
Http://pc12.2ch.net/test/read.cgi/software/1253888736/ Ittp://pc12.2ch.net/test/read.cgi/software/1265518996/
Jttp://hibari.2ch.net/test/read.cgi/software/1280482227/ Kttp://hibari.2ch.net/test/read.cgi/software/1296446228/
Lttp://anago.2ch.net/test/read.cgi/software/1317156599/ Mhttp://anago.2ch.net/test/read.cgi/software/1333372506/
以下FAQ等
■実行環境
Q1:スクリプトに書いた日本語が文字化けしちゃうんだけど...
A1:スクリプトファイルを「UTF-8」で保存する。(AHKLの場合)
Q2:初めて使うけどどれを使えばいいの?
A2:AHKLのユニコード版を推奨。
  旧流行らせるページの配布物をそのまま使う場合は本家をそのまま利用する事。
  64ビットOSでAHKL32ビット版の使用は制約が多いので、64ビット版を強く推奨。

4 :
■ リマップ・ホットキー割り当て
Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ
A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。
  OS側がキーUp/Down情報が正しく返してこないのでAHKのみで対処は無理です。
  レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。
 
 例) ChangeKeyを使って[ひらがな]を[F13]にする
  AutoHotkeyで任意のキーをF13にリマップする(例えばF12をF13にリマップし、スクリプトを実行)。
   F12::F13
  Changekeyを起動する。( ttp://www.forest.impress.co.jp/lib/sys/hardcust/keyboard/changekey.html )
  「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。
  F12を押すとスキャンコード「0x0064」,該当するキーは「該当なし」と表示される。(0x0064はF13のスキャンコード)
  「上のスキャンコードでキー変更する」をクリックすると「〜 0x0064 をどのキーに変更しますか?」
  というウィンドウが表示されるので「ひらがな」キーを選択。「登録」をクリックし、Windowsを再起動する。
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}

5 :
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のジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。
Q8:ジョイスティックのボタン1とボタン2の入れ替えなどはどうやってやるの?
A8:AutoHotkeyではできない。

6 :
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, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている
■ IME関連
Q1:IMEのOn/Offの切り替えや、状態を得るにはどうすればいいの?
A1:http://www6.atwiki.jp/eamat/pub/MyScript/ の「IME.ahk」を使いましょう。

7 :
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:「{AutoHotkeyのフォルダ}\Extras\Editor」に各種エディタの定義ファイル及びキーワード一覧あり
Q3:GUI作るのめんどくせ〜〜
A3:公式( ttp://www.autohotkey.com/download/ )から SmartGUI Creator をDLして使うと楽。
Q4:AHKってマルチスレッドじゃないの?
  タイマーやMsgBox, WinWait, KeyWaitを使ってるけど思った通りに動かない。
A4:「擬似マルチスレッド」です。最後に割り込んだスレッドが終わるまで元スレッドは動きません。
 MsgBox、WinWait、KeyWait、Process,WaitClose などをタイマーで複数動かす時は注意。
  > 要は処理系統が複数同時に走らないってこと。図にするとこんな感じ。
  > → 実行中、 …:割り込み終了待ち
  > 元スレッド   →→→→→→……………………………………→→→→
  >                  ★割込                ↑再開
  > 割り込みスレ          →→→→…………→→→→→→END
  >                        ◆割込 ↑再開
  > 更に割り込み                →→→END
 ※ AutoHotkey_H(AutoHotkey.dll)を利用すると真のマルチスレッドが利用可。

8 :
Q5:AHK、AHKLx86、AHKLx64の共存は出来る?
A5:それぞれを違うフォルダ(ディレクトリ)にインストールすれば共存できます。
  但し、インストーラーを使って最後にインストールしたAutohotkey(Normal or x86 or x64)
  に対してahkファイルの関連付けが行われますので、レジストリエディタ(Regedit.exe)や
  FileTypesMan等のツールを使って関連付を変更してください。
  ahkファイルをAHK Normal、ahlファイルをAHKLx86、ah6ファイルをAHKLx64といったように
  別々の拡張子に関連付けが可能です。
  それぞれに関連付けしたファイルに対してドラッグアンドドロップを有効にするにはレジストリの
  [HKEY_CLASSES_ROOT\ファイルタイプの名前\ShellEx\DropHandler]
  の (規定) のデータを {86C86720-42A0-1069-A2E8-08002B30309D} にする。

9 :
新スレ立て乙

10 :
11 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2012/04/03(火) 00:32:48.70 ID:0gt728Ga0
● 分からない理由 ●
1. 過去ログを読まない。
2. 読んでても肝心な所が見えてない。
3. 検索能力が低い。
4. そもそも検索する気がない。
5. 類推という概念がない。
6. それ以前に普通に頭が悪い。
<わからない11大理由>
1.読まない …現行スレ、テンプレ、取説などを読まない。読む気などさらさらない。
2.調べない …過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3.試さない …めんどくさいなどの理由で実行しない。する気もない。
4.覚えない …人から聞いて、楽して得た答えは身に付かないから、すぐに忘れる。
5.説明できない …何に困っているのか、第三者に正確に伝わる文章が書けない。
6.理解力が足りない …理解力以前の問題で理解しようとしない。
7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
8.感謝しない …教えてもらって当たり前。事がすんだらさようなら。
9.逆切れする …自分の思うようにならないと逆切れする。
10.開き直る …自分の思うようにならないと開き直る。
11.2ちゃんねるをお客様相談室だと思っている。


11 :
12 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2012/04/03(火) 00:33:30.20 ID:0gt728Ga0
★教えて君五大要素★
1 読まない             (文盲)
2 調べない             (能なし)
3 試さない              (発想力欠如のアホ)
4 理解力が足りない        (馬鹿)
5 人を利用することしか頭にない (R)

           YES → 【見つかった?】 ─ YES → じゃあ聞くなR
         /                  \
【探した?】                        NO → なら、ねぇよ
         \
            NO → R


12 :
ろだ
ttp://ux.getuploader.com/autohotkeyl/

13 :
WindowsXPで、アプリを最大化した時に少しでも広く画面を使いたいので
タスクバーの最前面化の有効・無効を任意に設定したキーで切り替えたいんだけど
何かいい方法ありませんかね?

14 :
>>13
自分でやってみて理想通りに動作しなかったスクリプトを晒せば
誰かが修正に応じてくれるよ

15 :
もうこっち使えばいいんかね?
新スレ立った状態のときって一般的にどっちを使えばいいのか分からん

16 :
980超えたら24時間書き込みなしでdat落ちする。
それを考慮し、心配なら新スレの方でいいんじゃない?

17 :
グループ作成して、以下のキーを送信しているのですが
ControlSend, , {F10},ahk_group xxxx
これで送信される時とされない時があるのは何故でしょうか?
成功率は7割位です。

18 :
情報がすくない、環境も書いてない
・SendMode は何使ってる?
・グループ化した窓全部って意味なのか
・"成功"ってのは ErrorLevel で判断してるのか、それともアプリが反応したかどうかか
・成功・失敗するときの傾向は?; アプリがアクティブか? 特定アプリの場合のみ失敗するか?

一般論でいうと、窓が見つかればキーは送られているはずで、反応するかどうかはアプリ次第

19 :
>>17
低級エスパーな俺がエスパーしてみたらこうなった
setkeydelay, , 100
ControlSend, , {F10},ahk_group xxxx
setkeydelay, , -1

20 :
>>18こんな感じのスクリプトです。正直よく理解していません助けてください。
GroupAdd window, ahk_class window1
GroupAdd window, ahk_class window2
GroupAdd window, ahk_class window3
WinWait, ahk_group window
ControlSend, ahk_parent, {F10}, ahk_group window
キーを送信するのは一つのウインドウです。
複数ウインドウには送信しません。
・Sendmodeは設定していません。
・成功のエラーレベルは理解していません。
・成功失敗の状況は同じです(同じ状況で繰り返し確認しました)
上記スクリプトにどのようなコマンドを記述すれば良いのでしょうか?
よろしくお願いします。
>>19有難う、でも出来ませんでした。

21 :
環境書いていませんでした。
windows764ビット
AutoHotkey - version 1.0.48.05
よろしくお願いします

22 :
ControlSend, ahk_parent, ~F10, ahk_group window
このコマンドが正しいかは分かりませんが、自己解決したみたいです。

23 :
どんなウインドウにマウスカーソルがあっても
デスクトップ上での右クリックを表示させることは可能でしょうか?

24 :
そういう限定条件があるならNO
「大抵はな」らOK

25 :
ahk_classで指定したウインドウのみ、左クリックを無効に出来ますか?

26 :
ahklで#ifのサンプル改編すれば余裕

27 :
うまく出来ません。
どなたかお知恵を拝借願います。
#IfWinExist ahk_class 1234
Lbutton::return
#IfWinExist
LButton::
return

28 :
#IfWinExist(ウィンドウが存在したら(存在していればアクティブでなくてもOK))
#IfWinActive(ウィンドウがアクティブなら)
下2行は何がやりたいのかわからんが多分いらん

29 :
LButton::LButton
をやりたいんだろうけどその場合は上2行だけでおk

30 :
有難うございます、間違えました。
ahk_classで指定したウインドウのみ、左クリックを無効にし
他のウインドウには通常の左クリックがしたいです。

31 :
ahk_classで指定したWindowのみってのはどういう状態?
アクティブな時なのか、カーソルがWindow上にある時なのか
多分後者だろうけど、前者ならIfWinActiveで判別
後者ならMouseGetPosとWinGetClassで判別になるんじゃないかいね

32 :
>>31も含めて>>26でok

33 :
他ソフトのウィンドウだとうまくマウス制御できるのに、sleipnir3は同じ動作ができません。
AutoHotKeyの動きを邪魔するウィンドウやソフトなどあるのでしょうか?

34 :
そんなぼやけた情報だけじゃこれしか言えんわ
知らん

35 :
MacでAHK的なことができるやつってあるかな?
Macbook購入を躊躇する最も大きな原因としてWindowsでのAHKが便利すぎるのがある

36 :
>>35
スレチだからスルーしてくれてもいいけど
そこまでしてマックブックを購入するメリットってなんだ?
煽りじゃなく興味本位で

37 :
BootCampでWin入れればいいじゃないかな

38 :
>>36
ノートとしてのハードがよくできてることと
あとiOS向けアプリの開発をしたいから
まあWeb系ではMacbookでの開発が多くなってきてるってのも一応理由にある

39 :
>>35
試したことないんだけど>>1の派生版とか?

40 :
IronAhk (.NET製、クロスプラットフォーム)
http://www.ironahk.net/
ってどんなもんか見ようと思ったがどのブラウザでもドキュメントページが表示されない
どうやってドキュメント確認したらいいんだろうか

41 :
>>40
http://www.ironahk.net/docs/
*が付いてるのは作りかけかな?

42 :
>>41
うーむそうなのかドキュメント確認くらいはしたかった
素AHKと同じ構文なんだろうか
Hotkey表現とか#ifやらがどうなっているのかはさすがに知りたいんだがなあ

43 :
と思ったら下に * Not yet documented. って書いてあるね
フォーラムとか見て確認するしかないか

44 :
ある文字から始まる値をURLに追加してそのwebページを
開こうと考えています。
(例: !12345\ と打つと、abc.jp/12345 を開く)
#Hotstring EndChars \
:B0:!〜::
url := "abc.jp/" . 〜
Run, "C:\Program Files\Internet Explorer\iexplore.exe" %url%
上のような形を考えたのですが、任意の文字列である
〜の部分が取得できず悩んでいます。

45 :
本文が長すぎると言われたので分割しています。
上手いこと 〜 の部分を取得してurlにセットしたいのですが
どうすれば良いでしょうか。

46 :
InputBoxに入力したものを渡した方がいいんじゃない?

47 :
先生がたに質問がございます。
ブラウザで各webサイトにログインする時に
Ctrl+EでIDとパスをそれぞれクリップボードに送り、貼り付け、Enterという動作させてました。
サイトにより、tab押す回数増えたりとか細かいところは調整しつつ。
ウィンドウタイトルを取得して
Yahoo!にログインの場合は^Eでこの動作、googleにログインの場合はこの動作・・・と。
普通にそれを増やしていったのですが、さっきまた新しいwebサイトに対してそのログイン動作を追加しようとしたら
^Eに対してduplicateエラー吐かれました。
同じプログラム(この場合chrome)での一つのキーアサインに対して設定数の上限てありましったっけ?
別に複雑なスクリプトでもないのでさっぱり原因がわからず・・・。

48 :
Lastpassオススメ。
クラウドが怖いならローカルで使えばいい。

49 :
>>47
自己解決です。
同じサイトへの設定を既に書いてました。。
アホな質問してすんませんでしたm(_ _)m

50 :
複雑でもないならコード書くほうがいいよ
使った実装方法が文面からは分からないがduplicateというくらいなのだから
重複がないかどうかちゃんと調べる
あとパスワード管理ログイン管理はさすがにAHKでなくて別の方法取った方がいい
スクリプト中にパスをそのまま書いておくのも良くないしスクリプトでは明らかに管理が面倒

51 :
>>44
〜の種類だけホットストリングラベルを定義する
:B0:!a::
:B0:!b::
StringTrimLeft,Hot,A_ThisHotkey,5
Run,https://www.google.co.jp/search?q=%Hot%
return
〜の種類が多いなら>>45が言ってるようにInputBoxを使う
:B0:!::
InputBox,Input
If ErrorLevel = 0
Run,https://www.google.co.jp/search?q=%Input%
return

52 :
>>45じゃなくて>>46だった

53 :
>>46,51
数千種類あるのでInputBoxを経由させたところ
上手く実行出来ました。
ありがとうございました。

54 :
某マウスのソフトでブラウザ上の文字を選択して
それを検索にかけるone click searchてのがあるんですけど
それをctrlダブルクリックで機能するように設定したいんです
ネットで拾ってきた文を骨格にして元のクリップボードを維持しつつ
上記の機能をなそうとしたのですが、正常に動く確率がそこまで高くなくその原因を知りたいです
~Ctrl::
If (A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 500)
{
Sleep 50 ;
Send,{Esc}
bk=%ClipboardAll%
Clipboard=
Send, ^c
ClipWait
Run, http://www.google.com/search?q=%Clipboard%
Clipboard=%bk%
}
return
2行目以外はおおよそ意味は分かるんですが、
2行目は500ms以内にクリックしないといけない、くらいにしか理解してない程度です
今回はとりあえず正常に動くことのみ気にしてるので推敲お願いします

55 :
その前に、自分的にはどう動いたら正解かを書くのが筋だろう

56 :
最初に大体書いてんじゃん
ブラウザ上で文字選択してctrlダブクリでその文字をgoogle検索
(実行したら文字選択解除)
クリップボード経由だけど汚したくないからバックアップ取ってそっから復元
むしろどれくらい失敗するのか、どう失敗するのかを書くべし

57 :
失敗ってのはまったく無反応、確率というのは
動くときは何回やってもほぼ100%動いて、動かない時は何回やっても動かないな感じです
何が影響してるかが全く分からないので統計の取りようもないです
とりあえず0か100かって感じです 
スクリプトでどうにもできないことなら仕方ないですが、何か改良すべきことがあるなら

58 :
とりあえず~Ctrl::だとCtrl押しっぱでも反応しない?
~Ctrl Up::のがいいような気がする
Sleep 50とSend,{Esc}はよくわからんが、なくてもいいような
ClipWaitはタイムアウト設定したほうがよさげ
ClipWait,1とか0.5とか時間は適当に
んで、格納失敗したときにメッセージとか出したいなら
If ErrorLevelで処理記述
Clipboard=%bk%の後に「bk=」の行追加で変数bkを空にしてやったほうがいい
ミジンコの俺が感じたのはこんな感じかなあ

59 :
>>58
ありがとうございます だいぶ動きが滑らかになって今のとこ確実にできてます
修正前は何も文字列を選択しない場合は確実に無反応になっていたのですが
修正後は同状況では空白で検索されているっぽくgoogleが開いてしまったので、途中を
Send, ^c
ClipWait,1
If Clipboard =
Clipboard=%bk% (動作としては必要はないけど Clipboardが空でない が書けなかったため)
else
Run, http://www.google.com/search?q=%Clipboard%
としました
>>55-56 情報が足りませんでしたすみません

60 :
ClipWaitがタイムアウトしたらErrorLevelが1になるんだし
If !ErrorLevel
Run, http://www.google.com/search?q=%Clipboard%
でいいんじゃないの

61 :
IE9を使用しています。
IEが動いていたらアクティブ化したいのですが
以下のように記載しても動きません。
何がまずいのでしょうか。(通過メッセージは出ています)
Process,Exist,iexplore.exe
If (ErrorLevel <> 0) {
winActivate,ahk_pid %ErrorLevel%
MsgBox,4,,通過
}
return

62 :
IE9はマルチプロセスなんでタイトル文字で指定した方がいいんでない?
SetTitleMatchMode, 2
WinActivate, Windows Internet Explorer ahk_exe iexplore.exe

63 :
1000ms間隔で30回、それぞれの指定位置で右クリックするマクロを組んだのですが
このマクロの実行中に手動で途中で中断させる方法はありますか?

64 :
>>63
a::Reload

65 :
>>62
タイトル指定でいけました。
ありがとうございます。
そういえばプロセス一個だけの場合でも
プロセス指定では無理でした。不思議

66 :
>>63
ホットキーでマクロ開始するタイプなら>>64
macro.ahkを実行すると開始するタイプなら
スクリプトの後ろにa::ExitAppを追加
他のスクリプトも混在してるからReloadやExitAppは困るなら
MouseClick処理前にフラグを確認するようにして
フラグを立てるためのホットキーを設定してやる
これなら中断したところから再開とかもできる

67 :
複数のスクリプトを常駐中に、任意のスクリプトのみを終了させる事は出来ますか?

68 :
「スクリプトのパス ahk_class AutoHotkey」がメイン窓なんで、
WinMenuSelectItem や WM_COMMANDで終了メニュー選ぶんだり、
PIDで強制終了するなりすればいい

69 :
了解しました。がんばってみます

70 :
>>64,66
お返事遅くなりましたが親切にありがとうございます

71 :
お尋ねします。
一つのスクリプト内に幾つかの設定があり、その一部がエラーだった場合
そのエラーを無視して起動させる事は出来ますでしょうか?

72 :
ちょっと漠然としすぎじゃないかな

73 :
>>71 組み込み変数 ErrorLevel で分岐することはできる。
文法エラーは修正しないと,エラーメッセージが出続ける。

74 :
正規表現中の「"」をエスケープする方法はあるでしょうか?
`"としても\"としてもエラーになってしまいました。
"`"" → ×
"\"" → ×

75 :
"""" → ○
じゃなかったかな
"abc"defg" → "abc""defg"
って感じ

76 :
これ?
a = abc"def
dbl = "
msgbox, % regexmatch(a, "c" . dbl . "d")

77 :
それかこれ?
a = abc"def
msgbox, % regexmatch(a, "c" . chr(34) . "d")

78 :
URLDownloadToFileにPOST形式は指定できないようですが、何か裏ワザとかあったりするでしょうか?

79 :
フォーラムに通信関連のライブラリがあった気がす

80 :
同じソフトウェアのウインドウだけを
全画面にタイル状に並べるスクリプトあるじゃないですか。
あれすると今見てるウインドウが一番右(一番うしろ)にいってしまいます。
あれを今見てるウインドウを一番左に(左上、or左に)並べるようにできませんか?
このスクリプトです。
TileMove()
{
WinGet, activeWindowID, ID, A
WinGetPos, x, y, w, h, ahk_id %activeWindowID%
SysGet, monitorCount, MonitorCount
Loop, %monitorCount%
{
SysGet, m, MonitorWorkArea, %a_index%
if (mLeft <= x && x <= mRight && mTop <= y && y <= mBottom)
{
WinGetClass, activeWindowClass, ahk_id %activeWindowID%
WinGet, id, list, ahk_class %activeWindowClass%
Loop, %id%
{
w := (mRight - mLeft) / 2
h := (id > 2) ? (mBottom - mTop) / 2 : mBottom - mTop
x := (Mod(a_index, 2) == 1) ? mLeft : mLeft + w
y := (a_index <= 2) ? mTop : mTop + h
StringTrimRight, this_id, id%a_index%, 0
WinActivate, ahk_id %this_id%
WinWaitActive, ahk_id %this_id%
WinMove, ahk_id %this_id%,,%x%, %y%, %w%, %h%
}
break

81 :
やれやれだな

82 :
マウススクロールの↑をloopで指定回数行うのにsleep以外で間隔指定できませんか?
あと、Edit This Scriptでメモ帳を別のエディタに変えたい場合はレジストリ?

83 :
>>82
言うようにレジストリ
とは言え個人的には編集用のホットキー用意しておく方が便利
#a::run, "c:\program files\someone\editor.exe" "ahkscript.ahk"

84 :
>>82
>マウススクロールの↑
ホイールのこと言ってるなら Send,{WheelUp 10} とか
エディタのレジストリキーは以下
HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command

85 :
すまん回数指定かつ間隔指定か
ならSendで送る前にSetKeyDelayを指定しておく

86 :
>>83
それだと別に起動しておかないといけないですね。
>>84
関連付けできましたー。
>>85
簡単に・・・
SetKeyDelay,xxx
loop xxx {
Send, {WheelUp}
}
SetMouseDelay,xxx
loop xxx {
MouseClick,WheelUp
}
両方試しましたが1回しかカウントされず多分一瞬で終わっているみたいですね。
前スレにあったsleepでやるしかないのか。。。

87 :
なぜsleepが嫌なのか

88 :
マニュアルやヘルプみたの?setkeydelayの使い方が誤っている。

89 :
いや一番肝心な数値の部分をxxxで伏せられたらわからんし
0.5秒間隔でホイール10個送るなら
SetKeyDelay,500
Send,{WheelUp 10}
SetMouseDelay,500
MouseClick ,WheelUp,,,10

90 :
キーならいいけど、マウスはうまく動かないですね。
別の方法を探してみるしか無いかな。
>>87
中断がうまくできないので。
SetKeyDelayの場合、loop中に再度実行するとloopが再開するので。
>>88
Example(s)
SetKeyDelay, 0
使用例にあったのでそのまま使いました。
>>89
間隔50ms〜5sでloopが100〜1000回とかまちまちなので。

91 :
だからそういう条件は先に言えと、後出しは遠回りでムダになるっしょ
中断させたいならloop内でbleakさせりゃいいんじゃね

92 :
Pだからな、無理もない

93 :
やりたい処理の全体像がいまいちつかめないので断言はできないけど、
Sleepがいやな理由が中断・再開がうまくいかないってことなら解決法ありそうだけどな

94 :
Win 8 にしたら Send, {Alt Down}{Tab} で擬似 AltTab ができなくなってしまった。

95 :
できなかったという一言感想だけ言うよりどうしたら改善したとか
原因はおそらくこれとかいう情報もあった方がいいのでは
そこまで日記的だと本当にWin8が原因なのかも分からない

96 :
win8でautohotkeyがうまく動かないというのは
autohotkey forumにあまり情報がないかと
どうなんだろうね

97 :
>>94きっかけで作り始めたんですけど
x::AltTabMenu でスイッチャ起動してクリックで決定したあと
(http://uni.2ch.net/test/read.cgi/operatex/1335382709/850代行)

98 :
>>97 続き
Altがおしっぱになってるらしく一回Altを押さないと正常に戻りません
#IfWinActive ahk_class TaskSwitcherWndで
スイッチャがあるときにUpとかを決定(Lクリック)に連動させて入力しても
ある時に〜という設定だからなのか動きません
どうにかして決定後に自動的にAltを解除できませんかね?

99 :
FileDelete, コマンドでお聞きします。
複数行にならず、一行だけで指定したファイルを連続して削除する事は可能ですか?

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Twitterクライアント総合スレ その17 (343)
ninja tester (532)
Java Runtime Environment Part3 (325)
【サイト取り込み】WeBoX part6【ダウンロード】 (463)
動画キャプチャソフトについて語るスレ 5 (661)
プレステ2エミュについて語ろう【PCSX2】vol96 (559)
--log9.info------------------
第3次 ウィンキー版 第2次スパロボZ 再世篇 (231)
【PS3】機動戦士ガンダム UC Part9 (671)
デュアル!ぱられルンルン物語 スパロボ参戦熱望3 (293)
第2次スパロボOG 性能運用談義スレ Part3 (434)
★★ANUBIS Z.O.E Vol.332★★ (355)
ロボットゲー板 自治スレ16 (290)
SDガンダム Gジェネレーションウォーズ質問スレ17 (570)
ガンダムトゥルーオデッセイ2はやくしろ (589)
機動戦士ガンダム ターゲットインサイト Part14 (870)
【ACV】アーマード・コアV 【チームメンバー募集】6 (512)
ぼくらの 参戦希望スレ (275)
【本命チョコと】メルアその6【私を食べて】 (838)
ボンボン版Vガンダム参戦希望スレ (212)
【再世篇】ルルーシュ、ニア、アニューなどの生死 (448)
【第2次Z】カミナ、ロックオン、ミシェルの生死 (295)
【スペシャルディスク】スパロボZアンチ総合スレ (485)
--log55.com------------------
★2ch.scは何故失敗したのか
★クロール批判要望スレ
★削ジェンヌに文句ある人集合
★迷惑行為報告担当 - 小さな親切募集中 2
★2ch.scへの要望スレ Part3
★かっこう観測所
★スレ立て人キャップ
★2ch.scニュース系板観測所