AutoHotkey スレッド part13

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
■配布元
http://www.autohotkey.com/
本家Autohotkeyは事実上開発停止で、派生のAutoHotkey_L(AHKL)が主流。
新規利用者には日本語の扱いで不具合の無いAHKLのユニコード版の利用を推奨。

■日本語解説等
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/
アップローダ
http://loda.jp/ahk/

■派生版
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名無しさん@お腹いっぱい。:2011/09/28(水) 05:52:29.35 ID:hycmOHZn0
■重要事項
オリジナルである、本家 "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等)の多くはそのままでは動作しない。
安定利用できている環境を崩して移行するかどうかは各人の判断による。

■質問に際して
OSの種類(XP/Vista/7)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。
また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。

2chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、
レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。

■過去スレ
@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/
3名無しさん@お腹いっぱい。:2011/09/28(水) 05:55:29.76 ID:hycmOHZn0
以下FAQ等

■実行環境
Q1:スクリプトに書いた日本語が文字化けしちゃうんだけど...
A1:スクリプトファイルを「UTF-8」で保存する。(AHKLの場合)

Q2:初めて使うけどどれを使えばいいの?
A2:AHKLのユニコード版を推奨。
  旧流行らせるページの配布物をそのまま使う場合は本家をそのまま利用する事。
  64ビットOSでAHKL32ビット版の使用は制約が多いので、64ビット版を強く推奨。

■ リマップ・ホットキー割り当て

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を再起動する。
  リマップ( F12::F13 )を解除する。
4名無しさん@お腹いっぱい。:2011/09/28(水) 05:58:14.86 ID:hycmOHZn0
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のジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。

Q8:ジョイスティックのボタン1とボタン2の入れ替えなどはどうやってやるの?
A8:AutoHotkeyではできない。
5名無しさん@お腹いっぱい。:2011/09/28(水) 06:01:04.48 ID:hycmOHZn0
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」を使いましょう。

Q2:IMEが現在文字を入力している、または変換中であるかどうかを得ることはできる?
A2:↑のIME.ahkで一部可能(IEやFirefox,MS-Wordのようにインライン化しているアプリでは無理)
6名無しさん@お腹いっぱい。:2011/09/28(水) 06:03:31.44 ID:hycmOHZn0
■ その他
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)を利用すると真のマルチスレッドが利用可。
7名無しさん@お腹いっぱい。:2011/09/28(水) 06:05:33.72 ID:hycmOHZn0
■リンク等
AutoHotkey メモ - Principia
http://principia.s54.xrea.com/index.php?AutoHotkey%20%A5%E1%A5%E2
なまず日記
http://www.tierra.ne.jp/~aki/diary/
eamatの日記
http://d.hatena.ne.jp/eamat/
1 Hour Software by Skrommel - DonationCoder.com
http://www.donationcoder.com/Software/Skrommel/
Rosetta Code (さまざまな処理を各種プログラム言語で書いた場合の比較)
http://rosettacode.org/wiki/Category:Programming_Tasks

以下公式フォーラムより
http://www.autohotkey.com/forum/topic8795.html  Tips N Tricks
http://www.autohotkey.com/forum/topic26855.html ListViewで大きな画像を扱いたい
http://www.autohotkey.com/forum/topic19509.html GUIで標準のもの以外を使いたい
http://www.autohotkey.com/forum/topic20097.html GUIを手軽に作りたい
http://www.autohotkey.com/forum/topic39598.html DllCallで定数調べるのマンドクセ
http://www.autohotkey.com/forum/topic22975.html コンパイルユーティリティ%28Compile_AHK II)
http://www.autohotkey.com/forum/topic23072.html HIDを直に読んで、キーボードやマウスの拡張ボタンの状態を得たい
http://www.autohotkey.com/forum/topic19367.html Windowsのイベントをフックして色々やりたい
http://www.autohotkey.com/forum/topic20701.html ShellFolder() : エクスプローラのPathおよび選択ファイルを取得
http://www.autohotkey.com/forum/topic20701-42.html ShellDesktop() : デスクトップで選択されたファイルを取得
http://www.autohotkey.com/forum/topic21451.html ポップアップメニューの情報を得る
8名無しさん@お腹いっぱい。:2011/09/28(水) 15:37:11.27 ID:qr06MIOW0
● 分からない理由 ●
1. 過去ログを読まない。
2. 読んでても肝心な所が見えてない。
3. 検索能力が低い。
4. そもそも検索する気がない。
5. 類推という概念がない。
6. それ以前に普通に頭が悪い。

<わからない11大理由>
1.読まない …現行スレ、テンプレ、取説などを読まない。読む気などさらさらない。
2.調べない …過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3.試さない …めんどくさいなどの理由で実行しない。する気もない。
4.覚えない …人から聞いて、楽して得た答えは身に付かないから、すぐに忘れる。
5.説明できない …何に困っているのか、第三者に正確に伝わる文章が書けない。
6.理解力が足りない …理解力以前の問題で理解しようとしない。
7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
8.感謝しない …教えてもらって当たり前。事がすんだらさようなら。
9.逆切れする …自分の思うようにならないと逆切れする。
10.開き直る …自分の思うようにならないと開き直る。
11.2ちゃんねるをお客様相談室だと思っている。
9名無しさん@お腹いっぱい。:2011/09/28(水) 15:39:17.90 ID:qr06MIOW0
★教えて君五大要素★

1 読まない             (文盲)
2 調べない             (能なし)
3 試さない              (発想力欠如のアホ)
4 理解力が足りない        (馬鹿)
5 人を利用することしか頭にない (死ね)



           YES → 【見つかった?】 ─ YES → じゃあ聞くな死ね
         /                  \
【探した?】                        NO → なら、ねぇよ
         \
            NO → 死ね
10名無しさん@お腹いっぱい。:2011/09/28(水) 15:40:35.52 ID:qr06MIOW0
670 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/07/20(水) 07:04:25.19 ID:Bb1hKbPa0
■回答できるレベルの人へお願い■

このスレは親切な人が多いと思うけど、もう日記に対する検証&レスは、
たとえ対処法をわかっている人がいても、レスは一切やめにしてくれないか?
こいつがやってることは

 「適当にコード作ってみたけど動かない。動かない原因を調べるのも面倒だし、
  学習する気もない。どうせここに書けばおまえらが修正するだろうから誰か直して」

ってことだ。しかも、一度だけならまだしも、何度も繰り返している。
これまでに、このスレではこの手の質問者は居なかったと記憶する。

いつまでもこんなクズにつきあう必要はない。
汎用性のないコードでスレが汚されるのは、結果的に良質な情報が
埋もれる原因になって迷惑だし、横から見ていても参考にならないし、
なによりも見ていて不快でしかない。

11名無しさん@お腹いっぱい。:2011/09/28(水) 19:32:04.09 ID:hycmOHZn0
>>8-10
そういうのを気にする人はそういう質問をしない。
数日で1スレ消化なら自治があったほうが良いかもれいないけど
1スレ消費に1ヶ月以上掛かるところで自治を促すものが多いと
それを気にする普通の人が質問しづらくなり
気にしない教えてくんが相対的に増えて縮小、衰退していく。
12名無しさん@お腹いっぱい。:2011/09/28(水) 22:02:43.78 ID:EviKU6+t0
スレ立て乙
気づいたんだけど>>7の日本語のページって情報があまりにも古くない?
13名無しさん@お腹いっぱい。:2011/09/28(水) 23:46:13.43 ID:D2pdAQ2a0
乙だが >9はいらないだろ
探して見つけて試して動かなかったから相談に来る人間は拒否してない

質問ですらない日記は別だけどな
14名無しさん@お腹いっぱい。:2011/09/29(木) 13:51:36.41 ID:15gWJ5w80
MouseMove, A_CaretX,A_CaretY
MouseMove,%A_CaretX%,%A_CaretY%


いずれも エクスプローラーやメモ帳のキャレットには反応しますが
firefox のキャレットに対してうまくはたらかず
左上にいってしまいます
MsgBox,A_CaretX,A_CaretY
だと 8.30 と出力されます
対処法はないのでしょうか?
15名無しさん@お腹いっぱい。:2011/09/29(木) 13:59:59.09 ID:fr4WgM6M0
8,30でした
16名無しさん@お腹いっぱい。:2011/09/29(木) 17:58:05.76 ID:ugkUReGR0
ホイール操作をした場合マウスカーソル下のコントロールに下スクロールを送りたいのですが以下の処理で反応してくれません。
マウス下のコントロールを取得して、そこにキーを送っているつもりですが、おかしい箇所を指摘してもらえないでしょうか?

MouseGetPos, xx, yy, , control, 1
ControlClick, x%xx% y%yy%, , , WheelDown, 1, Pos

;こちらでもダメでした
ControlClick, %control%, , , WheelDown
17名無しさん@お腹いっぱい。:2011/09/29(木) 18:31:48.50 ID:oW5t+FVH0
>>16
WinTitleが未指定。
18名無しさん@お腹いっぱい。:2011/09/29(木) 18:57:58.27 ID:ugkUReGR0
>>17
ありがとうございます。
一部出来ましたがiTunesではスクールされませんでした。
取得したコントロールはWindow Spyで示しているClassNNと同じ値が取得できていました。

実際の処理です
MouseGetPos, xpos, ypos, win, control
IfWinNotActive, ahk_id %win%
{
WinActivate , ahk_id %win%
}
Tooltip %control% ahk_id %win%
ControlClick, %control%, ahk_id %win%, , WheelUp
19名無しさん@お腹いっぱい。:2011/10/01(土) 04:32:46.30 ID:W6eyoRpi0
タスクトレイメニューに複数の項目をもつサブメニューを入れたい
ルート─サブ1
    └サブ2

といった感じにしたくてこう書いてみたんだけど
Menu, サブ1, Add, サブ1, Show1
Menu, サブ2, Add, サブ2, Show2
Menu, TRAY, Add , ルート, :サブ1
Menu, TRAY, Add , ルート, :サブ2

うまくいかずルート─サブ2になる
Menu, TRAY, の部分の順番を変えてみると
1、2だとルート─サブ2になって2、1だとルート─サブ1になるから
上書きされてるんじゃないかとおもうんだけどどうしたら良いかが分からない
20名無しさん@お腹いっぱい。:2011/10/01(土) 05:22:04.46 ID:/+TTeqmY0
#Persistent

Menu, サブ, Add, サブ1, Show1
Menu, サブ, Add, サブ2, Show2
Menu, TRAY, Add , ルート, :サブ
Return

Show1:
msgbox, Show1
Return

Show2:
msgbox, Show2
Return

こういうことかいね?
21名無しさん@お腹いっぱい。:2011/10/01(土) 13:06:16.13 ID:6XDZ/DuM0
ジョイパッドの3ボタンを同時押しした時にCtrl+WheelDownを
五回行うっていうプログラムを組んでいるのですが
Ctrl+WheelDownのような特殊なキーを含んだ動作は
コンビネーションキーで使用することはできないのでしょうか?
22名無しさん@お腹いっぱい。:2011/10/01(土) 13:32:52.84 ID:gearqMd80
そういう制限は見聞きしたこないな
ま、とりあえず、晒せ
23名無しさん@お腹いっぱい。:2011/10/01(土) 14:21:47.43 ID:qVyJBgGm0
晒すほどのものにはなってないのですが一応。

Joy2::
if(GetKeyState("Joy7") && GetKeyState("Joy8"))
{
Send,{};ここに何を入れるかで悪戦苦闘中
}
return
24名無しさん@お腹いっぱい。:2011/10/01(土) 17:06:38.13 ID:gearqMd80
いわゆる「コンビネーションキー」つーわけでも無いのか。
なら普通に Send, ^{WheelDown} とかでいいんでないかい。
 ^ の意味はマニュアルをよく読むこと。
25名無しさん@お腹いっぱい。:2011/10/01(土) 17:27:24.15 ID:qVyJBgGm0
回答どうもです。

Send,^{WheelDown}
これは真っ先に試してみたんですが反応せず。
Send,{WheelDown}
これは反応ありですが、「^」をつけるとどうも動かないんですよね。
26名無しさん@お腹いっぱい。:2011/10/01(土) 17:46:00.35 ID:uOdIXmpE0
>>25
キーを押している時間を長めに設定する

setkeydelay,,50 ; 反応しない場合は50msより大きい値にする(200msとか)
Send,^{WheelDown}
setkeydelay,,-1 ; 元に戻す
27名無しさん@お腹いっぱい。:2011/10/01(土) 17:57:53.39 ID:xb0Hmb8/0
Send, {Ctrl down}{WheelDown 5} {Ctrl up}
28名無しさん@お腹いっぱい。:2011/10/01(土) 18:42:15.81 ID:qVyJBgGm0
色々とありがとうございます。が、申し訳ない。

どうやら同時に起動してたソフトが悪さしてたみたいで、
そのソフトを一旦切ってみたら>>24の方の方法でも問題なく動きました。
29名無しさん@お腹いっぱい。:2011/10/01(土) 19:59:50.69 ID:gearqMd80
なんもしてないが、解決して何より。
だが、
悪さ、というか干渉してるのを具体的に書くと同じようなことがおきた別の人のためになるんじゃないかな
30名無しさん@お腹いっぱい。:2011/10/01(土) 21:40:27.84 ID:B3yqzv7A0
ちょっとした作業の繰り返しをしたいときに
キーボードやマウスでの操作を記録して
再生するスクリプトってありますか?
31名無しさん@お腹いっぱい。:2011/10/01(土) 22:05:40.29 ID:uOdIXmpE0
本家版(Version 1.0.48.05)に同梱されている
AutoScriptWriter(AutoScriptWriter.exe ) を使う。
32名無しさん@お腹いっぱい。:2011/10/01(土) 23:21:49.62 ID:W6eyoRpi0
>>20
うまくいきました!
サブメニューにしたいもの全てに同じメニュー項目名をあてれば良かったのですね
どうもありがとうございました
33名無しさん@お腹いっぱい。:2011/10/02(日) 12:14:35.27 ID:LtYUvIYb0
自作のポップアップメニュー表示中の割り込み制御はいつになったら実装されるのか
34名無しさん@お腹いっぱい。:2011/10/02(日) 16:38:49.15 ID:v8TY5WNA0
現状でやりたいなら、DLL版つかって別スレッドのスクリプトで動かすのがせいぜいだな
35名無しさん@お腹いっぱい。:2011/10/02(日) 17:02:10.41 ID:LV4Wto0R0
つか前スレでも聞いといてなんだけど、AHKメニューに縦区切りつけるのって標準の命令じゃ無理なん?
36名無しさん@お腹いっぱい。:2011/10/02(日) 17:20:44.92 ID:Fnt2c63e0
>>29
具体的にどう悪さをしていたのかって言うのは分からないので
状況だけしか書き込めないのですが
・AHKと同時にJoyAdapterというパッド→キー変換ソフトを使用していた
・そのソフトの設定でJoy2ボタンにCtrlを割り当てていた
・同ソフトでJoy2=Ctrlの設定を解除したら正常に動作した
と、まぁこんな感じです。
37名無しさん@お腹いっぱい。:2011/10/02(日) 18:33:04.93 ID:9Azq3eB20
>>35
http://www.autohotkey.com/forum/topic74666.html
縦区切りてこういうの?
3835:2011/10/03(月) 00:50:58.12 ID:s2cRK8Zj0
>>37
おぉ、まさにこういうやつ。情報dです
やっぱ標準じゃ無理なのね。InsertMenuItemなんてコール初めて知った
39名無しさん@お腹いっぱい。:2011/10/03(月) 13:51:11.03 ID:uFpObJt20
韓国語とか中国語のimeを使っているとき、
imeの状態や変換モードを取得したり設定するにはどうすればよいのでしょうか。
40名無しさん@お腹いっぱい。:2011/10/05(水) 01:39:26.26 ID:diN1YZVV0
dllcall imm32.dllでググればいいんじゃね?
41名無しさん@お腹いっぱい。:2011/10/07(金) 03:47:00.88 ID:cFsZJU3X0
64bitでThumbremap動かしたいんだけど、
デフォルトで使おうとするとうんともすんとも反応しないんだよなー。
だからおそらくThumbSynaptics.ahkをどうにか改変しなきゃならないと思うんだけど、
どこがマズいのやら・・・。

それならとこれの元になった前身のThumbsenseを入れてみたら普通に動くから
64bitで動かせないということは無いと思う。

これをどう書き変えたら64bit対応になるんだろう?詳しい人教えてください。

goto,Thumb_Synaptics_End

Thumb_Init_Driver(){
global
Process,Priority,,High
hSynTP:=DllCall("kernel32.dll\CreateFileA",Str,"\\.\SYNTP",UInt,0xC0000000,UInt,3,UInt,0,UInt,3,UInt,80,UInt,0)
Thumb_Synaptics_InBuf:=DllCall("kernel32.dll\GlobalAlloc","UInt",0x40,"UInt",16,"UInt")
Thumb_Synaptics_OutBuf:=DllCall("kernel32.dll\GlobalAlloc","UInt",0x40,"UInt",8,"UInt")
NumPut(0x01000000 | 10 ,Thumb_Synaptics_InBuf+4*0)
NumPut(0x01000000 | 729 ,Thumb_Synaptics_InBuf+4*1)
NumPut(0xFFFFFFFE ,Thumb_Synaptics_InBuf+4*3)
SetTimer,Thumb_Synaptics_GetState,50
}


Thumb_Synaptics_GetState:
DllCall("kernel32.dll\DeviceIoControl","UInt",hSynTP,"UInt",0x80006004,"UInt",Thumb_Synaptics_InBuf,"UInt",16,"UInt",Thumb_Synaptics_OutBuf,"UInt",8,"UInt",0,"UInt",0,"Int")
Thumb_SetState((NumGet(Thumb_Synaptics_OutBuf+4) & 0xFF)>0)
return

Thumb_Synaptics_End:
42名無しさん@お腹いっぱい。:2011/10/07(金) 04:53:56.78 ID:AhdHAUK70
43名無しさん@お腹いっぱい。:2011/10/07(金) 09:46:08.68 ID:zGvbh1f60
>> 41,42
ポインタサイズを変えただけじゃ動かないよ。以前調べたところでは、

> NumPut(0x01000000 | 10 ,Thumb_Synaptics_InBuf+4*0)
> NumPut(0x01000000 | 729 ,Thumb_Synaptics_InBuf+4*1)
> NumPut(0xFFFFFFFE ,Thumb_Synaptics_InBuf+4*3)

このあたりの API が 64 ビット未対応のようだった (ポインタサイズは変更した上で)。
Synaptics から 64 ビット用 SDK は公開されておらず、そこで手詰り。
誰か猛者はおらぬか…
44名無しさん@お腹いっぱい。:2011/10/07(金) 16:10:51.27 ID:cFsZJU3X0
>>42
理解するのは難しそうだけど読んでみるよ、ありがとう。

>>43
おお、先駆者がいたのかw
Thumbsenseはいったいどうやって32,64bit対応させてるんだろうね?
しかもあれ確か5年以上前の64bitすらなかった時代のソフトなのに。
4543:2011/10/07(金) 18:04:07.65 ID:i477kWl90
>>44 ThumbSense は 32 ビットソフトなんじゃないの?
32 ビットでならこれまで通りタッチパッドの情報取得が可能。
4643:2011/10/07(金) 18:05:42.71 ID:i477kWl90
なので AHK の x86 (32 ビット) 版でなら >41 の ThumbRemap も普通に動く。
47名無しさん@お腹いっぱい。:2011/10/07(金) 18:06:57.40 ID:cFsZJU3X0
もちろんその通りだよ。

問題は、そいつが64bit環境でも普通に動いてるってこと。

ひょっとして、AHK_L64bitじゃなく昔のバージョンのAHKを使えば動いたりは・・・?
しないよな、やっぱw
48名無しさん@お腹いっぱい。:2011/10/07(金) 18:07:40.71 ID:cFsZJU3X0
ナ、ナンダッテー
49名無しさん@お腹いっぱい。:2011/10/07(金) 18:11:47.11 ID:cFsZJU3X0
32bit版らしきもの
http://www.autohotkey.net/%7ELexikos/AutoHotkey_L/
のUnicode x86)

を落として使ってみたけど動かずw
50名無しさん@お腹いっぱい。:2011/10/07(金) 19:25:57.05 ID:aSsReaAr0
ANSI版じゃないの?
5143:2011/10/07(金) 20:48:36.36 ID:K1u62ixM0
>>47
64 ビット OS 上でも ThumbSense のプロセスは 32 ビットでしょ?
同じ理由で ThumbRemap スクリプトは 32 ビット AHK でなら正常動作する。

また >>49 を使う場合は、スクリプトを UTF-8 で保存しないと動かないよ。
52名無しさん@お腹いっぱい。:2011/10/08(土) 02:30:59.66 ID:uI2+K3RG0
PostMessage, 0x111, 65305,,, tometai.ahk - AutoHotkey


上のように、別のスクリプトである tometai.ahk をsuspend するコマンドで

A::Suspedn,off

で出来るような Suspend 命令に追加コマンドをつける方法はありますか?
53名無しさん@お腹いっぱい。:2011/10/08(土) 17:43:27.50 ID:/huHMveF0
1.1.05.00
http://www.autohotkey.com/forum/topic77423.html

super-global助かるわー
54名無しさん@お腹いっぱい。:2011/10/08(土) 18:24:51.65 ID:pz0FYWHt0
そろそろv2くるか
55名無しさん@お腹いっぱい。:2011/10/08(土) 19:48:52.54 ID:asLVgakZ0
>>50-51
昔のXpマシン引っ張り出して旧ahk.exeと置き換えたら動いた!

できれば64bitで正式に動かしたいからちょっと気持ち悪いところはあるけど当分はこれでいいや、ありがとう。
56名無しさん@お腹いっぱい。:2011/10/09(日) 10:10:39.65 ID:ozo7Y5Ld0
>>52
どっちにしろ PostMessage するんだったら、
OnMessage で待ち受けてwParam,lParamの値で分岐して処理が走るようにすりゃいい。
あとは、投げ側と受け側が同じメッセージ番号使うって約束だけ守ればいいかと。
57名無しさん@お腹いっぱい。:2011/10/09(日) 20:21:25.74 ID:5JM8g4ch0
使用中で容量が増え続けロックがかかっているファイルがあります。
エクスプローラでアクセスするとその時点のファイルサイズを取得できるのですが、
コマンドのFileGetSizeを使っても、その時点のファイルサイズを取得できません。

Autohotkeyでその時点のファイルサイズを取得する良い方法はないですか?
58名無しさん@お腹いっぱい。:2011/10/10(月) 12:31:54.70 ID:NAXF/YFI0
>>53を見て思ったんだけど
autohotkey_lでどういう場面でクラスを使うんだろう
これまで何年もクラスなしのautohotkeyに慣れ親しんできたし
他の言語もよく分からないので、今いちピンとこない

掲示板の反応を見る限りではかなり好評みたいだから
使用例とかノウハウを具体的に見てみたい
59名無しさん@お腹いっぱい。:2011/10/10(月) 16:31:42.01 ID:fGFEyZ990
>>56
それで出来ましたありがとうございました
60名無しさん@お腹いっぱい。:2011/10/10(月) 17:10:45.70 ID:LA/Y0ISq0
a::

Gui, Add, Text, , %A_Now%
Gui, Show, , TIME

return

///////////////////////////////////////////////////////////////
最初にAを押した時刻しか表示できません。
Aを押したときに現在の時刻を表示できるようにするにはどうすればいいですか?
61名無しさん@お腹いっぱい。:2011/10/10(月) 18:19:50.51 ID:ZvpkolI90
a::

Gui, Destroy
Gui, Add, Text, , %A_Now%
Gui, Show, , TIME

return
みたいな感じ?
62名無しさん@お腹いっぱい。:2011/10/10(月) 19:36:01.11 ID:k2KeYrAD0
>>58
再利用的な例だと、↓のようなエクスプローラ上で動くホットキーを集めたクラスがあったとして
Class Explorer
{
  Open() ; 選択されたファイルを開く
  {
    Run,% this.GetSelectedFile()
  }
  Delete() ; 選択されたファイルを削除
  {
    FileDelete,% this.GetSelectedFile()
  }
  GetSelectedFile()
  {
    ; エクスプローラ上で選択されたファイルのパスを返す
    ; ここではCOMを使ってパスを取得したとする
  }
}
↑のコマンド群をデスクトップ上でも同じように使いたくなったら、上記のクラスを継承して、必要な部分をオーバーライドするだけで済む
Class Desktop Extends Explorer
{
  GetSelectedFile() ; デスクトップ用にオーバーライド
  {
    ; デスクトップ上で選択されたファイルのパスを返す
    ; ここではControlGetを使ってパスを取得したとする
  }
}
; エクスプローラ
#o::Explorer.Open()
; デスクトップ
#o::Desktop.Open()
63名無しさん@お腹いっぱい。:2011/10/10(月) 20:20:02.05 ID:LA/Y0ISq0
>>61
ありがとう出来ました。
64名無しさん@お腹いっぱい。:2011/10/10(月) 21:45:13.81 ID:h3O1kDSl0
SAIに定期実行でC-s送ろうと思って

#Persistent
SetTimer,OnTimer, 1000
return

OnTimer:
DetectHiddenWindows, On
ControlSend,, ^s, ahk_class sfl_window_class
return

って書いたんですがうまく行きません
何故かNotepad++だとうまくいくのですが…
65名無しさん@お腹いっぱい。:2011/10/11(火) 12:17:04.11 ID:ySjv9cT10
WheelRedirect.ahkがPostMessage使ってるのは何か意味あるのかな
WM_MOUSEWHEEL はSendMessageしないといけないと思うんだけど
いろいろいじくってたら、やっとまともに動くようになったが
66名無しさん@お腹いっぱい。:2011/10/13(木) 10:18:15.99 ID:Wl1WLloQ0
E-mail:
内容:
Alt+任意のキーでカーソルの移動を割り付けているんですが、

!sc01A::Send, {Up}
!sc035::Send, {Down}

Alt+Fでアプリケーションのプルダウンメニューを出した後に、
割り付けたキーで移動をかけようとすると、メニューが消えてしまいます。
これってどうやったら回避できるんでしょうか。

Key historyで見ると
で、LAlt+FとDownの間に、別の命令があって、それで消えていそうなことはわかるんですが・・・
67名無しさん@お腹いっぱい。:2011/10/13(木) 11:11:01.60 ID:btvDesHt0
特にSendを使う理由がないならこれでいいんじゃない?
!sc01A::Up
!sc035::Down
68名無しさん@お腹いっぱい。:2011/10/13(木) 11:14:29.46 ID:btvDesHt0
ごめん途中で送信しちゃった

Send使うなら>>4Q3とか
69名無しさん@お腹いっぱい。:2011/10/13(木) 15:33:18.58 ID:Wl1WLloQ0
>>67-68
回答ありがとうございます。
Sendを使わないと、そもそもカーソルが動かないんですよね・・・
でも、確かにプルダウンでは教えていただいた方法で問題なく動きます。
あと、修飾をAltじゃないものにすれば、Sendを使わないでも、両方とも問題なく
動作するんですが・・・
Altだけ動作が特殊なんですかね?
プルダウンにカーソルがある時と、それ以外の時が判定できればいいかとは思うのですが、
そんなことはできるんでしょうか?
質問、続いてしまって申し訳ありません。
70名無しさん@お腹いっぱい。:2011/10/13(木) 16:03:07.08 ID:qqHQyIVa0
OS仕様的にAlt単体でメニューへのフォーカストグルの挙動になってるから難しいんじゃね

>>65
SendMessageだと戻りを待つので動作が遅いとかそんな理由だったと思う
処理として正しいかはわからんが(XP以下のOSでは)Postで投げるだけでも動いてたし
71名無しさん@お腹いっぱい。:2011/10/13(木) 17:18:30.32 ID:6woDxz+q0
fenrirスレでfenrirのバグ扱いしてた奴か
72名無しさん@お腹いっぱい。:2011/10/13(木) 19:45:06.08 ID:nB7zEvtC0
見たような気がしたと思ったらそれか
73名無しさん@お腹いっぱい。:2011/10/14(金) 18:18:28.95 ID:fKmTP1NW0
SysGet,monitor1,MonitorWorkArea,1
desktopW:=monitor1Right
desktopH:=monitor1Bottom
desktopW2:=desktopW / 2
desktopH2:=desktopH / 2

Menu,MyMenu,Add,&Window移動(i),patternss1
Menu,MyMenu,Show
Return

patternss1:
WinMove, A,,0,0,desktopW,desktopH2
ExitApp

こんな感じにメニューから項目を選んで
変数で定めた位置と大きさにウィンドウを移動しようとしてるんですが
2回に1回〜7回に1回くらいでしか成功しません

なにか改善方法ってありませんか?
WinWaitActiveを挟んでみたりSetWinDelayの間隔を長めにしても効果ありませんでしたorz
74名無しさん@お腹いっぱい。:2011/10/14(金) 21:57:11.20 ID:fKmTP1NW0
事故解決したかも

試していたのがブラウザ(DonutQ)だったんだけど
他ソフトで試したらほとんど失敗なくなりました
対象が悪かったの・・か?
75名無しさん@お腹いっぱい。:2011/10/14(金) 22:28:07.72 ID:fKmTP1NW0
さらに追記
ウィンドウの指定をアクティブウィンドウじゃなくて
MouseGetPosから取得したウィンドウハンドルを使ったら成功率ほぼ百%に
でもWinGetやWinGetClassではなぜか駄目
76名無しさん@お腹いっぱい。:2011/10/15(土) 00:24:54.89 ID:3+Jfx3iF0
>>73
俺はメニューが閉じるまで待つようにしてる。

While !(WinExist("A"))
  Continue
77名無しさん@お腹いっぱい。:2011/10/15(土) 03:04:57.19 ID:4RcUncIh0
OSはXPかVistaで、IE7のタブがいくつ開いているか調べる方法ってありますか?

特定のページが開きっぱなしのときctrl+wを送って閉じたいのですが、
タブが1個のときにこれを送るとIE自体が終了してしまうため(設定は変えたくない)、
複数のタブが開いているかどうかを調べたいです。

WinGetText, text,A


とやると、テキストの中に、タブ数に応じて「メニューバー」というテキストが複数に増えることは
確認できましたが、こんなんで判別してしまったら、例外が出そうですよね。

現在のタブ数を調べる方法があればと思い質問させていただきました。
78名無しさん@お腹いっぱい。:2011/10/15(土) 04:59:22.09 ID:JSWINI/z0
c := 0
for w in ComObjCreate("Shell.Application").Windows()
{
 c += (w.LocationURL != "")
 ; WinGetClass, cls, % "ahk_id " w.hwnd
 ; str .= "`n" cls
}
MsgBox, % "ie=" c ;. str


※ 変数 c にIE窓(タブ含)の数。
※ ループ変数 w は IEオブジェクト。w.Quit() とかやると閉じることも可。
  オブジェクトのメソッド・プロパティは以下参照
ttp://msdn.microsoft.com/en-us/library/windows/desktop/aa752084%28v=VS.85%29.aspx
79名無しさん@お腹いっぱい。:2011/10/15(土) 14:50:06.38 ID:UU0kIiFM0
WinXPと7で処理分けるのってどうやればいいですか
80名無しさん@お腹いっぱい。:2011/10/15(土) 15:09:02.90 ID:UU0kIiFM0
if A_OSVersion in WIN_XP
{
MsgBox,XP
}

if A_OSVersion in WIN_????
{
MsgBox,Win7
}

A_OSVersionで行けそうです。
8177:2011/10/16(日) 08:02:28.62 ID:G3Xj1HS60
>>78
どうもありがとうございます。残念ながら動きませんでしたが、
原因はこちらのAHKが古いせいでした。

AHK_L 53+と記載されているということは、_L専用の命令ということですね。
_Lへの移行を終わらせた後に再度検証してみます。
82名無しさん@お腹いっぱい。:2011/10/18(火) 22:23:04.40 ID:wm26LBjr0
キーボードをマウスにするスクリプトが常用化できた
同じ事やってる人います?

ところでarm 版windows への対応はどうなるんだろう
動きがないなら開発してみようかな?
83名無しさん@お腹いっぱい。:2011/10/19(水) 00:36:33.34 ID:Hx2QtaG20
>>82
変換と無変換をモディファイアキーにして
http://www.guru-board.com/japanese/layout_jp
とマウス操作のレイヤーを作って使ってる

ただマウスは加速ありと加速なししか作ってないから
ウィンドウのコントロールごとに飛ぶのが欲しいなとか思ってたり
84名無しさん@お腹いっぱい。:2011/10/19(水) 01:13:58.10 ID:1oZuXYsA0
ウィンドウのコントロールごとに飛ぶ、か
いいね、自分もやってみよう
85名無しさん@お腹いっぱい。:2011/10/19(水) 01:23:09.22 ID:GnMt1BCy0
ツールバーのボタンとかに対してHit-a-HintやQuickHintみたいなことができればいいと思うんだけど
86名無しさん@お腹いっぱい。:2011/10/19(水) 17:51:11.11 ID:TmKNV3OF0
>>83
自分はRAlt をmodifier にして
asdf をマウスの←↓↑→
デフォルトを加速つき移動にして
j, ; を押しながらasdf で高速低速の定速
画面端へのジャンプキー4つ
k,l をマウスクリック、みたいにしてつかってます

その他全部の文字キーに動作を割り当てて
capslock も 別のmodifier にしたこともあり
使い勝手ではトラックポイント単体を上回ったと思ってます

キーを犠牲にしたくない場合パッドをスイッチにするといいですね
自分は左手用スイッチにしてます

87名無しさん@お腹いっぱい。:2011/10/20(木) 01:15:56.76 ID:3oyW7BXy0
これいいんじゃね。ahkで実装するのも簡単そうだし

> テンキーとモード切り替えで簡単マウスキー操作「Advanced Mouse Emulator」
> 9分割画面から領域選択を繰り返してマウスカーソルをすばやく移動
> http://www.forest.impress.co.jp/docs/serial/okiniiri/20110112_418297.html

欲しいと思ってたコントロールごとに飛ぶのは
判定できない?のとか実行スピードとかいろいろあって
技術力不足で俺にはむりぽ
88名無しさん@お腹いっぱい。:2011/10/22(土) 15:18:26.88 ID:oaTlB/cb0
「何かキー(マウスボタンも含む)が押されたら」ってどう書けばいいですか?
ホットキーラベルとして正規表現で「.*::」でできるかなと思いましたが駄目でした
どんな方法があるでしょうか?
89名無しさん@お腹いっぱい。:2011/10/23(日) 08:04:46.03 ID:PS8qcPCA0
>88
マウスだけならMouseGesture.ahkを使うと
分かりやすいインターフェースで自動でスクリプト生成してくれる。
90名無しさん@お腹いっぱい。:2011/10/23(日) 08:29:14.23 ID:gddPritJ0
無変換とスペースの間にもうひとつ特殊キーのあるキーボードが欲しい・・・
何でこんなおいしい場所にアホ長いスペースがのさばってるんだ
91名無しさん@お腹いっぱい。:2011/10/23(日) 09:16:13.28 ID:79nT6PPu0
92名無しさん@お腹いっぱい。:2011/10/23(日) 10:09:46.12 ID:GvPy3Dte0
>>90
つErase-Eaze
93名無しさん@お腹いっぱい。:2011/10/23(日) 16:39:00.86 ID:BolpMG+u0
>>90
英語キーボード見たことないの?
無変換-スペース-変換-かな の場所が全部1つのスペースキー
94名無しさん@お腹いっぱい。:2011/10/23(日) 16:43:41.18 ID:zr0YCeAZ0
~aやSpace & XButton1など
おまけつきでホットキーを登録した時に
aやXButton1だけを簡単に得る方法はないですか?
A_ThisHotKeyだと全体だし、
正規表現だとなにか大げさな気がして
95名無しさん@お腹いっぱい。:2011/10/24(月) 22:15:54.19 ID:tXcJ09QX0
windows7で#lを無効化する方法はないんでしょうか
96名無しさん@お腹いっぱい。:2011/10/24(月) 23:32:15.32 ID:pNguWrZO0
>>90
You さっさと μTRON 買っちゃいな YO!
97名無しさん@お腹いっぱい。:2011/10/25(火) 14:42:22.22 ID:xnRLOf/E0
もしかしてeverythingってahkまったく効かない?
98名無しさん@お腹いっぱい。:2011/10/25(火) 15:37:09.58 ID:WLBQmsav0
いいえ
99名無しさん@お腹いっぱい。:2011/10/25(火) 18:08:33.82 ID:+FyICoFz0
前にも話題に出てたウィンドウシェードについてなんだが、通常はサイズ変更で、
サイズが制限されてる奴はリージョンでやればできるけど
SAIはサイズ制限されてる上にリージョンが効かないみたい、

ちょっと調べたんだが、アプリケーションはWM_GETMINMAXINFOでサイズ制限をかけられるようだが、
SAIがそうしてるかわからんけどもしそうであると仮定して、AHKからSAIのMINMAXINFO構造体へサイズを上書きすることって可能なのかな?
フックとかつかわんと無理かな?

もしくはリージョン設定が上手くいかないのを何とかする方法がわかるなら、誰か教えてエロイ人
100名無しさん@お腹いっぱい。:2011/10/26(水) 09:46:14.16 ID:NqM+BtFG0
ztopみたいにホイール操作でマウス直下をアクティブにしてその画面にホイールイベントを渡してますが、普通の画面は問題ないけど小さいウィンドウがたくさんあるソフトではうまくいきません。
ウィンドウによって何か処理を毛得る必要があるのでしょうか?
101名無しさん@お腹いっぱい。:2011/10/26(水) 23:51:20.93 ID:i2cAt2yX0
>>98
everything上で行った入力がキーヒストリーに全く記録されないのはなぜでしょうか。
102名無しさん@お腹いっぱい。:2011/10/27(木) 00:12:39.65 ID:/AJDMAkZ0
>>101
ユーザーアカウント制御(UAC)に引っかかってるんじゃないの?
Win7はセキュリティ上異なる権限のソフトからのキーバインドは無効化する
AHKを管理者権限で起動すればそういうのにも効くようになるけど、
そうすると今度は一般権限のターゲットに効かなくなる
結局のところUACを切ってしまうか諦めるかのどっちかしかない
103名無しさん@お腹いっぱい。:2011/10/27(木) 00:54:05.04 ID:z1EqPk3r0
Win7 HP x64 & Pro x64 上で AHK_L x64 を管理者権限で動かしてるけど
キーバインド・マウス制御に特に問題ないよ。

通常窓も管理者窓もどっちも平気。

ただし、暗転するUACのダイアログは無理。
104名無しさん@お腹いっぱい。:2011/10/27(木) 18:24:03.36 ID:cMY1hA+z0
MouseGetPos, , , hwnd
してhwnd->pid->process pathの取得ってお手軽にやる方法無いですか。
DllCallしまくりでやるしかないのかな。
105名無しさん@お腹いっぱい。:2011/10/27(木) 21:05:27.09 ID:GD5GaSqi0
Adobe ReadeにSend, ^{WheelDown}を送ってもふつうのホイールダウンにしかなりません。
なぜControlが効かないのでしょうか?
106名無しさん@お腹いっぱい。:2011/10/27(木) 21:06:31.49 ID:nNuynYiV0
AHK_Lの最近のなら

MouseGetPos,,, id
WinGet, path, ProcessPath, ahk_id %id%
107名無しさん@お腹いっぱい。:2011/10/27(木) 21:37:34.30 ID:PSx1iIK70
>>102さんや>>103さんの環境では、everything上でのキー入力も記録されているんですか?
108名無しさん@お腹いっぱい。:2011/10/27(木) 21:39:28.54 ID:mJ83PnaZ0
>>102でも>>103でもないけどされてるよ
109名無しさん@お腹いっぱい。:2011/10/27(木) 21:55:30.68 ID:PSx1iIK70
ということは何かしら自分の環境に問題ありなようですね。
頑張って調べてみます。ありがとうございました!
110名無しさん@お腹いっぱい。:2011/10/27(木) 22:02:50.15 ID:NloYrWG80
>>105
理由は知らんしReaderで試してないが
PhotoshopCS5で SendPlayしないとモデファイヤが上手く動かないことはあった
111名無しさん@お腹いっぱい。:2011/10/28(金) 12:24:27.14 ID:GzSW3VZL0
>>5のIME.ahkですが、Windows7 64bit上ではちゃんと値が習得できません。
改良した方いましたら、ご教授願います。
DllCallはさっぱりなのですが、
DllCall("imm32〜
これをimm64に変えただけではダメでした。
112名無しさん@お腹いっぱい。:2011/10/28(金) 16:10:15.92 ID:3ysK0sA+0
ホイールのアクセレータを実装しようかと以下を作ったのですが、どうもうまくアクセルがかかりません。
そもそもアプローチが間違えているのでしょうか?
113名無しさん@お腹いっぱい。:2011/10/28(金) 16:12:16.61 ID:3ysK0sA+0
>>112
このスクリプトです

mouse_before=%A_TickCount%
WheelUp::
sub := A_TickCount - mouse_before
mouse_before = %A_TickCount%
if (sub == 0) {
ToolTip 加速します
Send, {WheelUp}{WheelUp}{WheelUp}{WheelUp}{WheelUp}
} else {
Send, {WheelUp}
}
114名無しさん@お腹いっぱい。:2011/10/28(金) 22:19:11.59 ID:dkZeM3pg0
sub == 0 の激速回転してる人なら加速いらなくね
115名無しさん@お腹いっぱい。:2011/10/29(土) 08:33:12.42 ID:pkq52/ok0
>>113
一応動いてるよ、returnはコピペし忘れだよね?
5連続ぐらいだと分かりにくいから
わかりやすいようにSend, {Wheelup 500}とかやってみw

あと、たしか間隔狭すぎるとアプリによっては取りこぼして反応しなかったりする場合もあったとおもうから
もし動かないアプリ合ったらそこらへん調整したほうがいいよ
116名無しさん@お腹いっぱい。:2011/10/29(土) 18:00:25.67 ID:03gsgiz40
操作性向上系スクリプトは動作原理はたいてい至って簡単で、
面倒になるのは微調整。
それも対象とするアプリごとにやってやらんといけない。

そこで投げてお仕着せのツールを使うか、粘ってうまく仕上げるかは当人次第。
117名無しさん@お腹いっぱい。:2011/10/29(土) 18:23:46.02 ID:racBYXN+0
俺は
Wheel→そのまま
RButton+Wheel→PgUp・PgDnに変更
これだけだなw
118名無しさん@お腹いっぱい。:2011/10/29(土) 19:33:13.16 ID:QpZ9B+1B0
wmpで「拡張子が.mp3だったら、起動(=再生開始)と同時に最小化」ってできますか?
119名無しさん@お腹いっぱい。:2011/10/29(土) 19:46:17.88 ID:xFVrfBi10
はい
120名無しさん@お腹いっぱい。:2011/10/29(土) 20:30:43.56 ID:VLEXdEZ80
ウィンドウクラスが変わるソフトがあるのですが、
指定する方法はないでしょうか?
変わる部分は後半だけで、
SetTitleMatchModeもデフォルトが前方一致なようなので
削ればうまくいくと思ったのですがうまくいきません

mousegesture.ahkではexeで指定できるので
何か方法はあるとおもうのですがわかりませんでした。

わかるかた、アドバイスをよろしくお願いします。
121名無しさん@お腹いっぱい。:2011/10/29(土) 20:49:53.41 ID:cU5ScI/N0
>>120
>ウィンドウクラスが変わるソフトがあるのですが、
>指定する方法はないでしょうか?

http://sites.google.com/site/autohotkeyjp/reference/commands/SetTitleMatchMode
SetTitleMatchMode, RegEx
にしてウィンドウクラスを正規表現で指定する

>mousegesture.ahkではexeで指定できるので

http://sites.google.com/site/autohotkeyjp/reference/commands/WinGet
WinGet で ProcessName を取得して If で分岐させる
122名無しさん@お腹いっぱい。:2011/10/29(土) 20:52:15.68 ID:2z/a8QcK0
Lだとahk_exeが使えるから楽だよ
123名無しさん@お腹いっぱい。:2011/10/29(土) 21:14:34.99 ID:VLEXdEZ80
>>121
できました!ありがとうございます!
processnameですか・・・ずっと見落としてました。助かりました。
>>122
64bit環境に移行した際に導入しようかとおもったのですが、
あまりにも修正部分が多くて挫折してしまった過去があってw
やっぱり色々便利そうですね。根気が回復したときにやってみたいと思います。
124名無しさん@お腹いっぱい。:2011/10/29(土) 21:32:44.76 ID:a8WJtCM10
ahk_exeなんて有ったのか
全然知らなかった…
125名無しさん@お腹いっぱい。:2011/10/30(日) 13:46:26.78 ID:Tbx4xAo+0
マウスの左右ボタン同時押しの検出方法を教えて下さい。
あと、方法があったとしてこういう操作って誤動作しやすかったりしますか。
126名無しさん@お腹いっぱい。:2011/10/30(日) 15:32:35.13 ID:9tUvaU9g0
>>119
できるんですか。
もしよければ、「拡張子が.mp3だったら」という部分だけ少しヒントをいただければ・・・
127名無しさん@お腹いっぱい。:2011/10/30(日) 19:30:49.89 ID:EanuBRUP0
>>118
>>119じゃないけど、こういう方法とか。

#SingleInstance, FORCE
loop, %1%, 0
  if RegExMatch(A_LoopFileName, "\.mp3$") {
    run, "C:\Program Files\Windows Media Player\wmplayer.exe" "%1%", , , wmp_pid
    WinWait, ahk_pid %wmp_pid%, , 2
    if !errorlevel
      WinMinimize, ahk_pid %wmp_pid%
  }
return

※全角スペースを省くか、半角スペースに置き換える

というahkファイルを作成してコンパイル(exe化)する。(例 ahk_mp3.exe )
mp3ファイルの関連付けを ahk_mp3.exe にする。
128名無しさん@お腹いっぱい。:2011/10/30(日) 20:41:30.16 ID:9tUvaU9g0
>>127
できました! ありがとうございます!

再生するファイルのタイトルを取得してwmpに投げるところから書けばよかったんですね。
「どうにかしてwmp内から再生ファイルの拡張子orタイトルが取得できないか」って考えしかありませんでした。
とても助かりました。
129名無しさん@お腹いっぱい。:2011/10/30(日) 22:10:53.06 ID:1T1GdUqv0
>>125
同時押しの検出方法ってのは

1.左右両方のボタンを押したときに何らかの動作をさせたい。

2.左右ボタンとは別トリガーでボタンの押下状態を調べたい。
 例:左Altキーを押したときに左右両方のボタンが押されていれば「OK」
 そうでなければ「NG」と表示させる。

3.左右ボタンが(ほぼ)同時に押されたかどうかで分岐
 例:50ms以内に左右両方のボタンが押された場合「成功」
 50ms以上かかった場合「失敗」と表示させる。

4.もっと別のなにか

さあどれ
130名無しさん@お腹いっぱい。:2011/10/31(月) 00:25:35.04 ID:JI+xyTRB0
>>127
これだと複数ファイルを渡したときとか、すでにWMPが起動してるときはうまくいかなくね?
131名無しさん@お腹いっぱい。:2011/10/31(月) 07:26:32.93 ID:LzcUHjYg0
>>129
例えば左右同時押しをトリガとして
ランチャを起動するといった使い方を考えています。
実装が1-4のどれになるかはわかりません。

コードにするとこんなイメージですが
これだと同時押しの検出はできるものの
LButton単体押し検出されなくなってしまいます。

LButton & RButton::
  Run,MyLauncher
  return
132名無しさん@お腹いっぱい。:2011/10/31(月) 07:28:08.95 ID:XDDYFwlt0
~LButton & RButton::
でおk
133名無しさん@お腹いっぱい。:2011/10/31(月) 12:37:41.42 ID:spgnTdj00
WinGet, , Processpathもahk_exeもここ見てやっと分かった俺ってアホくさ
changelogをしっかり読むべきだな
134名無しさん@お腹いっぱい。:2011/10/31(月) 17:43:34.90 ID:u0eZ94hi0
英語の説明だと、自分では読んでるつもりでも機能とかを見落としてるときあるよね
135名無しさん@お腹いっぱい。:2011/10/31(月) 22:33:06.25 ID:/CZ1zgKlP
>>43
>Synaptics から 64 ビット用 SDK は公開されておらず、そこで手詰り。

のどかの中の人に教えてもらった。(のどかはサポートしているから)

SynCOMAPIv1_0 SDKのheaderファイルは、そのままで
x64のSynCom.libファイルをx64版のSynCOM.dllから作るそうです。

参考にするところは、下記とのこと。
http://ameblo.jp/nana-2007-july/entry-10101317623.html
136名無しさん@お腹いっぱい。:2011/11/01(火) 12:33:23.21 ID:zAQ+5vWH0
IfWinExist, ahk_class EVERYTHING{
 a::b
}

と書きました。
これで、everythingが常駐している状態でメモ帳などに「a」と打つと「b」と表示されます。
しかし、everything上で「a」と打っても「a」と表示されます。

everything側の問題な気はしますが、何か原因がわかる方はいらっしゃらないでしょうか。
137名無しさん@お腹いっぱい。:2011/11/01(火) 12:47:44.05 ID:zt/LB+5K0
>>136
権限が無いからだよ
AHKを管理者権限で起動すればEverything上でも動作するはず
138名無しさん@お腹いっぱい。:2011/11/01(火) 12:58:23.98 ID:LYBvz1Dl0
OSとEverythingとAHKのバージョンすら書かずに質問繰り返してるとライトのコピペ貼られるぞw
139名無しさん@お腹いっぱい。:2011/11/01(火) 15:51:15.77 ID:jv/Ysr/00
IfWinExistの後には「{」続けられなくね?
それ以前に「EVERYTHING{」ってスペース無しだとそういうクラス名だと認識されね?
140名無しさん@お腹いっぱい。:2011/11/01(火) 15:58:50.71 ID:jv/Ysr/00
すまん、なんか色々読み違えてたから忘れてくれ
141名無しさん@お腹いっぱい。:2011/11/01(火) 21:25:11.96 ID:nUoYEePPP
>97 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/10/25(火) 14:42:22.22 ID:xnRLOf/E0 (PC)
>もしかしてeverythingってahkまったく効かない?
>
>101 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/10/26(水) 23:51:20.93 ID:i2cAt2yX0 (PC)
>>>98
>everything上で行った入力がキーヒストリーに全く記録されないのはなぜでしょうか。
>
>107 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/10/27(木) 21:37:34.30 ID:PSx1iIK70 [1/2] (PC)
>>>102さんや>>103さんの環境では、everything上でのキー入力も記録されているんですか?
>
>136 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/11/01(火) 12:33:23.21 ID:zAQ+5vWH0 (PC)
>IfWinExist, ahk_class EVERYTHING{
> a::b
>}
>
>と書きました。
>これで、everythingが常駐している状態でメモ帳などに「a」と打つと「b」と表示されます。
>しかし、everything上で「a」と打っても「a」と表示されます。
>
>everything側の問題な気はしますが、何か原因がわかる方はいらっしゃらないでしょうか。


これは、あの人の匂いがする・・・
142名無しさん@お腹いっぱい。:2011/11/01(火) 22:25:20.50 ID:hDpXcnLH0
このキチガイは本スレ+セキュ板の全く関係ないスレでも暴れてるんで触らない方がいい
143名無しさん@お腹いっぱい。:2011/11/01(火) 23:31:44.82 ID:mliz6RbI0
少なくともAHKの内部じゃこう処理されてるはず

IfWinExist, ahk_class EVERYTHING{
 ; 空っぽ
}

a::b
144名無しさん@お腹いっぱい。:2011/11/01(火) 23:39:04.54 ID:WLqBJ8kR0
if と #if の違いはきちんと理解すべき
というか、autohotkey_lの利点の一つが #if を使えること

本当ならしっかりとしたチュートリアルがあればいいんだろうけど
現状で満足している人が多数いるんだよね
forumで初心者向けのチュートリアルをぽつぽつと書いている人が時たま居るけど
うまい具合にまとめてくれればいいのに
145名無しさん@お腹いっぱい。:2011/11/04(金) 04:29:49.64 ID:VuI6Fc5n0
#includeされたファイル内で、スクリプト読み込み時に何かを実行するちゃんとした方法ってあるんでしょうか。

initialize() { static a:= initialize() } とか以外で
146名無しさん@お腹いっぱい。:2011/11/04(金) 10:46:40.67 ID:a9pYO/fv0
iTunesの早送りをAutoHotKeyで制御しようと思っているのですが何故かうまくいきません。
iTunesが非アクティブの時制御させようと思っているので、以下2つを試しています。

;@スライドバーの上でホイール操作
ControlSend ,ahk_class iTunesSlider2, {WheelUp}, ^iTunes$

;AiTunesのショートカットキー Ctrl+Alt+ ←
ControlSend , , ^!{Left}, ^iTunes$

iTunes非アクティブ時はどちらもうまく動作しませんが、
アクティブ時はAは動作しました。

非アクティブ時のAは単純なレフトキーを押しただけのショートカットキーが動作してしまいます。
Ctrl+Altが効いていないような動作です。

このようなショートカットキー操作はそもそもできないのでしょうか?
それともiTunesが特殊なのでしょうか?
147名無しさん@お腹いっぱい。:2011/11/04(金) 23:23:21.01 ID:QOx42/Rx0
デスクトップとタスクバーってahk_idが変動したりするものなの?
ずっと上手く動かなかったスクリプト、
このふたつのIDをいちいち取り直すようにしたら動いた
148名無しさん@お腹いっぱい。:2011/11/04(金) 23:42:49.41 ID:HN20j19B0
autohotkeyのスクリプトは何のエディタを使って編集していますか?
便利なものがあれば教えて下さい
149名無しさん@お腹いっぱい。:2011/11/05(土) 01:36:35.30 ID:abaWtDGH0
愛用しているテキストエディタのプラグインでAutohotkeyに対応しているものを探す。
ソースが公開されているなら自分用にカスタマイズすると更に使い勝手が良くなる。
対応しているものなら基本的にコマンド、関数、単語等のそれぞれに色付けされ、
自動インデントとか付いてたり(個人的に自動インデントは邪魔)、
カーソルがある文字列をリファレンス(ヘルプファイルやhtml)検索したり、etc・・・
150名無しさん@お腹いっぱい。:2011/11/05(土) 01:46:45.69 ID:OKInPBdU0
Lは違うかも分からんがExtras\Editorsの中に対応エディタの定義ファイルが入ってる
無いときは \Syntaxの各キーワードファイルを使いたいエディタの定義ファイルに変換するスクリプトでも作ればOK
151無しさん@お腹いっぱい。:2011/11/05(土) 01:56:43.06 ID:7OYpB50g0
あぁ難しいな・・
152名無しさん@お腹いっぱい。:2011/11/05(土) 13:25:17.06 ID:WdDBTlbt0
エディタって細かい違いが多すぎてなあ
自分でいろいろ試したほうが良いよ
おれはotbedit使ってる
キーワードファイルはそのスレに上げた
153名無しさん@お腹いっぱい。:2011/11/05(土) 14:31:51.93 ID:nq32eYLh0
男なら黙ってVim

そのうち他のソフトでもVim風キーバインドを使えるようにするためにAHK書くようになるよ
154名無しさん@お腹いっぱい。:2011/11/05(土) 15:43:11.42 ID:o1BElYO80
手軽さで言えばNotePad2のModのひとつが
デフォでAHKのキーワードに対応してた
http://code.google.com/p/notepad2-mod/のヤツ
155名無しさん@お腹いっぱい。:2011/11/05(土) 16:19:12.33 ID:+AMhHQjy0
秀丸で AHK キーワード強調表示させてる。実に便利。
156名無しさん@お腹いっぱい。:2011/11/06(日) 19:15:26.98 ID:qhp7OpjZ0
凄く単純なことなんですけど
NumLockキーがオンの時orオフの時 って
どう書いたらいいんですか?
157名無しさん@お腹いっぱい。:2011/11/06(日) 20:06:34.75 ID:37c3DKJe0
>3参照
158名無しさん@お腹いっぱい。:2011/11/06(日) 20:38:50.33 ID:Gvkl60ge0
NumLockキーがOnの時とOffの時で処理をわけたいって意味なら
If GetKeyState("NumLock","T")
MsgBox, NumLockキーはONです
Else
MsgBox, NumLockキーはOFFです
Return
159名無しさん@お腹いっぱい。:2011/11/06(日) 23:17:54.31 ID:qhp7OpjZ0
あぁGetKeyStateを使えばいいんですね
どうもです
160名無しさん@お腹いっぱい。:2011/11/07(月) 01:54:23.92 ID:1BXxH3280
2chでも有数の良いスレだね、ここは。
ahkの知名度がそれほどでもないのが良いほうに働いているというか。

最近やっとXPからWin7の64bitにしたんだが、
ahkも普通に動くし、早速いろいろ挙動をカスタマイズしたよ。
161名無しさん@お腹いっぱい。:2011/11/07(月) 10:23:07.95 ID:vhOSdjAq0
AHK_Lの日本語リファレンスマニュアル的な本でもあれば・・・と思う今日この頃
現状AutoHotkeyJpがリファレンスマニュアル代わりになってるけど
万が一あそこが消えたりしたらつらいことになりそうだ
162名無しさん@お腹いっぱい。:2011/11/07(月) 10:57:39.02 ID:5oMjLD1h0
どこかの出版社がautohotkeyのマニュアルを出すっていうのか
なるほど
よく考えると、autohotkeyとそれなりに似ている UWSC の解説本が
翔泳社から出ているから突飛なことでもない
163名無しさん@お腹いっぱい。:2011/11/07(月) 21:12:31.15 ID:zUPLwWIo0
すごく便利なのはわかるが難しすぎて
フルに使いこなせないのが歯がゆいなぁ
今自分の出来ることだけでも十分便利だけどもさ
164名無しさん@お腹いっぱい。:2011/11/07(月) 23:31:49.17 ID:V9iAcL3G0
ログイン必要なとこからファイルGETするにはどうしたらいい?
具体的にはGoogle Bookmarksのエクスポートファイル定期的に落としたい
165名無しさん@お腹いっぱい。:2011/11/08(火) 14:58:57.69 ID:XTAVs2xi0
久しぶりにAHKのコードを書く時が来たようだ
http://tech3d.sakura.ne.jp/usb3dcg/usb3dcg_1_1.jpg
166名無しさん@お腹いっぱい。:2011/11/08(火) 20:29:38.34 ID:1H8lvEZT0
おいやめろwww
167名無しさん@お腹いっぱい。:2011/11/09(水) 03:08:45.80 ID:0bPq9xwm0
AHKのスクリプトを使ってると、どこかのタイミングでスクリプトが動かなくなるので
リロードしなくちゃいけなくなるんですけど、これを回避する何かいい方法ないですかね?
しかたないのでもう一つスクリプト起動してメインのスクリプトを30分ごとに再読み込みさせるようにしたんですけど
これだと一部の継続して使うスクリプトの動きが遮断されて色々と面倒なんです。
168名無しさん@お腹いっぱい。:2011/11/09(水) 04:28:17.17 ID:wJ1ULpvB0
スクリプト晒した上で、何が動かなくなるのか具体的に書いてくれないと…
169名無しさん@お腹いっぱい。:2011/11/09(水) 11:24:01.68 ID:S6uve8or0
WinSet, Style, -0xC40000, A でタイトルバーやウィンドウの枠を取ることは出来ましたが、更にメニューバー、スクロールバー、ステータスバーを取り除くことは出来ますか?
なるべくエディタなどで表示エリアを大きく取るための手段として考えています。
170名無しさん@お腹いっぱい。:2011/11/09(水) 16:11:20.54 ID:S6uve8or0
かざぐるマウスとAutoHotKeyを併用したときに、AutoHotKeyでマウスホイールの定義を下記のように設定していると
かざぐるマウスにホイールイベント渡らないですが、しばらくすると
ある段階からかざぐるマウスのイベント処理が走ってしまいます。
その時AutoHotKeyのイベントも動きます。

これはAutoHotKeyのパフォーマンスによるものなのでしょうか。

WheelUp::
 ToolTip ほげ
 return
171名無しさん@お腹いっぱい。:2011/11/09(水) 18:46:22.30 ID:V2eQl0Qe0
マイネットワークは
Run,::{208D2C60-3AEA-1069-A2D7-08002B30309D}
で開けるのが分かったのですが、ワークグループを開くにはどう書いたらいいのでしょうか?

Run,explorer.exe /n`, /root`, "マイ ネットワーク\ネットワーク全体\Microsoft Windows Network\Workgroup"
と書いて見ましたが駄目でした。よろしくお願いします。
172名無しさん@お腹いっぱい。:2011/11/09(水) 19:25:12.16 ID:0UMpSjcL0
run,workgroup.lnk
173名無しさん@お腹いっぱい。:2011/11/10(木) 01:28:43.67 ID:0RzHedoG0
あるスクリプトを特定のプログラムでだけ動かなくするようにできないですかね?
Windowsで動いてる何十のアプリのうち一つだけ除外したいといった感じです。
174名無しさん@お腹いっぱい。:2011/11/10(木) 02:25:34.18 ID:xI6akbba0
^a::何らかの関数

みたいになっている状態で、autohotkeyから^aを送って
「何らかの関数」を実行することはできないんでしょうか
175名無しさん@お腹いっぱい。:2011/11/10(木) 07:04:21.75 ID:3sOHU0gk0
>>173
特定のウィンドウがアクティブかどうかということなら
IfWinNotActive, ahk_class Notepad
msgbox, メモ帳ではありません。
else
msgbox, メモ帳がアクティブです。

ホットキーなら
#IfWinNotActive, ahk_class Notepad
a::send,b


>>174
^a::test()

test() {
msgbox, hoge
}
176名無しさん@お腹いっぱい。:2011/11/10(木) 07:53:05.26 ID:D/9NRdlr0
あるウインドウがアクティブで、マウスカーソルが座標が
画面の座標系でなく、そのアクティブウインドウの座標系でのa≦x≦b、c≦y≦dに
ある場合 ○○::××
ない場合 △△::□□ ってので下の括弧の中ってどうなります?

#IfWinActive ahk_class ・・・
If (          )
○○::××
else
△△::□□
return
177名無しさん@お腹いっぱい。:2011/11/10(木) 09:05:24.72 ID:xLOv1+L80
178名無しさん@お腹いっぱい。:2011/11/10(木) 09:42:50.12 ID:0+RlQXau0
>>174
擬似的にイベント発生させたいなら
#UseHook Off
Send, ^a
ホットキーラベルに $はつけないこと
ただしマウスホットキーはハードウエア操作じゃないとイベント発生しなかったはず


関数にパラメータとしてホットキーラベルを渡したいということであれば
^a:: func(A_ThisHotkey)

func(label) {
msgbox, %label%
}
179名無しさん@お腹いっぱい。:2011/11/10(木) 14:58:05.41 ID:D/9NRdlr0
>>177
ありがとうございます!非常に助かりました
180名無しさん@お腹いっぱい。:2011/11/11(金) 10:05:50.50 ID:atOAXHfV0
ControlSendってウィンドウタイトル指定すれば非アクティブなウィンドウでもキーが送れると思っていましたが
同じコードでも、アクティブでは動作、非アクティブでは反応なしでした。
非アクティブでは送れないものなのでしょうか?
181167:2011/11/11(金) 10:11:59.32 ID:Q6n2+j0D0
>>168
どこかのサイトでAHKスクリプトはこまめにリロードしてくださいってあったんで
こういうことは案外普通にあるんだと思って詳細を省いてしまいました。すいません。

動かなくなるのはマウスボタンに割り当てたスクリプト全部です。
特定のスクリプトだけ、特定のアプリでの動作だけ、という感じではないです。
キーボードに割り当てたものは動き続けてます。マウスに原因があるんでしょうか?
こういうことって頻繁におきることですかね?
182名無しさん@お腹いっぱい。:2011/11/11(金) 10:24:38.83 ID:U545B7Ga0
スクリプト晒した上で、何が動かなくなるのか具体的に書いてくれないと…
183名無しさん@お腹いっぱい。:2011/11/11(金) 10:51:48.60 ID:3L35XHfi0
マウス関連は色々入れてるけど、たまに手動でリロードするくらいで
そうそうおかしくなることはないな

しょっちゅうリロードが必要な状態ってのはコードに問題があるように思える
入り口が別でも中で同じサブルーチンや関数通っててそこに問題がある場合もあるし
それか拾い物のホイールやマウスジェスチャを組み込んでない?
あれらは中で色々やってるので挙動が怪しくならないとは言い切れない

>一部の継続して使うスクリプトの動きが遮断され
ってのも気になる。これが悪さしてる可能性はないの?
あと、リロードで問題が生じるならこっちを別立てで動かすとか
184名無しさん@お腹いっぱい。:2011/11/11(金) 11:30:22.40 ID:WIZtv/n20
だから、推測で言ってても流れてくだけだから
最低でもスクリプト無いと分からないって事なんじゃないの?
それで解決するかどうかは別としてさ
185名無しさん@お腹いっぱい。:2011/11/11(金) 15:00:53.70 ID:TDrTfIAa0
変数に好きな娘の名前つけてるから恥ずかしいんだろ。オレもそう
186名無しさん@お腹いっぱい。:2011/11/11(金) 17:05:30.70 ID:LEVcAZl30
プログラミング言語に触ったことが無いと命名規則とかわからないしな
詳しい人に一通り書いてもらいたいわ・・・
187名無しさん@お腹いっぱい。:2011/11/11(金) 17:15:55.12 ID:Vi8P3CSJ0
こんなの作ったよってのがあるとすごく参考になるよね
0から作れって言うとほんとに判らないってこと多い
188名無しさん@お腹いっぱい。:2011/11/11(金) 20:27:36.85 ID:kYoG0s+n0
ちょっとかっこつけて聞きなれない英単語を使うと
意味がわかりにくく、スペルミスするorz


ところで作成した1つのGuiWindow内で
コントロール毎に背景色を変える事ってできますか?

gui,color,,000000
gui,add,edit,x10 y5
gui,add,edit,x10 y+5 -background
gui,show

こんな強引?な方法で2色はできるんだけども
ちゃんと設定する方法があったら教えてください。

加えてreadonlyとかdisabledの背景色も変更可能?
189名無しさん@お腹いっぱい。:2011/11/11(金) 22:51:03.69 ID:HtyLX/3A0
AutoHotkey_Lで
Ctrl+Alt 数字の1 Enterキー の入力で、Ctrl Ctrl F1 を実行するのは
どう記述すればいいでしょうか?

CPU切替器の切り替えコマンドを以前つかっていたものに変更したく
190名無しさん@お腹いっぱい。:2011/11/12(土) 02:29:18.89 ID:YUmAmP460
>>175
#IfWinNotActiveでできました どうもです
191名無しさん@お腹いっぱい。:2011/11/12(土) 04:21:29.20 ID:bLDDD3X90
>>188
http://www.autohotkey.com/forum/topic35343.html
トピ主が発狂しててワロタw
サブクラス化するしか無いんかね、めんどくさいね
192188:2011/11/12(土) 10:06:06.83 ID:/Jwk++vS0
>>191
Noooooooooooooooooooooooo! I hate dllcall!
自分も知識ないのでちょっと同意だけどw
これでできそうです。ありがとう!
193名無しさん@お腹いっぱい。:2011/11/13(日) 09:09:23.29 ID:lO0qPCOR0
ttp://sites.google.com/site/autohotkeyjp/reference/Examples
ここの
#up::
SoundSet,+10
SoundPlay,*64
return
#down::
SoundSet,-10
SoundPlay,*64
return     
が全く機能しないのですが自分だけでしょうか?
音量調節機能を組み込みたいのですが・・・
194名無しさん@お腹いっぱい。:2011/11/13(日) 09:11:38.58 ID:f38MY4xb0
Windows7やVistaなら腕立て100回な
195名無しさん@お腹いっぱい。:2011/11/13(日) 09:49:22.29 ID:2qQJLLoj0
今フォトショップのキーボード操作のスクリプトを考えています。
フォトショップはショートカットキーを押している時間によってショートカットの動作が違うのですが、
たとえば現在鉛筆ツールを選択してる状態で、矩形選択ツールを割り当てているショートカットキーのAキーを押したとして

1 Aキーをほんの数ミリセカンド押すだけだと、鉛筆ツールから矩形選択ツールに切り替える。
2 Aキーを押しっぱなしにしていると押しっぱなしにしている間だけは一時的に矩形選択ツールに切り替えるが、Aキーを押すのをやめた時点でまた鉛筆ツールに戻る。

と言った感じです。
この二通りの動作の1の動作を無効にし、代わりに2の動作をさせるようにしたいのですがスクリプトが思いつきません。
例えば最初の例のようにショートカット設定をしているとして

Aキーを一時ツール切り替えに必要な500ms未満の時間しか押していなくても500ms以上キーを長押ししたことにし、鉛筆ツールを矩形選択ツールに切り替えられないようにする。
Aキーを一時ツール切り替えに必要な時間の500ms以上押し続けたのなら通常通りのキー長押しの動作をさせて一時的に矩形選択ツールに切り替える。

という感じの動作をさせるスクリプトを書くにはどういった記述が必要になってくるんでしょうか?

http://www.autohotkey.com/forum/topic72364.html
ここにあったスクリプトをためしてみたんですが、キーを押し続けた時間に応じて出力するキーを変えるだけなので、うまくいきませんでした。
196名無しさん@お腹いっぱい。:2011/11/13(日) 09:50:25.54 ID:lO0qPCOR0
>>194
どうもです頑張ります
197名無しさん@お腹いっぱい。:2011/11/13(日) 10:35:17.46 ID:rOr69laH0
>>195
全角スペース→半角置換
ウエイト時間は要調整(うちの環境では500msでは2にならなかった)

$a::
  if (A_ThisHotkey!=A_PriorHotkey)  {
    Send, {a down}
    ptim := A_TickCount
  }
return
$a up::
  sleep, % 1000 - (A_TickCount - ptim)
  Send, {a up}
return

ホットキー駆動での押下時間チェック時の注意点はキーリピート
A_TimeSincePriorHotkey使おうとするとハマるので注意
198名無しさん@お腹いっぱい。:2011/11/13(日) 11:11:22.72 ID:YvCaYsNF0
押下時間チェックは KeyWait 使ったほうが楽だな
ただ複数キーのチェックなど割り込みを考えると↑の法がいいのかもしれんが
199名無しさん@お腹いっぱい。:2011/11/13(日) 12:28:06.57 ID:lO0qPCOR0
タスクバー上にカーソルがある場合って言語あります?
座標設定して・・っていう間接的なものより直接的なものがいいんですが
200名無しさん@お腹いっぱい。:2011/11/13(日) 12:51:21.45 ID:Bmh+tvgH0
>>199

^1::
MouseGetPos, , , hwnd
WinGetClass, wndclass, ahk_id %hwnd%
If ( wndclass = "Shell_TrayWnd" )
Msgbox, タスクバー上です
Else
Msgbox, タスクバー以外です
Return
201名無しさん@お腹いっぱい。:2011/11/13(日) 14:57:14.45 ID:lO0qPCOR0
どうもです できねぇなぁ
202名無しさん@お腹いっぱい。:2011/11/13(日) 15:35:52.48 ID:9u09R+z/0
アッタマわるーw
203名無しさん@お腹いっぱい。:2011/11/13(日) 17:04:33.14 ID:2JiFiJdn0
>>174,178

#ifWinActive, ahk_class Notepad
^a::msgbox("^a")

sendkey(){
#usehook off
send, ^a
}
^q::sendkey()

↑のようにしてみたんですが、#ifwinActiveがあると動かないっぽいです。
やっぱり無理なんでしょうか。

ahkスクリプト読み込んで加工する外部プログラムを作って、
キー一覧をメニューで表示するahkスクリプトを自動作成できるようにしたいんですが
204名無しさん@お腹いっぱい。:2011/11/13(日) 18:42:24.32 ID:2qQJLLoj0
>>197
動きましたどうもです。
分からない記述らだけなのでもう少し勉強します。
ありがとうございました。
205名無しさん@お腹いっぱい。:2011/11/13(日) 18:56:47.22 ID:Bmh+tvgH0
>>203
Mousegesture.ahkのように設定をiniファイルに保存、
キー一覧はiniファイルから読み込み、
スクリプトもiniファイルを読み込んで自動生成するとか?

例えばiniファイルにはこんな感じで保存。
sckey1 = ^a
sckeyname1 = msgboxでhoge1〜3を順番に表示
script1 = msgbox,hoge1【TAB】msgbox,hoge2【TAB】msgbox,hoge3

生成されるスクリプト ※スクリプト生成時は【TAB】を改行とする。
^a::
msgbox,hoge1
msgbox,hoge2
msgbox,hoge3
return

ショートカットキー一覧をTooltipで表示
tooltip, %sckey1% " = " %sckeyname1%
20643:2011/11/13(日) 20:38:39.09 ID:knbvSLuF0
>>135
のどかで使ってる DLL の API を教えてもらえたら、そいつを AHK から使えるんじゃない?
207名無しさん@お腹いっぱい。:2011/11/15(火) 05:42:03.72 ID:waARfyKN0
AutoHotkey専用キーボード
http://www.cedeq.com/enterpad-p120/autohotkey-english.html
こんなのでてたんだねw
すごいなこのキーの数はw
208名無しさん@お腹いっぱい。:2011/11/15(火) 06:10:10.36 ID:waARfyKN0
これってガイシュツ?すごいよこれ。
http://www.hidmacros.eu/whatisit.php
PCに接続されているUSBデバイスごとにスクリプトで動作をカスタマイズできる。
Autohotkeyでは手が届かないかゆいところに手が届くんでは。
フリーウェア。
209名無しさん@お腹いっぱい。:2011/11/15(火) 06:38:25.41 ID:0e+JGbSz0
特定のボタンのクリックを無効にしたいのですが
MouseGetPosではClassNNが変動した場合
別のボタンが無効化されてしまう事があります
特定位置のクリックを無効にする方法は
別のタブのボタンも巻き込んでしまいます

そこでテキストでクリック判定しようとしましたが上手く行きません
クリックしたボタンのテキストを取得して判定するにはどうしたらよいでしょうか?

対象ソフトはGOMの環境設定-再生-移動-時間移動単位-初期値ボタン
AutoHotkey 1.0.48.05
です



210名無しさん@お腹いっぱい。:2011/11/15(火) 10:48:38.58 ID:HXztc1n00
ControlGetText
もしくは
MouseGetPos, X, Y, hwnd, chwnd ,2
WinGetText,caption,ahk_id chwnd

Control系はClassNNの代わりにボタン名もサポートしてるよ
環境設定画面開いた瞬間に
Control, Disable,,ボタン名
でボタン自体押せなくしちゃうほうが楽だと思うが

GOM入れてないから分からんが起動中にClassNN(Zオーダー)や
ハンドルがころころ変わるタイプのアプリなの?
211名無しさん@お腹いっぱい。:2011/11/15(火) 12:59:41.91 ID:0e+JGbSz0
ClassNNが変動しない物は

LButton::
MouseGetPos, , , , OutputVarControl ,
IfInString, OutputVarControl , Button12
{
}
else
{
Click, LEFT, Down ,
}
return
;X Wheel NT での左を使うジェスチャを使えるように
LButton Up::
Click, LEFT, Up ,
return

で済んでいるのですが・・

Control, Disable,,初期値 では上手く行きませんでした
WinGetTextで特定のボタンを指定して
押さない様にする方法が分かりません・・;

左列の別項目を開いた後に設定ウインドウを閉じて、
もう一度開くとClassNNが変動してしまいます
212名無しさん@お腹いっぱい。:2011/11/15(火) 14:36:57.22 ID:rUONcePl0
Mbutton::
CoordMode, Mouse, Window
MouseGetPos, ClickX, ClickY, WindowUnderMouseID
WinGetPos, x, y, w, h, ahk_id %WindowUnderMouseID%

if ( ClickX < w and ClickY < 24 and ClickY > 0 and ClickX > 0)
send,!{F4}
else
Send {MButton}
return
#ifwinactive

#IfWinActive ahk_class QWidget
Mbutton::space
#ifwinactive


このスクリプトの組み合わせで使ってるんですが、Notepad++などの開いているファイルをタブで管理するアプリ上で
ミドルクリックをタブ上で押すと押し下げと押し上げそれぞれでミドルクリックが押されたことになってしまって、ミドルクリックが二度押しされてしまいます。
原因はなんでしょうか?ちょっといじってみたんですがこの記述の

Send {MButton} を Send {Mbutton Down}
に変更するか
Mbutton::space を Mbutton::send,{space}

に変更することで二度押しされなくなりますがどうしてそうなるのかがわかりません。
213名無しさん@お腹いっぱい。:2011/11/15(火) 21:54:39.00 ID:0GGxTdPB0
>>208
usbデバイス毎に処理を切り替えるっていうのは
たしかautohotkeyのフォーラムのどこかのスレッドにあったよ
利用する立場にないからそんなものかと流し読みしていたけど
214名無しさん@お腹いっぱい。:2011/11/15(火) 21:59:33.28 ID:ynIkqdyf0
>>207
なんだろ、これ。
小さい頃、こういう勉強おもちゃがあった気がする
215名無しさん@お腹いっぱい。:2011/11/16(水) 18:11:10.32 ID:uG6RqOEh0
先週、コントロール毎に背景色を設定する方法を質問した者(>>188)だけど
http://www.autohotkey.com/forum/topic77715.html
公式フォーラムにこんなものがあった。これはイイ。
同じ事考えてる人の為に貼っておきます。
216名無しさん@お腹いっぱい。:2011/11/16(水) 18:58:08.75 ID:lwpM0d3t0
教えてください。
一定時間たったあと音を鳴らしたいのですが、


Q1.相対パスで書くにはどうしたらいいのでしょうか?
Q2.一定時間待っている間、ほかのautohotkeyでの動作に影響はないのでしょうか?

F1::
sleep, 1000
SoundPlay, %A_WorkingDir%sound\pon.wav
return

としようとしてるのですがだめっぽいです。
autohotkeyのインストールディレクトリにつくったsoundという
フォルダのなかにいれた音声ファイルを再生したいです。
 また、時間を待つ方法ってsleepしかないのでしょうか?
sleepを使うとその待っている間、ほかのautohotkeyのスクリプトの
動作が鈍るような勝手な思い込みがあるのですが、大丈夫でしょうか?
217名無しさん@お腹いっぱい。:2011/11/16(水) 20:29:34.39 ID:CurGG44b0
SoundPlay, %A_Scriptdir%\sound\pon.wav

でどうかね。

こういうミスの原因を探すにはまず音が鳴る鳴らない以前に

msgbox,%A_Scriptdir%\sound\pon.wav

とやって、自分が設定した変数に間違いが無いかを探す癖をつけるとよい
218名無しさん@お腹いっぱい。:2011/11/16(水) 20:53:48.11 ID:lwpM0d3t0
>>217
ありがとうございました。
成功しました。どうして %A_WorkingDir%じゃダメなんだろ。
msgbox等で探す癖をつけるようにします。初心者質問スレがほしい。
219名無しさん@お腹いっぱい。:2011/11/16(水) 21:22:23.36 ID:1jgHmSfl0
教えてもらったのに何故試さないんだろう
msgbox,%A_WorkingDir%
してみれば即分かると思うが

ヒント:末尾\
220名無しさん@お腹いっぱい。:2011/11/17(木) 00:10:30.54 ID:qgRsNxCZ0
>>219
いまやったら成功しました。
たしかに末尾の¥忘れてました。指摘ありがとうございます。
でも前やったときは末尾の¥のあるなしやってみて両方失敗してた。
末尾に¥があるのが正しいんですね。
221名無しさん@お腹いっぱい。:2011/11/17(木) 08:18:23.93 ID:M1j519Wl0
例えば5分間マウスカーソルが動かなかったらPCを休止状態にする、みたいなことをしたいんですが
マウスカーソルの動作を監視するにはどうすればいいんでしょうか?
222名無しさん@お腹いっぱい。:2011/11/17(木) 09:27:56.22 ID:4TwJVLkp0
>>221
#InstallMouseHook

SetTimer, MouseIdleTime, 100
return

MouseIdleTime:
  ToolTip, %A_TimeIdlePhysical%
  return
223名無しさん@お腹いっぱい。:2011/11/17(木) 10:08:17.06 ID:caa7yBCY0
Control, Disableに対象ソフトのタイトル入れ忘れてました・・・
どうりで効かなかった訳ですね
解決しました、ありがとう!
224名無しさん@お腹いっぱい。:2011/11/17(木) 10:48:32.34 ID:n/Evhew10
>>220
>でも前やったときは末尾の¥のあるなしやってみて両方失敗してた。

カレント(作業フォルダ)がScriptdirと別のところだったんだろ
>起動時の作業ディレクトリは起動の仕方によって変わる。
http://sites.google.com/site/autohotkeyjp/reference/commands/SetWorkingDir
(DOSとかWindowsの仕様なので分かりにくいとか文句言わないように)

あとカレントが ルートフォルダ(C:\)の場合は末尾\は強制でつく
(この場合はc:\\hogeとかやっちゃっても動くこと多いけど)
225名無しさん@お腹いっぱい。:2011/11/17(木) 10:59:56.45 ID:uLGkQT6w0
マウスクリックが特定のウィンドウ内かどうかを簡単に判別する関数はないの?
226名無しさん@お腹いっぱい。:2011/11/17(木) 12:24:59.62 ID:2BWTcDYC0
           YES → 【見つかった?】 ─ YES → じゃあ聞くな死ね
         /                  \
【探した?】                        NO → なら、ねぇよ
         \
            NO → 死ね
227名無しさん@お腹いっぱい。:2011/11/17(木) 12:57:09.32 ID:uLGkQT6w0
自分で探して見つからなくても、見落としの可能性もあるから、
人に聞いてみることには価値がある。それが分からんとしたら、
お前、かなり低学歴だろw
228名無しさん@お腹いっぱい。:2011/11/17(木) 13:17:02.51 ID:n/Evhew10
質問するなら答える気になる聞き方するんだな
教えて君にしか見えない聞き方するから煽られるんだよ
229名無しさん@お腹いっぱい。:2011/11/17(木) 13:18:38.99 ID:uLGkQT6w0
質問の仕方については質問してないんだが?w
230名無しさん@お腹いっぱい。:2011/11/17(木) 14:19:31.02 ID:9jFp9Usd0
判別する方法だけなら少し上にほぼ同じ事例が話題になってるし、
どうしても関数化したいなら勝手にすればいいだけ
つまり>>225に対する回答は「あるよ」で終了
231名無しさん@お腹いっぱい。:2011/11/17(木) 16:22:13.76 ID:5BZQpOrg0
まあ煽られて当然の人間だったってことだなw
232名無しさん@お腹いっぱい。:2011/11/17(木) 16:47:20.76 ID:M1j519Wl0
>>222
できました。どうもです。

>>231
そんなんおかしい。そもそも質問スレで質問者を煽る必要がない。
煽りを目的にする人間ばかりになったらどんな質問者も難癖つけらてしまう。
自分もそうなっていたらと考えると怖いね。
233名無しさん@お腹いっぱい。:2011/11/17(木) 16:56:02.18 ID:s+78iWvZ0
ここって質問スレだったんだ
234名無しさん@お腹いっぱい。:2011/11/17(木) 17:08:35.85 ID:n/Evhew10
>>232
質問中の煽りは(それがどんなに理不尽だろうが)スルーするのが質問者の鉄則
煽りに反応するような面倒な質問者には他の人間も答える気はなくすよ
226だって本人が反応してなきゃ嗜める住人だっていたかも知れないのに

あとここ質問OKだけど「質問スレ」じゃないから
235名無しさん@お腹いっぱい。:2011/11/17(木) 17:26:22.57 ID:M1j519Wl0
すまん 別スレみててごっちゃになった。ここは質問スレじゃないわ。

>質問中の煽りは(それがどんなに理不尽だろうが)スルーするのが質問者の鉄則
これはわかる
けどむかつくでしょ 質問者は口答えできないってわかってて煽りに来る奴。
質問者を狙ってストレス解消に来る奴がいなけりゃスレも荒れずに進行する。
なんで煽る側は叩かれないのか。自分が質問する側にまわってこんな目にあるのは嫌でしょう。
236名無しさん@お腹いっぱい。:2011/11/17(木) 17:46:07.91 ID:n/Evhew10
住人は教えて君の厨質問にはうんざりしてるんだよ
厨じゃない質問者が煽られてる時は都度フォロー入れてやればいい

226に関しては最初の段階でダメ出しされてもしょうがない聞き方してるし
その後のレスでフォローに値しない人間なのはわかるだろ
過度の自治はかえってスレを腐らせるだけだぞ
237名無しさん@お腹いっぱい。:2011/11/17(木) 17:52:20.13 ID:vnuwgyoL0
>>235
基本的に煽ったりする奴は欠陥人間だから。
まずそれを理解しろ
こんな奴らに煽られてもむかつく訳がない

あと煽る側は叩かれないのではなくて、
今回は「煽る人たち」が質問者を叩いてるだけ
煽る人たちはスレ住人だから、外様の質問者を叩きやすい傾向はある


基本的にレスは質問者の鏡
質問者の質と同じ質の回答がレスされる

ID:uLGkQT6w0を見ても明確
煽られて反応するような糞質問者には
煽るだけのレスくれる糞回答者がレスしてる
238名無しさん@お腹いっぱい。:2011/11/17(木) 17:54:55.11 ID:vnuwgyoL0
つまり糞どものフォローするのは勝手だが、
それは誰の賛同も得にくいから止めてくださいってことです
239名無しさん@お腹いっぱい。:2011/11/17(木) 17:56:47.71 ID:iQ5gYrw70
ムカつかせてバカな反応を引き出すのが煽りの目的だと言う事すら理解出来て無いのか?
反応するバカが居るから煽りも居続けるんだぞ

もっとも、バカな質問者に対して適切な煽りと言うパターンもあったりはするが
240名無しさん@お腹いっぱい。:2011/11/17(木) 19:57:12.27 ID:fXUieROW0
>>237-238
これだけ煽り文句満載のレスしときながら煽ったりする奴は欠陥人間って…
241名無しさん@お腹いっぱい。:2011/11/17(木) 21:39:59.09 ID:cDa/eZka0
AHKのコマンド名が含まれていないレスは総じてゴミ
242名無しさん@お腹いっぱい。:2011/11/17(木) 21:46:56.85 ID:eYhWn0OC0
>>216みたいに、自分でやって、ダメだった過程を晒せばいいんだよ。
そうすりゃ、住人の負担も最低限ですむし、将来ログを見る人も
何が悪かったのか参考にできる。これが成功例。

その過程がない場合「どうやんの?」「これってできます?」系は、たいてい

 「楽して添削させるどころか丸ごと作成させるとか、不届きもんだな」

って感情になって、互いに得るものが無く、質問者も回答者も不愉快で誰得で終わる。

スレをみてりゃ、この流れはずっと続いてるわけで、いまさら始まったことでもない。
この流れを読めない(知らない)ってことは、過去ログもろくに見ずに質問したってことだ。
その時点で失格。

全ログを張り付いて参照しろとまでは言わないが、
有効な回答を得られている質問レスには、ちゃんと定石があることを理解すべき。
243名無しさん@お腹いっぱい。:2011/11/18(金) 01:44:38.58 ID:5Br2WQ0l0
個人的な感覚を言えば、煽るやつは悪いやつだと思う
答える気がないなら黙ってろ
煽られるような質問をするやつは、悪いことをしてるわけじゃないがバカだなーと思う
244名無しさん@お腹いっぱい。:2011/11/18(金) 02:56:36.16 ID:TTJm+yov0
質問に答えられない、答える気はないが煽る気はあるって人間がたくさんいるのが匿名掲示板
245名無しさん@お腹いっぱい。:2011/11/18(金) 02:59:22.43 ID:5WhIUAXK0
>答える気がないなら黙ってろ
そうやって皆がスルーしてたら、アドバイス総無視したあげく「日記」と銘打って解決の糸口にも
何にもならないムダなだけの独り言を延々と書き込む構ってちゃんが前スレに湧いて皆が苦い思いをした

別のアプリスレには荒らしや選民意識が強く新参や質問者をやたら叩く住人がいるところもあるだろうが
このスレに限っては、煽られる奴には煽られるだけの理由がある場合がほとんど

中には226のチャートや<分からないn大理由>をコピペ乱発する奴もいるが
まともな質問者相手の時はちゃんと突っ込みが入るし、
大抵は煽りながらも答えの得られやすい質問の仕方指南してるツンデレレスだよ
246名無しさん@お腹いっぱい。:2011/11/18(金) 03:15:32.73 ID:mroRXxIz0
>>227
2行目の途中からと
>>229 がなければ問題なかったな

聞く側の態度ではないのは事実
247名無しさん@お腹いっぱい。:2011/11/18(金) 07:40:24.88 ID:g4GsqL1m0
>>245
確かにこのスレの住民は比較的穏便な印象があるな
雰囲気も落ち着いていると思う
その住民を怒らせたんだから推して知るべし
248名無しさん@お腹いっぱい。:2011/11/18(金) 11:38:26.36 ID:r/5aH+aF0
>>8-10

何かを作ろう調べようと思ったら

ここの過去ログを適当なコマンド名で検索
それで見つからないのならフォーラムを関連してそうな単語を2-3入れて検索

で、たいていの場合は何とかなる
正直聞くよりも手間がかからず早い場合が多い
それでもどうしようもないのなら
>>242にあるように該当部分を添えて聞くしかないけどね
 
 
てか、もうあれだ、すべてのレスの先頭か最後に
>>8-10って入れればいいんじゃないか、と

>>8-10
249名無しさん@お腹いっぱい。:2011/11/18(金) 11:50:18.61 ID:mroRXxIz0
そうはいってもほんとに簡易なコマンドしかかけない人にとっては
取りつく島がほとんどないからね
AHKがメジャーで初心者スレとか分別されてるのならいいんだけどね
250名無しさん@お腹いっぱい。:2011/11/18(金) 14:41:53.79 ID:KURF9W740
いや、大体つっぱねられてるのは簡易なコマンドすら"書かない"ヤツ。
超初歩的な質問でも自分が何やりたいか、やったかを書いてる親切な質問には
大抵親切な回答が返ってくる。
コピペや皮肉すらも受け付けない奴は2chじゃなくて知恵袋にでも行くべき。
スレが1つだからって全部を面倒見る必要はないよ。

まぁどんなに議論したって厨質問も煽りも無くならないだろうけど。
251名無しさん@お腹いっぱい。:2011/11/19(土) 22:16:23.89 ID:31435/yS0
#include の引数についての質問です
[AutoHotkey.dll] AhkDllThread+AhkDllObject+AhkExported

http://www.autohotkey.com/forum/topic60630.html
を見ると
#include <FileGetVersionInfo>
こういう設定がありますが、 <FileGetVersionInfo> という表記は何をさして居るのでしょうか
#include のあとはファイル名を拡張子を含めて記述する必要があると思っていましたが
そうする以外にファイルを読み込む方法があるということでしょうか
252名無しさん@お腹いっぱい。:2011/11/19(土) 23:56:47.12 ID:E1OiAmWS0
>>251
ttp://sites.google.com/site/autohotkeyjp/reference/commands/-Include
ある。けど俺は置く場所がいまいち気に入らない
253名無しさん@お腹いっぱい。:2011/11/20(日) 00:36:07.07 ID:rluC2Hgq0
>>252
ありがとうございます。
[L57+]の機能だったのですね。やっと分かりました。
254名無しさん@お腹いっぱい。:2011/11/20(日) 18:40:16.28 ID:0U8xUYjG0
2点質問させて下さい。
1,タイトルバー上でホイールupで最小化させたくて
WheelUp::
CoordMode,Mouse,Screen
MouseGetPos, x, y, h
SendMessage,0x84,0,% x|y<<16,,ahk_id %h%
If((ErrorLevel=2) && WinActive("ahk_id " . h)){
WinMinimize
}
return
このように書いたのですが、
タイトルバー以外でホイールupが効かず困っています。
どこが間違っていますでしょうか。
2,タスクバー上のボタンで同じ操作を(出来ればトグル)させたいのですが、
タスクボタンの指定がよくわかりませんでした。
テスクボタンの判定は出来ますでしょうか?

よろしくお願いします。
255名無しさん@お腹いっぱい。:2011/11/20(日) 20:43:15.74 ID:IAewIRqJ0
困るというか書いてあるとおりに動いてるんでしょ。

(無条件で)ホイールUpは以下の処理をしろ:
 マウス直下の情報を調べる
 もしタイトルバーの上のいたら
   最小化
 終わり

なので、

@
(無条件で)ホイールUpは以下の処理をしろ:
 マウス直下の情報を調べる
 もしタイトルバーの上のいたら
  最小化
 それ以外
  再度同じホイールUpを送る
 終わり

A
(もしタイトルバーの上にいたら)
ホイールUpは以下の処理をしろ:
 最小化
 終わり

にする。

@はElse書いて再度Send
Aは #If で判定処理を関数化したのを呼べばいい
256名無しさん@お腹いっぱい。:2011/11/22(火) 01:59:41.70 ID:vIlQFD/50
1.1.05.02 - November 20, 2011

Fixed false detection of end-of-file when loading a compiled script in some cases.

Fixed SendInput to automatically release modifier keys when sending special characters or {U+xxxx} (which was broken by v1.1.00.01).

Fixed ComObjConnect to filter out non-dispatch interfaces instead of allowing the script to crash.

Fixed new %VarContainingClassName%().
257名無しさん@お腹いっぱい。:2011/11/22(火) 18:25:08.96 ID:S+P2DtBh0
ウィンドウがアクティブになった順番って取得できる?
alt+tab の切り替え順だから、どこかに記録はされてると思うんだけど・・・
258名無しさん@お腹いっぱい。:2011/11/22(火) 20:18:42.13 ID:vyGFsLBe0
WinGetで得られる情報が表示された順番
不可視なウィンドウもついてくるけど
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/92
259名無しさん@お腹いっぱい。:2011/11/22(火) 20:41:37.06 ID:X3ArpVLP0
SetFormat, Integer, h

hWnd := WinExist("A")
Loop, 1000
{
  hWnd := DllCall("GetWindow", Ptr, hWnd, Uint, 2)
  If (DllCall("IsWindowVisible", Ptr, hWnd))
  {
    WinGet, ProcName, ProcessName, ahk_id %hWnd%
    WinGetClass, WinClass, ahk_id %hWnd%
    List .= ProcName "`, " WinClass "`, " hWnd "`n"
  }
}
MsgBox, %List%

こう?
260名無しさん@お腹いっぱい。:2011/11/22(火) 22:15:52.92 ID:S+P2DtBh0
>>258-259
確かに、いろいろタスクバー上にはない奴がついてくるな
cccとか

ブラウザのタブ感覚でタスクの切り替えがしたかったんだが(#hでタスクバー上のひとつ左のタスク、とか)、
この方向のアプローチは難しそうだな・・・

現在のアクティブウィンドウのタスクバー上での位置が取得できればcontrolclickでなんとかなりそうだけども、どうだろう
261名無しさん@お腹いっぱい。:2011/11/22(火) 22:28:02.40 ID:JKMHNDfp0
ひとこと礼ぐらい言えんのかよ
262名無しさん@お腹いっぱい。:2011/11/22(火) 22:40:26.23 ID:S+P2DtBh0
ああっ、すみません!
ありがとうございました!
263名無しさん@お腹いっぱい。:2011/11/22(火) 23:50:14.09 ID:VFVgmRbV0
ブラウザのタブ感覚でタスクの切り替えがしたいってのは、
要するにalt+tabの切り替えで表示されるアイコンやらなんやらが邪魔で
ボタンを押した瞬間に即、次のタスク次のタスクと移っていきたいってこと?
264名無しさん@お腹いっぱい。:2011/11/23(水) 00:05:28.28 ID:RLVOdfhx0
ブラウザなら、
   [タブA][タブB][タブC][タブD]
        ↑今ここがアクティブ
って状態で、^HでタブAに、^LでタブCに、って移動できる

同じように、タスクバー上で、
   [ie][word][excel][wmp]
      ↑今ここがアクティブ
って状態だったら、#Hでieに、#Lでexcelに、移動できたらな、と

alt+tabは、押し下げて初めてタスクの並び順が表示されるから、
alt+tab → 真ん中に出てくるタスクの並びを視認 → 何回押すか判断 → 切り替え
ってなってしまう
タスクバーなら常に表示されてるから、何回押すとか考えなくていいかな、と
265名無しさん@お腹いっぱい。:2011/11/23(水) 00:10:06.29 ID:HsAuaAoo0
どーでもいいけど
大抵の物は過去ログかフォーラムにあるよね
車輪の再々々々々々々々々々々発明で凹む
266名無しさん@お腹いっぱい。:2011/11/23(水) 00:21:20.86 ID:Ev4+8TSU0
タスクボタンをブラウザのタブになぞらえて操作したいってことか。
なら、ウィンドウがアクティブになった順番は関係なくね?

したいことはXPならタスクバーの情報を取得すれば出来そうだけど。
267名無しさん@お腹いっぱい。:2011/11/23(水) 00:34:30.05 ID:yoX0N63R0
>>264
AutoHotkeyJpのRegisterCallback()のサンプルを参考にした。
これで一方向にはたぶん切り替えできる。逆方向もがんばればできると思う

#h::
If not EnumAddress
  EnumAddress := RegisterCallback("EnumWindowsProc", "Fast")
DetectHiddenWindows, On
DllCall("EnumWindows", UInt, EnumAddress, UInt, 0)
WinActivate, ahk_id %task%
DetectHiddenWindows, Off
return

EnumWindowsProc(hwnd, lParam)
{
  global task
  if ( DllCall("GetWindow", "UInt", hwnd, "UInt", 4)==0
    && DllCall("IsWindowVisible", "UInt", hwnd)==True
    && DllCall("GetWindowTextLength", "UInt", hwnd)>0
    && DllCall("FindWindow", "Str","Progman", "Str", "Program Manager")!=hwnd )
    task := hwnd
  return true
}
268名無しさん@お腹いっぱい。:2011/11/23(水) 00:45:54.67 ID:KbP6oqw90
Vista以降ならWin+数字の方が素早くアクセス出来る気もするが
269名無しさん@お腹いっぱい。:2011/11/23(水) 01:08:16.90 ID:yoX0N63R0
すげえwこんなショートカットキーあるんだ
270名無しさん@お腹いっぱい。:2011/11/23(水) 01:15:01.80 ID:0whnlvMm0
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/6
XPならこれでいいんじゃない?修飾キー使うなら注意書きに従って

7ならToolbarWindow322じゃだめだけど
MSTaskListWClass1に置き換えてちゃんと動くかどうかはしらね
271名無しさん@お腹いっぱい。:2011/11/23(水) 03:12:58.92 ID:EeNORGQo0
>>264
win+T で駄目なん?

おれも同じことしたくて考えたんだけど
win+T を一つのボタンに充てて
タスクバーがアクティブになってる状況下で
スクロールで左右移動できるようにした
最後に決定するボタンが用意できればそれができるんじゃない?
272名無しさん@お腹いっぱい。:2011/11/23(水) 04:10:26.97 ID:EeNORGQo0
>>271
最後の一行は余計だったな
あくまでも自分の例として
273名無しさん@お腹いっぱい。:2011/11/23(水) 05:25:25.07 ID:GTArnf4r0
ライブラリを書いてて、意味不明なエラーが取れないなぁと悩んでたら
新しく作成したスクリプトファイルの文字コードがShift-JISだった
こんなことに1時間も……
274名無しさん@お腹いっぱい。:2011/11/23(水) 11:18:17.90 ID:ZMA0+PEs0
エクスプローラのウィンドウをクリックしてアクティブ化したときに、
そのウィンドウで表示中のディレクトリのフルパスを取得したいんですが、
どうしたらいいでしょう?
275名無しさん@お腹いっぱい。:2011/11/23(水) 11:29:38.21 ID:Ev4+8TSU0
276名無しさん@お腹いっぱい。:2011/11/23(水) 11:44:41.80 ID:ZMA0+PEs0
>>275
うわぁぁ、即レス、本当にありがとう!!!
こんな的確なレスが10分後に付くなんて
ネットで今まであまりない体験です

数時間格闘したけど自分には無理だったけど
やっぱこのぐらいやらないと無理だったのね。。。
277名無しさん@お腹いっぱい。:2011/11/23(水) 14:34:07.89 ID:HsAuaAoo0
return が小文字なのが気になる
と思ってこのスレの中を検索してみたらほとんど小文字だった
もしかして大文字で書くのはド素人なのかorz
278名無しさん@お腹いっぱい。:2011/11/23(水) 18:27:23.94 ID:LSwH8DIt0
スクリプトエラーを表示しないことってできる?

コンパイルしてexeファイルにできるのはいいけれど、
万が一なにかエラーが起きたとき、スクリプト見られちゃうのが気になってしまっていて。。。
279名無しさん@お腹いっぱい。:2011/11/23(水) 22:50:36.10 ID:ZOXCX0Br0
280名無しさん@お腹いっぱい。:2011/11/24(木) 00:17:15.04 ID:EuwpCcD00
キーカスタマイズソフトのどかの製作者がIME.ahkについて解説してる

TSFの状態を取り出す。 - applet@Hatena
http://d.hatena.ne.jp/applet_at_h/20111114/1321272744

どうやらWordでは正しく動作しないみたい
よくわからないけど、TSFというのがIME操作で重要になっているみたいだが
281名無しさん@お腹いっぱい。:2011/11/24(木) 00:33:27.89 ID:FS7XuQP60
#IfWinActive,aaa
ならAHKの一切の設定をそのウィンドウがアクティブな間だけ
無効にすると言った記述方法があったら教えて下さい。
282名無しさん@お腹いっぱい。:2011/11/24(木) 04:34:05.68 ID:yZiE6fPk0
すいません。おしえてください。
#IfWinActive, ahk_class うんちゃら でホットキーをAHKをつかって割り当てているのですが、
同様のホットキーが沢山あるので

#IfWinActive, ahk_class うんちゃら または へんちゃら
F1::^F1

みたいにおまとめで書くことはできないのでしょうか?
同様のホットキーしかつかわないのに
#IfWinActiveの項目をいっぱい作ってしまうのがなんか気になってしまいまして。
スクリプトをみるときにすごい下までスクロールするのが気になってしまいまして。
勝手ですが、よろしければ教えていただきたいです。
283名無しさん@お腹いっぱい。:2011/11/24(木) 04:51:26.18 ID:K0qjUFTr0
>>94って、組み込み変数になってもよさそうだけど
向こうのフォーラムとかで、実装してよって話題になったことないの?
284名無しさん@お腹いっぱい。:2011/11/24(木) 04:52:48.35 ID:K0qjUFTr0
>>282
AHKLで#Ifとか
285名無しさん@お腹いっぱい。:2011/11/24(木) 04:55:31.87 ID:Et+L0E1K0
group
286名無しさん@お腹いっぱい。:2011/11/24(木) 05:58:33.27 ID:eI5TfN2o0
>>277
自分でいじるだけなら見やすければ何でもいいと思う
ただ一貫してることが一番大切
287名無しさん@お腹いっぱい。:2011/11/24(木) 08:20:33.88 ID:ag5NGn9u0
>>280
JAVA製ソフトの一部のダイアログでIME.ahkが動作しないんだが同じ問題かな
288名無しさん@お腹いっぱい。:2011/11/24(木) 09:48:55.84 ID:xbVp3bGX0
こうなった以上は本田の魅力を100%伝えられる交渉人を雇って
さっさとバルサに移籍してトップ下で究極のパスサッカーを目指すしかないな。
289名無しさん@お腹いっぱい。:2011/11/24(木) 17:04:22.32 ID:tU0RX/5R0
>>280
ざっと読んだけど、IME ON/OFF状態ではなくて入力中変換状態の話っぽい?
MS-Office系では使えない旨記述して組み込んであるおまけ関数のことかな
のどかはよく知らないけど変換窓の状態をフック使って監視したいみたいね
↓参考元
http://sites.google.com/site/agkh6mze/scripts#TOC-IME-

日本語入力関係はIMM32とTSF(Text Services Framework)とで別立てっぽくて
IMM32系のAPI経由じゃ取れなくなるものが多いのがもどかしい
290名無しさん@お腹いっぱい。:2011/11/24(木) 18:08:38.47 ID:yZiE6fPk0
>>284
>>285
ヒントありがとうございます。
ぜんぜんわかりませんが、それを手がかりにちょっと調べてみます。
291名無しさん@お腹いっぱい。:2011/11/25(金) 01:16:46.21 ID:Z7q2YkOz0
>>287 >>289
となると、IME.ahkの動作のうち、IMEのon/offはそれなりに問題無いけど、
変換中の処理についてはimm32とtsfで食い違う部分があり、
IME.ahkはこういう意味でimm32にしか対応していない
こういうことかな
292名無しさん@お腹いっぱい。:2011/11/25(金) 01:24:29.75 ID:xxtL4ViN0
ここのスレは2chの中でも屈指のレベル。すごいよこのスレ。
すごい人が1人ずっと常駐しているだけかもしれないけど。
293名無しさん@お腹いっぱい。:2011/11/25(金) 03:32:09.24 ID:1v6a4tYW0
「すごい人が1人ずっと常駐しているスレ」は2chでは全然珍しくないけどなw
294名無しさん@お腹いっぱい。:2011/11/25(金) 09:03:59.79 ID:tO0pS25x0
何が凄いのか分からん
295名無しさん@お腹いっぱい。:2011/11/25(金) 09:44:48.90 ID:k3QrxvCZ0
AHK以前にプログラミングに精通してる人が何人かいるっぽい
英語アレルギーある身としては公式フォーラムネタで盛り上がってるだけでも
皆スゲーなって思って見てるわ

TSF を使う (1) - Windows Input Method の歴史 - NyaRuRuの日記
http://d.hatena.ne.jp/NyaRuRu/20070309/p1

TSFのほうが仕様としては新しいんだけど不具合多くてあまり移行は進んでないらしい
ATOKが11でTSFに対応して主要IMEはだいたい対応終わったのかな
一方でgoogle日本語入力はTSF捨ててIMM32使用に変更になった
個人的には訳のわからないエラー落ち出なくなったしこのままでIMM32でいいじゃん、と思う
296名無しさん@お腹いっぱい。:2011/11/25(金) 19:18:52.26 ID:Vtf0zc9+0
ウィザード級プログラマーの私も通りますよ
297名無しさん@お腹いっぱい。:2011/11/26(土) 02:39:15.39 ID:3LLLvtID0
ウィザードリィならプロ級の凡人AHKマーの私も通りますよ
298名無しさん@お腹いっぱい。:2011/11/26(土) 10:15:21.41 ID:QJldCkUJ0
もうすぐ魔法使いになる私も通ります…
299名無しさん@お腹いっぱい。:2011/11/26(土) 19:28:18.71 ID:LqNInSH50
ィ`
俺はAHKのおかげで身長伸びたし宝くじは当たったし彼女もできた。
300名無しさん@お腹いっぱい。:2011/11/26(土) 20:37:39.36 ID:v8jdr7QJ0
こうですか!? わかりません><

FileMove, %299%宝くじ, %298%
FileMove, %299%彼女, %298%
FileRemoveDir, %299%, 1
301名無しさん@お腹いっぱい。:2011/11/27(日) 18:57:22.11 ID:J6BEAgW/0
引数に1を指定しているところに、ジャイアニズムを感じざるを得ない
302名無しさん@お腹いっぱい。:2011/11/28(月) 00:58:26.39 ID:V3trs+Aw0
autohotkeyのスクリプトを作成する外部ツールを作成したのですが(not autohotkey)、
このスクリプトのソース(複数)をautohotkeyをインストールしていないパソコンでも実行させたいです

autohotkey.exe の引数にそのソースを指定して起動させることを考えましたが、
autohotkey.exe は一度に一つしかプロセスを起動できないとどこかで読んだ覚えがあります

コマンドプロンプトを起動して ahk.exe source1.ahk で source1を実行
この実行中に続けて ahk.exe source2.ahk で source2 を実行
こんな風にしたいのですが、
それを満たすようなahk.exeを作る方法はあるのでしょうか
303名無しさん@お腹いっぱい。:2011/11/28(月) 05:58:55.83 ID:xGep7Ls50
どこかで読んだ覚えがあるなしに、なぜ試してみなかったのかが大いに謎
304名無しさん@お腹いっぱい。:2011/11/28(月) 07:19:30.28 ID:WB6x46zx0
多重起動抑制は同一スクリプトだけだろ
それだって #SingleInstance で避けられるっちゅーに
305名無しさん@お腹いっぱい。:2011/11/28(月) 10:04:09.68 ID:V3trs+Aw0
動作を確かめてみたら問題無く起動できました
お騒がせしてすみません
306名無しさん@お腹いっぱい。:2011/11/28(月) 22:56:28.17 ID:gu6v7n+s0
^+q::Send,{Ctrl 2}{F1}

F1でHELPが立ち上がらないようにするにはどうすればいいでしょうか?
307名無しさん@お腹いっぱい。:2011/11/28(月) 23:27:08.21 ID:7rqj6L+5i
こりやエスパーが必要だな
308名無しさん@お腹いっぱい。:2011/11/28(月) 23:37:01.39 ID:WB6x46zx0
F1:: return
309名無しさん@お腹いっぱい。:2011/11/28(月) 23:47:53.37 ID:fcco7+V70
普段使ってるテキストエディタが
F1で選択した文字列をヘルプで検索できるやつ
それとは別にCtrlをダブルクリックしたら
webとか辞書とかを検索できるソフトをインストールしてる
で、選択した文字列を後者のソフトで検索したいんじゃないか
310名無しさん@お腹いっぱい。:2011/11/29(火) 00:24:45.03 ID:bQ9dPPRA0
>>306
操作したいソフト名
具体的な処理手順

最低でもこの2つは書くべきでは
>>308が求めているもののような気はするが
311名無しさん@お腹いっぱい。:2011/11/29(火) 00:33:50.93 ID:qO9YmFVv0
どういう神経してたらこういう、回答者に対する配慮のかけらもない質問ができるんだか
312名無しさん@お腹いっぱい。:2011/11/29(火) 10:09:56.21 ID:JiXDK/Bl0
コミュ障なんだよ。ひどい事言わん解いてください
313名無しさん@お腹いっぱい。:2011/11/30(水) 02:52:18.16 ID:YGNwrWQs0
すんませんでした。
314名無しさん@お腹いっぱい。:2011/11/30(水) 08:13:55.85 ID:EW0+YGYV0
いい感じにしたいのですが・・・・

315名無しさん@お腹いっぱい。:2011/11/30(水) 09:33:31.51 ID:UkM/unt50
フィーリングでやったらいいよ
316名無しさん@お腹いっぱい。:2011/11/30(水) 11:20:13.70 ID:Tv2VIubV0
できまた。ありがと
317名無しさん@お腹いっぱい。:2011/11/30(水) 11:52:03.32 ID:UndovuFp0
Hotstringをホットキーみたいにアプリケーションごとに設定することはできないのでしょうか?
318名無しさん@お腹いっぱい。:2011/11/30(水) 18:03:42.09 ID:Pv0IbFEX0
もうネタとか釣りとかそういう類だよなこれ?
319名無しさん@お腹いっぱい。:2011/12/01(木) 19:24:22.95 ID:SgOnAZCH0
残念ながらマジだよ
320名無しさん@お腹いっぱい。:2011/12/02(金) 05:44:46.72 ID:xHq5s+GN0
今年は暖冬なのに、冬休みだけは早いんだな
321名無しさん@お腹いっぱい。:2011/12/02(金) 17:28:48.70 ID:wu/qk0ip0
変数を%%で挟む場合と、そうしなくていい場合の区別がよくわからない
変数の中身に用がある場合にだけ%%で挟んでやるって感じでいいのかな
322名無しさん@お腹いっぱい。:2011/12/02(金) 17:52:46.42 ID:wXc+G0wM0
>>321
=と:=での違い
a = %var%
a := var

コマンドと関数での違い(括弧の有無)
fuga, %var%
fuga(var)
323名無しさん@お腹いっぱい。:2011/12/02(金) 20:48:28.09 ID:6GZl04lT0
自分もそこ理解するのに時間かかった。
自分の理解は

流行らせるページとかの説明で 変数名 とか 式 て書かれてるところは%%不要
文字列を指定 とか書かれてるところは必要

式を書く場所でも""で挟めば文字列を書ける
文字列を書く場所でも % (スペース) を書けばそこから後ろは式を書くとこになる

まぁここに書かれてるんだけど
https://sites.google.com/site/autohotkeyjp/reference/Expression
最初は文字列とか数値とか式とかの理解があやふやでちんぷんかんぷんだった
324名無しさん@お腹いっぱい。:2011/12/02(金) 23:21:05.00 ID:dbwhvI6N0
プログラミング言語をしらずautohotkeyから入った人がつまずくポイントだと思う
これが結構重要
他の言語では評価 evaluation という話だね

a := b は b を評価してaに代入するけど、
a = b は bを評価せずにbという文字そのものをaに代入する
a = %b% は bを評価してaに代入する

たとえば
a := a_tickcount
では、autohotkeyの定数(ユーザーが変更できない値) a_tickcount を評価して a に代入する
a にはos起動からの経過時間(数値)が入っている
a = %a_tickcount%
でも同様

a = a_tickcount
こうすると、a_tickcount という文字列そのものを a に代入する

で、>>321だけど、ここまでの説明が分かれば、%%で挟む場合の動きが分かるかと
例を出すから、どのように動くかまず予想し、それから実際に動かしてみて

loop,10
my_%a_index% := a_index * 2

t := ""

loop, 10
t .= my_%a_index% . "`n"

msgbox, %t%
325名無しさん@お腹いっぱい。:2011/12/03(土) 23:59:56.95 ID:ocKSKQs80
ごく一部のアプリケーションでしかキャレット位置の取得がうまくいかない
特にfirefox でやりたいんだがどうにかなりませせんか?
c::mousemove,%A_CaretX%,%A_CaretY%
326名無しさん@お腹いっぱい。:2011/12/04(日) 00:47:29.73 ID:6HgYV0XK0
基本は諦め。

どうしても諦められないなら、「なまずIME」とか
ユーザ補助(スクリーンリーダ)とかのAPIとか調べるとどうにかなるかもしれない。







俺はどうにもならんと諦めたけど
327名無しさん@お腹いっぱい。:2011/12/04(日) 02:03:22.05 ID:UIePuhDW0
firefoxならvimperatorとかgreasemonkeyとかのjavascriptで何とかなるかも
328名無しさん@お腹いっぱい。:2011/12/04(日) 23:06:42.30 ID:nS3YSnTW0
スクリプトのタスクトレイアイコンを個別に変更したくて色々やってまして
いま使ってるスクリプトがこれなんですが

#Persistent
Ico :="C\myicon.ico"
Menu,Tray,Icon,%Ico%

これだと通常のアイコンは変更できてもPauseとSuspend状態のアイコンが変更できないのです。
何かいい方法はないでしょうか?
329名無しさん@お腹いっぱい。:2011/12/04(日) 23:55:07.09 ID:RYEhj6kv0
>>328
Menu,Tray,Icon,%Ico%,,1
ttp://sites.google.com/site/autohotkeyjp/reference/commands/Menu#Tray
状態によってアイコンを変えたいって事なら知らない
330名無しさん@お腹いっぱい。:2011/12/04(日) 23:58:16.64 ID:QGDqI9uX0
コンパイルしていいならCompile_AHK.exeを使うのが楽

スクリプトのまま使いたいならサスペンドとかしてもアイコン変わらない設定にして、
ホットキーでサスペンドする前にMenu,Tray,Iconのコマンドを入れる
トレイメニューからサスペンドするならトレイメニューを自前で用意する
331名無しさん@お腹いっぱい。:2011/12/04(日) 23:59:33.95 ID:QGDqI9uX0
下段2行目、
コマンドで別の用意したアイコンに変更するって意味
332名無しさん@お腹いっぱい。:2011/12/05(月) 14:18:46.01 ID:as4sHQAq0
1
333名無しさん@お腹いっぱい。:2011/12/05(月) 14:30:27.18 ID:as4sHQAq0
間違って送信してしまいました
if(it := hoge - foo){
msgbox %it%
}
のようにifの条件部分の結果を{}内でitで使えるように、
it := なしで設定する方法はありますか

このようにしたいです
my_if(hoge - foo){
msgbox %it%
}else{
msgbox error: %it%
}
334名無しさん@お腹いっぱい。:2011/12/05(月) 15:30:11.38 ID:yNTsEj6FP
久し振りに書かせてもらいます。最近、rainmeterというものを勉強しているのですが
rainmeterとautohotkeyって直接つなぐことってできるのでしょうか?

rainmeterはまだ英語ページが多くて、いまいち理解できないのですが

最初は両社には特になにも関係ないソフトなので
VBSでキープレスでもはさんでやろうと考えていたのですが、
検索しているうちになんか同じことをするのに
中間に入れるものはなくていいのかなと
思えるようになってきました。同じこと考えている方いませんでしょうか
335名無しさん@お腹いっぱい。:2011/12/05(月) 20:18:22.46 ID:M66epgvo0
>>329
>>330
もう少し調べてみます。どうもでした。
336名無しさん@お腹いっぱい。:2011/12/06(火) 15:49:15.20 ID:3LDciZnb0
A_ThisHotkeyから修飾キー(shiftとかaltとかを除外した素のキー)を取り出してSendすることはできないでしょうか?
Ctrl + アルファベットをCtrlなしのアルファベットにしてSendしたいのですが。
337名無しさん@お腹いっぱい。:2011/12/06(火) 15:51:29.65 ID:3LDciZnb0
↑ちょっと文がおかしかったです。
A_ThisHotkeyから修飾キー(shiftとかaltとか)を取り出して
素のキーをSendすることはできないでしょうか?が正しいです。
338名無しさん@お腹いっぱい。:2011/12/06(火) 15:53:18.53 ID:3LDciZnb0
すいません。またおかしかったです。
A_ThisHotkeyから修飾キー(shiftとかaltとか)を除外して、修飾のかかっていない素のキーにして
Sendすることはできないでしょうか?が正しいです。
339名無しさん@お腹いっぱい。:2011/12/06(火) 16:02:37.28 ID:xL5ZIT9M0
StringReplaceやRegExReplaceで修飾キー削ればおk
340名無しさん@お腹いっぱい。:2011/12/07(水) 13:02:17.22 ID:lYSrIAwE0
>>339ありがとうございます。
341名無しさん@お腹いっぱい。:2011/12/07(水) 13:02:24.23 ID:ggxuJ9up0
^esc::
msgbox,test
send,hoge
return

このスクリプトを書いたあとでexe化してから、
^escにあたる部分を任意のキーバインドに変更したり追加する方法はあるでしょうか

理想としては、key.txtに一行ずつ書いてあるキーの情報、たとえば
^@
^/
これをもとに
^@::
^/::
msgbox,test
send,hoge
return
こう動作させたいです
342名無しさん@お腹いっぱい。:2011/12/07(水) 13:13:05.98 ID:S22/gKhI0
Hotkeyコマンド
343名無しさん@お腹いっぱい。:2011/12/07(水) 13:15:58.71 ID:WO1E5sZz0
Hotkeyを使えばいいんじゃないかな
344名無しさん@お腹いっぱい。:2011/12/07(水) 13:16:17.72 ID:WO1E5sZz0
あ、被ったすまん
345341:2011/12/07(水) 23:19:53.12 ID:+dIy4TZU0
ありがとうございます
探していたとおりの機能す
346名無しさん@お腹いっぱい。:2011/12/08(木) 01:20:26.04 ID:MoOD4ZyK0
msgbox, % LTrim("s_su", "s_")
この結果がsuではなくてuになるのですが
バグでしょうか?
autohotkey_lの最新版です
347名無しさん@お腹いっぱい。:2011/12/08(木) 02:07:10.54 ID:BfPRhqfn0
バグじゃない。仕様どおり。
マニュアルをもう一度見て。RTrim も試してみるといいよ

348名無しさん@お腹いっぱい。:2011/12/08(木) 02:29:35.37 ID:MoOD4ZyK0
Trim() / LTrim() / RTRim() - AutoHotkeyJp
http://sites.google.com/site/autohotkeyjp/reference/commands/Trim
分かりました
OmitChars ということで、二つ目の引数には文字列を指定できないのですね
勘違いしていました
349名無しさん@お腹いっぱい。:2011/12/08(木) 18:05:24.90 ID:Y9/a5hqZ0
ControlSendで質問です。
InterVideo WinDVDにビデオデスクトップという機能があります。これは再生中の画面を壁紙のように再生する機能。
PC付属リモコンだとメニュー画面ではリモコンの→ボタンや決定ボタンが働きデスクトップ上でメニュー操作ができます。

ところがリモコンが壊れましたのでAutohotkeyでやりたいのですが、ControlSendコマンドではうまく行きません。

本家?で下記のサンプルがあったのですが
#n::
DetectHiddenWindows,On
ControlSend,,^n,ahk_class SomeApplication
return

しかし本家でもキーストロークを送るのはsendコマンドと書いてます。
メモ帳に文字を書く実験は成功したんですが、、、、

どうやって非アクティブでかつ最小化状態のアプリにキーストロークを送ればいいでしょうか?
ControlSendは特殊修飾キーを無視したような、、、、

やはりSendでしょうか?

小遣いup大作戦問題と同じような質問です
350名無しさん@お腹いっぱい。:2011/12/08(木) 18:11:45.34 ID:f4ruos+50
>ahk_class SomeApplication
とりあえずClass名調べるところから始めようか
351名無しさん@お腹いっぱい。:2011/12/08(木) 18:49:01.48 ID:xdrwddrF0
アクティブウィンドウが切り替わった時点で
Loop処理から抜けたいのですが
SetTimerで監視する以外に何か方法ってありませんか?
352名無しさん@お腹いっぱい。:2011/12/08(木) 20:29:33.34 ID:Y9/a5hqZ0
ahk_class WinDVDClassだと思いますが>>350
それが間違ってるからダメなんでしょうか?
353名無しさん@お腹いっぱい。:2011/12/08(木) 20:32:49.77 ID:4oGSglAl0
Menuの字体や字の大きさを変えたいのですが、どうしたらいいんでしょう?
354名無しさん@お腹いっぱい。:2011/12/08(木) 21:33:48.50 ID:f4ruos+50
>ControlSend,,^n,ahk_class SomeApplication
>小遣いup大作戦問題と同じような質問です

>ahk_class WinDVDClassだと思いますが>>350


何言ってんだかさっぱりわかんない(´・ω・`)
なんで実際に試したソースじゃなく要改造とわかってる汎用サンプルをそのまま貼るのかしら
これでコントロール名を指定しろって書いたら
(control名)って入れてますけど間違ってるんですか、とか返ってくるんだろうなー
355名無しさん@お腹いっぱい。:2011/12/09(金) 04:27:20.46 ID:og5mJUDW0
>>351
どういう状況で使いたいのかわからんけど、Loopに入る前にアクティブWindow取得して
Loopの最初に変更チェックすればいいだけならこんなのとか

WinGet, hwnd, ID, A
ActiveID := hwnd
Loop
{
WinGet, hwnd, ID, A
If ActiveID != %hwnd%
Break
ToolTip, %A_Index%周目
}
Msgbox, アクティブWindowが変更されたのでループを終了しました。
Return
356名無しさん@お腹いっぱい。:2011/12/09(金) 04:29:41.10 ID:N2BU+JlD0
>>349
うちはWinDVDじゃないからアレだが、

ControlSend, ahk_parent, ^n, ahk_class WinDVDClass

で試してみ?
357名無しさん@お腹いっぱい。:2011/12/09(金) 09:09:52.83 ID:EhplqjVEO
>>356 ありがとうございます。朝一遅刻恐れながらやってみました。
撃沈(笑)。急いだから間違ったかもです。
夜落ち着いてやってみます。

レスありがとうございました。
358名無しさん@お腹いっぱい。:2011/12/09(金) 09:42:20.39 ID:IINlGquh0
>ahk_parent
Lにはこんな指示名もあるのん?
横からだが、いまだ本家使いなんでちょい気になった
359名無しさん@お腹いっぱい。:2011/12/09(金) 10:55:34.42 ID:EhplqjVEO
Lの話すか?”(ノ><)ノ
360名無しさん@お腹いっぱい。:2011/12/09(金) 21:00:34.80 ID:Z9xNCVma0
トラックボール用 左CLICK+ポインタ下移動でホイール下になる
スクリプトに定番ってある?
361名無しさん@お腹いっぱい。:2011/12/09(金) 21:24:20.24 ID:IINlGquh0
TrackWheel
ThinkPadのトラックポインタエミュだからデフォは中クリック割当だけど設定で変えられるはず
362名無しさん@お腹いっぱい。:2011/12/09(金) 22:55:17.97 ID:rrTpH0gZ0
本家っていうけど、前に作者ちゃんが
Lが後継だからそっち使ってね
とか言ってたと、ここで読んだ気が
363名無しさん@お腹いっぱい。:2011/12/09(金) 23:05:15.04 ID:0H6W8bLo0
まあ本家サイトのダウンロードのリンク先の1番目がautohotkey_Lだから
本家本元を引き継いだ、って理解でいいかと
ただ、以前の本家時代のautohotkey用にいろんなスクリプトが作られたから、
互換性の説明の上では本家と_Lを常に区別するというのも
合理的かと
364名無しさん@お腹いっぱい。:2011/12/10(土) 03:59:46.97 ID:auX0M5WLO
基本的なスクリプトもLで作動しない事あるんすか?
365名無しさん@お腹いっぱい。:2011/12/10(土) 04:15:54.24 ID:VepDyyuj0
本家というとLが分家で傍流みたい
ということなら
元祖でおながいします
366名無しさん@お腹いっぱい。:2011/12/10(土) 09:05:01.96 ID:auX0M5WLO
じゃ先祖で
367名無しさん@お腹いっぱい。:2011/12/10(土) 09:05:52.85 ID:auX0M5WLO
バカボンすまん
今のは忘れてくれ
368358:2011/12/10(土) 09:12:55.33 ID:f0lr5S6O0
本家終了L主流の見解でおk、ここに貼られるスクリプトもだいぶ前からL前提の流れだよ
自分は単に乗り遅れ(まさか本家が終了すると思わなかった&Unicode対応面倒)で
古い本家のまま放置なだけ

ちなみにahk_parentは日本語版じゃない本家ヘルプで検索かけたらControlSendの項目で出てきてました
なんでL固有の指示名ではなかったですね、お騒がせして申し訳ない
369名無しさん@お腹いっぱい。:2011/12/10(土) 10:29:35.14 ID:7VJFIPVd0
言われてみると本家って書くとまだ本家が生きてるみたいな印象を受けるな
370名無しさん@お腹いっぱい。:2011/12/10(土) 10:37:22.07 ID:w2CApoB60
んじゃ旧型?
371名無しさん@お腹いっぱい。:2011/12/10(土) 16:06:32.12 ID:auX0M5WLO
ところでLはそれでマジに最小化したアプリにキーボードショートカット送れるんすか?
372名無しさん@お腹いっぱい。:2011/12/10(土) 16:13:49.07 ID:TCpcsHNd0
>>355
ありがとう。使わせてもらいます。

状況は、ある関数のLoopの中にSendが入っていて、
アクティブウィンドウが切り替わった時にSendのキーが実行されたらヤダなと思って。
(ControlSendで特定のウィンドウにキーを送るのも考えたんですがClassNNの取得が上手くできず・・・)
http://sites.google.com/site/agkh6mze/howto/wineventとか見ていろいろやってみたんだけど
別関数のLoopを停止させる方法が見つからずどうにもならなくなってました。

373名無しさん@お腹いっぱい。:2011/12/10(土) 17:53:18.40 ID:9yBOV9wz0
>>372
ちょうど旬ネタだし、せっかくだから ahk_parent 試してみてくれい
374名無しさん@お腹いっぱい。:2011/12/10(土) 18:24:33.57 ID:auX0M5WLO
まずは海外のサイトみたいにWinampで試そうかな
375名無しさん@お腹いっぱい。:2011/12/10(土) 22:35:24.35 ID:ck/r/J/h0
>>356
あれ?ahk_parentって Last Found Window にキーを送るんじゃないの?
なんで、 ahk_class WinDVDClass が?
376名無しさん@お腹いっぱい。:2011/12/12(月) 14:30:20.26 ID:3HNuOOiIO
考えてみるとWinDVD5をビデオデスクトップ状態で簡単にリモコン操作させた
リモコンマネージャーの富士通が偉く見えた(笑)
377名無しさん@お腹いっぱい。:2011/12/14(水) 18:26:51.21 ID:3KzXIyMbO
もしや誰もできないとか?
378名無しさん@お腹いっぱい。:2011/12/14(水) 18:37:17.68 ID:deypgUQU0
独り言をつぶやく変な携帯がいるな
379名無しさん@お腹いっぱい。:2011/12/14(水) 19:31:00.00 ID:HL47O9sZ0
ん?見えないがなんか湧いたのか?
380名無しさん@お腹いっぱい。:2011/12/14(水) 22:19:27.62 ID:JwQLNO8n0
日記の人注意報
381名無しさん@お腹いっぱい。:2011/12/16(金) 09:18:23.76 ID:r0WPlcIgO
これ付属のレコーダってもしや変換前のキーストロークまで記録してます?
382名無しさん@お腹いっぱい。:2011/12/16(金) 11:17:20.34 ID:Nv5WilI50
知恵をお貸し下さい。
置換マクロを作っていて以下のようにしているのですが、これだと非効率に思えます。
$:=RegExReplace($,"\$(\w)",%$1%)
では変数参照せず、上手くいきません...
番号振ってloopする以外で何か方法はないでしょうか?

StringReplace,$,$,$p,%p% ,1
StringReplace,$,$,$d,%d% ,1
StringReplace,$,$,$n,%n% ,1
StringReplace,$,$,$e,%e% ,1
StringReplace,$,$,$l,%l% ,1
StringReplace,$,$,$i,%i% ,1
383名無しさん@お腹いっぱい。:2011/12/16(金) 17:27:10.18 ID:gcWuXRxo0
なにがしたいの?
384名無しさん@お腹いっぱい。:2011/12/16(金) 18:07:31.71 ID:04suDmTK0
問題なく動いてるのならそれ使えばいいし
どうしても0.1秒以下でも非効率と感じるなら自分で考えたらいい
385名無しさん@お腹いっぱい。:2011/12/16(金) 18:27:08.40 ID:+7hF9zJ90
>>382
$ := "sample $p $d"
p := "sampleP"
d := "sampleD"
n := "sampleN"
e := "sampleE"
l := "sampleL"
i := "sampleI"
tmplVars := ["p", "d", "n", "e", "l", "i"]
for key, tmplVar in tmplVars {
 tmplVal := %tmplVar%
 StringReplace,$,$,$%tmplVar%,%tmplVal%,1
}
MsgBox,% $
オブジェクトに入れて回すほうがいい気もする。
あとこの置換は副作用あるよね。
$で文字列を配列に分割して2番目以降の要素の先頭文字が
対象の変数名なら置換する感じが本当の正解じゃないか。
コールバックつきの置換があればいいんだが。
386名無しさん@お腹いっぱい。:2011/12/17(土) 19:46:39.89 ID:uOkvz8+f0
ゲーマーではないけどLogicoolのゲーミングマウス G300とか言うの買ったら
拡張ボタンが一気に6個に増えた。
もう何していいんだかさっぱりわかんねw
387名無しさん@お腹いっぱい。:2011/12/18(日) 02:05:57.35 ID:en5NTSTF0
>>386
G700で拡張ボタンをモディファイアにして増やしてたら
アプリ共通のマウス設定だけで50超えたよ
いつの間にか使い切るってw
388名無しさん@お腹いっぱい。:2011/12/18(日) 02:29:27.69 ID:5dlvucRU0
指定したファイルをダウンロード中に
何パーセントダウンロードが完了しましたというGUIを
作成できるでしょうか
389名無しさん@お腹いっぱい。:2011/12/18(日) 08:51:58.93 ID:fkQgHlMu0
ご用意しております。
390名無しさん@お腹いっぱい。:2011/12/20(火) 17:42:45.22 ID:MhOedKcO0
ttp://pc12.2ch.net/test/read.cgi/software/1243005818/81
これを参考にアクティブウィンドウ以外の領域を特定の色で塗りつぶすスクリプト作ってて
トレイメニューからRRGGBB値を入力するGUI出すとこまではできたのですが
RRGGBB値をいちいち調べてくるのが大変なんです

カラーサンプル画像を用意してそこからPixelGetColorで取得する方法も考えたのですが
できたらWindowsのカラーパレットみたいなのを利用できたらいいなと思いまして
そういう方法ってありませんか

391名無しさん@お腹いっぱい。:2011/12/20(火) 17:51:01.40 ID:1zZjLh4G0
ChooseColorでも呼ぶか
http://msdn.microsoft.com/ja-jp/library/cc410660.aspx

構造体確保するの面倒くさいけど
392名無しさん@お腹いっぱい。:2011/12/20(火) 20:41:48.33 ID:MhOedKcO0
構造体って初めて聞いたんですけど
VarSetCapacityで変数をちょっと加工してから
DllCallでChooseColor関数に渡せばいいみたいですね

勉強してみます
ありがとうございました
393名無しさん@お腹いっぱい。:2011/12/20(火) 21:05:33.27 ID:1zZjLh4G0
そのレベルで構造体の確保とか大変そうだぬ
探したらコードあったよ
http://www.autohotkey.com/forum/viewtopic.php?p=57692#57692

だけどこれは多分32bit環境でしか動かないな
構造体のレイアウトが違うから
394名無しさん@お腹いっぱい。:2011/12/21(水) 15:55:23.12 ID:bIKFygD/0
Loop,% n

今はnにありえない回数を指定したり分岐で対応してるが
nに何かを入れてCountの省略と同じ無限ループにするのは不可能かな?
395名無しさん@お腹いっぱい。:2011/12/21(水) 16:24:17.51 ID:bIKFygD/0
調べたらLでWhile使えるようになってたんだな知らんかった
396名無しさん@お腹いっぱい。:2011/12/21(水) 21:55:50.46 ID:U6pbvG9I0
Imagesearchで画像を認識した時に音を鳴らす。
もしくは特定キーを押させると言った機能を探してみたのですが
見つかりませんでした;どう組めばいいのでしょうか?
397名無しさん@お腹いっぱい。:2011/12/21(水) 22:07:43.19 ID:aeJWJ+uw0
いやいやいやいやw
398名無しさん@お腹いっぱい。:2011/12/21(水) 22:10:49.93 ID:dlOnKQRr0
>>393
ありがとうございます。いまコード見たらちんぷんかんぷんでしたw
自力で挑戦してたらどれだけ時間かかっただろう・・・

ページを読んでいたら、下の方にAHKでカラーパレットを作っている方がいらっしゃいましたので
そのページも貼っておきます
http://www.autohotkey.com/forum/topic9493.html
http://www.autohotkey.com/forum/topic59534.html
ChooseColorも使っていますがGUIがちょっと独特です
399名無しさん@お腹いっぱい。:2011/12/22(木) 15:18:20.42 ID:K/7eaXDS0
超初心者です
変数moji1とmoji2に格納した文字列を連結してmoji3に格納する方法が全く分からんかったとです
moji3 = %moji1% . %moji2% とか moji3 = %moji1% . %moji2% とか moji3 = % %moji1% . %moji2% とか試して
無駄に時間が過ぎたとです
でも>>321-324見てmoji3 := % moji1 . moji2でできました超感謝
400 [―{}@{}@{}-] 名無しさん@お腹いっぱい。:2011/12/22(木) 16:32:02.64 ID:KhL1yatrP
moji3 = %moji1%%moji2%
401名無しさん@お腹いっぱい。:2011/12/22(木) 17:42:57.84 ID:KW957auM0
変態仕様だな
402名無しさん@お腹いっぱい。:2011/12/22(木) 22:09:51.75 ID:Ll74JlE30
>>399
moji3 := % moji1 . moji2の%はいらないね
moji3 := moji1 . moji2
403名無しさん@お腹いっぱい。:2011/12/22(木) 22:45:29.69 ID:K/7eaXDS0
>>400>>402
おおどっちもいけた!
俺はまだよく理解してないやうだ・・
404名無しさん@お腹いっぱい。:2011/12/22(木) 22:53:24.71 ID:Aej/94NF0
個人的な話だが

>>400は文字列を切った貼ったするときと、メッセージの途中で変数をはさんでメッセージの動的表現をするときに使う
>>402の3行目の書き方は、数値の計算のときだけ使う

この使い分けを徹底するようにしたところ、あとで自分のコードを見直すときの可読性があがった気がする。
405388:2011/12/23(金) 15:02:21.43 ID:PhSSUKI20
ダウンロード進捗のGUIを探していたものですが、
ダウンロードの進捗状況を取得さえできれば何とかなるとかんがえました
ですが、URLDownloadToFileではどれくらいダウンロードが完了したか
わかりません

ダウンロードするファイルのサイズとダウンロードが完了した分の二つを
取得する処理はどうすればよいのでしょうか
406名無しさん@お腹いっぱい。:2011/12/23(金) 17:55:12.38 ID:qkcyIB5H0
>>405
標準機能じゃできない。

WindowsのAPI使えば何とかなるかも試練が、
ダウンロード用のスレッドとGUI表示用のスレッドを分けないと
操作性が悪くなったりして結構面倒なはず。
(URLDownloadToFileだとDL中は固まるのはこのせい)
407名無しさん@お腹いっぱい。:2011/12/23(金) 20:47:23.65 ID:ziHXda2S0
そんな処理をスクリプトにやらせるのは間違い
進捗を表示するダウンローダを起動するのが関の山

別にスクリプトを馬鹿にしてるわけじゃなくて
スクリプトにとっては実現するまでの苦労が無駄に大きい領域
408名無しさん@お腹いっぱい。:2011/12/23(金) 21:18:30.03 ID:UYoN1toD0
409名無しさん@お腹いっぱい。:2011/12/23(金) 21:44:07.39 ID:tXJdAvnT0
>>408
!まさにそれです!

>>406-407
何でもautohotkeyでやってみたいと思っていましたが
確かにダウンローダーをインストールすればいいですね
410名無しさん@お腹いっぱい。:2011/12/23(金) 22:24:02.03 ID:IVn5rN/L0
ん?
GUI表示部はなんとでもなるが進捗状況の取得ができないって話じゃなかったの?
411名無しさん@お腹いっぱい。:2011/12/23(金) 22:31:10.88 ID:7wIwZlRS0
純水に車輪の再発明が楽しいだけだろ
後で見ると何やってんだろ、って感じになるけどやってる時はすごい楽しいよ
412名無しさん@お腹いっぱい。:2011/12/23(金) 22:42:40.17 ID:nQfObGcA0
クリップボード内にある複数行の文字列から
行頭に任意の文字列を含む1行を抜き出して
変数に格納するというのは可能でしょうか?
413名無しさん@お腹いっぱい。:2011/12/23(金) 22:53:50.95 ID:7hcUZuvn0
もちろん可能です。
というか、すごくありがちなシチュエーション
414名無しさん@お腹いっぱい。:2011/12/23(金) 23:55:51.36 ID:UYoN1toD0
>>408
>>405 >ダウンロード進捗のGUI
→ProgressBar
>ダウンロードの進捗状況を取得
>>388 >何パーセントダウンロードが完了
→InternetReadFileでいいんじゃね?と解釈
http://msdn.microsoft.com/ja-jp/site/aa385103
http://www.google.co.jp/search?q=InternetReadFile%20site:www.autohotkey.com
http://arian.suresh.googlepages.com/filereadinternet.png

スレッド分けたいんならAutoHotkey.dll使うとか
http://www.autohotkey.net/~tinku99/ahkdll/
415名無しさん@お腹いっぱい。:2011/12/27(火) 22:40:43.15 ID:JcsJ6+t00
画面にある十個ぐらい(不確定)のタブの折りたたみをAutohotkeyでやりたいのです。
具体的には、画面上の不特定数の折りたたみの▲を全部クリックしていくのを
Autohotkeyのキーバインド一つで自動的にやらせたいのです。
Imagesearchでできるのかなぁと思うのですが、
画像検索でX1,Y1 X2,Y2....と不特定にいっぱいできるのを
Click, Lで”おまとめ”でクリックできるものなのでしょうか?
どなたかやり方おしえていただけませんか?

座標格納名oritatami

^Right::
ImageSearch, evernoteoritatamiX, evernoteoritatamiY, 0, 0, 1920, 1080, C:\AutoHotkey\imageSearch\evernoteoritatami.bmp
if ErrorLevel = 2
MsgBox Could not conduct the search.
else if ErrorLevel = 1
MsgBox Icon could not be found on the screen.アイコンが見つかりません。
else
Click, L, , %evernoteoritatamiX%, %evernoteoritatamiY%
return
416名無しさん@お腹いっぱい。:2011/12/27(火) 22:48:21.81 ID:JcsJ6+t00
上の画像検索は、Evernoteというアプリケーション上でやりたいのですが、
なぜかEvernote上で画像検索をするとエラーレベルの2もしくは1がでて
クリックさえできません。対象の画像は画面上に一個しかないはずなんですが。
なぜだろう。いろいろ検索元の画像を変えているんですが・・・
417名無しさん@お腹いっぱい。:2011/12/27(火) 22:49:01.72 ID:Q5Kr7C2Z0
>>415
文字の説明だけじゃなくて
ソフトの具体的なキャプチャ画像や
キャプチャ動画を見せてくれた方がいいかと
418名無しさん@お腹いっぱい。:2011/12/28(水) 00:14:35.30 ID:R/IZcg4V0
http://i.imgur.com/V1Zxa.png
こういう非常に小さいbmpを画像検索元に使っているのですが、
evernote上にあるこの▲を踏んでくれるものと踏んでくれない▲があります。
(色を替えないようにカーソルのフォーカスをあてないようにしているのですが)
タブごとに▲の形に微妙な違いがあるのかなぁ。
それともAutohotkeyの画像検索の材料としては小さすぎてダメとかあるのかな。
419名無しさん@お腹いっぱい。:2011/12/28(水) 00:18:47.12 ID:HgUmdpiU0
PixelSearchを使ってみたら?
こっちの方が細かく認識できる気がする
420名無しさん@お腹いっぱい。:2011/12/28(水) 01:28:27.40 ID:35o746zsO
現在1chを見てたら↑keyは3
現在7ch見てたら↑keyは9
↑key割り当てを見てるチャネルによりトグルさせたいんですが
可能ですか?
421名無しさん@お腹いっぱい。:2011/12/28(水) 01:37:35.54 ID:1Pk2ekEV0
今見てるチャンネルの取得ができるなら可
422名無しさん@お腹いっぱい。:2011/12/28(水) 09:01:16.93 ID:35o746zsO
ですよね”(ノ><)ノ→今見てるチャンネルの取得ができるなら
423名無しさん@お腹いっぱい。:2011/12/28(水) 09:08:19.75 ID:35o746zsO
事情を話すと今のTVチューナーソフト
一つの番組がチャネルアップボタンで2つくらい見えちゃうんですわ
3Chanなら031 032が… 032スキップしてくれません
チャネル設定も探しましたがini見あたらず…
424名無しさん@お腹いっぱい。:2011/12/30(金) 12:10:55.29 ID:IT92Ta8U0
巨大文字列から正規表現の文字列を変数に入れていく、というスクリプト
どうもモッサリぎみなんだけど、どう書くのが最速なんですかね?
425名無しさん@お腹いっぱい。:2011/12/30(金) 12:44:34.81 ID:2qAaZ+EO0
コードと文字列を書いてみ
426名無しさん@お腹いっぱい。:2011/12/30(金) 13:43:38.81 ID:IT92Ta8U0
文字列は不特定TxtAで、コードはこんな感じ

While( RegExMatch( TxtA, "i)aaa([bcd]+)zzz", str ) )
{
 Text%A_Index% := str1
 TxtA := RegExReplace( TxtA, "i)aaa([bcd]+)zzz", "", "", 1 )
}
427名無しさん@お腹いっぱい。:2011/12/30(金) 20:31:40.85 ID:5467m4el0
リプレースを止めて、開始位置を指定するくらいしか思いつかないな
(↓のサンプルは最近の _L じゃないと動かないと思う)

result := []
start := 1
While(RegExMatch("iabazbxacdba", "Oi)a.*?b", match, start) <> 0)
{
 result.Insert(match[0])
 start := match.Pos(0) + match.Len(0)
}
For k, v in result
 MsgBox,% v
428名無しさん@お腹いっぱい。:2011/12/30(金) 23:12:48.80 ID:+RiOM5k60
計測してないけどやはりポジションを使うほうが若干早いようですね。
煩雑になるので避けてたんですが、参考になりました。
今後はRegEx系に配列を導入するらしいのでもっと簡単になるかな。
429名無しさん@お腹いっぱい。:2011/12/31(土) 12:03:54.69 ID:nWz3IMTo0
MouseGesture.ahkを使用しているのですが、Firefox(ver.9.01)上で横スクロールだけが機能しません。
他のジェスチャーは動作しますし、FirefoxのIEtab上ではスクロールできます。
また、キーボードフックは導入済みです。
助言お願いします。
430名無しさん@お腹いっぱい。:2011/12/31(土) 13:04:24.01 ID:7K5dgzv80
横スクロールってどうやるの
431名無しさん@お腹いっぱい。:2011/12/31(土) 15:21:00.43 ID:5wB3EWUL0
マウスカーソルがある区画内にあり、
かつマスターボリュームがミュートであるかないで動作を切り替えるのを作りたいんです
X::
CoordMode,Mouse,Screen
MouseGetPos,x,y
if (x>=a && x<=b && y>=c && y<=d)
Send,{Y}
else Send,{Z}
return

と区画分けはできたんですけど
http://ahk.xrea.jp/commands/SoundGet.html の項をみてやるんでしょうけど
ミュートである、ないを判別するのになんて書いたらいいかわからない  のと
アンド的に条件を重ね合わせる書き方    がわかりません
単数条件ならif、elseなど使えるのですが・・・

具体的に言うと、以下の二つのスクリプトを実行したいんです
 区画内にカーソルがあり、ミュートのとき Aをα にリマップ
 区画内にカーソルがあり、ミュートでないとき Bをβ にリマップ です
教えていただけないでしょうか?
432名無しさん@お腹いっぱい。:2011/12/31(土) 15:35:12.74 ID:+rVg6yar0
>OSの種類(XP/Vista/7)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。
433名無しさん@お腹いっぱい。:2011/12/31(土) 15:42:16.50 ID:5wB3EWUL0
おぁ 
7 32bit ahk_L   です すみません
434名無しさん@お腹いっぱい。:2011/12/31(土) 16:09:47.70 ID:7ne8Fz1L0
>>431 他力本願ですが Volumouse というソフトがGuiも出しゃばらず
音声や画面の明るさも調整できるので Ahkと併用しています。
435名無しさん@お腹いっぱい。:2011/12/31(土) 18:01:20.45 ID:5wB3EWUL0
>>434
お互いに予想通りなんですけど
AutoHotkeyでまとめたいのと書き方を学びたいんです
436名無しさん@お腹いっぱい。:2011/12/31(土) 18:28:51.19 ID:+rVg6yar0
>>435

SoundSet/Getは動かないんで、
https://sites.google.com/site/autohotkeyjp/reference/misc/Trouble#TOC-Vista-
Lexikosのライブラリ使う
http://www.autohotkey.com/forum/topic23792.html

あとは、L使ってるんで、#IF使えば書いてあるとおりにスクリプト組める


#If ( 座標チェック関数() && ミュート判定関数() )
A::α
#If ( 座標チェック関数() && !ミュート判定関数() )
B::β
#If

座標チェック関数() {
 ; 指定の区画内に入っていたらTRUEを返すのを実装
}
ミュート判定関数() {
 ; ライブラリ使ってボリュームチェックしてミュートならTRUEを返すのを実装
}
437名無しさん@お腹いっぱい。:2011/12/31(土) 20:33:49.61 ID:5wB3EWUL0
ありがとうございます
さっぱりです・・・
438名無しさん@お腹いっぱい。:2011/12/31(土) 23:30:31.08 ID:P5qka7vK0
>>430
WM_HSCROLL
439429:2012/01/01(日) 01:35:29.67 ID:JK73gRyD0
OS:VistaSP2 32bit
AHK:AHK_L 1.1.5.6
です。お願いします。
440名無しさん@お腹いっぱい。:2012/01/02(月) 23:47:17.27 ID:844tb4UoO
ようつべ等で動画を全画面にした時のクラス名ってわかりますか?
adobe flash player からみはわかるんですが…
441名無しさん@お腹いっぱい。:2012/01/03(火) 05:58:53.32 ID:oaruDsCy0
フォーカス失うと消えるから
タイマーでGetForegroundWindow呼ぶアプリかスクリプト書けば分かるんじゃね
442名無しさん@お腹いっぱい。:2012/01/03(火) 09:33:57.02 ID:7iiSJmVk0
適当なホットキーにアクティブウィンドウのクラス名取得して
クリップボードに入れる処理書けばいいでしょ

AHK中毒患者は似たようなスクリプトを標準装備してるはずw
443sage:2012/01/03(火) 09:48:33.34 ID:9UcS0P0N0
以下のスクリプトのように、左ctrlを二度押しで処理Aを実行させているのですが、
たとえばctrl+wを2度、素早く押した場合には処理Aが実行されないようにするには
スクリプトをどのように書き換えたらよいでしょうか。

~LControl up::
If (A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 250)
処理A
Return
444名無しさん@お腹いっぱい。:2012/01/03(火) 10:08:12.50 ID:kq3wtKHk0
Win7を新規インストールしていて今更ながら気づいたのですが、
>>3 の「■ リマップ・ホットキー割り当て」でini編集部分が抜けていました。
新スレのときに覚えていたら修正をお願います。

 例) 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 をどのキーに変更しますか?」
  というウィンドウが表示されるので「ひらがな」キーを選択。
  「ファイル」→「現在のキー内容を名前を付けて保存します」を選択。
  任意の名前(例 ひらがなをF13)を付け「保存」ボタンをクリックし、ChangeKeyを終了させる。
  リマップ( F12::F13 )を解除する(スクリプトを終了させる)
  (このままでは「F13」が「ひらがな」キーになるのでiniファイルを編集する)
  ChangeKey.exeと同じフォルダにあるchgkey.iniをテキストエディタ(Notepad.exe等)で開く。
    name=ひらがなをF13 2012.xx.xx
    chg= 100 112
  となっているので、「chg= 112 100」の 112 と 100 を入れ替え(書き換え)
    chg= 112 100
  とし、上書き保存する。
  ChangeKeyを起動し、「ファイル」→「名前を付けて保存したキー内容を読み込みます」を選択。
  「ひらがなをF13 2012.xx.xx」を選択し、「読込」ボタンをクリック。
  「登録」→「現在の設定内容で登録します」を選択し、Windowsを再起動する。
   ※ちなみに F13キーは 100 (10進数) = 0x0064 (16進数)、ひらがなキーは 112 (10進数) = 0x0070 (16進数)
445444:2012/01/03(火) 11:07:38.99 ID:kq3wtKHk0
朝から寝ぼけてました。>>444は無しでお願いします。
ini編集は不要で、下記で修正をお願いします。


■ リマップ・ホットキー割り当て

Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ
A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。
  OS側がキーUp/Down情報が正しく返してこないのでAHKのみで対処は無理です。
  (キーを押すごとに Up → Down → Up → Down と交互に変わる)
  レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。

 例) ChangeKeyを使って[ひらがな]を[F13]にする
  Changekeyを起動する。( ttp://www.forest.impress.co.jp/lib/sys/hardcust/keyboard/changekey.html )
  「カタカナひらがな」キーをクリック。
  「【カタカナひらがな】をどのキーに変更しますか?」というウィンドウが表示されるので右上の「Scan Code」をクリック。
  スキャンコードを直接入力するウィンドウが表示されるので「0064」(0x0064はF13のスキャンコード)を入力して「OK」。
  「登録」→「現在の設定内容で登録します」を選択し、Windowsを再起動する。
446名無しさん@お腹いっぱい。:2012/01/03(火) 16:32:45.62 ID:P2qACzsT0
テキスト処理の質問です
テキストinput.txtに

テストテストテスト
テスト1テスト2テスト3
importing("..\testing.txt")
importing("message\output.txt")
テスト4テスト5テスト6

と書いてあるとき、importing("")と""でくくったファイルの中身が
あたかもinput.txtにはじめから書いてあるかのように
autohotkeyで取り扱う方法はあるでしょうか
RegExReplace()ではファイルの中身を取り出せず、
RegExMatch()では""のファイル名を取り出せてもそれからテキストを組み立てる方法がわかりませんでした
447名無しさん@お腹いっぱい。:2012/01/03(火) 17:08:28.69 ID:7iiSJmVk0
検索語の発見位置と長さを使って文字列の部分切り出し+文字列結合
の繰り返し以外に方法は無いよ。これはどんな処理系つかっても同じ。
448名無しさん@お腹いっぱい。:2012/01/03(火) 21:54:09.85 ID:7nmd1Ikq0
>>443
~^w::Returnを書き加える

>>446
これ>>427か、下の3処理。
1.「"」を含まない行を削除
2.行頭〜「"」を削除
3.「"」〜行末を削除
どっちが速いかは知らん
それかすることによっちゃLoop,READのが楽
449443:2012/01/03(火) 22:03:57.02 ID:9UcS0P0N0
>>448
おおなるほど!
ありがとうございました。
450名無しさん@お腹いっぱい。:2012/01/04(水) 12:04:49.57 ID:ZX32wDcc0
AutoHotKeyとVBscriptで連動させたスマートフォン用Rainmeterスキン「インパネ with 美人時計」を作りましたよ
http://xbmc.inpane.com/main/rc/smartphone.php#inpane
451名無しさん@お腹いっぱい。:2012/01/04(水) 15:03:24.34 ID:888Pd6gLO
>>441以降の方 返事おくれてスミマセン
うちに帰ってやってみます
452名無しさん@お腹いっぱい。:2012/01/05(木) 18:49:24.75 ID:+QnsI33b0
過去レス(part12,219)で複数のウインドウクラスを同時指定する方法についての質問の回答が

GroupAdd, Explorer, ahk_class CabinetWClass
GroupAdd, Explorer, ahk_class ExploreWClass
Exit ; Autoexecここまで
#IfWinActive, ahk_group Explorer
Space::MsgBox, エクスプローラ

となっていますが自分の環境では動きません。何がいけないのでしょうか?
7,32bit,AHk_Lなのですが
上のスクリプトのahk_class ・・・・ の・・・・の部分を自分の環境に直しています
453名無しさん@お腹いっぱい。:2012/01/05(木) 19:13:29.49 ID:KAcXHbxp0
>>452
GroupAdd 〜 をAutoExecセクション(解らなければスクリプトの一行目)に書いてますか?
454名無しさん@お腹いっぱい。:2012/01/05(木) 20:19:13.90 ID:+QnsI33b0
いや >>452 の5行を基本丸写しで

GroupAdd, Explorer, ahk_class a
GroupAdd, Explorer, ahk_class b
GroupAdd, Explorer, ahk_class c
Exit ; Autoexecここまで
#IfWinActive, ahk_group Explorer
Space::MsgBox, エクスプローラ

な感じです
455名無しさん@お腹いっぱい。:2012/01/05(木) 21:44:22.90 ID:wSQybSEA0
そのClass名 a b c は例なの?それとも本当にそう書いてるの?

前者なら対象アプリ名と実際にスクリプトに書いてるClass名晒せ
間違ってるくさい箇所伏せて書かれてもわからんて

後者ならちゃんとClass名調べて記述する
適当な名前付けても動かんよ
456名無しさん@お腹いっぱい。:2012/01/05(木) 22:03:37.28 ID:+QnsI33b0
汎用なソフトじゃない上、単独で動作していたものをコピーしたので白かと・・・
例として汎用的なソフトとしてエクセル、ワード、パワーポイントで
ahk_class XLMAIN
ahk_class OpusApp
ahk_class PPTFrameClass   で

GroupAdd, Explorer, ahk_class XLMAIN
GroupAdd, Explorer, ahk_class OpusApp
GroupAdd, Explorer, ahk_class PPTFrameClass
Exit ; Autoexecここまで
#IfWinActive, ahk_group Explorer
Space::MsgBox, エクスプローラ

と書きましたが動きませんでした

ちなみにオフィスの3つとも何かしら設定してるので間違ってはないはずです
457名無しさん@お腹いっぱい。:2012/01/06(金) 01:01:25.50 ID:aTKxUw8Y0
他のahkスクリプトを全て終了させ、
↓の6行だけを記述したahkファイル(test.ahk)を作成し、
test.ahkだけを実行させて動くか確認してみては

GroupAdd, Explorer, ahk_class XLMAIN
GroupAdd, Explorer, ahk_class OpusApp
GroupAdd, Explorer, ahk_class PPTFrameClass
Exit ; Autoexecここまで
#IfWinActive, ahk_group Explorer
Space::MsgBox, エクスプローラ
458名無しさん@お腹いっぱい。:2012/01/06(金) 09:20:41.36 ID:jgR9LNydO
すいません Hulu Desktopという動画サイトを全画面でテレビ感覚で見れるアプリがあるんですが
リモコンkeyにキーボードkeyを割り当てても受付ません。アクティブ窓の指定は合ってます
いきなりescやBSでキーボードなら前の画面に戻るのにリモコンはダメ
試しに200ミリ秒開けて二回送信送信すると受け付けます。
アクティブ窓の指定が合ってるから初回のkeyを受け付けるんですよね?
キーボードとリモコンでアプリの振る舞いに違いを付けれるんでしょうか?

なぜリモコンは一度ではダメなのでしょう?
459名無しさん@お腹いっぱい。:2012/01/06(金) 09:48:57.95 ID:gmlxdhLi0
このスレとどういう関係が?
460名無しさん@お腹いっぱい。:2012/01/06(金) 10:44:23.20 ID:6BTf7IX00
Huluのリモコンキーっつのががどんなもんかわからんが
TVなんかの赤外線リモコンは1プッシュで同じコマンド3回くらい投げてる
受光側も2回以上同じコマンドがこないと動かないようにしてたりするよ
有線と違って中途障害でデータが化ける可能性が高いのでそれを避けるための措置
461名無しさん@お腹いっぱい。:2012/01/06(金) 15:47:00.57 ID:urV3ixR/0
>>457
単独では動きました
462名無しさん@お腹いっぱい。:2012/01/06(金) 17:17:32.38 ID:goGWeKa70
Win7とXPで、スクリーンセーバーが起動しているか、
それとも通常のデスクトップが表示されている状態か、
判別するのに最適な方法って、どのようなものがありますでしょうか。

スクリーンセーバーへの突入を抑制する方法については過去ログで何回か
言及がありましたが、判別については見つけることができませんでした。
463名無しさん@お腹いっぱい。:2012/01/06(金) 17:20:35.07 ID:gmlxdhLi0
464名無しさん@お腹いっぱい。:2012/01/06(金) 17:37:01.53 ID:goGWeKa70
>>463
ありがとうございます。regreadで判別できそうです。
465名無しさん@お腹いっぱい。:2012/01/06(金) 18:16:46.29 ID:jgR9LNydO
>>460 なるほど〜
ありがとうございます。もう少しリモコンを調べてみます
466名無しさん@お腹いっぱい。:2012/01/06(金) 18:17:47.18 ID:gmlxdhLi0
>>463のバグはWindows 7, Windows Server 2008 R2でも再現するそうな。
どうして直さないのかな〜
467名無しさん@お腹いっぱい。:2012/01/06(金) 19:45:02.82 ID:+HYcE1/K0
>>461
>>453に対して>>454のレスだから当然単独スクリプトで実験してると思ってたが…
単独なら動くなら>>453の指摘が一番くさいんじゃないの?
原因が他にあったとしても、どう記述してるのか晒さないと確実なレスはつかないぞ
468名無しさん@お腹いっぱい。:2012/01/06(金) 20:06:37.88 ID:At5fUDqm0
ちょっとした補助マクロ組むだけなら、メモ帳で大丈夫だったんですが
長くなるとキツくなってきたので、エディタを使おうと思います。

好みは人それぞれかと思いますが、いくつかオススメのエディタを
紹介して頂けるた有り難いです。
469名無しさん@お腹いっぱい。:2012/01/06(金) 20:11:24.99 ID:Fv49U1xj0
ご自分でえらんで
470名無しさん@お腹いっぱい。:2012/01/06(金) 20:13:21.76 ID:+HYcE1/K0
471名無しさん@お腹いっぱい。:2012/01/06(金) 20:23:40.09 ID:At5fUDqm0
質問してから、このスレ見ていこうとしたら
該当の箇所教えて頂きありがとうございます。

エディタの定義用ファイルなんてものがあったんですね。
それがあるって事が分かっただけでも収穫です。
定義用ファイルがあるエディタから自分に合いそうなのを探してきます
472462:2012/01/06(金) 21:31:12.20 ID:goGWeKa70
ありゃ。うまくいきませんでした。

;現在スクリーンセーバーかどうか判別 1=デスクトップ表示中

RegRead,var,HKEY_CURRENT_USER,Control Panel\Desktop,ScreenSaveActive
msg=%A_NOW%=%var%

これをsettimerでまわして、値をファイルに書き出すようにしてみたところ、
スクリーンセーバーが起動する前も、真っ最中も、そのあとも、
常に1が帰ってきました。監視するのは、このkeyとは別のものなのでしょうか。
473名無しさん@お腹いっぱい。:2012/01/06(金) 22:07:22.03 ID:urV3ixR/0
>>467
ありがとうございます、恐らくそうですね
一番上にあると他のスクリプトと一緒に書かれてても機能しました
ただ全スクリプトが大した量じゃないので、一括して書いてるんですけども
その状況で一番上にクラス書いてしまうと、今まで一番上に書いてあった
ソフト別に関係なく動く機能が死んでしまうので結局実用は無理でした

Groupの件に回答してくださった方ありがとうございました
474名無しさん@お腹いっぱい。:2012/01/06(金) 22:25:00.24 ID:+HYcE1/K0
>>473
諦めるというなら止めはしないが、それは今までAutoExecセクションに書かれてたものが
AutoExecセクション外に追いやられたために不具合起こってるだけな気がするぞ
GroupAddの3行だけ冒頭に書いて、Exitの行は削除、
#IfWinActive以降はスクリプトの最後に追加で多分いける
475名無しさん@お腹いっぱい。:2012/01/06(金) 22:43:04.53 ID:urV3ixR/0
>>474
おおできました、どうもです
定義したグループを使うすぐに条件として使う必要がないんですね
476名無しさん@お腹いっぱい。:2012/01/06(金) 22:49:52.32 ID:/CKZAdbv0
出先から帰ってきたのでID変わってるけど>>474です
単純に#IfWinActiveの条件が下のスクリプト全部にかかってるからだけな気もしてきたので追記

#IfWinActive ahk_group Explorer
Space::MsgBox, エクスプローラ
#IfWinActive

#IfWinActive ○○ で限定したい部分が終わったら、限定を解除するために#IfWinActiveだけの行を記述
477名無しさん@お腹いっぱい。:2012/01/06(金) 23:00:06.85 ID:urV3ixR/0
>>476
わざわざすみません
解除する方法があったなんて知りませんでした!
478名無しさん@お腹いっぱい。:2012/01/07(土) 11:41:12.52 ID:WJSmVsoQ0
ahkにファイルパスを渡した際に
半角スペースを含むパスでも正しくフルパスを取得する方法はないでしょうか
"%1%" のようにダブルクォーテーションでくくっても
半角スペースの所でパスが切れてしまいます
479名無しさん@お腹いっぱい。:2012/01/07(土) 11:44:42.99 ID:WJSmVsoQ0
なお、OSはWinXP SP3
ahkはAHK_Lの1.0.91.5を使用しています
480名無しさん@お腹いっぱい。:2012/01/07(土) 12:26:45.65 ID:xqq31zi1O
program~1とかダメ?
481名無しさん@お腹いっぱい。:2012/01/07(土) 12:26:57.97 ID:GjKXDsI10
すでに切れた状態のものが渡されてるからそこを見なおしたほうがいいよ
482名無しさん@お腹いっぱい。:2012/01/07(土) 23:38:03.60 ID:Kly9G/D00
javaでできた(?)V2Cという2chブラウザでのキーバインドがautohotkeyで利かない


#IfWinActive, ahk_class SunAwtFrame
sc07b & c::
MsgBox, テスト成功?
return

javaでは動かないの?ふつうに手動でCtrl+cしたらちゃんとコピーできるのに。
483名無しさん@お腹いっぱい。:2012/01/07(土) 23:45:30.57 ID:YoHpuXhO0
sc07b & c:: //err
484名無しさん@お腹いっぱい。:2012/01/08(日) 06:12:29.13 ID:3IZy4QeK0
無変換キーを他の行で sc7b にしてると sc07b が効かない(反応しない)
485名無しさん@お腹いっぱい。:2012/01/08(日) 06:35:02.33 ID:QgbG2PAF0
>>484
sc7bという語句はひとつも使用していません。
無変換はすべて sc07b で統一しています。

いまのところ、V2Cのレス表示上だけで無変換+何かのキーだけが効かない。
ほかのキーの組み合わせは動く。
V2Cのアドレスバーや書き込みウインドウ上では無変換+何かキーもちゃんと動く。
なにこれ。
486名無しさん@お腹いっぱい。:2012/01/08(日) 17:06:28.28 ID:NH+cOimU0
>>481
現在コンテキストメニューの「送る」からahkにパスを渡しているのですが
他に不特定の任意ファイルを渡す方法はありますか?
487名無しさん@お腹いっぱい。:2012/01/08(日) 19:30:51.03 ID:VrqxKp3rO
遊びパソコンでかじったautohotkeyを仕事で使うとは…
だって便利すぎる
488名無しさん@お腹いっぱい。:2012/01/08(日) 20:01:05.64 ID:SiaO/ZqP0
>>486
MsgBox,%1%
だけでどうなってるか教えて
これで途切れてるならちゃんと送れてない
489名無しさん@お腹いっぱい。:2012/01/08(日) 21:05:29.96 ID:3IZy4QeK0
>>486
OS:Windows XP Home Edition SP3 32bit、及びWindows 7 Professional SP1 64bit
AHK:Ahkノーマル(本家ともいう)、及びAHK_L
という環境で
clipboard = %0%`n%1%`n%2%`n%3%`n%4%`n%5%
のみを記述したahkファイルをSendtoフォルダに直接置く、及びahkファイルへのショートカットを置き
E:\a a\b b\s s.txt
E:\a a\b b\t t.txt
E:\a a\b b\u u.txt
上記3つのファイルをahkファイル、及びahkファイルへのショートカットへの「送る」をやってみたけど
普通にパスが取得された。
ロングファイル名じゃなくてショートファイル名だけど。

ついでにショートファイル名をロングファイル名へ変換するahkスクリプト
loop %1%
long = %A_LoopFileLongPath%
msgbox %long%
490名無しさん@お腹いっぱい。:2012/01/08(日) 21:43:53.36 ID:us7Zcc3F0
引数としてファイルパスを渡すなら
半角スペースが入っていようがいまいが、
常にダブルクォートで囲えばいいだけかと

ってか>>481のいってることが↑だけど
491名無しさん@お腹いっぱい。:2012/01/08(日) 22:02:57.09 ID:up4EXDy00
.ahkへのDrag&Dropでフルパスを得る
http://www1.rcn.ne.jp/~carat/autohotkey.html
492名無しさん@お腹いっぱい。:2012/01/09(月) 14:04:59.50 ID:7tCl+vOg0
482ですが、V2Cへの無変換のホットキーの割り当てができるようになりました。
原因は
vk1Dsc07B & C:: Send,{Ctrl down}{Insert}{Ctrl up}
だったようです。これの右辺(?)をSend, ^{c}にしたら
解決しました。

以前は簡単に言うと下のような形のahkでした。
============================
GroupAdd, GameBindGroup, ahk_class Valve001

#IfWinNotActive, ahk_group GameBindGroup

vk1Dsc07B & C:: Send,{Ctrl down}{Insert}{Ctrl up}

;V2Cへの割り当て
#IfWinActive, ahk_class SunAwtFrame
sc07b & c::
MsgBox, テスト成功?
return
=======================

原因となったvk1Dsc07B & C:: Send,{Ctrl down}{Insert}{Ctrl up}
というものは、日本のAHKの前あった半ば公式ページへの投稿からもらったものです。
ですからこれ自体は間違ってないと思うのですが、私の.ahkの組み立てが悪く、
原因は他にあるのでしょうか。
493名無しさん@お腹いっぱい。:2012/01/09(月) 14:14:48.41 ID:7tCl+vOg0
改めて考えると、やはり問題は解決していませんでした。
上のahkファイルであれば、本来V2C上で無変換+Cを押すと「テスト成功?」のメッセージボックスが
出るはずなんですよね?現状はコピーできるだけです。(以前はコピーもできずに無反応だった)

V2Cへの割り当てのみで、それ以外を完全に削除した.ahkファイルだときちんと
「テスト成功」BOXがでるので、どこかが悪いはずなんです。
494名無しさん@お腹いっぱい。:2012/01/09(月) 14:46:50.26 ID:I1tXGOQF0
============================
GroupAdd, GameBindGroup, ahk_class Valve001

;V2Cへの割り当て
#IfWinActive, ahk_class SunAwtFrame
sc07b & c::
MsgBox, テスト成功?
return

#IfWinNotActive, ahk_group GameBindGroup
vk1Dsc07B & C:: Send,{Ctrl down}{Insert}{Ctrl up}

=======================

でやってみ
ホットキーが被ってる時は先に見つかった方が有効だったはず
両方には行かないよ
495名無しさん@お腹いっぱい。:2012/01/09(月) 21:03:33.80 ID:7tCl+vOg0
>>494
ありがとうございました。(^ω^) うまくいきました。
ホットキーはかぶったら片方ダメになるんですね。
「一般的にはこのホットキー、ただしこのソフトウェアがアクティブのときはこのホットキー」
ってのが前の.ahkでできると思っていました。

いわば特殊のソフト個別のホットキーを.ahk内で上に持ってきて、優先させるようにして
一般的なホットキーはその下にもっていくことで解決しました。
496名無しさん@お腹いっぱい。:2012/01/11(水) 07:40:12.46 ID:AimmqY7e0
紙芝居ゲーやってんだけど、マウスホイールで読み進められない。
しょうがないから、
WheelDown::ENTER  とか
WheelDown::LButton でやってみたんだけど効果無し
なんか方法無いですかね
497名無しさん@お腹いっぱい。:2012/01/11(水) 09:46:20.06 ID:4jLzD7hz0
SendとかSendPlayとかは?
498名無しさん@お腹いっぱい。:2012/01/11(水) 12:50:17.09 ID:la7jYy8u0
数学でいう大カッコみたいに、#IfWinNotActiveで、#IfWinActiveの
ホットキーグループを囲むことってやったらバグがでるんですねw

#IfWinNotActive, ahk_group hoge
c::e

#IfWinNotActive, ahk_group hoge2
e::b
#IfWinNotActive

g::b
#IfWinNotActive

みたいにw ホットキーの割り当てがループするのでおかしいと思ってた。
499名無しさん@お腹いっぱい。:2012/01/11(水) 14:55:41.25 ID:o3aaF5q/0
ディレクティブで囲む(ネストする)っていう動作はAHKにはないよ
#IfWinNotActive と引数なしで書いた場合、「無条件に実行されるホットキー」という意味になるから、
>>498は、4つの条件(最後の一つは意味をなさない)が指定されている事になる
500 [―{}@{}@{}-] 名無しさん@お腹いっぱい。:2012/01/11(水) 15:44:45.56 ID:Qb1Dxh2iP
#〜 はここから先に書いてあるのはこういう設定です、っていう意味でしか無いからな
501名無しさん@お腹いっぱい。:2012/01/11(水) 21:24:19.94 ID:la7jYy8u0
>>498
#IfWinNotActiveの2つと3つ目、書き間違えてるし。
#IfWinActiveって書きたかった。ほんと萎えるわ。
502名無しさん@お腹いっぱい。:2012/01/11(水) 22:11:19.18 ID:1fhfjvxy0
でっていう
503名無しさん@お腹いっぱい。:2012/01/11(水) 23:55:55.04 ID:xohk5bdV0
ディレクティブあたりは出てから相当経ってるし
いいかんじに「枯れてる」はず
#If あたりでコッテリした関数呼ぶときは微妙だが
504名無しさん@お腹いっぱい。:2012/01/12(木) 13:27:12.24 ID:McOZmjHyO
テンキーの+−をvolumeUPDOWNに割り当てたんですが
#IfWinNotActiveでメモ帳とカルクを除外できず音量が変わってしまいます
マルチメディアキーはそうなる仕様でしょうか?
505名無しさん@お腹いっぱい。:2012/01/12(木) 14:57:43.30 ID:e6HxjFhT0
imeのfilenameを文字列として
取り出せると思うのですが現実には空白しか表示されません
>>1のahkのアップローダーにソースを置きました
http://loda.jp/ahk/?id=4
どう修正すればよいでしょうか
506名無しさん@お腹いっぱい。:2012/01/12(木) 17:25:06.58 ID:e6HxjFhT0
>>504
#IfWinNotActiveを使ってメモ帳とカルクを除外できないというのは
具体的にはどう設定しているの?

それか、#IfWinActiveでメモ帳とカルクで
テンキー+と-を改めてsendするようにしたらいいかと
507名無しさん@お腹いっぱい。:2012/01/12(木) 17:56:02.08 ID:FRBRJe/A0
ちょっと質問というか相談

ホットストリングで慣用語句を入力してるんだけど(::@jyusyo::辞書)
いい加減に数が多くなってきたし管理しにくいんで、
Autohotkey.ahkから分離して別ファイルに移動、ついでに語句ももっと増やそうと思うんだ(IME登録用のCSVを流用予定)

で、以下のどれがスマートだろう?(もしくは他に上手な方法ありますか?)


@ホットストリングの状態のまま別ahkに移動して#Include
AINIファイルにして、ホットキー→Inputで入力を横取り、入力されたキー名でIniReadで読みだし、値をクリップボードに送ってペースト
B起動時に全ての語句を格納した配列を作るahkを#Includeして同上


@は登録は楽だけど、読みが重なった場合(辞書と地所)がちょっと面倒
Aは管理・編集は楽。でもいちいちINIファイルを読みに行かなきゃいけない
Bは編集と起動時が大変かもしれないけど、起動後はAよりはマシかも
とかぐちゃぐちゃ考えてみたけど、どれも一長一短
508名無しさん@お腹いっぱい。:2012/01/12(木) 22:17:08.72 ID:XjqjG2K/0
Ini なりcsvなりを.ahkにコンバートしてキックする
スクリプトを作ればいいじゃないかな
509名無しさん@お腹いっぱい。:2012/01/13(金) 03:11:03.69 ID:aZHVGCpkO
>>506 すんません 複数アプリ指定の方法間違ってました…
除外グループ作るんですよね?

#IfWinActiveでメモ帳とカルクでテンキー+と-を改めてsend
↑前に同じような事をやってautohotkeyに怒られました。

ちなみに、それをスクリプト前半じゃなく後半に書いたら作動しました。
どうも複数アプリで同じキーを使い分ける場合はIf elseで、アプリごとにじゃなく
key毎に書いた方が良さそうですね。
510名無しさん@お腹いっぱい。:2012/01/13(金) 18:05:30.00 ID:LEGA+Der0
Xp/Win7のタスクマネージャで表示される、OSの消費している「ハンドル」の値を
AHK上で取得したいのですが、どのような方法が考えられますでしょうか。

タスクマネージャを介在させずOSから直接取得できたらベストなのですが、
この返り値をもらう方法なんて、ありますでしょうか。
511名無しさん@お腹いっぱい。:2012/01/13(金) 19:21:08.22 ID:TUPv4VZl0
run firefox.exe %ADDRESS%
で新しいページを開くとき右端のタブで開かれちゃうんですが
なんとか今あるタブの右隣にいくようになりませんかね?
512名無しさん@お腹いっぱい。:2012/01/13(金) 19:47:29.58 ID:+9GriCYo0
firefoxスレ行け
513名無しさん@お腹いっぱい。:2012/01/13(金) 19:48:57.06 ID:+ebhSmJA0
それはFirefox側(アドオン等)が対応してないと無理じゃないかな。

スレ違いだけど
TabMixPlusというアドオンをインストールしてTab Mix Plus のオプション(設定)を開き
「リンク」タブの「他のアプリケーションから開くリンクは以下の設定を適用」の
「外部から読み込まれたリンクを開く場所」を「新しいタブ」にする。
「イベント」タブの「新しいタブ」の「他のタブを現在のタブの直後に開く」にチェック。
その下の「現在のタブに関連する場合のみ」のチェックを外す。
うちの環境ではこれで現在開いているタブの隣に開くようになった。
これでならない場合はTabMixPlus内の他設定の変更が必要かも。
514名無しさん@お腹いっぱい。:2012/01/13(金) 20:12:42.10 ID:lY8PFXbt0
autohotkeyの入門書はありますか?
どのサイトもマニュアル類ばかりで何から手をつけてよいのかわからず…
515名無しさん@お腹いっぱい。:2012/01/13(金) 20:28:55.31 ID:OctW4P6l0
最初はそのマニュアルとか
現存してる先人スクリプトの模倣で強くなるもんじゃないの?

理屈はわからんけど、とりあえずできた

より細かいニーズができて、ちょっと応用利かないかなと理屈を理解しようとする

ここから少しずつ発展し繰り返す
516名無しさん@お腹いっぱい。:2012/01/13(金) 20:34:28.92 ID:OctW4P6l0
先人 の ね

問題集の答えのようにいきなり答えを一から作るのなんて無理だし
まず丸写しして、その中に書いてある構文は正しいものであるわけだから
構文をひとつずつ分けて、単体でどう動くかをひたすら簡易テストして
構文をひとつずつ確実に自分の使えるものにした まだまだまだまだ未熟だけども
517名無しさん@お腹いっぱい。:2012/01/13(金) 23:11:00.65 ID:aZHVGCpkO
OS独自機能が絡んでないスクリプトもOSによって振る舞いが違うんですね…
7と8で同じスクリプトが同じアプリに違う挙動をしめします
多分7とvistaは同じだろうと思いますが…
518名無しさん@お腹いっぱい。:2012/01/14(土) 13:21:02.07 ID:ZA2QKqK+0
>>517
例を出してほしいな
それとwindows8ってもう入手できるの?
519名無しさん@お腹いっぱい。:2012/01/14(土) 13:23:26.90 ID:NokSOcCp0
>>514
他の言語の経験がないなら
入門書じゃないけど
Cacoo - プログラムを学ぶためのロードマップ
https://cacoo.com/diagrams/KEzduTiEHpW5dTYB
制御構造 - Wikipedia
http://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E6%A7%8B%E9%80%A0
AutoHotkeyJp
http://sites.google.com/site/autohotkeyjp/
>>7 のリンク先

の順に廻ってみるとか
520名無しさん@お腹いっぱい。:2012/01/14(土) 16:02:30.42 ID:ZA2QKqK+0
横レスだが>>519のロードマップは目から鱗だわ
そりゃそうだということだが図式化してしまえばたしかにそうなる
521名無しさん@お腹いっぱい。:2012/01/14(土) 22:10:57.33 ID:vFfHIGnT0
>>518
8はDeveloper Preview版のことじゃないかな?
522名無しさん@お腹いっぱい。:2012/01/15(日) 04:52:53.25 ID:z3a0ZPy40
Fnキーいじれないのはなぜなんかな
邪魔で消したい機能たくさんあるんだけど
523名無しさん@お腹いっぱい。:2012/01/15(日) 05:05:35.19 ID:DmcFBAgX0
BIOSでFnキーの機能を自由に設定できたらいいのになぁ…
524名無しさん@お腹いっぱい。:2012/01/15(日) 10:00:44.25 ID:LBc4FGe70
レス内容見る限りWDP版に手を出していいスキルがあるようには見えんがな
ていうかいつもの誘い受けの独り言の人でしょ
525名無しさん@お腹いっぱい。:2012/01/15(日) 10:01:55.31 ID:LBc4FGe70
リロードしてなかったわ
524は>512へのレス
526名無しさん@お腹いっぱい。:2012/01/15(日) 10:05:56.59 ID:LBc4FGe70
ではなくて>521だった 連投スマン
527名無しさん@お腹いっぱい。:2012/01/15(日) 18:16:22.42 ID:7rj+yHdAO
みんな最初は初心者だったのに段々謙虚さがなくなる…

井の中の蛙
528名無しさん@お腹いっぱい。:2012/01/15(日) 19:47:34.35 ID:EdA15R7L0
対象URI
http://anago.2ch.net/test/read.cgi/software/
NGID
([0-9a-zA-z+/]{8})O
529名無しさん@お腹いっぱい。:2012/01/16(月) 20:32:52.95 ID:kdrK2pK30
>>527
もしやあなたは…全部goto文で組むという、あの伝説のプログラマーですか?
530名無しさん@お腹いっぱい。:2012/01/17(火) 09:13:02.95 ID:4Oz8k8G5O
マリリンモンロー

伝説のグラマー
531名無しさん@お腹いっぱい。:2012/01/17(火) 17:32:21.82 ID:lV9nFMm20
カーソル位置の文字やカーソル位置の一つ前の文字を取得することは
AutoHotkeyでできるでしょうか?
532名無しさん@お腹いっぱい。:2012/01/17(火) 17:42:15.92 ID:9gC9t8K/0
>>531
Send, +{Left}
Send, ^c
Send, {Right}

超力業だけど…
533名無しさん@お腹いっぱい。:2012/01/17(火) 21:26:58.71 ID:a12O7zgS0
ztopはマウス下のコントロールにスクロースを送る機能があり、Firefoxのテキストエリアにも遅れます。
同じ事をしようと、まずAU3_Spy.exeでコントロールを見て見ましたがテキストエリア外とテキストエリア内でコントロール表示が変わりませんでした。

ztopなどはAutoHotkeyとは違うアプローチでもイールイベントを送っているのでしょうか?
また、ztopと同じようなことをAutoHotkeyでもできるでしょうか?
534名無しさん@お腹いっぱい。:2012/01/17(火) 22:11:19.03 ID:leIEDrgGi
最近のFirefox(Moz)は入れ子コントロール無くなったよ
コマンドプロンプトと同じ。だから親窓自体に送る。

まぁ、ループネタだが
535名無しさん@お腹いっぱい。:2012/01/17(火) 22:33:23.58 ID:ZkdRcxn80
>最近のFirefox(Moz)は入れ子コントロール無くなったよ
そのせいでcontrolsendで文字列を送れないことがあるんだよなあ
firefoxを再起動しない限りどうやっても送れない
536名無しさん@お腹いっぱい。:2012/01/18(水) 12:01:15.70 ID:QC107nNx0
MouseGesture.ahk
マウスジェスチャ2なんですが
動作割り当てでマウスのクリックを割り当てるのはどうすればいいの
{Lbutton}とかやってもできない
537名無しさん@お腹いっぱい。:2012/01/18(水) 12:39:10.84 ID:IkTY8i+m0
538名無しさん@お腹いっぱい。:2012/01/18(水) 13:43:20.24 ID:QC107nNx0
>>537
MouseClick,RIGHTで出来ました
本当にありがとう
539名無しさん@お腹いっぱい。:2012/01/19(木) 12:15:12.13 ID:VUlkfRMn0
大量に起動している画像ビューアのタイトルバー文字列を
一度に取得するにはどうするといいですか?
GroupAddやWinGetTitle等のコマンドを調べてみたのですが
一括取得する方法がわかりませんでした
540名無しさん@お腹いっぱい。:2012/01/19(木) 12:34:54.16 ID:3/X+DlxH0
一括取得などというニッチな機能なんぞない
WinGet でマッチするウィンドウID一覧得て
一覧回して WinGetTitle すりゃいい
541539:2012/01/19(木) 23:59:35.21 ID:VUlkfRMn0
>>540
WinGetを使って期待通りの動作ができました
勉強になりました、ありがとうございます!
542名無しさん@お腹いっぱい。:2012/01/20(金) 12:42:27.31 ID:Xy6UoNQ5O
スミマセンautohotkeyをバックグラウンドサービスとしてログイン前に起動ってできますか?
543名無しさん@お腹いっぱい。:2012/01/20(金) 14:47:31.34 ID:2rnK0y920
AHKでインストールされているフォントの情報取得をする場合
どのように処理するのが適切ですか?
とりあえずフォント名(フォントファイル名ではない)だけでも取得できればと
思うんですが、いわゆるフォントダイアログのようなコマンドがなく
どうしたものかと悩んでます
544名無しさん@お腹いっぱい。:2012/01/20(金) 14:56:24.04 ID:2rnK0y920
家ってもしかして、建築したあと向きを変えるとか
建築可能な範囲内でずらすとかできない?
545名無しさん@お腹いっぱい。:2012/01/20(金) 14:56:47.85 ID:2rnK0y920
>>544は誤爆><;;;;
546名無しさん@お腹いっぱい。:2012/01/20(金) 16:18:58.76 ID:d/DUR9Dj0
>>544
引舞
547名無しさん@お腹いっぱい。:2012/01/20(金) 16:30:20.35 ID:QO3cST5+0
>>543
dllcallでChooseFontかEnumFontFamiliesExあたりのAPI関数を呼び出すとか?
548名無しさん@お腹いっぱい。:2012/01/20(金) 18:06:42.61 ID:2rnK0y920
>>547
DllCall試してみましたが、自分には扱えそうにありませんでした
構造体とかコールバックとか何のことやらさっぱり・・・

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
ここにインストール済みのフォント名が値として入ってるらしいので
Loop(レジストリ)を試してみます
549名無しさん@お腹いっぱい。:2012/01/20(金) 19:23:36.44 ID:VtpG/fth0
マウスを高速スクロールさせた際、
#MaxHotkeysPerIntervalの制限にひっかかってしまいます。
現状
#MaxHotkeysPerInterval 300
としていますが、他に良い解決策はないでしょうか?
引っかかるのはホイールスクロールの際のみです。
550名無しさん@お腹いっぱい。:2012/01/20(金) 21:12:25.47 ID:h3Bf58dy0
>>549
ttp//ahk.xrea.jp/commands/_HotkeyInterval.html
551名無しさん@お腹いっぱい。:2012/01/20(金) 21:21:46.11 ID:h3Bf58dy0
おれは
#HotkeyInterval 2000
#MaxHotkeysPerInterval 3000 
にしてる 
フリースクロールじゃ3秒間に2000回とかどうやっても無理だから
552名無しさん@お腹いっぱい。:2012/01/20(金) 21:34:23.31 ID:VtpG/fth0
>>550 >>551
個別に監視タイミングを変更できないかなと思ったのですが、
ありがとうございました。
553名無しさん@お腹いっぱい。:2012/01/20(金) 21:40:45.84 ID:QO3cST5+0
>>551
それだと 2秒間で3000回じゃね?

うちは
#HotkeyInterval 10000
#MaxHotkeysPerInterval 700

何となく最大ホットキー数を増やしたくなかったので時間の方を調整
アクセラレーション入れてるから瞬間ピークは高くなるけど
10秒とか長時間回してることはないし
554名無しさん@お腹いっぱい。:2012/01/20(金) 21:43:52.04 ID:h3Bf58dy0
そだね
同じ数値規模にしておいて片方がミリ単位だからどっちにしろ無理だし〜
って発想だったんだな、当時の俺は
555名無しさん@お腹いっぱい。:2012/01/20(金) 21:49:50.13 ID:h3Bf58dy0
いや違うな
556名無しさん@お腹いっぱい。:2012/01/21(土) 08:56:57.07 ID:yORLKHw30
過疎スレになってもおかしくないのに
数人、もしくは1人のエキスパートが
港のように広い気持ちでどんな質問も受け入れて
無駄のない簡潔で的確な即レスしてくれるおかげで
多くの人がAHKをやめずに済んでいる
良スレの典型
557名無しさん@お腹いっぱい。:2012/01/21(土) 09:52:33.94 ID:qJwUMJvG0
単に需要があるから残ってるだけだと思うんだが。
違うか?
558名無しさん@お腹いっぱい。:2012/01/22(日) 15:19:51.85 ID:j73uhU/s0
tst
559名無しさん@お腹いっぱい。:2012/01/23(月) 15:38:46.74 ID:Lld5gapN0
やりたいことが需要であり、実現する方法が供給になるわけだから
的確なレスってのがAHKみたいなスクリプトツールの場合
初心者には供給なんじゃね
560名無しさん@お腹いっぱい。:2012/01/24(火) 23:37:29.24 ID:Yg8Qz4ON0
-234-123-abc-cdf
の文字列があるとき、
-234や-abcの-[a-z0-9]毎に繰り返して処理するには
どうすればよいでしょうか
loop,parseでは-が消えてしまいます
RegExMatchとwhileを使えばできそうな気はするのですが
書き方がわかりません
561名無しさん@お腹いっぱい。:2012/01/24(火) 23:45:41.17 ID:e42oxBlZ0
普段からcapslock使わない俺は、
capslockの状態がONのときだけホットキーが効くようにしてみたんだが
そうするとキーボード全体まるごとホットキーにできて結構便利だね
今更こんな単純なことに気が付いた
562名無しさん@お腹いっぱい。:2012/01/25(水) 02:21:50.53 ID:c7Nk+DWf0
>>560
-をデリミタにするから消えてしまうんであって、先に「-」を「デリミタ」+「-」に置換すればいいんじゃない?
先頭についたデリミタが邪魔ならそれだけ取ればいいし
563名無しさん@お腹いっぱい。:2012/01/25(水) 17:39:30.48 ID:dNfXhNuY0
LogicoolのN305というテンキーを買いました。
テンキー上部の 「=」「 (」「 )」の3種類のキーは、
エクセル用の特殊キーのようで、ちょっと特殊なコードを吐きます。

たとえば「=」ですが、押すと
Alt(押し下げ)  Num6  Num1  Altl(押し上げ)
という順番にコードを吐きます。

それらキーをリマップしたいと思い、
情報を探してみたところ、AHKフォーラムにあった、
以下のスクリプトが動作しました。
(「=」キーのリマップ例)

!Numpad6::
KeyWait, Numpad6
While GetKeyState("Alt","P")
{
If GetKeyState("Numpad1","P")
{
KeyWait, Numpad1
send,=
Return
}
}
Return

このスクリプトは、ちゃんと動作しました。
ただ、ごくたまに取りこぼしが発生するのですが、
防止する方法はありませんでしょうか?
564名無しさん@お腹いっぱい。:2012/01/25(水) 17:40:28.69 ID:dNfXhNuY0
あと、それとは関係ないのですが、
たいていのテンキーって、Shiftキーを押しながらキーを押すと、
NumLockが解除されたときのような動作(←→↑↓PgUP PgDNなど)をしますが、
吐いているキーコードを調べると、単なるNumとShiftの組み合わせにすぎないようなのですが、
これはアプリ側(というかWinのAPI?)が処理しているという認識で正しいでしょうか?
テキストエディタやアプリのエディットボックスではだいたい動作するのですが、
動作しないアプリもあるので、ちょっと不思議に思っていまして・・・
565名無しさん@お腹いっぱい。:2012/01/25(水) 20:50:33.91 ID:yiSfyOkK0
>>522
過去ログ Part8
http://sites.google.com/site/autohotkeyjp/FileCabinet
の 432-450 辺りを参考にするといいかも
566565:2012/01/25(水) 20:52:08.87 ID:yiSfyOkK0
あ、無効にするのは難しいかも
567名無しさん@お腹いっぱい。:2012/01/25(水) 21:16:36.80 ID:OS8Qmd0U0
>>565-566
昔のを有難うございます



大丈夫です 書いてあること全く理解できなさそうですし
結果は何も変わりません
568名無しさん@お腹いっぱい。:2012/01/26(木) 06:39:24.01 ID:vTlt3hmG0
Shiftを違うキーに割り付けたいのですが、
以下は動作するのですが、
F1をNumpad0にすると動作しないのは何故なのでしょうか?

F1::
SendInput,{shift down}
While GetKeyState("F1","P")
{
Sleep,1
}
SendInput,{shift up}
Return
569名無しさん@お腹いっぱい。:2012/01/26(木) 19:28:28.24 ID:LtFLKm540
>>563
こんな感じで使ってる。

<!Numpad6::
  Input, UserInput, T0.1, {Numpad1}
  if (ErrorLevel = "EndKey:Numpad1") {
    KeyWait, LAlt, T0.1
    Send, =
  }
  return

<!Numpad4::
  Input, UserInput, T0.1, {Numpad0}{Numpad1}
  if (ErrorLevel = "EndKey:Numpad0") {
    KeyWait, LAlt, T0.1
    Send, (
  } else if (ErrorLevel = "EndKey:Numpad1") {
    KeyWait, LAlt, T0.1
    Send, )
  }
  return
570名無しさん@お腹いっぱい。:2012/01/27(金) 01:35:44.11 ID:QYzQr2hA0
>>569
ありがとう!
こっちの方が断然取りこぼしが少なくていいですね。
とても勉強になりました。
571名無しさん@お腹いっぱい。:2012/01/27(金) 20:29:18.73 ID:LBYel2Rw0
ブラウザ上のURLを読み取って文字列を検知するって方法あります?
特定のページでだけ機能させるようにしたいのですが?
572名無しさん@お腹いっぱい。:2012/01/28(土) 15:03:40.61 ID:TnEg869w0
>>571
Ctrl+Lでアドレスバーのurlをコピーすれば
文字列検知できるんじゃないかね
573名無しさん@お腹いっぱい。:2012/01/29(日) 16:41:14.50 ID:IGgnMUt80
MouseGestureを使っているのですが
マウスの中ボタンだけMouseGestureを通さずに
普通に動かすことってできないですか?
もしくは忠実に再現させる方法ってあるんでしょうか?

何がしたいかというと
AutoCADでジェスチャー有効にしつつ中ボタンドラッグでパンしたいんですが・・・
574名無しさん@お腹いっぱい。:2012/01/29(日) 18:05:46.66 ID:/vM2Eq7Z0
ホイール付きマウス使っていないからわからんけど、ジェスチャ定義に

MB_

を作成し、動作割り当てを↓にしたらダメなのかな?

MG_Abort()
send, {mbutton down}
keywait, mbutton
send, {mbutton up}
575名無しさん@お腹いっぱい。:2012/01/29(日) 18:58:10.14 ID:IGgnMUt80
>>574
できました!
ありがとうございますm(__)m
これで本格的にAutoCADでAHK運用できそうです
しかしAutoCADもAHKも勉強すること大杉です・・・
576名無しさん@お腹いっぱい。:2012/01/29(日) 19:47:06.80 ID:vFfHIGnT0
F2キーって短時間に押しまくるとリネーム機能停止するんだね
力技で一斉リネーム作ったんだけど、なんかうまくいかない・・・

x::
Send,{right}

Loop,420
{
Send,{F2}
Sleep,10
Send,^c
Sleep,10
Send,{Enter}

if Clipboard in 1

break
577名無しさん@お腹いっぱい。:2012/01/29(日) 19:47:29.88 ID:vFfHIGnT0
Send,{left}
Send,{F2}
Sleep,10
Send,^c
Sleep,10
Send,{Enter}
Send,{right}

EnvAdd, Clipboard, 1

Var+=1

Send,{F2}
Sleep,10
Send,^v
Send,{Enter}
Send,{right}

}
Loop

return
578名無しさん@お腹いっぱい。:2012/01/29(日) 19:52:10.61 ID:vFfHIGnT0
あれ右クリックでもリネームできない・・・

見てもらえば理屈はわかると思うんですけど
ループして1に戻ったらブレイクしたいんですけど
そこが機能しないんです どうしたらいいでしょう?
579名無しさん@お腹いっぱい。:2012/01/29(日) 20:58:34.60 ID:/vM2Eq7Z0
>>576-578
1つ目のファイル名を変数に代入しておき
2つ目以降はそのファイル名と一致するならBreakするとか。

それはおいといて、ファイルリネームするなら
Loop (ファイル検索) と FileMove
http://sites.google.com/site/autohotkeyjp/reference/commands/LoopFile
http://sites.google.com/site/autohotkeyjp/reference/commands/FileMove
を使ったほうが早くて簡単じゃないかと。
580名無しさん@お腹いっぱい。:2012/01/30(月) 00:41:20.34 ID:XP3u5kji0
初心者です。
ブラゲーのマクロを作っています。
ウィンドウアクティブ状態の時は動作させることができました。
ただアクティブ状態での動作中は何もできなくなるので、これをバックグラウンドで動作させたいと思っています。
ブラウザが後ろにあるときでも、ブラウザ(Flash)の操作はできるでしょうか?
操作というのはマウスの左クリックをポチポチやるだけです・・・
できるならどのように記述すればいいんでしょうか?
回答よろしくお願いします。
581名無しさん@お腹いっぱい。:2012/01/30(月) 18:59:18.43 ID:gtXE0ZNj0
>>579
どうもです 

FileMove, C:\前の名前.txt, C:\後の名前.txt
だとリネーム前の名前固定にならないですか?
前の名前がなんでも動くように設定できるんですか?
582名無しさん@お腹いっぱい。:2012/01/30(月) 19:31:19.96 ID:Zof1OuLa0
>>581
まずはサンプルを動かすことから始めたら如何でしょうか。

Loop (ファイル検索) と FileMove
http://sites.google.com/site/autohotkeyjp/reference/commands/LoopFile
の1つ目のサンプルを動かしてみれば任意のファイル名を連続して取得出来ることが解ります。
583名無しさん@お腹いっぱい。:2012/01/30(月) 20:00:13.38 ID:iIaxaH9+0
>>582
>>580については回答いただけませんか?
ContorolSend使ってバックグラウンドにある状態でF5投げたらChromeのブラウザ更新はできました。
でもマウスの左クリックはできません。
ブラウザ上をぽちぽちする方法を教えてくださいませ。
584名無しさん@お腹いっぱい。:2012/01/30(月) 20:18:35.87 ID:gtXE0ZNj0
>>582
ちょっと理解が及ばないですねぇ
時間かけてやってみます 有難うございました
585名無しさん@お腹いっぱい。:2012/01/30(月) 20:35:58.67 ID:4IqaIwTF0
なんだよこの流れ
586名無しさん@お腹いっぱい。:2012/01/30(月) 21:42:28.84 ID:fj4S1DSb0
たぶんいつもの日記の人

>>583
ControlClickじゃあかんの?
587名無しさん@お腹いっぱい。:2012/01/30(月) 21:55:09.38 ID:WhC1NWz60
あいてすんなよ
588名無しさん@お腹いっぱい。:2012/01/30(月) 22:01:19.87 ID:iIaxaH9+0
>>586
おおおおおおおおおおおおおおおおおおおおおお
一歩前進した、ありがとおおおおおおおおおおおおおおおおおおおおお

でも、今度はクリックしたら強制的にアクティブになっちゃうんだ
後ろにいたままってできますか?
589名無しさん@お腹いっぱい。:2012/01/30(月) 22:06:52.38 ID:iIaxaH9+0
毎回WinHideするしかないのかな
590名無しさん@お腹いっぱい。:2012/01/30(月) 22:11:54.17 ID:iIaxaH9+0
だめだ、WinHideするとコマンドがきかない
591名無しさん@お腹いっぱい。:2012/01/30(月) 22:24:13.83 ID:iIaxaH9+0
WinSetでbottomにすることで解決しました。
気づきを与えてくださった>>586さんには感謝します。

>>587
オマエは地獄に堕ちろばーか
592名無しさん@お腹いっぱい。:2012/01/30(月) 22:34:35.71 ID:8W4A8X+r0
低能にふさわしい捨て台詞だな
593名無しさん@お腹いっぱい。:2012/01/30(月) 22:55:46.19 ID:8svi1Tjb0
スレタイかテンプレの>>1の最初に馬鹿避けのおまじないが必要だろうな
594名無しさん@お腹いっぱい。:2012/01/31(火) 03:19:43.90 ID:U1FvCbGB0
>>587
おまえみたいなやつが一番クズ。しねよ
595580:2012/01/31(火) 05:56:08.65 ID:fid+0reb0
>>591で解決したつもりになっていましたが、一瞬ブラウザが現れるというめんどくさい問題が発生しました。
マクロを動かしてる時はブラウザを使うことはないので、マクロ作動中はJaneを常に最前面にしておくことで対処しました。
これで何かと捗りそうです。ありがとうございました。
596名無しさん@お腹いっぱい。:2012/01/31(火) 09:25:58.02 ID:nU/BAkRH0
質問用のテンプレでも作るか?
597名無しさん@お腹いっぱい。:2012/01/31(火) 09:44:32.21 ID:JU69xA4E0
>>596
この手の輩がテンプレを読むとでも思ってるの?
598586:2012/01/31(火) 10:42:40.67 ID:zJuz1gzv0
スマン心底反省した
先出のリネームの人のほうがヤバげに見えたんだがな
599名無しさん@お腹いっぱい。:2012/02/01(水) 16:25:15.07 ID:AcmzQax90
タスクバーに表示させたAHK実行ファイルのアイコンてどこで変えるの?
600名無しさん@お腹いっぱい。:2012/02/01(水) 16:58:21.97 ID:0Qzyhh+M0
>>599 Menu, tray, Icon, FileName , IconNumber, Freeze
で設定出来た。
601名無しさん@お腹いっぱい。:2012/02/01(水) 17:13:55.56 ID:pxtU7b730
>>600
すまんタスクトレイアイコンでなくて、
エクスプローラーの右クリック>タスクバーに表示するってやつで表示したボタンのアイコンのこと
602名無しさん@お腹いっぱい。:2012/02/01(水) 18:48:35.42 ID:0Qzyhh+M0
もしかして osは7? 手元のはvistaなのでよく解らないが ↓でどう
ttp://pasofaq.jp/windows/taskbar/taskbariconchange.htm
603名無しさん@お腹いっぱい。:2012/02/01(水) 21:04:39.84 ID:Ae8lzqY40
すっかりネタスレになったな
604名無しさん@お腹いっぱい。:2012/02/01(水) 22:01:30.45 ID:0gEAgca80
>>602
ありがとう
適当にリソース変えたら出来たけど
そのショートカットのアイコンを変える方法でもいいね
スクリプトで変えるとなると面倒そうだな
605名無しさん@お腹いっぱい。:2012/02/02(木) 13:12:47.48 ID:fHAPdO+I0
`;::Return

;キーをリターンキーに割り当てようとしたんだけど
コレだと、;キーが無効になってしまう。

どう書けばいいの?
606名無しさん@お腹いっぱい。:2012/02/02(木) 13:17:45.32 ID:ar85Xx8q0
607名無しさん@お腹いっぱい。:2012/02/02(木) 13:34:17.15 ID:O6Kd+VLl0
俺のキーボードにはReturnなんて書いてない
608名無しさん@お腹いっぱい。:2012/02/02(木) 14:32:01.50 ID:zTz4iwLb0
面白くもなんともないネタなんだからほっとけばいい
609名無しさん@お腹いっぱい。:2012/02/02(木) 15:59:29.96 ID:3sVtuXBZ0
NEC世代の団塊はマジ糞だなw
610名無しさん@お腹いっぱい。:2012/02/02(木) 16:42:16.88 ID:WrbyUFT+0
家のPCにはCRと書いてある
611名無しさん@お腹いっぱい。:2012/02/02(木) 18:15:46.92 ID:/OBNdORI0
調べたけど そういうことか
リターンキーなんて知らなかった
612名無しさん@お腹いっぱい。:2012/02/02(木) 22:53:14.45 ID:vU8m3IlY0
Enterの下に改行マークが描かれてるからRetrunキーと呼んでもいいことにしてる。俺の中では。
613名無しさん@お腹いっぱい。:2012/02/02(木) 22:57:32.21 ID:9thaT/pq0
そんなマークなかった
614名無しさん@お腹いっぱい。:2012/02/04(土) 06:00:56.67 ID:YZnMfn/00
PSO2でMouseGesture.ahkを無効にしたいんだが、上手くいかない。
nPro使ってるから入力補助で指定じゃダメなのかな?
615名無しさん@お腹いっぱい。:2012/02/04(土) 11:15:22.57 ID:fRo7asoa0
ここは日記じゃないぞ
知りたいなら最低限こうやったけどできなかったくらい書けよ
616名無しさん@お腹いっぱい。:2012/02/04(土) 12:42:08.72 ID:gey8zdfui
nProで制約かけてるくらいならLLフックでうごくAHKじゃ
対抗できないんじゃないかね

LLフックとは別系統で入力を得るDirectInput使ってるとだろうし
617名無しさん@お腹いっぱい。:2012/02/04(土) 13:21:08.04 ID:Jhx7x0VH0
ClassNNの「NN」って何の略ですか?
618名無しさん@お腹いっぱい。:2012/02/04(土) 19:13:34.21 ID:3Jamumuq0
大喜利大会開始
619名無しさん@お腹いっぱい。:2012/02/05(日) 09:22:16.58 ID:2QwqU5cZ0
>>617
the classname and instance number of the control
620名無しさん@お腹いっぱい。:2012/02/05(日) 09:33:22.90 ID:mRijBBn80
ありがとう。nameとnumberって事か
621名無しさん@お腹いっぱい。:2012/02/07(火) 14:46:35.06 ID:FQ4vlJ1F0
autohotkeyからデータベースのフリーソフトを扱う例はどこかにあるでしょうか?
データベースへの登録や検索をどうするのかよくわかりません
autohotkey単独でどうにかできればよいかと思ったのですが
データが100,000を超えるのでデータベースを利用したいと思いました
622名無しさん@お腹いっぱい。:2012/02/07(火) 16:03:48.25 ID:O1n8bowc0
その発想はなかった。。。
623名無しさん@お腹いっぱい。:2012/02/07(火) 17:12:09.86 ID:y+jA11L90
同じようなことを考えてggったらAHKからSQLite扱う例を見つけて
フォーラムに別に詳しい奴があるからっつーからフォーラムでも検索かけて
そのどちらを見ても手に負えなさそうだから諦めた俺がいる
624名無しさん@お腹いっぱい。:2012/02/07(火) 18:37:20.67 ID:akRMXeNO0
WInAPI使えるんだから出来るんじゃねーの
625621:2012/02/07(火) 19:54:56.95 ID:FQ4vlJ1F0
説明不足でした すいません
データベースを使うというのは>>623のいうようにsqliteのようなものを使って
ahkで処理したデータを追加したり検索したりするということです
データベースソフトのguiをいじってデータをコピペしたりフォーカスを移動する
という訳ではありません
626名無しさん@お腹いっぱい。:2012/02/07(火) 21:00:26.06 ID:zjBdQq2H0
PSSという単語を覚えるアプリケーションがCtrl+F8にある機能が割りふられているんだけど
autohotkey側でCtrl+F8設定してきちんと動いているんだけど
PSSだけはF8としか認識してくれない。
なんでだ?
627名無しさん@お腹いっぱい。:2012/02/07(火) 22:44:11.13 ID:pWipCDTF0
>>625
Sqliteならライブラリ転がってる
文字列でSQLやDML発行すんのは変わらない。
結果表をぐるぐる回すことになるんで、コールバック関数使った方がいいと思われ

ただ、ahkだけで完結しようと思うと死ねるんで、
DBのコマンドラインツール使う方が楽なこともある
( sqlite3.exe psql.exe sqlplus.exe 等)
標準入出力をパイプで繋いでどうにかなるなら、
Ahkからはパラメタだけ埋め込んでやればいいし
628名無しさん@お腹いっぱい。:2012/02/08(水) 03:32:17.11 ID:YXUKvf1x0
WSHとかシェルプロンプトとあわせて使えば楽勝なんじゃないの
629名無しさん@お腹いっぱい。:2012/02/09(木) 08:21:04.66 ID:nY1ykUQB0
次のようなことをするにはどうすればいいかわかりますでしょうか?
マウス右ボタンを押しながらマウスホイールを上に回すと
Ctrlキーとマイナスキーが押される。
~RButton & wheelup::send,^{-}
これだと右ボタンを離した時にメニューが出てしまいますが
メニューを出さないようにしたいのです。
右ボタンが押されなかったことにする処理とかできますか?
630名無しさん@お腹いっぱい。:2012/02/09(木) 10:34:32.39 ID:0AL923Cf0
右クリ殺してもいいならできる
大概面倒だから esc送っとけ
631名無しさん@お腹いっぱい。:2012/02/09(木) 12:26:01.08 ID:ElEqCoSHi
前スレ61-を見れ
632名無しさん@お腹いっぱい。:2012/02/09(木) 14:37:15.12 ID:uiz7TqNh0
なんでこれテンプレから消えたの?

>■ マウス関連

>Q1:「RButton & WheelDown::〜」とやったら右ボタンが使えないし、
>   「~RButton & WHeelDown::〜」とやったらメニューがでてうざい。
>A1:決定的な解決策はないけど、メニューが出たら消すって方法なら↓。
>  ~RButton & WheelUp::
>   Send, +^{Tab}
>   SetTimer, CancelRMenu, -1
>   Return
>  ~RButton & WheelDown::
>   Send, ^{Tab}
>   SetTimer, CancelRMenu, -1
>   Return
>  CancelRMenu:
>   KeyWait, RButton
>   SetTitleMatchMode, RegEx
>   WinWait, ahk_class #32768|MozillaDropShadowWindowClass,,0.5
>   If (!ErrorLevel)
>    Send, {ALt}
>   Return

>Q2::キーリマップを使うとキー押下中に連打するけど、マウスボタンの場合は連打しない・・・
>A2::マウスはキーリピートしないので、Loopなどを使って自前でリピートさせてください。
633629:2012/02/09(木) 19:56:14.57 ID:nY1ykUQB0
>630-632
ありがとうございます。
とりあえずメニューが出にくいのを作ってみましたが未完成です。
~RButton & wheelup::
KeyWait, wheelup, D
send,^{-}
KeyWait, RButton, U, 1
send,{alt}{RButton, U}{alt up}
return
続く
634629:2012/02/09(木) 20:08:10.85 ID:nY1ykUQB0
続き
右ボタンを押しっぱなしの状態でホイールを連続して回して
Ctrlキーとマイナスキーを何度も送りたいのですが
これだと右ボタンを押しっぱなしの状態でホイールを一回回して
右ボタンを離してまた右ボタンを押してホイールを一回回すという
ことをしなければなりません。
IFとかKeywaitとかでできますでしょうか?
635名無しさん@お腹いっぱい。:2012/02/09(木) 21:12:06.11 ID:uiz7TqNh0
>>634
>>632は自分も使っている。WinXP&7で要望の動作は問題なく使えている
636629:2012/02/09(木) 22:22:02.84 ID:nY1ykUQB0
>635
ありがとうございます。試行錯誤してメニューも出ないのを作りました。
式の意味は全然わかりませんが(笑)
~RButton & WheelUp::
Send, ^{-}
SetTimer, CancelRMenu, -1
Return
~RButton & WheelDown::
Send, ^{+}
SetTimer, CancelRMenu, -1
Return
CancelRMenu:
KeyWait, RButton
Send, {alt}{RButton, U}{alt up}
Return
637名無しさん@お腹いっぱい。:2012/02/10(金) 00:30:54.09 ID:1pOtYM+M0
GUIのEdit(またはText)の数値を、UpDownではなくSlidbarで増減させたいんですが方法ないでしょうか?
Slidbarを使ってEditの変数を変更するところまではできたんですが、
その変更された値をGUIに反映するのがどうしてもできません

Gui, Add, Text, , %sss%
Gui, Add, Edit, VsssA x+10 yp-4 Limit3, %sss%
Gui, Add, Slider, VsssB GReho x+10 yp-4 Range0-255 Line10 NoTicks ToolTip, %sss%
Gui, Show, XCenter YCenter W250 H100, %A_ScriptName%
Return

Reho:
sssA := sssB
sss := sssA
MsgBox, %sss%
MsgBox, %sssA%
;Gui, Submit
Gui, Submit, NoHide
Sleep, 1000
Gui, Show, XCenter YCenter W250 H100, %A_ScriptName% ;←この時点でsssAの値が表示されてほしい
Return

SubMitの前後でGUIをいったんDestroyで破棄して最初から作り直せばできないことはないみたいなんですけど
できれば一度作ったGUIはそのままで値だけ反映させたいんです
どなたか方法ご存知ないでしょうか
638名無しさん@お腹いっぱい。:2012/02/10(金) 00:59:56.29 ID:R67GqKJ40
よくわからんが
Reho:
GuiControl,, sssA, %sssB%
Return
こういうことがしたいの?
639名無しさん@お腹いっぱい。:2012/02/10(金) 03:56:43.02 ID:Fu64P5w60
>>636
あまり口出しするのもどうかと思うけど、別段こだわりがないなら>>632をそのまま使ったほうがいい
たまにメニューが消えなかったりメニュー外にもAltとかSendされたりするぞそれじゃ



ところで住人の方にちょいと質問させてほしい。トレイアイコンをAHKで操作する方法について
流行らせるページで拾ったスクリプトがXPからWin7に変えた途端効かなくなり、直そうと思っても64bitのアプリがメモリのどこにデータ格納しているのかわからずご教示願いたい

; トレイアイコンの情報を取得する(※idxはトレイアイコンの番号)
_Tray_GetInfo(idx,ByRef hwnd,ByRef uid,ByRef msg,ByRef hicon)
{
WinGet,pid,pid,ahk_class Shell_TrayWnd
hp:=DllCall("OpenProcess",UInt,0x001F0FFF,UInt,0,UInt,pid,UInt)
lpTB:=DllCall("VirtualAllocEx",UInt,hp,UInt,0,UInt,20,UInt,0x1000,UInt,0x4,UInt)
SendMessage,0x417,% idx-1,%lpTB%,ToolbarWindow321,ahk_class Shell_TrayWnd ; ←ここまではプロセスのハンドルもテーブル(?)も取得できている

DllCall("ReadProcessMemory",UInt,hp,UInt,lpTB+12,UIntP,dwData,UInt,4,UInt,0) ; ←こっから全部読み出し失敗。UIntをUPtrにしてもダメ。「0」しか返ってこない
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData ,UIntP,hwnd,UInt,4,UInt,0) ; ←dwDataが0だから当然失敗。結果全部「0」が返る
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData+4,UIntP,uid ,UInt,4,UInt,0)
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData+8,UIntP,msg ,UInt,4,UInt,0)
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData+20,UIntP,hicon ,UInt,4,UInt,0)

DllCall("VirtualFreeEx", UInt,lpTB, UInt,0, UInt,0x8000)
DllCall("psapi\CloseProcess",UInt,hp)
}
640名無しさん@お腹いっぱい。:2012/02/10(金) 03:57:29.29 ID:Fu64P5w60
↑こんな感じで詰まってる。多分探してるデータが64bitの場合ここ(lpTB+12)じゃない場所に置いてるんじゃないかと
(XPの時もなぜここに情報が格納されているのかまったく知らず使ってた)
どう修正すればいいか知ってる人いたら伝授お願い @AHK_L Unicode on Win7 64bit SP1、UTF-8
641名無しさん@お腹いっぱい。:2012/02/10(金) 07:54:42.52 ID:EgybbezB0
ホットストリングというのは、リマップしたキーの入力だと機能しないんでしょうか?
642名無しさん@お腹いっぱい。:2012/02/10(金) 16:55:22.62 ID:LNyv5nfy0
スレッドの管理をしたいのですが、どうやったら良いですか?

ホットキーでいくつかのスレッドが立ち上がった場合に、
前に立ち上がっていたスレッドを即座に終了させたいのですが。
643名無しさん@お腹いっぱい。:2012/02/10(金) 17:00:20.44 ID:LNyv5nfy0
スレッドに起動チェックルーチン入れるしかないのでしょうかね?
644名無しさん@お腹いっぱい。:2012/02/10(金) 18:35:25.75 ID:dnVH3Hy+0
Win7Pro64bitでWheelRedirectの挙動がいろいろおかしい…
スクリプトを有効にするとV2C, Firefoxがアクティブであってもなくても全くホイールスクロールしなくなります。
今のところ手持ちのアプリの中で問題が出たのは2つだけのようです。

>>65さんはどんな修正をしたんですか?
単純にPostをSendに変えてみただけだと状況は特に変わりませんでした。
645名無しさん@お腹いっぱい。:2012/02/10(金) 22:33:29.20 ID:Fl2Glc9W0
これもいい加減FAQだなあ



686 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/07/26(火) 09:38:26.23 ID:16Y0QPvH0 (参2)
mozillaとかのマルチプラットフォーム系のアプリは独自UIで制御してるのか
マウス直下のctrlに投げるだけじゃうまく動かない場合が多い
ctrl抽出とスクロール制御は↓この辺りが参考になると思う

TrackWheel
http://sites.google.com/site/agkh6mze/trackwheel
WheelScroll.ahk
http://www6.atwiki.jp/eamat/pub/MyScript/WheelScroll20090722.zip


> XX hotkeys have been received in the last XXXXms.
高速ホイール対応のマウスだとHotkey割込みが半端無く発生するのでそのせいと思われる
#HotkeyInterval と #MaxHotkeysPerInterval の値を調整する
最適値は環境依存で変わりそうだがググれば例は出てくると思う
646名無しさん@お腹いっぱい。:2012/02/12(日) 09:50:12.00 ID:SPH/k1BA0
>>638
まさにそれです!
SlidbarのAltSubmitオプションとの組み合わせで希望通りの動作になりました
ありがとうございました
647名無しさん@お腹いっぱい。:2012/02/12(日) 13:02:14.14 ID:RV/T56B50
ifの記述がめちゃうざいな
648名無しさん@お腹いっぱい。:2012/02/12(日) 18:52:53.01 ID:BEfaqSvc0
無変換+何かのホットキーを設定してると
fenrirの呼び出しキー無変換が利かなくなってしまいます
これはどうにか出来ませんか
649名無しさん@お腹いっぱい。:2012/02/12(日) 19:04:04.62 ID:Yx8PEqdc0
~ つけろ
650648:2012/02/12(日) 19:09:34.88 ID:BEfaqSvc0
>>649
ありがとうございます、設定出来るようになりました
細かいことですが、一瞬fenrirが表示されるのは仕方ないのかな
651名無しさん@お腹いっぱい。:2012/02/12(日) 19:27:34.37 ID:twJXMOL20
無変換キーアップでfenrir呼び出しにすればいいじゃん
652名無しさん@お腹いっぱい。:2012/02/12(日) 22:21:42.21 ID:SPH2veJg0
無変換キーアップを待つぐらいなら無変換+CapsLockのほうが、
まだ出が早いぞ。A_TickCountで差分の時間とってみ?

こっちもfenrirに当てているが。
653名無しさん@お腹いっぱい。:2012/02/12(日) 23:04:07.53 ID:twJXMOL20
正直大差ないだろ

キーの押し下げ時間が長いわけじゃあるまいし
654名無しさん@お腹いっぱい。:2012/02/12(日) 23:56:49.69 ID:/75tocvE0
>>639
過去スレでx64用にトレイ関連ライブラリ改変 とか見たような
AutoHotkey スレッド part10
 859-861,749,752,755,757,762-765
AutoHotkey スレッド part12
 29,568-571
という訳で情報提供だけで失礼
構造体とポインタ
http://sites.google.com/site/autohotkeyjp/reference/AutoHotkey_L/Compatibility#TOC-3
共有メモリ
http://sites.google.com/site/agkh6mze/howto/dllcall#TOC-10
利用するAPI
http://sites.google.com/site/agkh6mze/howto/dllcall#TOC-API
655名無しさん@お腹いっぱい。:2012/02/13(月) 13:21:49.39 ID:l9qN9nOT0
キタ━━━━(゚∀゚)━━━━ッ!!

マウ筋
http://www.softnavi.com/review/mouse/mausuji_1.html

マウ筋 備考

 マウ筋は長らく開発が停滞していますが64ビット版も含むWindows 7に対応したマウ筋Liteがhideのひだまりな日々で開発されています。
656名無しさん@お腹いっぱい。:2012/02/13(月) 18:05:35.65 ID:zhszO+7f0
emacsのkey-chord.elのようなものをautohotkeyで作れますか?
657460:2012/02/13(月) 20:06:55.38 ID:v+AV1GX60
ttp://loda.jp/ahk/ 3月31日で終了するけど、何かきたこれ。

 ○Ver.1.01 2012/02/12
 ・64bit環境でカスタム条件式のカーソル判別、および矢印ナビが機能する
  よう修正

 ・矢印ナビ更新間隔の設定追加
  ⇒ MG_ExNaviInterval の値で更新間隔を変更できます(ミリ秒単位)
    ※数値が小さいほど滑らかになりますが、CPU負荷は増大します

 ・矢印ナビ残存表示時間の設定追加
  ⇒ MG_ExNaviPersist の値で残存表示時間を設定できます(ミリ秒単位)

 ・矢印ナビの背景透過指定の方法を変更
  ⇒ MG_ExNaviTransBG=1 で背景が透明になります。その際 MG_ExNaviBG
    に文字色と近い色を指定すれば、フォントにアンチエイリアスが掛か
    る環境でも、矢印境界の色が目立たなくなります

 ・矢印ナビの設定変更方法を分かり易くするため、MG_User.ahk のテンプ
  レート内に、矢印ナビ関連のパラメータ初期化処理を追加
 by 42
658名無しさん@お腹いっぱい。:2012/02/14(火) 00:17:04.65 ID:c5y0YRz70
>>654
thx. アドレスを色々いじってやっと動いた。
テーブルのアドレスが8の倍数でないとダメってのと、構造体のうちhwndとhiconが8バイトに置き換わってるというのがヒントになった

DllCall("ReadProcessMemory",UInt,hp,UInt,lpTB+16, UIntP,dwData,UInt,4,UInt,0) ; ← lpTB+12だったのを+16に置換。はっきり言ってこんなの気づかないと思う
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData , UIntP,hwnd, UInt,8,UInt,0) ; ← hwndはポインタだから8バイト。ptrじゃなくてもUIntのままで動いた
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData+8, UIntP,uid , UInt,4,UInt,0) ; ← dwData+4から+8に。hwndが4バイト増えたから4つずらした
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData+12,UIntP,msg , UInt,4,UInt,0) ; ← 同じく読みこみ開始アドレスを4バイトずらす
DllCall("ReadProcessMemory",UInt,hp,UInt,dwData+24,UIntP,hicon ,UInt,8,UInt,0) ; ← 同じくずらしてる。hiconは取得しなくても問題の操作は動くから、これで合ってるか自信ない

以上、32bitスクリプトからの変更箇所。この5行だけ置き換えると動く。
参考になれば。

>>644
特定のウィンドウだけ回避して送るようにすればいい
以下、回避例。MouseGetPosの直後に挿入すると動く。*WheelUpの時も同様にするといい

WinGetClass, Class, ahk_id %hwnd%
If (Class = "MozillaWindowClass") {
 IfWinActive, ahk_class MozillaWindowClass
  Send, {WheelDown}
 Else
  ControlSend, , {Down 2}, ahk_class MozillaWindowClass
 return
}
659名無しさん@お腹いっぱい。:2012/02/14(火) 21:35:28.99 ID:pnhMOCYI0
GUIのボタンの文字色って変えられない?

斜体や太字にはできるんだが文字色だけどうにもならない
テキスト入力欄の文字は色も字体も変えられる
660名無しさん@お腹いっぱい。:2012/02/14(火) 22:39:31.54 ID:Wu+DqtR80
v1.1.06
1) #InputLevel と SendLevel の追加:
AHKが発行したキー・マウスイベントが別ホットキーのトリガとなれるかどうかを制御

2) GUIコンポーネント Link 追加:
クリッカブルリンクをもつテキストラベルを生成
ハイパーリンク以外にGUIイベントをコールすることも可

その他はバグフィックス等


1) は結構いいかも
デフォルトでリマップしてる人には朗報か
661名無しさん@お腹いっぱい。:2012/02/14(火) 23:09:10.34 ID:c5y0YRz70
>>659
プッシュボタンコントロールの背景色/フォント変更
ttp://www50.tok2.com/home2/StillGreen/knowledge/program/backcolor.htm

>・WM_CTLCOLORBTNでは対応できない
>・オーナードローする方法が一般的

とのこと。ボタンを自分で再描画しないと無理っぽい。(※超面倒)
参考になれば。
662名無しさん@お腹いっぱい。:2012/02/15(水) 09:07:06.74 ID:H3bNMjpP0
>>661
thx。読んでみる

あと今本家のドキュメント見てたら
Note: Buttons do not obey custom colors.ってふつうに書いてあったわorz
663名無しさん@お腹いっぱい。:2012/02/15(水) 13:33:22.98 ID:V+AyKIkR0
Window7の電源管理機能がうまく機能しないので、AHKで70秒間何もしなければモニターの電源を落とし、一時間何もしなければPCを休止状態にし、
復帰させた時にまた休止状態に移行しないようにAHKスクリプトを停止する、という動作をさせたいのですが、

アイドル時間が70秒以上一時間以下ならモニタ電源を落とす
アイドル時間が一時間以上なら休止状態にする

という動作判定をさせるにはどうスクリプトを記述すればいいんでしょうか?
以下試してみたスクリプトですが、一時間以上のif判定が優先されてしまって70秒以上のif判定が機能しません。


If A_TimeIdlePhysical >70000
{
if flag<>1
SendMessage 0x112, 0xF17, 2, , Program Manager
flag=1
}
}else{
flag=0
}
return

If A_TimeIdlePhysical >3600000
{
if flag<>1
{
DllCall( "PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
flag=1
ExitApp
}else{
flag=0
}
664名無しさん@お腹いっぱい。:2012/02/15(水) 14:03:52.55 ID:fYWMYPPZ0
>>663
If A_TimeIdlePhysical > 70000
{
 If A_TimeIdlePhysical > 3600000
 {
  ; 1時間以上の処理
 }
 Else
 {
  ; 70秒以上の処理
 }
}
665名無しさん@お腹いっぱい。:2012/02/15(水) 14:24:40.62 ID:3Cpg1NTz0
いまいちflagの効果が分からんが…
コピペミスかもしらんが、663の例では
70秒、一時間両方とも { } の数が合ってない
ifをネストして使うならカッコが対応してるかは要確認
666名無しさん@お腹いっぱい。:2012/02/15(水) 15:13:30.22 ID:kNVKzZFW0
>>659
試してないけど>>215これでできんかね?
667名無しさん@お腹いっぱい。:2012/02/15(水) 15:42:16.45 ID:V+AyKIkR0
>>664
レスどうもです。ちょっといじってみます。
>>665
コピペミスです。すいません。
フラグは必要無いですかね?
このページにある何も操作をしていないときに実行、のサンプルをいじってみたんですが。
https://sites.google.com/site/autohotkeyjp/reference/Examples
668名無しさん@お腹いっぱい。:2012/02/15(水) 15:46:04.54 ID:V+AyKIkR0
フラグを抜いて実際に使いたい形に近づけてスクリプトを書いてみましたが、このままだと五秒間のメッセージボックスが表示されるとスクリプトが止まってしまいます。
どうやったら十秒間のメッセージボックスを表示させられますかね?

#Persistent
SetTimer,OnTimer,1000
return

OnTimer:
CoordMode, ToolTip, Screen
ToolTip, %A_TimeIdlePhysical%,

If A_TimeIdlePhysical > 5000
{
If A_TimeIdlePhysical > 10000
{

msgbox 10秒間

}

Else
{

msgbox 5秒間

}
}
return
669名無しさん@お腹いっぱい。:2012/02/15(水) 16:28:14.25 ID:oCNr8Eec0
表示用に別スクリプトを呼ぶのはどうでしょうか
670名無しさん@お腹いっぱい。:2012/02/15(水) 16:50:00.72 ID:V+AyKIkR0
>>669
それしかないですかね?
一つのスクリプトでA_TimeIdlePhysicalの判別は一つまでという感じなんですかね?

いま時間指定スクリプトを五秒と十秒別々に起動してためしましたがうまくいきました。
あとメモリ消費を抑えられるし、管理がしやすいので#includeで本体のスクリプトに五秒用と十秒用両方読み込ませて使ってみたんですが
こっちだと先に発動するスクリプトのせいで後に発動するスクリプトは動きませんでした。
671名無しさん@お腹いっぱい。:2012/02/15(水) 16:53:02.75 ID:CatX5XCL0
>>670
俺も同じことしてるけど基本はこうやってる。

#Persistent
SetTimer,OnTimer,1000
return

OnTimer:
if flag = 1
{
reload
}
If A_TimeIdlePhysical < 70000
{
return
}
Else
SendMessage,0x112,0xF170,2,,Program Manager

If A_TimeIdlePhysical < 3600000
{
return
}

flag=1
DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
return
672名無しさん@お腹いっぱい。:2012/02/15(水) 17:24:37.74 ID:V+AyKIkR0
>>671
使ってみましたがうまくいきました。
どうもありがとうございました。
673名無しさん@お腹いっぱい。:2012/02/15(水) 19:06:38.13 ID:3Cpg1NTz0
解決したみたいだけど後学のために蛇足ながら一言

>668はA_TimeIdlePhysicalではなくMsgBoxの使い方に問題がある
スプリクトを止めずに状態変化を知りたい場合のテストコードでは
ToolTipかOutputDebugを使うといい
674名無しさん@お腹いっぱい。:2012/02/15(水) 22:17:11.31 ID:V+AyKIkR0
>>673
情報どうもです。こんどからそうします。
675名無しさん@お腹いっぱい。:2012/02/17(金) 13:17:14.00 ID:YWE+D1AR0
なんか突然スクリプトが動作しなくなった
MsgBoxはでるのに、MouseMoveとかでカーソル移動とか、クリックとかできなくなった
どうしていいのか全く分かりません
助けてくれ
676名無しさん@お腹いっぱい。:2012/02/17(金) 14:31:26.98 ID:D6xP/wld0
突然できなくなったりは絶対にしない
677名無しさん@お腹いっぱい。:2012/02/17(金) 14:51:48.58 ID:YWE+D1AR0
いやまじなんだよ
Windowsアップデートで再起動して寝たんだけど、起きたらマウス系コマンドが全く使えない
678名無しさん@お腹いっぱい。:2012/02/17(金) 14:59:12.39 ID:eQqrPWvG0
管理者権限でAHKを起動しないと
一般権限のウインドウをいじれなくなることが稀に突然ある。
再起動すると直ったり直らなかったり。
679名無しさん@お腹いっぱい。:2012/02/17(金) 15:38:29.67 ID:YWE+D1AR0
再起動しなおしたら直ったわ
よく分からんが初めての経験だったから焦った
680名無しさん@お腹いっぱい。:2012/02/17(金) 15:58:35.54 ID:D6xP/wld0
UACはうざがられたりするけどセキュリティ上あった方がいいね
681名無しさん@お腹いっぱい。:2012/02/17(金) 20:59:06.82 ID:9wxUG49Y0
マウスカーソル位置に応じてアクションを変えるコード書いたんだけど
15箇所くらいに分断したあたりで分けがわからなくなってきた…
という訳で0.1秒くらい画面にガイドラインを引きたいんだけど良いサンプルないですか。
Win32APIでGetDC(0)してラバーバンド描いてみたいにやるしかないですか。
682名無しさん@お腹いっぱい。:2012/02/17(金) 23:28:58.48 ID:p628eq+V0
zipの書庫の中身を参照したいんだけど、流行らせるページにあったcommonArc.ahkが今の環境では動きません。
Win7 64bitのautohotkeyL unicodeです。
Unicode版ahkならcommonark.ahkのstrをAstrに変えると動く、というのが過去ログにあったのですが、
これだけではうんともすんとも言いませんでした。
x86,x64,ANSIで試してみたけどどれでやってもダメ。もしかしてWindows7だから動かないんでしょうか。
683名無しさん@お腹いっぱい。:2012/02/18(土) 16:58:26.76 ID:nyIWUurl0
すまん教えてくれ。

Gui,7:Add,Edit,xs+15 ys+20 vHTe gEDITER Limit4,%tvHT%
Gui,7:Add,UpDown,Range0-100,%vHT%
(中略)
Return

EDITER:
(中略)
Return

と書くと、GUIが作成された時点でEDITER:ラベルの内容が実行されちまう。

UpDownボタンが
>対象コントロールに取り付く場合、配置された時点で対象コントロールのテキストにここで指定した値が反映される。
で対象コントローに当たるEditコントロールが
>Gでラベル名を指定すると、入力内容が変更されるごとにサブルーチンが実行される。
かららしいんだが、これを回避する方法ってないか?

自分でも考えたけどEditコントロール諦めてTextコントロール使うくらいしか思いつかんかった
684名無しさん@お腹いっぱい。:2012/02/18(土) 17:40:32.46 ID:Z8kiXGEN0
autohotkeyのスクリプトに引数を渡しそれを取得できますか?
>>683
Gui,7:Add,Edit, の前にediter_label_on:=false
後にediter_label_on:=trueと書いて
EDITER:  の直後にif (editer_label_on=true)
とでも書けばいいんじゃないかな
685名無しさん@お腹いっぱい。:2012/02/18(土) 17:46:46.62 ID:vXSk//9k0
別にへりくだれとは言わんが
686名無しさん@お腹いっぱい。:2012/02/18(土) 18:03:18.90 ID:q3SszU180
687名無しさん@お腹いっぱい。:2012/02/18(土) 20:40:20.65 ID:Z8kiXGEN0
>>686
どうもありがとうございます。できました。
688名無しさん@お腹いっぱい。:2012/02/18(土) 21:31:04.65 ID:GdTO479H0
すいません。おしえてください。
Autohotkeyでブラウザ等のウインドウの枠を消して(隠す)
且つ画面最大化ということはできるのでしょうか?
またはフルスクリーンじゃなくてもウインドウの小窓のままでブラウザの枠を消すことって
できるのでしょうか?
ふつうに考えると無理そうですがたしか昔そういう記述を見たことがあったような気がしまして。
よろしくお願いします
689名無しさん@お腹いっぱい。:2012/02/18(土) 21:43:32.57 ID:6sCloeGZ0
690名無しさん@お腹いっぱい。:2012/02/18(土) 21:50:03.84 ID:wOzPvWbQ0
WinSet, Region で特定の領域を表示しないようにはできることはできるが、
(単に描画とマウスイベントをスルーするだけ)
それで事足りるかは分からん

多くのブラウザが{F11}でフルスクリーンになるが、それで事足らない何かがあんのかね
691名無しさん@お腹いっぱい。:2012/02/18(土) 23:09:22.17 ID:3iTV+HwQ0
俺、前にゲームで使ってたの残ってた
最大化と違って裏行っても死なないのがいいんだよね
コピペだから何がなんだかは理解してないのですまん
あとタスクバーが上になるようにした気がする

#SingleInstance Force
#Persistent

SetTimer Test, 500
Return

Test:
WinGet IDs, List, ahk_class Test
Loop %IDs%
{
ID := IDs%A_Index%
If ID not in %Old_IDs%
{
WinActivate ahk_id %ID%
WinSet, Style, -0xC40000, A
WinMove, A, , 0, 34, 1920, 1046
WinActivate, A
}
New_IDs .= ID ","
}
StringTrimRight Old_IDs, New_IDs, 1
New_IDs =
Return
692名無しさん@お腹いっぱい。:2012/02/18(土) 23:48:57.44 ID:nyIWUurl0
>>684
そ れ だ
何もコントロールの種類変えることなかったなバカだ俺。
すごい助かった、ありがとー
693名無しさん@お腹いっぱい。:2012/02/19(日) 02:04:14.72 ID:HPs98dy70
>>689
いやこれかどうかわかりません。もっと短文でできたような気がするんですが。
僕の気のせいですね。このスクリプトは使えるんだろうか。

>>690
実際はあるけど、見えなくするっていうだけみたいですね。
枠全体を消すっていうのは無理っぽいですね。
配信を単独のポップアップで(ブラウザ)みてて、Media player classicみたいに
映像だけボーダーなしで写したいなぁと。

ありがとうございました。
694名無しさん@お腹いっぱい。:2012/02/19(日) 13:36:18.83 ID:s13ocnCT0
動作には関係ないけどEDITERじゃなくてEDITORのような
695名無しさん@お腹いっぱい。:2012/02/19(日) 14:40:20.02 ID:OZp6qtR50
関数内の変数をグローバルにするにはglobalと書きますが
例外的に指定した変数をローカルにする方法はありますか
696名無しさん@お腹いっぱい。:2012/02/19(日) 14:48:07.28 ID:oJ+xV0Fz0
697名無しさん@お腹いっぱい。:2012/02/19(日) 20:43:42.95 ID:OZp6qtR50
>>696
ありがとうございました。
698名無しさん@お腹いっぱい。:2012/02/20(月) 11:19:27.97 ID:LB3e86UZ0
左クリックを押している間、左クリックを連打する、ということをしたいです。
過去ログを参考に以下の様に書いてみましたがエラーがでます。
どこを修正したらいいでしょうか?

LButton::
Loop
{
If(!GetKeyState("LButton","P"))
Break
MouseClick, LIGHT
Sleep, 5
}
Return
699名無しさん@お腹いっぱい。:2012/02/20(月) 11:22:10.14 ID:LB3e86UZ0
私が馬鹿でした。
LIGHTではなく、LEFTですね。
700名無しさん@お腹いっぱい。:2012/02/20(月) 12:18:16.28 ID:xtP9nKqE0
Let there be LIGHT
701名無しさん@お腹いっぱい。:2012/02/20(月) 20:49:05.48 ID:3LuFsJ4X0
FileMenu Toolsについて情報収集しようとしたら当該スレどころか関連スレすら見つかりません
どなたか誘導して頂けないでしょうか
702名無しさん@お腹いっぱい。:2012/02/21(火) 02:55:55.07 ID:o2Bi1rjr0
>>701
Windows板にExplorer拡張スレが関連としてあったみたいだが、もう落ちてるな
↓とりあえずコッチ行ったら?

ソフトウェア板総合質問スレッドVol.4
http://anago.2ch.net/test/read.cgi/software/1310007051/
703名無しさん@お腹いっぱい。:2012/02/21(火) 04:40:19.13 ID:KI6dAzUA0
エロ画像集めにLoop回してしまった後のむなしさな
704名無しさん@お腹いっぱい。:2012/02/21(火) 08:14:08.30 ID:hNcwrsUH0
>>702
スレチにも関わらず教えていただき、ありがとうございます
705698:2012/02/21(火) 16:04:16.82 ID:Tp0Mjtgn0
左クリックを押しっぱなしにしているとき、左クリックもしくはキーボードの1つのキーを連打するということをしたいです。

LButton::
Loop
{
If(!GetKeyState("LButton","P"))
Break
MouseClick, LEFT
Sleep, 5
}
Return

このコードでやると、連打はできるのですが、SHIFT, Ctrl, 右クリックなどをしながら、左クリックを押しっぱなしにすると、
PCが止まります。PCの性能は問題ないはずです。

他に連打をさせるためのコードはありませんか?
706名無しさん@お腹いっぱい。:2012/02/21(火) 16:28:04.43 ID:iiBjneCl0
*lbutton::
test()
return
test(sleep_time=100,key=""){
loop,
{
tooltip,% A_TickCount
send, % key
sleep, % sleep_time
} until 0=GetKeyState(trim(A_ThisHotkey,"*"), "P")
}
707名無しさん@お腹いっぱい。:2012/02/21(火) 16:32:56.92 ID:iiBjneCl0
あ、そうそう、autohotkey_lじゃないと動かないよ
708名無しさん@お腹いっぱい。:2012/02/21(火) 16:43:08.40 ID:bmdpYtpT0
Mosegeture.ahkの中で使っている
Gui,Add,ListBox,xs y+4 w220 h80 section vLBGesturePattern gLBGesturePatternSelect AltSubmit,
で表示されるリストボックスの文字の中の __ だけ赤で表示させる方法を教えてください。
709名無しさん@お腹いっぱい。:2012/02/21(火) 17:05:11.43 ID:iiBjneCl0
>>706に補足
test(100,"{space}")って書けば100ミリ秒ずつspaceを押すよ
test(100,"a")ならaを入力
そこは好きなようにいじって。ご自由にどうぞ。

>>708 listboxのテキストに色をつけるのはできないんじゃ?
列なら色をつけられるけど
http://www.autohotkey.com/forum/topic77715.html
710名無しさん@お腹いっぱい。:2012/02/21(火) 17:58:36.20 ID:bmdpYtpT0
有難うございました。
711名無しさん@お腹いっぱい。:2012/02/21(火) 20:39:14.38 ID:Os4ZBvL+0
peercast等のストリーミングの簡易動画再生プレイヤーを
スクリプトでウインドウ最大化(フルスクリーンではなく)させたいのですが、
ぐぐったスクリプトだと、小さな動画表示がそのままでウインドウが最大化するだけになってしまいます。
どうやれば、動画が伸長される形でウインドウ最大化できるでしょうか?おしえてください。

このスクリプトでは上記にかいたような変な最大化になってしまいます
(win7 x64)
ENTER::
WinGet, tmp, MinMax, A
If tmp = 1
WinRestore, A
else
WinMaximize, A
Return
712名無しさん@お腹いっぱい。:2012/02/21(火) 22:29:14.78 ID:D/jGUObS0
ENTER::
WinGet, tmp, MinMax, A
If tmp = 1
PostMessage, 0x112, 0xF120, , , A
else
PostMessage, 0x112, 0xF030, , , A
Return
713名無しさん@お腹いっぱい。:2012/02/21(火) 22:42:15.80 ID:Os4ZBvL+0
>>712
ありがとうございます。成功しました。すいません。
714名無しさん@お腹いっぱい。:2012/02/23(木) 21:13:45.17 ID:9AThZxOS0
特定のアプリのメモリ使用量を取得したいのですがどうしたらいいでしょうか?
715名無しさん@お腹いっぱい。:2012/02/23(木) 21:41:22.73 ID:KlVuIyIG0
716名無しさん@お腹いっぱい。:2012/02/24(金) 10:35:10.98 ID:uY4jnNFu0
>>715
本当にありがとう!
うまくできました!
717名無しさん@お腹いっぱい。:2012/02/24(金) 15:04:27.37 ID:yh0JKOiS0
ショートカットキーの設定画面を作りたいんですが
Gui,Add,Hotkeyが一部のキー(Windowsロゴキー、Space、Deleteなど)を受け付けないので
別の方法でキーの決定を使用と思うんですけど(チェックボックス等でキーを決定してHotKeyに投げるとか)
そうゆうのに便利な既存のコンポーネントってありませんか

いまのとこ AutoHotkey Toolkit の kList が第一候補
ttp://www.autohotkey.com/forum/topic61379.html
718名無しさん@お腹いっぱい。:2012/02/25(土) 08:35:11.23 ID:AXUXML920
開いているコモンダイアログのカレントディレクトリを、
任意のディレクトリに移動させたいのだが、
どうやるのが一番いいんだろうか

ファイル名のところにフルパスの文字列+Enterを送信して
無理やり移動させる方法をとってみたが、
タイミングにシビアだったりするし、
もっとスマートな方法はないものか。。。。

さらに悩むのはフォルダ選択ダイアログ。
それも同じことをしたいのだが、無理だろうか。
719名無しさん@お腹いっぱい。:2012/02/25(土) 08:53:03.04 ID:rfvvYhrL0
Runコマンドで DialogHandler 呼び出せ
720名無しさん@お腹いっぱい。:2012/02/25(土) 10:01:43.53 ID:AXUXML920
>>719
うわっ、そんな便利なものが!!!!
フォルダの参照ダイアログまでいけるのか!
試してみたら動作も完璧、すばらしい!!
ありがとうございます!
721名無しさん@お腹いっぱい。:2012/02/25(土) 14:55:25.29 ID:iBCepSqM0
横レスだが
DialogHandlerなんてオプションがあったかと思ったけど
ソフト名なのね
早速使うことにするわ
722名無しさん@お腹いっぱい。:2012/02/25(土) 17:22:31.02 ID:5y+Ta5nq0
涼宮ハルヒの憂鬱が海外では放送されていないのにBDやDVDが爆発的に売れたのは
違法アップロードのおかげ。

違法アプロードだろうがものすごい宣伝効果があるということが証明された一例。

面白くなければ売れない、
赤松は売れない作品に金をくれという貧乏人用語発言でしかない。
つまり原発村ならぬ、まんが村を守りたいだけ、それが自分の利益につながるからwww
723名無しさん@お腹いっぱい。:2012/02/25(土) 17:49:55.74 ID:iBCepSqM0
2. シンタックスハイライトと基本設定 - AHKTips
https://sites.google.com/site/ahktips/developmentenvironment/npp-basicusage

5. デバッグに必要なもの - AHKTips
https://sites.google.com/site/ahktips/developmentenvironment/for-debugging

とても丁寧に説明されててわかりやすい
いい解説だね
724名無しさん@お腹いっぱい。:2012/02/26(日) 15:13:28.59 ID:HQKv+TE20
>>722
よくわからん作品を例に説かれてもな
725名無しさん@お腹いっぱい。:2012/02/26(日) 15:41:52.64 ID:/PYic9fX0
アニメヲタは、すぐに話の例えにアニメを出す
726名無しさん@お腹いっぱい。:2012/02/26(日) 15:53:34.58 ID:R6lCjgZkP
例え話とか以前に単なるマルチか誤爆だろ
727名無しさん@お腹いっぱい。:2012/02/28(火) 09:01:34.16 ID:RqMR5WjG0
1.1.07.00 - February 27, 2012

Enhanced %var%() to support function references, objects imitating functions and the default __Call meta-function.

Fixed ControlGet List to work for ListViews where the script and the target process aren't both 32-bit or both 64-bit.

Fixed SendEvent with a key delay of 0; a change introduced by v1.1.05.04 caused it to be slower than intended.

Fixed Object.Remove(i) not adjusting keys if Object[i] doesn't exist.

Fixed an error in ComObjType() which may have caused unpredictable behaviour when it is called via an alternative name.

Fixed ExitApp to exit the thread if an OnExit subroutine prevents the script from terminating, instead of resuming execution after the block which contained ExitApp.
728名無しさん@お腹いっぱい。:2012/02/28(火) 09:03:15.74 ID:RqMR5WjG0
Calling a function via an object no longer acts as a barrier to exiting the thread.
Consequently, if Exit is used or a runtime error occurs within a class method, the entire thread exits instead of just the function.

Calling a base-class method using base.Method() or similar inside a class definition no longer causes a UseUnset warning if the method doesn't exist.
Consequently, instantiating an object which has instance variables no longer causes a warning about the internal base.__Init method if the base class has no instance variables.
729名無しさん@お腹いっぱい。:2012/02/28(火) 23:26:44.00 ID:P9F3w/aC0
ttp://loda.jp/ahk/ のうpが2月29日で終了するから大ダメージ・・・なんてことはなかった。
730名無しさん@お腹いっぱい。:2012/02/29(水) 23:40:49.47 ID:v7e7AXUc0
bk=%ClipboardAll%

この bk= ってなんですか?
参考ページか何かあります?
731名無しさん@お腹いっぱい。:2012/03/01(木) 06:26:06.99 ID:BJ4rtao10
「変数」なんだけれども、
解説(参考)サイトか・・・探すのが難しい。
というのも超初心者用のサイトってプログラムの種類に関係なくメッセージボックスを
表示することからの解説が殆ど(全部?)なので
とりあえず、何か解らかいならそれをメッセージボックスで表示してみたりするといいんじゃないかな。

bk=%ClipboardAll%
msgbox, %bk%

※クリップボードが空なら(クリップボードに文字列がコピーされていないなら)メッセージボックスに何も表示されません。
732名無しさん@お腹いっぱい。:2012/03/01(木) 06:38:54.14 ID:BJ4rtao10
bk という変数に ClipboardAll の中身(内容)を代入している。
733名無しさん@お腹いっぱい。:2012/03/01(木) 08:29:30.46 ID:R/c29xmy0
変数の解説はここのページの「変数」部分でいいんでね?
http://ahk.xrea.jp/Scripts.html
734名無しさん@お腹いっぱい。:2012/03/01(木) 09:06:28.57 ID:S71Nbquyi
こういうの慣れてない人はにゃ難しいらしいよ
EnvSet, bk, 〜〜
のほうが、行頭見るだけで何がしたいか分かるから

文法のパーサでもこの方が作るのは楽だし
735名無しさん@お腹いっぱい。:2012/03/01(木) 13:22:08.02 ID:gB23pI5r0
=と:=の違いの解説が過去レスにあった気がする
736名無しさん@お腹いっぱい。:2012/03/01(木) 22:50:20.62 ID:L2I4mI7Z0
どなたか詳しい方、教えて下さい。
現在ノート PC の LCD ディスプレイの電源状態を下記スクリプトで取得しています。

hDisp := DllCall("CreateFile", "Str", "\\.\LCD", "UInt", 0xC0000000, "UInt", 3, "UInt", 0, "UInt", 3, "UInt", 0, "UInt", 0, "Ptr")
DllCall("GetDevicePowerState", "Ptr", hDisp, "IntP", stat) ; stat に状態が出力される
DllCall("CloseHandle", "Ptr", hDisp, "Ptr")

これを外部ディスプレイあるいは HDMI にまで拡張したいのですが、
デバイスをどのように指定すれば良いのか分かりません。
これに関する情報はどこで入手すれば良いのでしょうか?
737名無しさん@お腹いっぱい。:2012/03/01(木) 23:38:40.63 ID:T8MxTY590
>>730
この「何々=何々」の意味を理解した途端、
今まで意味不能と投げていた式や関数(の羅列された文字列)を理解できたんだったな
それまではAHKをキーリマップにしか使ってなかった
738名無しさん@お腹いっぱい。:2012/03/02(金) 02:08:05.69 ID:QsSjVSaC0
変数と条件分岐とループさえわかれば
たいていのスクリプトやプログラムは、入りやすいからな
739名無しさん@お腹いっぱい。:2012/03/02(金) 22:30:02.23 ID:u1jNZ5mf0
そんなふうに思っていた時期が自分にもありました。でもDLLCallなんかはプログラマじゃない_。
740名無しさん@お腹いっぱい。:2012/03/03(土) 01:25:20.62 ID:tgkFkGAC0
APIなんて調べて使うだけだべ
741名無しさん@お腹いっぱい。:2012/03/03(土) 10:18:30.92 ID:XE0vMHnh0
hotkey知らなくてつい最近知ったけどけっこう便利らしいね
コードとか難しい?perl程度しか知識ないんだが・・・
742名無しさん@お腹いっぱい。:2012/03/03(土) 10:22:12.51 ID:gZ9iLoEY0
>>741
ここ見ながら試行錯誤したらすぐ習得できるぜ
http://ahk.xrea.jp/
http://www.autohotkey.com/docs/
743名無しさん@お腹いっぱい。:2012/03/03(土) 10:42:49.45 ID:XE0vMHnh0
>>742
サンクス
ミラーあったのか〜
なんか AutoHotkeyを流行らせるページ を見つけたけど廃墟になっていたから
どうしたものかと思ってたところだった
とりあえず入れてみるけど分からんかったことあったらここで聞いてもいい?
744名無しさん@お腹いっぱい。:2012/03/03(土) 10:44:31.76 ID:nq3rzob/0
=、:=、とか、ifの書式とかで嵌ったわ
745名無しさん@お腹いっぱい。:2012/03/03(土) 10:56:51.73 ID:YHUpwqfF0
746名無しさん@お腹いっぱい。:2012/03/03(土) 11:10:05.44 ID:gZ9iLoEY0
>>743
ここはどんな高度な質問も低レベルな質問も
眉ひとつ動かさず同じように的確なレスを繰り出すAHK職人が
何人か常駐しているからいい質問をしてスレを活性化してくれ
747名無しさん@お腹いっぱい。:2012/03/03(土) 13:54:35.14 ID:BwsNpsLp0
今は職業プログラマだけど、学生の時にまともに初めて触ったのはAHKだった。
(良くも悪くも)VBやCなどの文法ごちゃ混ぜな変態言語仕様だけど、
スクリプトを少し書くだけでテキストベースの処理だけじゃなくて
GUIの描画やキーフック何かも簡単にできるから、導入には良いかもしれない。
今だったらブラウザ上でJavaScriptで色々やってみる方が後の役には立ちそうだけどね。
748名無しさん@お腹いっぱい。:2012/03/03(土) 16:10:15.70 ID:CGAvcpLA0
質問です。教えてください。
マウスの周りにコンパスみたいな画像を出したいのですが
1枚で表示させるとポインタ下のウィンドウを判定するような動作に不都合があり,
マウスの所だけ離して,2枚の画像を操作したいのですが,やり方が分かりません。
1枚の時には下のような記述で上手くいきました。
CoordMode,Mouse,Screen
Test=3
delay=100
trans=45
image=%A_ScriptDir%\Test200.bmp
Loop,%Test%{
Gui,%A_Index%:+Owner +AlwaysOnTop -Resize -SysMenu -MinimizeBox -MaximizeBox -Disabled -Caption -Border -ToolWindow
Gui,%A_Index%:Margin,0,0
Gui,%A_Index%:Add,Picture,,%image%
Gui,%A_Index%:Show,X-200 Y-200 W200 H200 NoActivate,MouseTest%A_Index%
WinSet,TransColor,FFFFFF %trans%,MouseTest%A_Index%
trans-=15}
Return
~RButton::
MouseGetPos,sx,sy
Loop{
Loop,%Test%{
MouseGetPos,x,y
dx:=x-sx, dy:=y-sy, dist:=Sqrt(dx**2+dy**2)
if (dist> 10) {Sleep,%delay%
x-=100
y-=100
WinMove,MouseTest%A_Index%,,%x%,%y%}}
GetKeyState,state,RButton,P
If state=U
Break}
Loop,%Test%{WinMove,MouseTest%A_Index%,,-200,-200}
749名無しさん@お腹いっぱい。:2012/03/03(土) 19:43:54.52 ID:2T/A5vmy0
>>746
了解シマスタ
近々初歩的な質問するかもしれないけど
そのとき叩かないでね
750名無しさん@お腹いっぱい。:2012/03/04(日) 00:04:24.01 ID:C8LMhbG00
初歩でも低レベルでもやる気がある質問は叩かれないよ
コード貼ってもらう気マンマン、考える気ナシのレスには容赦ないけどな
751名無しさん@お腹いっぱい。:2012/03/04(日) 01:41:35.84 ID:eeurHPak0
>>750
それはほんとに感じる
ほんとに初歩の初歩でも
最悪でも参考URL投下してくれたりとか本当に助かってる
752名無しさん@お腹いっぱい。:2012/03/04(日) 10:22:01.64 ID:fjv+V50H0
1.1.07.01 - March 2, 2012

Fixed FileRead to ignore #MaxMem when reading UTF-16 on Unicode builds.
Fixed dynamic function calls with built-in vars such as %A_ThisLabel%().
753名無しさん@お腹いっぱい。:2012/03/04(日) 16:04:56.15 ID:juinoT0N0
間違っているところを教えてください。コロンで改行、
コントロールキーと同時押しでコロンが入力されるように
したいのですが、うまく動きません。

^`::: Send, `:
$`::: Send, {Enter}
754名無しさん@お腹いっぱい。:2012/03/04(日) 16:15:00.59 ID:Plw1nZjJ0
' ← クォート
` ← アクセント
: ← コロン
, ← コンマ
755名無しさん@お腹いっぱい。:2012/03/04(日) 16:25:06.71 ID:juinoT0N0
デフォルトどおりアクセント記号をエスケープ文字として使用しています。
756名無しさん@お腹いっぱい。:2012/03/04(日) 16:59:55.34 ID:Plw1nZjJ0
コロンが3つ並んでるのが見えなかった。正直すまんかった
「:」はスキャンコードで書くしか無いと思う

^sc028::Send, `:
$sc028:: Send, {Enter}
757名無しさん@お腹いっぱい。:2012/03/04(日) 17:21:13.03 ID:7Y9JGhfS0
>>748
WinSet, Region
で透かしてみては
758名無しさん@お腹いっぱい。:2012/03/04(日) 17:27:44.46 ID:7Y9JGhfS0
>>748
これ忘れてた
part8 の 63 (ClipWindow)が参考になると思う
http://sites.google.com/site/autohotkeyjp/FileCabinet
759名無しさん@お腹いっぱい。:2012/03/04(日) 17:57:11.93 ID:CKyQ4tpj0
>>756 できました。ありがとうございました!!
760748:2012/03/04(日) 18:56:36.61 ID:6mnCZ5R30
>>758 何とか2つに分けて表示できましたが,
肝心のポインターの所で行き詰っていました。
これで出来そうです。
有難うございました。
761名無しさん@お腹いっぱい。:2012/03/05(月) 22:39:34.23 ID:0QwMElRU0
imgctl.dllを使えば画像の処理ができるみたいなんだけど、DllCall全然分からん
何かいいサンプルとかあったら教えてくれないか
具体的には、複数の画像を任意に組み合わせて一枚の画像として出力するスクリプトを作りたい
762名無しさん@お腹いっぱい。:2012/03/05(月) 23:28:41.68 ID:TPkpoifS0
テキスト情報を収めた変数について
<!--と-->に囲まれた部分を取り除くにはどうすればいいですか?
aaa<!--test-->bbb
は aaabbb に、
aaa<!--test <!-- zzz -->bbb-->ccc
は aaaccc にしたいです
RegExReplaceで<!-- と -->のペアに囲まれている部分を繰り返して取り除こうとしたのですが
よくわかりませんでした
763名無しさん@お腹いっぱい。:2012/03/05(月) 23:50:56.57 ID:W/9obpj30
結果用文字バッファ用意する

文を頭から解析して、
開始タグ出現で コメント階層++
終了タグ出現で コメント階層--
コメント階層==0 ならバッファに文字列追加
コメント階層>0 なら積まない
コメント階層<0 なら解析エラー
文末で終了


764名無しさん@お腹いっぱい。:2012/03/06(火) 00:11:28.98 ID:aqd9Rg910
>>762
F1::
Target := "aaa<!--test-->bbb"
;Target := "aaa<!--test <!-- zzz -->bbb-->ccc"
Pattern := "<!--.*-->"
msgbox, % RegExReplace(Target, Pattern)
Return

こうです
765名無しさん@お腹いっぱい。:2012/03/06(火) 00:19:24.04 ID:/8IN9bwP0
>>764
ありがとうございます。できました。
766名無しさん@お腹いっぱい。:2012/03/06(火) 12:16:29.23 ID:6B6aStmr0
>>764
だめじゃね
aaa<!--test --> zzz <!-- bbb-->ccc

みたいな場合 zzz の部分も取り除かれちゃうでしょ
767名無しさん@お腹いっぱい。:2012/03/06(火) 18:51:02.96 ID:MgwHNCFq0
.*?で無欲な検索になるんじゃなかったか。
768名無しさん@お腹いっぱい。:2012/03/06(火) 19:31:21.45 ID:2SO13YZP0
無欲にしたら
 aaa<!--test <!-- zzz -->bbb-->ccc
 aaabbb-->ccc
になるよ
769名無しさん@お腹いっぱい。:2012/03/06(火) 23:45:54.70 ID:qjrcvbxE0
ゲームサイト用にホットキーで作られたexeファイルがあるんですが
3月1日以降使えなくなりました
これってなにかソフト側に原因があるのでしょうか?
それともゲームサイト側の問題でしょうか?
770名無しさん@お腹いっぱい。:2012/03/07(水) 00:05:09.13 ID:ldl1RCO00
質問です。
キー押し下げ時に発動と、キーを離した時に発動を使い分けようとすると
キー本来の動作まで発動されてしまう。
例えば
~a::send,1
a up::send,2
と設定してから「a」を押して離すと、
「12」と出力させたいのに「a12」になってしまう。
本来の動作をキャンセルさせるにはどうすればいいのでしょうか


771名無しさん@お腹いっぱい。:2012/03/07(水) 00:18:38.29 ID:k6ux9pS00
>>769
3月1日以降は処理を停止する、なんてことは簡単にできるよ


>>770
a::send,1
a up::send,2
772名無しさん@お腹いっぱい。:2012/03/07(水) 00:36:34.42 ID:N+D0cSnG0
>>771
ありがとうございます。助かりました。

773名無しさん@お腹いっぱい。:2012/03/07(水) 00:47:53.50 ID:PklJrmZi0
>>766
pattern := "<!--((?>(\s|\w)+)|(?R))*-->"
2バイト文字とか--->がはいると使えないけど
774名無しさん@お腹いっぱい。:2012/03/07(水) 00:50:22.39 ID:PklJrmZi0
2バイト文字じゃなく英数字だったすまん
775名無しさん@お腹いっぱい。:2012/03/07(水) 00:52:26.56 ID:PklJrmZi0
英数字以外がはいると、だな寝る
776名無しさん@お腹いっぱい。:2012/03/07(水) 08:03:16.81 ID:aaG1XJJe0
pattern := "U)<!--((?R)|.)*-->"
これでいける
777名無しさん@お腹いっぱい。:2012/03/07(水) 15:35:08.21 ID:PklJrmZi0
おおー確かに!
無欲にするだけでよいのか。 Thx!です
778名無しさん@お腹いっぱい。:2012/03/07(水) 23:23:53.20 ID:k6ux9pS00
>>776
へー、(?R)をそういう風に使うのか
それを使えば入れ子になっているものの置き換え処理が簡単にできそう
勉強になった
779名無しさん@お腹いっぱい。:2012/03/08(木) 12:47:30.97 ID:u1joPOwV0
公式のダウンロードリンク切れてる?
全くつながらない
780名無しさん@お腹いっぱい。:2012/03/08(木) 12:50:17.96 ID:u1joPOwV0
自己解決しました
cnetにも最新版があった
781名無しさん@お腹いっぱい。:2012/03/08(木) 20:29:04.47 ID:qTtUte710
すみません質問です。

http://sites.google.com/site/agkh6mze/howto/wineventを参考に
ウィンドウズのイベントを感知してアクションを起こすスクリプトを作ってみています。
スタートメニューの表示やウィンドウのリサイズはちゃんと感知してくれるのですが、
なぜかドラッグ&ドロップの開始・終了だけ感知してくれません。
MSDNのライブラリのSetWinEventHook関数のページを読んだり
引数の型名を変えてみたりしてみましたが駄目でした
どこが間違っているのでしょうか


Auto-executeセクションに以下のように書いています(AutoHotKye_L 1.1.07)

myFunc := RegisterCallback("WinActivateHandler")

myHook := DllCall("SetWinEventHook"
  , "UInt", 0x0000000f ; UINT eventMin : EVENT_SYSTEM_DRAGDROPEND(D&D終了。開始は0x0000000e)
  , "UInt", 0x0000000f ; UINT eventMax : EVENT_SYSTEM_DRAGDROPEND(D&D終了。開始は0x0000000e)
  , "Ptr", 0 ; HMODULE hModule : self
  , "Ptr", myFunc ; WINEVENTPROC hWinEventProc :
  , "UInt", 0 ; DWORD idProcess : All process
  , "UInt", 0 ; DWORD idThread : All threads
  , "UInt", 0x0003 ; UINT dwFlags : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS
  , "UInt")

WinActivateHandler(hWinEventHook, event, hwnd, idObject, idChild, thread, time) {
 TrayTip, "報告", "イベント起きしました。", 10, 0
 Sleep, 10000
 ExitApp
}
782名無しさん@お腹いっぱい。:2012/03/09(金) 00:54:33.56 ID:ZPuj942T0
StringreplaseやStringGetPosで特定の文字使うとエラーになるんだが
これらの文字をいじりたい場合どうすればいいの?

>* Changed: Command names must be terminated with a space, tab or comma.
>The following characters no longer bypass this requirement: <>:+-*/!~&|^[].

これが原因なんだろうけど、この特殊文字使う文字列を変更する方法を知りたい。
783名無しさん@お腹いっぱい。:2012/03/09(金) 09:44:58.89 ID:ZPuj942T0
ごめん。事故解決。
784名無しさん@お腹いっぱい。:2012/03/09(金) 11:08:29.10 ID:QNpcexUr0
どう解決したの?
785名無しさん@お腹いっぱい。:2012/03/09(金) 15:16:50.76 ID:w4N25uTI0
保険屋に連絡したんじゃね?
786名無しさん@お腹いっぱい。:2012/03/09(金) 17:02:34.20 ID:hqojEuUe0
自己解決で閉じてしまえば単なるゴミレスだが
どんな初歩的でバカバカしいことでも、解決法を書いておけば
誰かの役に立つ可能性がある

コミュニティってのは情報の共有によって活性化する
自分だけじゃなく、誰かの役に立つかもしれないということを念頭におくのは大事なことだ
それは回りまわって自分のためにもなる

折角の良スレなんだから、もうちょっと考えようぜ
787名無しさん@お腹いっぱい。:2012/03/09(金) 17:22:05.82 ID:1iYhrpgD0
うん、自己解決した場合も、どうやったかは書いてほしいところではあるね
788名無しさん@お腹いっぱい。:2012/03/09(金) 17:55:41.93 ID:U89HWtwj0
過去に罵られたことがあったのかも。他所だと内容によっては怒る人いるし
789名無しさん@お腹いっぱい。:2012/03/09(金) 18:12:22.05 ID:YFo02+ep0
そんな事してどうすんだ?みたいなのもいるね
こっちの方が楽じゃね?みたいな別の方法をアドバイスするならともかく
質問そのものを否定するの
790名無しさん@お腹いっぱい。:2012/03/10(土) 09:14:34.49 ID:6A7lVqeM0
質問に対して質問で返す者とかね
791名無しさん@お腹いっぱい。:2012/03/10(土) 11:21:27.45 ID:VCPaWkaZ0
任意のキー(Alt+End)を押してツールチップに一秒ごとに更新する現在
時刻を表示させて、また任意のキーを押してツールチップを消したいので
すが、ツールチップを消す方法がわからず、どなたかお知恵を拝借でき
れば嬉しいです。

「ツールチップに一秒ごとに更新する現在時刻を表示」させる方法は下
記のサイトでスクリプトを見つけたのをそのまま使っています。

●スクリプトの実行のされ方 - hoge
http://sites.google.com/site/agkh6mze/howto/scripting

!End::
SetTimer, ClockTimer, 1000
Gosub, ClockTimer
Return

ClockTimer:
CoordMode, Tooltip, Screen
FormatTime, time, %A_Now%, yyyy/MM/dd(ddd) hh:mm:ss
Tooltip, %time%, 0, 0
Return

このスクリプトを実行するとディスプレイ左上隅に時刻が表示されるので
すが、「任意のキーを押してツールチップを消す」方法がわからず、今のと
ころ常駐スクリプトファイルをリロードして急場をしのいでいます。

「流行らせるページ」のリファレンスによれば Tooltip コマンドを Text パ
ラメーターなしで実行すれば非表示になるとのことですが、上のスクリプト
にどう組み込めばよいのかわからず途方に暮れています。
792名無しさん@お腹いっぱい。:2012/03/10(土) 11:48:44.29 ID:38yMCvOg0
F1::
SetTimer, ClockTimer, Off
ToolTip
Return

こんな感じでタイマ止めて表示消す2行を任意のキーに割り当てればいい
793名無しさん@お腹いっぱい。:2012/03/10(土) 11:53:45.22 ID:aGcoT5Vx0
どれかキーを押して消す方法は使っていません
3秒後に消す方法ならこれで試してみて下さい。
Tooltip, %time%, 0, 0
Return

Tooltip, %time%, 0, 0
Sleep,3000
Tooltip
Return
794名無しさん@お腹いっぱい。:2012/03/10(土) 12:10:22.63 ID:VCPaWkaZ0
>792
なるほど!
ToolTip を Off にする単体のスクリプトを作ればよいのですね。
希望通りに消すことができました。どうもありがとう!

>793
一定時間が経ったら消すというのもいいアイデアですね。

ClockTimer:
CoordMode, ToolTip, Screen
FormatTime, Time, %A_Now%, HH:mm:ss
ToolTip, %Time%, 0, 0
Sleep, 3000
ToolTip
Return

上のようにしてみましたが、秒のカウントが始まった直後(たとえば12時07
分01秒)にカウントが三秒間止まり、次に三秒後の「12時07分04秒」
が表示され、また三秒間カウントが止まる……の繰り返しになりました。
とりあえず >793 さんの方法で無事解決しました。どうもありがとう。
795名無しさん@お腹いっぱい。:2012/03/10(土) 12:11:52.28 ID:VCPaWkaZ0
「とりあえず >793 さんの方法で無事解決しました」は「とりあえず >792
さんの方法で無事解決しました」の書き間違えでした。度々すみません。
796名無しさん@お腹いっぱい。:2012/03/10(土) 20:15:50.72 ID:F68beCR40
!EndでClockTimerを有効にする前に時間を取得
ClockTimerの中でその取得した時間と今の時間を比較
差が3秒以上なら792で追加したホットキーラベルへ飛ぶ

もしくは
797名無しさん@お腹いっぱい。:2012/03/10(土) 20:17:14.36 ID:F68beCR40
途中で送信してしまった

ClockTimerの間隔が1秒なので
ClockTimerの中でループ回数をカウント
3回まわってワン
798名無しさん@お腹いっぱい。:2012/03/10(土) 20:25:07.84 ID:FqXkP3EW0
cuda使えますか?
799798:2012/03/10(土) 20:28:11.51 ID:FqXkP3EW0
故爆スマソorz
800名無しさん@お腹いっぱい。:2012/03/10(土) 22:32:22.41 ID:bwq/vpDH0
TooltipでのフォントサイズはDllCallとかで変更できないの?
Gui,Text....(枠なし指定)での文字表示は毎回ちょっと面倒臭い
801名無しさん@お腹いっぱい。:2012/03/10(土) 23:14:51.72 ID:4IQtlsOm0
>>800
以前調べた時にこういうのなら見つかったけど
http://www.autohotkey.com/forum/topic12002.html

やり方見ればすぐ分かるけど、一度表示させた後にサイズを変えるから
ちょっと見栄えよくないよね…
802名無しさん@お腹いっぱい。:2012/03/10(土) 23:26:36.41 ID:VCPaWkaZ0
>796-797
アドバイスありがとうございます。
>797 の方法がわかりやすそうに思えたのですが、Loop を使ったことがな
いのでどうも勝手がわからず、「流行らせるページ」のヘルプを参照して
下のようなスクリプトを書いてみましたが、3秒経ったあとも時刻のカウント
が止まらなくなってしまいました。

SetTimer, Clock, 1000
Gosub, Clock
Return

Clock:
Loop, 3
{
CoordMode, ToolTip, Screen
FormatTime, Time, %A_Now%, HH:mm:ss
ToolTip, %Time%, 0, 0
If A_Index > 3
Goto, ClockOff
}
Return

ClockOff:
SetTimer, Clock, Off
ToolTip
Return
803名無しさん@お腹いっぱい。:2012/03/10(土) 23:32:32.10 ID:bwq/vpDH0
>>801
サンクス
804名無しさん@お腹いっぱい。:2012/03/11(日) 00:22:58.47 ID:D2tBeH/X0
>>802
797は説明一部省いてた&ループという言葉が紛らわしかったかな。
タイマーによってClockの部分が繰り返されているので
loopコマンドやa_indexは関係ないんだ。

カウント用の変数を用意
SetTimerの前に 0 にする。
Clockの中で変数に 1 足す。
4以上になったらClockOff
805名無しさん@お腹いっぱい。:2012/03/11(日) 05:21:43.47 ID:fKDTLpP10
>>800
Tooltipじゃないけど、GuiやProgressを使った関数を作れば楽かも
※各々のオプションは適当

tooltip_gui("ほげほげ")
sleep, 2000
tooltip_progress("hogehoge")
return

tooltip_gui(msg) { ; Gui番号を指定すれば複数表示可
Gui, -Border
Gui, Font, S50
Gui, Add, Text, , %msg%
Gui, show
SetTimer, tooltip_gui_off, -2000
return

tooltip_gui_off:
GUI, Destroy
return
}

tooltip_progress(msg) { ; 複数表示不可
Progress, h100 W400 X300 Y200 B1 C00 ZH0 ZW0 ZY2 FM60 WM200 CWFFFFBF , , %msg%
SetTimer, tooltip_progress_off, -2000
return

tooltip_progress_off:
Progress, off
return
}
806名無しさん@お腹いっぱい。:2012/03/11(日) 09:54:29.40 ID:mJwFUxbv0
>804
できました!

x := 0
SetTimer, Clock, 1000
Gosub, Clock
Return

Clock:
CoordMode, ToolTip, Screen
FormatTime, Time, %A_Now%, HH:mm:ss
ToolTip, %Time%, 0, 0
x := x + 1
if x > 4
Goto, ClockOff
Return

ClockOff:
SetTimer, Clock, Off
ToolTip
Return

AutoHotkey_L を主にランチャー(プログラム起動)とウィンドウのアクティ
ブ化に使っているのですが、変数やループの使い方を理解すればいろん
なことができることがわかりました。どうもありがとう。
807名無しさん@お腹いっぱい。:2012/03/11(日) 12:57:33.30 ID:c491xSsB0
使い始めたばかりで色々と試し書きしてたんですが何かやっちまったらしくて、
AutoHotkeyを実行すると画面が固まってしまってキーボードもマウスも受け付けなくなってしまいました。
タスクトレイにあるアイコンを右クリして、EDITなんたらのとこに書いてたんですが
あの設定ファイルはどこに保存されてるか分かりますか?
AutoHotkeyを起動させずに消して編集し直したいです。
それか起動せずに初期化する方法があれば教えてください
808名無しさん@お腹いっぱい。:2012/03/11(日) 13:21:13.02 ID:uKunYkXy0
初回実行時の「My Documentsにautohotkey.iniを作りますか?」って問いに「はい」って答えた
覚えがあるならMy Documentsに、そうでなければ実行ファイルと同じところにあるんじゃないかしら
809名無しさん@お腹いっぱい。:2012/03/11(日) 13:27:13.20 ID:uKunYkXy0
拡張子違いましたahk
autohotkey.ahkを探してみたらいいわ
810名無しさん@お腹いっぱい。:2012/03/11(日) 13:33:02.83 ID:xxDVPFDf0
>>808
My Documentsにありました。ありがとうございす
811名無しさん@お腹いっぱい。:2012/03/11(日) 18:10:16.70 ID:cmGEwF960
マウスカーソルがディスプレイの左端か上端にあたったらAltTabってできますか?
812名無しさん@お腹いっぱい。:2012/03/11(日) 18:24:12.97 ID:fKDTLpP10
できるよ
813名無しさん@お腹いっぱい。:2012/03/11(日) 19:04:35.36 ID:fKDTLpP10
マウスカーソルが上端または左端ならAlt+Tabを500msごとに繰り返すサンプル。

#persistent
#SingleInstance, FORCE
altdownflag = 0
settimer, taskchange, 500
return

taskchange:
CoordMode,Mouse,Screen
mousegetpos, x, y
if x and y {
send, % altdownflag ? "{alt up}" :
altdownflag = 0
return
}
altdownflag = 1
send, {alt down}
send, {tab}
return
814名無しさん@お腹いっぱい。:2012/03/11(日) 23:12:43.90 ID:VbqCFn0x0
MouseGestureL.ahkのほうがよさげ。
815名無しさん@お腹いっぱい。:2012/03/11(日) 23:13:50.18 ID:dw5lNnQe0
IEを制御したいのですが、コンボボックスの情報を取得する方法がありましたら教えて下さい。
htmlや全てのファイルとかがどれが選ばれているのか知りたいです。
816名無しさん@お腹いっぱい。:2012/03/11(日) 23:23:59.17 ID:lpzBomuW0
>>814
俺も今日乗り換えた。いいね。
軌跡が意外によかった。
817名無しさん@お腹いっぱい。:2012/03/11(日) 23:36:44.79 ID:bGjInooq0
>>814
それは何?
818名無しさん@お腹いっぱい。:2012/03/11(日) 23:39:50.23 ID:Rn8pD5u80
有志によるAHK_L対応版
http://code.google.com/p/mousegesturel/

MouseGesture.ahkもちょろっといじればAHK_Lで使えるし、
はっきりしたアドバンテージが見えないから俺は使ってないけど
819名無しさん@お腹いっぱい。:2012/03/11(日) 23:52:11.27 ID:bGjInooq0
ありがとう
なるほどね
820名無しさん@お腹いっぱい。:2012/03/12(月) 09:44:37.20 ID:X8pZz6oA0
821名無しさん@お腹いっぱい。:2012/03/12(月) 11:54:14.23 ID:tY4icGM60
うん、落ちてるぽい
822名無しさん@お腹いっぱい。:2012/03/12(月) 19:38:08.58 ID:LVN0gE9e0
firefoxの現在ダウンロード途中のファイルの数、もしくはダウンロードの開始と終了はどうやって取得できますか?
823名無しさん@お腹いっぱい。:2012/03/12(月) 20:59:48.37 ID:uUM1b23I0
それは無茶振りだなあw
824名無しさん@お腹いっぱい。:2012/03/12(月) 22:26:08.74 ID:UyHp9Z8b0
非アクティブ状態であるFirefox または GoogleChromeのロケーションバーに
非アクティブ状態を保ったままURLを渡したいです
ControlClickでロケーションバーをクリックしフォーカスを合わせ
ControlSendで渡そうと思ったのですが、うまくいきませんでした
825名無しさん@お腹いっぱい。:2012/03/12(月) 22:30:15.23 ID:DD94PnK/0
これ無理?>>815
826名無しさん@お腹いっぱい。:2012/03/12(月) 22:39:03.66 ID:HYZmukzWi
>>825
余裕でできる。
ただ、IEのDOM扱うことになるので、Javascriptでやった方が幸せになれる。
AHKからJS呼びたいならScriptControlつかうよろし
827名無しさん@お腹いっぱい。:2012/03/12(月) 22:46:02.23 ID:HYZmukzWi
>>824
ドラッグ&ドロップ偽装するといいかも
リンクでもインターネットショートカットファイルのどっちでもよさげ。

ただ、ドロップされたらアクティブになるかもしれんが。
828名無しさん@お腹いっぱい。:2012/03/12(月) 22:57:11.89 ID:DD94PnK/0
>>826
即レスありがとう。
制御できるのはIEやM$系だけ?
例えばOperaとかFxは制御できない?
829名無しさん@お腹いっぱい。:2012/03/12(月) 23:01:26.65 ID:UyHp9Z8b0
>>827
D&D偽装ですか…
クリップボード内の文字列を送ろうと思ったのです
最初同じようなことをしようとUWSCを使ってみたのですが、非アクティブウインドウに対する操作は
こちらの方が強そうだと思ったので…
830名無しさん@お腹いっぱい。:2012/03/13(火) 00:52:54.19 ID:kU3iAiaX0
Hotkeyで作られたゲーム用のexeファイルがあるんですが
コンパイルされたアイコンって緑色に白字で「H」です
これを例えば違うアイコンでコンパイルとかすることも可能なんですか?
831名無しさん@お腹いっぱい。:2012/03/13(火) 05:52:10.23 ID:hDflyVzy0
>>830
resource hacker を使ってアイコンを置き換える
やり方は 「resource hacker icon」 でググる
832名無しさん@お腹いっぱい。:2012/03/13(火) 08:53:58.48 ID:kU3iAiaX0
>>831
rshackerで出来なかったんですよ!
自分はプログラム音痴なんですが
専ブラJaneのexeアイコンもrs hackerで変更出来ないしそういう仕様なのかなと思って質問しました
833名無しさん@お腹いっぱい。:2012/03/13(火) 09:04:01.45 ID:nj76RId3i
834名無しさん@お腹いっぱい。:2012/03/13(火) 19:56:40.61 ID:vU+nHS0B0
変数に含まれた複数行の文字列をできるだけ高速に上下逆転するには
どの方法が無難だろうか

Loop, Parse, Text, `n
Temp = %A_LoopField%`n%Temp%

みたいな文字列を前に追加するやり方だと、内容が多い場合は処理が重くなるし
今は"Loopで先頭に連番付ける→Sort→連番削除"で対応しているけど
もっとスマートな方法があるのかな




835名無しさん@お腹いっぱい。:2012/03/13(火) 20:19:29.27 ID:ZnjZGT2V0
>>834
Sort, VarName, r
836835:2012/03/13(火) 20:22:07.17 ID:ZnjZGT2V0
ごめん。これじゃダメみたい。
837名無しさん@お腹いっぱい。:2012/03/13(火) 20:39:19.31 ID:ZnjZGT2V0
>>834
このライブラリで上手く動いた。
http://www.autohotkey.net/~hugov/tf-lib.htm#TF_ReverseLines
838名無しさん@お腹いっぱい。:2012/03/13(火) 21:38:56.20 ID:vU+nHS0B0
>>837

レス有難う

ソースを見ると、配列で文字列を分解して後の番号から順に結合しているね
実は前に一度試した方法だったんだけど、処理速度は今の連番のやり方とほぼ同じだったので
処理速度的にはこの辺りが限界という事が分かってすっきりした
839名無しさん@お腹いっぱい。:2012/03/13(火) 23:21:57.60 ID:/E7eTysr0
HotkeyコマンドでLabelを指定し
Label:
処理〜

とはかけるのに
Label::
と書けないのは仕様?前者の状態で処理の最後にreturnつけるとscript全体が止まっちゃって
ホットキーの用をなさなくなってしまうんだがどうしたらいいでしょうか
840名無しさん@お腹いっぱい。:2012/03/13(火) 23:30:51.60 ID:qEWtPjHo0
何を言っているのかさっぱり分からない
841名無しさん@お腹いっぱい。:2012/03/13(火) 23:38:29.18 ID:L/VzWDZM0
俺も何言ってるのか分からないわ。
書きかけでもいいからコード貼ってみたら?
842名無しさん@お腹いっぱい。:2012/03/13(火) 23:41:09.58 ID:hDflyVzy0
>>839
http://sites.google.com/site/autohotkeyjp/reference/Hotkeys
>ホットキーは ::(コロン2つ)を伴ったサブルーチンラベルとして記述される。

通常のサブルーチンは : コロン一つのみ。これは仕様。
http://sites.google.com/site/autohotkeyjp/reference/commands/Hotkey
の Example(s) を参照。

なのでスクリプトのどこかが間違っていると思われる。
その動作がおかしいスクリプトを晒して指摘してもらったほうが解決は早いよ。
843名無しさん@お腹いっぱい。:2012/03/13(火) 23:43:35.37 ID:hDflyVzy0
>>832
Resource Hackerでアイコン書き換えを試してみたらダメだった。
試して確認もせず、レスしてごめなさい。
844名無しさん@お腹いっぱい。:2012/03/13(火) 23:51:06.84 ID:XEsTbM6M0
>>830
autohotkeyのスクリプトを好きなアイコンを使ってexe化したいってことだよね?
できると思うよ
[AHK_L] fincs' scripted Ahk2Exe rewrite (with GUI) - r3

http://www.autohotkey.com/forum/topic74816.html
これのcustom icon(.ico file)に何か入れてみたら
845名無しさん@お腹いっぱい。:2012/03/13(火) 23:51:36.24 ID:/E7eTysr0
すまん、分かり難かったか…
大した処理じゃないんだけど

Hotkey, ^x, label
〜略〜(全く別の変数宣言とか)
;↑ここまでスクリプト起動時に1回だけ処理させる
;↓以下ホットキー
label::
msgbox, debug
return

ここでlabel::の時は^xのたびにmsgboxが表示されるけど、label:の時は起動時に
一気に最後まで処理が進んでreturnでAHKscript全体が止まる。以後^x押しても
反応しない。
846名無しさん@お腹いっぱい。:2012/03/13(火) 23:55:56.23 ID:/E7eTysr0
あ、書き忘れ
label::の時はそもそもエラーがでて
Note:The hotkey label:: will not be active because it does not exist in the current keyboard layout.
Error: Target label does not exist. The current thread will exit.
と表示され、そもそもAHKが起動しないです。
847名無しさん@お腹いっぱい。:2012/03/14(水) 00:01:07.89 ID:ZnjZGT2V0
>>845
ここはAutohotkeyのスレだけど、
別のプログラムと間違ってない?
848名無しさん@お腹いっぱい。:2012/03/14(水) 00:02:33.83 ID:HcMA1yRc0
AutoExecuteセクションのReturn抜けだな

Hotkey, ^x, label
〜略〜(全く別の変数宣言とか)
;↑ここまでスクリプト起動時に1回だけ処理させる
return

;↓以下ホットキー
label:
msgbox, debug
return

でやってみ
849名無しさん@お腹いっぱい。:2012/03/14(水) 00:03:45.81 ID:/E7eTysr0
ごめん、そこまで言われる意味がよく分からないのだが
そんなに的はずれなこと言っているだろうか?
850名無しさん@お腹いっぱい。:2012/03/14(水) 00:06:58.91 ID:v3+MvuSH0
>>845なら、label:って書けばちゃんと^xでlabel:の処理が実行されるはずだが
851名無しさん@お腹いっぱい。:2012/03/14(水) 00:09:10.98 ID:XK0lA2580
>ここでlabel::の時は^xのたびにmsgboxが表示されるけど、

>label::の時はそもそもエラーがでて・・・そもそもAHKが起動しないです。

どっちだよ?

コロン2つでエラーが出るのは仕様通り。
コロン1つで最後まで処理が進むのも仕様通り。
スクリプト全体が止まるのは略してる部分に問題あり。
852名無しさん@お腹いっぱい。:2012/03/14(水) 00:09:20.93 ID:pKJRv7yN0
ああ、ホットキーラベル使わないで、全部Hotkeyコマンド経由でサブルーチンに飛ばすなら
スクリプトTOPに #Persistent も必要だな

この辺参照
http://sites.google.com/site/autohotkeyjp/reference/Scripts#autoexecsection
853名無しさん@お腹いっぱい。:2012/03/14(水) 00:10:08.29 ID:PCoL58Se0
>>848
!?
さっきまで同じこと何回もやってダメだった気がしたんだが、今やったらあっさり動いたわ
なんてこった こんな単純だったとは とにかくありがとう

でもなぜ label::は許してもらえないような仕様にしたんだろうか不思議だ
854名無しさん@お腹いっぱい。:2012/03/14(水) 00:12:35.56 ID:v3+MvuSH0
>>853
不思議ってお前、意味が全然違うって分かってないのか
855名無しさん@お腹いっぱい。:2012/03/14(水) 00:12:36.93 ID:PCoL58Se0
>>851
>ここでlabel::の時は^xのたびにmsgboxが表示されるけど、

^x::ならmsgboxが表示されるけどlabel::はエラーが出る って言いたかった
矛盾した書き方になってたスマン
856名無しさん@お腹いっぱい。:2012/03/14(水) 00:13:29.72 ID:XK0lA2580
ラベルとホットキーラベルの違いを理解してないだけだな
857名無しさん@お腹いっぱい。:2012/03/14(水) 00:17:12.31 ID:pKJRv7yN0
>>851
Hotkey, ^x, ^x
^x:
msgbox, debug
return

とか書いてんじゃね?これだとエラーにならないはず
つかあんま威嚇しなさんな
858名無しさん@お腹いっぱい。:2012/03/14(水) 00:22:06.09 ID:oxAyN3s90
>>849
なんとなく慣れてる感じがしたから、
AHKに似たスクリプト系のソフト?と思って確認してみた。
悪気はない。ごめん。
859名無しさん@お腹いっぱい。:2012/03/14(水) 00:31:26.23 ID:PCoL58Se0
断続的にAHK使って結構年月が経ってるけど、今までホットキーはすべてハードコーティング(いつも単体exe化してる)してたんで
たまたま気にならなかったんだなぁ iniから読み込もうなんて思い立ったのがいけなかったようだ
>>856の言うようにAHKの基本が分かってないようだから、また1から仕様読んでみます

色々とすまなかった こんな時間に親切だねこのスレは
860名無しさん@お腹いっぱい。:2012/03/14(水) 00:33:10.90 ID:PCoL58Se0
コーティング()
書けば書くほど恥をかくわ もう寝る
861名無しさん@お腹いっぱい。:2012/03/15(木) 23:28:11.31 ID:C8Ri0/gg0
Pastebin.com - #1 paste tool since 2002!
http://pastebin.com/

Pastebin - AutoHotkey.net
http://www.autohotkey.net/paste/

autohotkeyのスクリプトを他人に伝えたいときに
ファイルをアップローダーにアップしなくても、これを使うだけでいいから
便利そう
862名無しさん@お腹いっぱい。:2012/03/17(土) 09:58:07.61 ID:OM29D7/e0
某開発ツールをUnicode版に乗り換えたので
ついでにのんびり_Lに移行しようかと思ってるんだけど
ホットキーがかぶらなければ_Lとオリジナルの非_Lって
同時にインストール&常駐させて共存可能なの?
863名無しさん@お腹いっぱい。:2012/03/17(土) 10:23:12.44 ID:FrzuhaIv0
ZIP落としてきて別フォルダに突っ込んで実行する分には問題ない
インストーラ使ってシステムに登録する方法だと.ahkの関連付けとかは上書きされるんじゃない?
864名無しさん@お腹いっぱい。:2012/03/17(土) 11:24:05.81 ID:qMmAp53S0
今まで7-32bitで下のをうごかしてたんだけど
7-64bitで同じのを書いたら
32bitで音量のメーターみたいなものが表示されてたのが
64bitで表示されなくなってしまった。
音量は上下するから機能的には不備はないけど視覚的に音量がつかめないのがちょっと
何かわかります? ahk_L です
!WheelUp::Volume_Up
!WheelDown::Volume_Down
865名無しさん@お腹いっぱい。:2012/03/17(土) 11:26:26.38 ID:qMmAp53S0
申し訳ないあげてしまった
866名無しさん@お腹いっぱい。:2012/03/17(土) 11:42:33.40 ID:OM29D7/e0
>>863
ありがとう。
早速入れてみる。
867名無しさん@お腹いっぱい。:2012/03/17(土) 15:33:36.03 ID:uosdmpxC0
>>862
それぞれを別々のディレクトリ(フォルダ)にインストールし、
オリジナルを ahk、Lを ahl、L64を ah6 に関連付けして使ってる。
868名無しさん@お腹いっぱい。:2012/03/17(土) 15:57:21.75 ID:7XN39q+l0
>>864
32bitの方に、ボリュームをメーター表示するソフトが入ってたんじゃないの?
869名無しさん@お腹いっぱい。:2012/03/17(土) 17:29:03.08 ID:FrzuhaIv0
おそらくメーカー製PCの機能だろうね
ノートPCとかでその手のアプリがプリインストールされてて
AHKの機能と勘違いしてる悪寒
870名無しさん@お腹いっぱい。:2012/03/17(土) 17:39:05.89 ID:qMmAp53S0
ありがとうございます
確かに64bitのみOS単体で新しく買ってきて入れたもんですわ
そして32bitはメーカのOEMだ
となるとどうしようもないか
871名無しさん@お腹いっぱい。:2012/03/17(土) 18:03:38.79 ID:XK0wu7JC0
>>870
こんなの?

Vista / Windows 7 Simple Volume Control
http://www.autohotkey.com/forum/topic49219.html
872870:2012/03/17(土) 20:51:04.38 ID:vbBj4gRg0
代替のスクリプトですね
ありがとうございます
873名無しさん@お腹いっぱい。:2012/03/18(日) 14:51:29.40 ID:pAGwJ6Mg0
internet explorerでウィンドウを最後まで見たこと、
いいかえるとスクロールが最後までいったと判定することはできないでしょうか?
874名無しさん@お腹いっぱい。:2012/03/18(日) 17:09:23.25 ID:nVp7RwKQ0
>>864
オンスクリーンボリュームビューア Liteの詳細情報 : Vector ソフトを探す!
ttp://www.vector.co.jp/soft/winnt/art/se492719.html

スレちだけど、Windows 7 64bitなら このソフトが音声制御には便利だよ
右下のシステムトレイのとこにマウスもっててホイール回してボリュームの調整
875名無しさん@お腹いっぱい。:2012/03/18(日) 23:32:16.93 ID:oMm8BtbZ0
同じ種類のアプリケーションのウインドウをデスクトップを四分割した均等な大きさにして並べるってことを
Autohotkeyで一発でできたりしますか?

あふを多重起動してだいたいいつも4つぐらいまで起動しているのですが、
4枚をいっぺんにみたいときがよくあるんですよね。
あふじゃなくてもデフォルトのエクスプローラーのファイラとか。
どなたか既出のものがあればおしえてください。
876名無しさん@お腹いっぱい。:2012/03/18(日) 23:35:24.13 ID:oMm8BtbZ0
ググる言葉かえたら一発ででてきました。
AutoHotKeyでウィンドウのタイル配置。
いまからやってみます。
877名無しさん@お腹いっぱい。:2012/03/18(日) 23:43:05.10 ID:oMm8BtbZ0
わからない。Tilemove()
1行目からエラーがでるw
878名無しさん@お腹いっぱい。:2012/03/19(月) 00:05:57.67 ID:kvL8TQ6t0
>>877
http://neue.cc/2009/06/20_168.html
ここの関数をそのままコピペして、
#t::TileMove()
みたいな感じでホットキーに割り当てればいい
879名無しさん@お腹いっぱい。:2012/03/19(月) 00:47:18.82 ID:yRBbITJ30
>>878
そうですよね?
でもhttp://i.imgur.com/zRmNX.jpgみたいに
Error: A label must not point to a function
っていうエラーでてautohotkey.exe起動できない。
他のスクリプトが悪いのかとおもって場所かえてみたけど。
880名無しさん@お腹いっぱい。:2012/03/19(月) 02:47:18.18 ID:X7XuK6tH0
テキストを範囲指定した後 左マウスドラッグさせてスーパードラッグ機能みたいな事出来るかな?

1.範囲指定したテキストをクリップボードに送る
2.マウスのドラッグ方向に合わせて指定の動作を実行
3.既定のブラウザに検索クエリを送る
4.wikiなり Googleなりで検索結果を表示

2.はマウスジェスチャでなんとかなりそうなんだけど、1.3.がいまいちよく判らない。

Jane Styleや秀丸エディタとかからスーパードラッグ検索させたいんですが無理でしょうか?

881名無しさん@お腹いっぱい。:2012/03/19(月) 06:21:52.52 ID:yRBbITJ30
どなたか>>879教えてください。
882名無しさん@お腹いっぱい。:2012/03/19(月) 07:20:59.41 ID:OnlqCKBf0
>>881
http://neue.cc/2009/06/20_168.html
のスクリプトを単体(test.ahk等)で動かし正常に動くなら
組み込んだほうのスクリプトのどこかがおかしい
883名無しさん@お腹いっぱい。:2012/03/19(月) 07:23:28.94 ID:M928jdm00
>>881
#t::
tilemove(){
;略
}
こうしてないか?

#t::tilemove()

tilemove(){
;略
}
こうだぞ?
884名無しさん@お腹いっぱい。:2012/03/19(月) 08:09:04.31 ID:pNFWo0pP0
>>880
1. Send,^c
3. ブラウザをコマンドラインパラメータ付けて起動、またはドラッグエミュレーションで渡す

>Jane Styleや秀丸エディタとかからスーパードラッグ検索させたいんですが無理でしょうか?
左ドラッグでの実現は諦めたほうがいい
OSやアプリのドラッグ操作やテキスト選択動作と被るからそっちの動作ロックしないといけないし
テキスト範囲の選択中なのか、ドラッグ操作なのかの判別も必要になる
1,3,の質問内容見るにそんなスキルなさそうな感じだし
アプリの挙動と被らないミドルボタンやX1、2あたりに割り当てたほうがいいと思う


>>881
コード貼れ
885名無しさん@お腹いっぱい。:2012/03/19(月) 10:45:30.59 ID:jXrQ41C20
>>880
とは別だけど、UWSCみたいにマウスで選択してる文字列を
コピーコマンドとクリップボード経由させずに、変数の中に
入れる方法ないの?
886名無しさん@お腹いっぱい。:2012/03/19(月) 12:21:05.84 ID:pNFWo0pP0
Edit互換のテキストボックスだったら ControlGetのSelectedで取れる
秀丸やサクラエディタみたいに独自コントロールで制御してるのは
AHKの標準機能では取れない
887名無しさん@お腹いっぱい。:2012/03/19(月) 16:42:21.47 ID:yRBbITJ30
>>883
おっしゃるとおりです。883さんが見越したとおりでした。
前者そのままやってました。だってHPにそう書いてあるんだもん。
後者のようにしたらできました。これは便利ですね!
ありがとうございました。このスレのみなさんには想像できなかったかもしれませんんが。

>>882
単体でやってみましたが883のように、functionの使い方を元からしりませんでした。
ありがとうございました。
888名無しさん@お腹いっぱい。:2012/03/19(月) 21:02:02.21 ID:MR1u1SXu0
自分の無理解が原因なのにスクリプト書いた人の説明が悪いみたいな言いぐさはどうなの
889名無しさん@お腹いっぱい。:2012/03/19(月) 21:36:32.41 ID:pNFWo0pP0
ていうかこれがどういう意味なのか気になる
>このスレのみなさんには想像できなかったかもしれませんんが。
エスパー回答者の適切なレスで解決してるんだから想像できなかったつーこたないだろ。

それともタイル表示ごとき単純なスクリプトを
「こんなに便利なのに自分以外の人間は思いつかなかったのねププ」
って言ってんの?
890名無しさん@お腹いっぱい。:2012/03/19(月) 21:54:29.23 ID:yRBbITJ30
>>889
ばかか?かもしれませんって書いてあるだろうが。読めないのか?
んでお前自身が「エスパー」って言葉つかっとろうが。
あほ
891名無しさん@お腹いっぱい。:2012/03/19(月) 22:02:04.87 ID:TuaXuxLv0
おっしゃるとかの敬語が非常に薄っぺらく感じられるようになるコメント有難うございました
二度と来ないでね
892名無しさん@お腹いっぱい。:2012/03/19(月) 22:15:12.24 ID:MR1u1SXu0
こんなとんでもないクソガキにも親切なレスがつくとか
とんでもない神スレだな
893名無しさん@お腹いっぱい。:2012/03/19(月) 22:32:55.00 ID:Ibftdqjl0
ここでウィザード級プログラマのありがたい一言
894名無しさん@お腹いっぱい。:2012/03/19(月) 22:48:30.67 ID:yRBbITJ30
>>892
ありがとうございましたってお礼いってやつのレスに
横から関係ないやつが難癖つけて的外れなコメントして
嘲笑してるやつのほうが気持ち悪いだろ。明らかに。
糞ガキ以下だろ。普段の生活に置き換えてみろよ。
クズ以外のなにものでもないだろ。
895名無しさん@お腹いっぱい。:2012/03/19(月) 22:55:18.65 ID:auMCssE90
この手の馬鹿が地上から消滅するスクリプト有りませんか?><
896名無しさん@お腹いっぱい。:2012/03/19(月) 23:11:53.31 ID:pNFWo0pP0
「かもしれません」と「エスパー」のつながりがさっぱりわからん
頭と説明力が圧倒的に足りない子みたいね
スーパーエスパーの解説求む
897名無しさん@お腹いっぱい。:2012/03/19(月) 23:16:58.95 ID:N/Dh+gw40
もう触るな
898名無しさん@お腹いっぱい。:2012/03/19(月) 23:17:52.52 ID:MR1u1SXu0
>>894
自分の無理解を棚に上げスクリプト提供者の説明に文句を言い、
884でお前の問題解決に力を貸そうとしたID:pNFWo0pP0をばかだのあほだのと罵る
普段の生活に置き換えたらとんでもないクズだな。
899名無しさん@お腹いっぱい。:2012/03/19(月) 23:17:58.83 ID:OLdG1F5m0
この状況で再びyRBbITJ30が沸いてくるあたりがクズのあらわれでしょ
しかも2chをリアルに置き換えて論ずるあたりも

それに>>896に同意でわからないし
900名無しさん@お腹いっぱい。:2012/03/19(月) 23:31:11.56 ID:TcCpJdo50
>877の時点で地雷だって気付けよ
901名無しさん@お腹いっぱい。:2012/03/20(火) 09:54:30.51 ID:46OLeS+k0
ここまでクソムシのみ
902名無しさん@お腹いっぱい。:2012/03/20(火) 14:26:43.67 ID:w4DVNmd20
AutoHotkeyで作れらたゲームサイト用のexeファイルあったんですがなぜか使えなくなりました
そのexeファイルを起動してゲームサイトに行くとEscキーが通常の右クリになって
右クリがEscキーになるというものでした

原因分かりますか?
903名無しさん@お腹いっぱい。:2012/03/20(火) 15:14:44.10 ID:Ld4o3J8d0
ゲームサイトってことはどこかが運営しているゲームってことなのかな?
そのソフトを使うことによって運営側に対して何かしらの不都合が生じるから無効化されたとか?
904名無しさん@お腹いっぱい。:2012/03/20(火) 15:18:46.65 ID:i2FsQy1j0
単純にページタイトルが変わったんじゃないか?
905名無しさん@お腹いっぱい。:2012/03/20(火) 17:28:10.53 ID:w4DVNmd20
>>903
ここの麻雀サイトですttp://tenhou.net/
通常Escキーでパス/ツモ切りが可能なのですが
AutoHotkeyで作られたexeファイルを起動して右クリックでパス/ツモ切りが出来ました
これを使用することで対象サイトに不都合とかないと思うんです
というのも右クリックパスが出来る無料のFlash版専用ブラウザも公開していますから
なら無料のFlash版DLしてやればいいんじゃね?と思われるかもしれませんが
IEとかFirefoxなどの通常ブラウザでやる人もいて(自分もそうでした)
これを使うと凄く便利だったんですがなぜか今月になって急に使えなくなったんですよね
906名無しさん@お腹いっぱい。:2012/03/20(火) 17:39:34.76 ID:w4DVNmd20
>>904
自分はあまり詳しくは無いんですが
ソフトを起動すると ttp://tenhou.net 内だけEscキーが右クリックと入れ替わる仕様だったと思います
対戦するURLは ttp://tenhou.net/0/ でURLの変更は見られません
この他 ttp://tenhou.net/ranking.htmlなどランキングURLとかもあるんですが
ソフトを起動しているとこれら ttp://tenhou.net 以下のページではEscキーが右クリックに変わるのが適用されてました
逆にyahooとかtwitterとか開いている場合は適用されませんでした

一応フリーで転載OK配布OKで公開されていたんですが
作成者の方が引退したみたいでVerアップもされてません
これがもとのファイルです
ttp://theorylab.cs.land.to/src/MJ_5355.zip
907名無しさん@お腹いっぱい。:2012/03/20(火) 17:43:22.93 ID:Kac5P79FP
>>905
Flash用ツールってその該当Flashにフォーカス当ててないと使えないから、
天鳳側がフラッシュのアップデートかなんか行ったんじゃないの?

Flashゲームの場合
使用ブラウザのwindow → 該当Flashにフォーカス(要はフラッシュをクリックとかしてないとダメ)
とかじゃないと大抵のツールはうまく動作しない
908名無しさん@お腹いっぱい。:2012/03/20(火) 18:10:55.29 ID:SY/Rhk6t0
ログインして「メニュー」→「ミニゲーム」→「練習麻雀」で試したけど
↓で普通に動いた

#ifwinactive, オンライン対戦麻雀 天鳳 / Flash版 - Mozilla Firefox
rbutton::esc
esc::rbutton
909名無しさん@お腹いっぱい。:2012/03/20(火) 18:26:49.09 ID:w4DVNmd20
>>907
他の人も言っていたことなんですが3月1日から使えなくなったと言ってました
原因がFlashにあるのか天鳳側にあるのか

>>908
マジですか?
>>906のzipので動きました?
自分の環境もFirefoxなんですがダメなんですよね
910名無しさん@お腹いっぱい。:2012/03/20(火) 18:32:09.12 ID:SY/Rhk6t0
>>906のファイルを逆コンパイルしたら

#IfWinActive 天鳳 / Flash版
RButton::Esc
Esc::RButton

となっているから、>>904が正解です。
911名無しさん@お腹いっぱい。:2012/03/20(火) 18:39:52.59 ID:w4DVNmd20
>>910
Hotkey入れてないんですがコンパイルできますか?
912名無しさん@お腹いっぱい。:2012/03/20(火) 18:42:49.41 ID:SY/Rhk6t0
>>911
とりあえず、Autohotkeyをインストール。
新規テキスト作って >>908 のスクリプト3行をコピペして上書き保存。
「拡張子を表示する」でググって拡張子を表示させ、
新規テキスト.txtをahkファイルに変更し(天鳳.ahk 等に書き換える)
天鳳.ahk をダブルクリックしてゲームで試してみるといい。

どうしても天鳳.ahkをexe化したいのであれば↓
http://eternalbeta.cs.land.to/wiki.cgi?page=AutoHotkey#p29
913名無しさん@お腹いっぱい。:2012/03/20(火) 18:57:30.51 ID:w4DVNmd20
>>912
ありがとうございます
ちょっとやってみますが全く予備知識がないので教えてクンするかもしれません
ここにいる方からすればアホな質問になるかもしれませんがよろしくお願いします
914名無しさん@お腹いっぱい。:2012/03/20(火) 19:15:18.41 ID:xmbsCUeB0
教えて君するかもなんて予防線貼ってたら出来るものもできなくなるから頑張れ
915名無しさん@お腹いっぱい。:2012/03/20(火) 19:20:27.43 ID:bqzMaYvT0
>908だとFirefoxでしか動かなくね?

SetTitleMatchMode ,2 ;1:前方 2:中間 3:完全 RegEx:正規表現
#IfWinActive 天鳳 / Flash版
RButton::Esc
Esc::RButton


とかだと今後も多少メンテでタイトル変わっても使えるかも
ただし誤爆の可能性は上がるけど
916名無しさん@お腹いっぱい。:2012/03/20(火) 19:28:10.86 ID:w4DVNmd20
すいませんttp://www.nikoli.com/ja/misc/autohotkey.htmlを参考にして
ttp://www.autohotkey.com/download/から「Installer for AutoHotkey_L」をダウンロード
展開して>>908を「test.ahk」で保存しFirefoxで実行してもウンともスンとも言いません
ダウンロードに失敗なんでしょうか?
917名無しさん@お腹いっぱい。:2012/03/20(火) 19:35:54.00 ID:w4DVNmd20
試しにttp://autohotkey.s365.xrea.com/first_step.htmlから
サクラエディタをたまたま使っていたので起動するソースをコピペしてやってみたら
Win+Sで起動することができました
918名無しさん@お腹いっぱい。:2012/03/20(火) 19:51:38.73 ID:SY/Rhk6t0
>>917
他のAutohotkeyスクリプトが起動しているなら、
他のスクリプトのホットキーと干渉して正常に動いていないかもしれないので
とりあえず、すべてのAutohotkeyスクリプト(タスクトレイの H マークのアイコン全て)を終了させる。
>>915 の4行をコピペしてスクリプトを実行する。
919名無しさん@お腹いっぱい。:2012/03/20(火) 20:14:03.44 ID:w4DVNmd20
>>918
他にHotkeyを起動しているわけでもなく>>908>>915も試してみましたがダメでした
当方Firefox11.0です
920名無しさん@お腹いっぱい。:2012/03/20(火) 20:35:19.20 ID:SY/Rhk6t0
Windowsを再起動してみては。
それでもダメなら

SetTitleMatchMode ,2 ;1:前方 2:中間 3:完全 RegEx:正規表現
#IfWinActive 天鳳 / Flash版
RButton::
send, {Esc down}
sleep, 200
send, {Esc up}
return
Esc::
send, {RButton down}
sleep, 200
send, {RButton up}
return

を試してみる。
これでダメなら俺はわからん。
Win7 pro 64bitでFirefox 11 と Win7 StarterでFirefox 11
の2つの環境で >>908 >>915 の両方が「練習麻雀」で動いた。
921名無しさん@お腹いっぱい。:2012/03/20(火) 20:44:27.50 ID:w4DVNmd20
>>920
再起動して>>920をやってもダメでした
同じように>>908>>915の双方もダメでした
ためしに>>912を参考にコンパイルもしてみましたがやはり反応なしです

環境の問題なんでしょうか?
当方XP pro sp3で以前の>>906でアップしたのは使えました(2月まで)
すいませんがコンパイルしてアップしていただけますか?
922名無しさん@お腹いっぱい。:2012/03/20(火) 20:47:50.30 ID:i2FsQy1j0
ファイルエンコーディングをUTF-8にしてないんじゃね?
923名無しさん@お腹いっぱい。:2012/03/20(火) 21:16:57.35 ID:w4DVNmd20
>>922
SJISになっていました
UTF-8にしたらできました!
ありがとうございます

>>915さん>>920さん大変お手数お掛けしました
たぶん初歩的ミスなんでしょうけどすいませんでした
924名無しさん@お腹いっぱい。:2012/03/21(水) 00:05:58.44 ID:9EUu+OL80


お困り質問者には全力でお助けするがバイナリ配布には一切応じない
スレ住人の一貫とした信念に感動した
925名無しさん@お腹いっぱい。:2012/03/21(水) 09:31:32.62 ID:fuLADOeu0
好きなアイコンを使ってexe化することは可能なんでしょうか?
一応、過去ログも検索してみたところ

[AHK_L] fincs' scripted Ahk2Exe rewrite (with GUI) - r3
www.autohotkey.com/forum/topic74816.html

で使えるというレスがありましたが
英語難民でよく分かりません
どなたかご教授を
926名無しさん@お腹いっぱい。:2012/03/21(水) 11:47:11.57 ID:9EUu+OL80
Ahk2Exeで CustomIcon指定するだけでいけると思うが。
.icoファイルの作り方がわからんとかいう話なら日本語でググれば出てくる
927名無しさん@お腹いっぱい。:2012/03/21(水) 12:04:04.03 ID:fuLADOeu0
>>926
いけました
928名無しさん@お腹いっぱい。:2012/03/21(水) 15:19:55.78 ID:GEgPh3gX0
>>925じゃないが CustomIconで指定すると
通常のときは変わるがPause Scriptとかにすると赤/白のまま変わらないんだよな
929名無しさん@お腹いっぱい。:2012/03/21(水) 16:05:24.66 ID:tdHfOnLq0
http://sites.google.com/site/autohotkeyjp/reference/commands/Menu#TOC-2
アイコンが変わらないようにするだけならFreeze設定してやるだけでいい
それぞれ違うアイコンを表示させたいなら、PauseやSuspendに入る前に希望のアイコンに変更してやればいい
930名無しさん@お腹いっぱい。:2012/03/21(水) 21:17:39.98 ID:Mb09kq+c0
おい標準アルゴリズムにヒープくらいいれとけよプロコンのD問が解けねぇじゃねぇか
931名無しさん@お腹いっぱい。:2012/03/22(木) 16:31:38.04 ID:D8aDSDV30
マウスがウィンドウの枠のどこを指しているかを判別する方法を見つけたので、
それを試してみたんだが、最小化(8) 最大化(9) 閉じる(20)各々のボタンが、
微妙に位置がズレてて困ってる。
この位置ズレを修正する方法があれば教えてください。

f1::
CoordMode,Mouse,Screen
MouseGetPos, x, y, h, c
a := DllCall("SendMessage",UInt,h,UInt,0x84,UInt,0,UInt,x | y <<16,UInt)
tooltip,%a%
return
f1 Up::tooltip
932名無しさん@お腹いっぱい。:2012/03/22(木) 21:02:18.41 ID:JFABkL43i
非クライアント領域のhittestでってのは散々既出だな

・MouseGetPos で コントロールとれない場合は親窓のhwnd使う
・マルチウィンドウで座標が負になる場合のLPARAMの考慮する
・MouseGetPosの示すHWNDが怪しいなら別メソッドで取得する
・WindowFromPoint使ってみる
・非クライアント領域の独自描画しているアプリ(タイトル
バーでないのにドラッグできるとか)は諦める
933名無しさん@お腹いっぱい。:2012/03/22(木) 23:59:31.47 ID:JFABkL43i
1.1.07.02 - March 22, 2012

Fixed a rare crash which can occur when GetClipboardData() fails.

Fixed ComObjArray() to return an empty string on failure instead of an arbitrary integer.

Fixed Object.Remove(i, "") affecting integer keys when !Object.HasKey(i) .
934名無しさん@お腹いっぱい。:2012/03/23(金) 20:55:42.18 ID:UWgt6SZK0
>>813
これ便利そうでよさげだなと横から借りパクしようとおもたんだけど
うちのWin7 x64でぴくりとも動かなかった・・
環境毎にどこか変えるんでつか?
935名無しさん@お腹いっぱい。:2012/03/23(金) 22:55:11.75 ID:AhH/CGbT0
>>934
Win7 pro 64bit で >>813 をそのまま試したけど
Autohotkey、Autohotkey_L 32bit、Autohotkey_L 64bit の3種で動いたよ
936名無しさん@お腹いっぱい。:2012/03/24(土) 00:39:50.06 ID:XjXMH97B0
例によってAutoExecuteセクションで引っかかってる悪寒
既存スクリプトに組み込むなら5行目まではスクリプトtopに置け
937名無しさん@お腹いっぱい。:2012/03/24(土) 09:18:59.43 ID:ZKISyUUV0
>>813をカーソルが無意識に端にいくことも考えて、基本構造はそのままで
何かのキーを押しながらカーソルが端で発動
→Win+T に出力
→Shell_TrayWnd がアクティブのときホイール上下を(Left,RightもしくはUp,Down)に変換
→最初の何かのキーをEnterに変換
ってしたいですのですがどうしたらいいでしょうか?
downflag とかよくわからないです この場合813で何がいらないとかも
GetKeyStateあたりと座標とを論理積をとればいいでしょうけど・・
#IfWinActive 〜はわかります
938名無しさん@お腹いっぱい。:2012/03/24(土) 09:26:02.32 ID:YI8kv2BTO
頑張って試行錯誤してみましょう
案外自分でできちゃったりするものです
解決したらその手順を詳しく書いてみるとみんなが喜びますよ
939名無しさん@お腹いっぱい。:2012/03/24(土) 19:15:28.17 ID:eS3+B8mo0
>>937

#persistent ; 意味は >>1 の解説サイトや日本語ヘルプを参照
#SingleInstance, FORCE ; 同上
altdownflag = 0 ; altdownflag という名の(フラグ)変数を用意し、値が0(false)なら「Altを押していません」ということにする
settimer, taskchange, 500 ; 500msごとに taskchange というサブルーチンを実行する
return ; AutoExecuteセクションはここまで

taskchange:
CoordMode,Mouse,Screen ; マウスカーソルの座標をスクリーン上の絶対座標にする。
mousegetpos, x, y ; マウスカーソルの座標(x,y)を取得する。
if x and y { ; 「 if x=0 or y=0 」や「 if !x or !y 」と同じ。つまり、「もし、マウスカーソルが上端、及び左端以外なら」
send, % altdownflag ? "{alt up}" : ; altdownflag が 1(true)ならAltを開放する(Alt Up)
altdownflag = 0 ; Alt を開放したのでaltdownflagを0(false)にする。
return ; サブルーチンの処理をここまでとし、呼び出し先のところへ戻る
}
altdownflag = 1 ; ↓でAltを押したままにするので altdownflag の値を1(true)にする。
send, {alt down} ; Alt を押したままにする。
send, {tab} ; Tabのキーストローク(Tab Down → Tab Up)を送る
return ; サブルーチンの処理をここまでとし、呼び出し先のところへ戻る(というか、ココまでしか無い)
940名無しさん@お腹いっぱい。:2012/03/24(土) 20:20:46.94 ID:D+mjM/f50
で、Hotkey機能でDIOの「無駄」を再生してるやつはおらんのか
941名無しさん@お腹いっぱい。:2012/03/25(日) 11:49:16.64 ID:cCbycZ2m0
USBにつなげている二つのキーボード両方ともが
キーが押しっぱなしの状態にしばしばなります。
これはAutohotkeyの既知の問題でしょうか?

ゲーム時のみ、押したキーを離しているにもかかわらず
ゲーム内では押しっぱなしの状態になっていることがあります。
Ctrlなどモディファイアだけじゃなく押したすべてのキーでなります。
ゲームもひとつじゃなく3Dのほとんどのゲームでなります。

autohotkeyもx84とx64両方最新のをつかったのですがかわりません。
ロジクールのsetpointの問題なのかなぁ
942名無しさん@お腹いっぱい。:2012/03/25(日) 13:24:00.83 ID:8mSXMKb+0
疑わしい点を一つ一つ排除して調べるしかない
ソフトウェアなら常駐外して、USBならPS/2に挿すとか
943名無しさん@お腹いっぱい。:2012/03/26(月) 01:10:29.86 ID:m6/2bQ5Q0
以前流行らせるページに載っていたマウスホイールのスクリプト
CoordMode,Mouse,Screen
MouseGetPos,x,y,hwnd,ctrl,3
wp:=0xFF880000|GetKeyState("LButton")|GetKeyState("RButton")<<1|GetKeyState("Shift")<<2|GetKeyState("Ctrl")<<3|GetKeyState("MButton")<<4|GetKeyState("XButton1")<<5|GetKeyState("XButton2")<<6
lp:=y<<16|x
IfWinExist,ahk_id %hwnd%
{
SendMessage,0x84,0,%lp%,,ahk_id %ctrl%
If ErrorLevel=4294967295
MouseGetPos,,,,ctrl,2
Loop,%A_EventInfo%
PostMessage,0x020A,%wp%,%lp%,,ahk_id %ctrl%
}
return

↑がFirefox11上で動かないんですが・・・どなたか修正してくださいませんでしょうか?
944名無しさん@お腹いっぱい。:2012/03/26(月) 01:12:07.13 ID:m6/2bQ5Q0
ホイールアップです↓
*WheelUp::
CoordMode,Mouse,Screen
MouseGetPos,x,y,hwnd,ctrl,3
wp:=0x00780000|GetKeyState("LButton")|GetKeyState("RButton")<<1|GetKeyState("Shift")<<2|GetKeyState("Ctrl")<<3|GetKeyState("MButton")<<4|GetKeyState("XButton1")<<5|GetKeyState("XButton2")<<6
lp:=y<<16|x
IfWinExist,ahk_id %hwnd%
{
SendMessage,0x84,0,%lp%,,ahk_id %ctrl%
If ErrorLevel=4294967295
MouseGetPos,,,,ctrl,2
Loop,%A_EventInfo%
PostMessage,0x020A,%wp%,%lp%,,ahk_id %ctrl%
}
return
945名無しさん@お腹いっぱい。:2012/03/26(月) 01:43:38.71 ID:ZWP2NEPP0
>>943
>>932 の1個目
小窓がなくなり classNN が空だから
946名無しさん@お腹いっぱい。:2012/03/26(月) 14:14:58.02 ID:27ZbuURF0
autohotkey_lの更新内容の
>Fixed Ctrl/Alt/Shift key-down hotkey breaking any corresponding key-up hotkey defined before it.
>Fixed key-down hotkeys to always use the hook if defined after a key-up hotk
それぞれどういうこと?
947名無しさん@お腹いっぱい。:2012/03/26(月) 21:39:42.95 ID:ruz1Gfzi0
そんなことより、本家フォーラムに凸してる日本人が色々とやばい。
ttp://www.autohotkey.com/forum/viewtopic.php?t=83057
948名無しさん@お腹いっぱい。:2012/03/26(月) 22:22:23.10 ID:FrYkSMM/0
ほんとだw早く鎮火させないと大変なことに!!!
I corrected the fault ...っておめーが訂正したわけじゃねーから!!!
949名無しさん@お腹いっぱい。:2012/03/27(火) 02:06:55.60 ID:hITMuSc/0
別にいいんじゃないの?
っていうか特におかしいところはないじゃん。
他人のスクリプトをforkして改造する人なんて
autohotkeyのforumにはそれなりにいるんだし
950名無しさん@お腹いっぱい。:2012/03/27(火) 10:39:22.73 ID:DfVkSiGH0
>>944
>>658 で一応回避可能
951名無しさん@お腹いっぱい。:2012/03/27(火) 16:20:48.31 ID:urqYWATw0
初心者質問ですみませんが……

;Ctrl+スペースで終了、エクセルがアクティブウィンドウの時はAlt+スペースに
#IfWinNotActive ahk_class XLMAIN
^Space::WinClose,A
#IfWinActive ahk_class XLMAIN
!Space::WinClose,A

これにOpenJeneの書き込みウィンドウ(TWriteForm)の場合も加えたいんですが、
どう変えれば良いのでしょうか?
952名無しさん@お腹いっぱい。:2012/03/27(火) 18:08:16.94 ID:IZehNWy30
>>950 >>945
有難うございます
ロムってろと言われそうですが分からないので
スクリプト貼って頂けないでしょうか?
953名無しさん@お腹いっぱい。:2012/03/27(火) 18:52:50.53 ID:nmsbCjS/0
ROMらないくていいから、自分でやって詰まってからおいで
ここは自浄努力する質問者には親切だが、思考停止してる奴にに手助けする人間はいないよ

>>951
#IfWinActive ahk_class TWriteForm
!Space::WinClose,A

を足しゃいいのでは?
954名無しさん@お腹いっぱい。:2012/03/27(火) 19:22:53.75 ID:urqYWATw0
>>953
いろいろ試してみたんですが……
それも足してみたんですが、
#IfWinNotActive ahk_class XLMAIN
^Space::WinClose,A
の方が動いてしまうので、これを無効にしたいのです。

#IfWinNotActive ahk_class XLMAIN もしくは TWriteForm
みたいにできればいいんですが、or入れても|入れても動かないしわからずじまいです……
955名無しさん@お腹いっぱい。:2012/03/27(火) 19:47:19.73 ID:D2tdGQuO0
>>951
上から条件に一致するものが優先して実行されるので順番を入れ替える
#IfWinActive ahk_class TWriteForm
!Space::WinClose,A
#IfWinActive ahk_class XLMAIN
!Space::WinClose,A
#IfWinNotActive ahk_class XLMAIN
^Space::WinClose,A

or や | を使いたいなら正規表現を使う
SetTitleMatchMode, RegEx
#IfWinActive ahk_class (TWriteForm|XLMAIN)

正規表現がよくわからないならウインドウグループを利用する
GroupAdd, GroupA, ahk_class TWriteForm
GroupAdd, GroupA, ahk_class XLMAIN
#IfWinActive ahk_group GroupA
956名無しさん@お腹いっぱい。:2012/03/27(火) 23:07:11.62 ID:sOO6+tIO0
>>949
GNUだからコードの改変は好き勝手にどうぞだが、付随する
ドキュメントには著作権があるのが当然。それなのに、
紹介ページと説明書きの継ぎ接ぎで変なchmを作って配って
自分の著作物だと主張している。

極めつけは、継ぎ接ぎヘルプのなかで流行らせる氏管理人の
名称が、用務員みたいなニュアンスの単語に置き換わってる。

元々まとまって完成してた流行らせる氏の日本語説明書きを、
機械翻訳にかけるものだから、至る所が文として破綻しており
真面目に読んでるであろう外国人に申し訳なく感じる。

その点、MouseGestureL.ahkとして引き継いだ開発者さんは、
跡地のBBSで一言挨拶を入れて、結果、跡地のからリンクまで
もらえているのに、あまりにも対称的。

それでも、おかしくないと言えるの?
957名無しさん@お腹いっぱい。:2012/03/27(火) 23:38:57.64 ID:nmsbCjS/0
そういうのは>947でネタ上げた時点で言ってくれよ
>949じゃないがフォーラムざっと舐めただけじゃわからんかったし
958名無しさん@お腹いっぱい。:2012/03/28(水) 00:39:25.81 ID:G472pR7N0
ひどいなー、そんなことになってたのか
959名無しさん@お腹いっぱい。:2012/03/28(水) 08:43:33.23 ID:PqMPqVfC0
プンスカ
960名無しさん@お腹いっぱい。:2012/03/30(金) 22:43:44.41 ID:jNzOop3Z0
ここで聞いてもあれだが、Chromeで新しいタブを開いた時に、「最近閉じたタブ」へ
キーボードでフォーカス移すってどうやるの?

仕方ないから、MouseClick,Lbuttun何かで代用してるけど。
※その後10個の「最近閉じたタブ」候補がでるけれども、それもキーボード操作で貫徹させたい。

こめこめ Chrome内でFlashにフォーカスを奪われた時、(方法わからなかったが)Alt押せば
フォーカス戻ることが最近わかった。
961名無しさん@お腹いっぱい。:2012/03/30(金) 23:03:24.92 ID:LJXOuUfe0
~Ctrl::
if A_TickCount < %ctrldouble%
{
run,notepad.exe
ctrldouble=0
}
else
{
ctrldouble=%A_TickCount%
ctrldouble+=400
}
return

コントロールキーをダブルクリックでアプリが実行されるようにしたいです。
しかし上のように記述すると、ctrlを押しっぱなしでアプリが連続起動してしまいます。
長押しでは無効にしたいのですがどうすればいいですか。
962名無しさん@お腹いっぱい。:2012/03/31(土) 00:38:28.34 ID:TYnmdsSqP
特定のソフトウェアが起動した場合、日本語IMEがonになるような設定は可能でしょうか?

Windows 7 64bitで Jane Viewを使用しているのですが
起動時にはimeがOFFで無変換モードになっていて 毎回手動で話し言葉モードにしています
これをなんとか出来るなら これを機に当ソフトを始めて頑張って 記述をかいてみようと思うのですが
963名無しさん@お腹いっぱい。:2012/03/31(土) 01:22:47.32 ID:MCh/xh300
>>961 こんな感じでどうかな
LCtrl,RCtrl,Ctrlのどれを使うかはお好みで

$LCtrl::
If (A_PriorHotKey = A_ThisHotKey && A_TimeSincePriorHotkey < 300)
{
Run, Notepad.exe
}
Else
{
Send, {LCtrl Down}
KeyWait, LCtrl
Send, {LCtrl Up}
}
Return
964名無しさん@お腹いっぱい。:2012/03/31(土) 07:09:16.66 ID:Fis9qy1g0
>>963
ありがとうございます。
ctrl長押しで連続起動しなくなりました。

しかし、ctrlをダブルクリックしたあと、すぐにキーを離さないと
アプリが連続起動してしまうようになってしまいました。
965名無しさん@お腹いっぱい。:2012/03/31(土) 09:59:00.95 ID:GlSKSoiJ0
966名無しさん@お腹いっぱい。:2012/03/31(土) 19:24:55.63 ID:xK2qpb4R0
>>964
俺のとこでは普通に動くな
967名無しさん@お腹いっぱい。:2012/04/01(日) 01:44:03.82 ID:4r7aicW20
キーリピート?
968名無しさん@お腹いっぱい。:2012/04/01(日) 13:04:29.04 ID:HPRTNeoM0
Gui, Add, StatusBar, cRed, Test

で文字色指定しても変わらないんだな
ステータスバーの文字色を指定する方法はないものか
969名無しさん@お腹いっぱい。:2012/04/01(日) 15:19:18.06 ID:L+yPP48L0
>>962
Jane Viewの起動時だけime-onにしたいなら
事前にime側でIME-Onのショートカットキーを割り当てておき、
Autohokey(run, Jane Viewのパス)でJane Viewを起動させ
Jane ViewがアクティブになったらIme-Onのショートカットキーを実行させるとか。
970名無しさん@お腹いっぱい。:2012/04/01(日) 22:05:41.02 ID:fVQT3D8b0
>>961
~ctrl up::でどうよ?
971名無しさん@お腹いっぱい。:2012/04/01(日) 22:10:23.13 ID:67yZte+g0
>>965 >>969
ありがとうございます

> Autohokey(run, Jane Viewのパス)でJane Viewを起動させ
> Jane ViewがアクティブになったらIme-Onのショートカットキーを実行させるとか。
なんとなく解決方法が見えてきたような気がします。
チャレンジしますね
972名無しさん@お腹いっぱい。:2012/04/01(日) 23:03:13.85 ID:C9TnMGud0
そろそろ次期テンプレか、phpBB形式の日本語フォーラムが欲しいですね。
973名無しさん@お腹いっぱい。:2012/04/02(月) 12:49:35.48 ID:5Ui/UDe50
>>970
出来ました!!
ありがとうございます
974名無しさん@お腹いっぱい。:2012/04/02(月) 12:51:39.71 ID:5Ui/UDe50
ctrl+cやctrl+vなどのショートカットが効かなくなりましたすいません
975名無しさん@お腹いっぱい。:2012/04/02(月) 18:51:06.91 ID:9rapEDYs0
レス消費遅いスレだし
そろそろ次スレのテンプレ案まとめ始めたら?
976名無しさん@お腹いっぱい。:2012/04/02(月) 19:01:02.02 ID:+wgA/llE0
>>974
>>963 の Return の直前に
keywait, ctrl
でも入れてみては。
あと、ならないならならないで自分で試行錯誤しないとスルーされるだけだよ。

>>975
お願いします。
977名無しさん@お腹いっぱい。:2012/04/02(月) 21:14:11.37 ID:5Ui/UDe50
>>976
ありがとうございます。
ためしてみます。
自分でやろうにもなにをどうしたものかさっぱりで。
初心者用の資料が足りなすぎると思います。
978名無しさん@お腹いっぱい。:2012/04/02(月) 21:17:32.15 ID:PFBPJ1V/0
スクリプトのエラーで↓みたいなダイアログが出ますが
エディタでエラー箇所にジャンプする機能・設定ってありますか?

Error at line 44 in #include file "D:\myscript.ahk".

Line Text: x
Error: This line does not contain a recognized action.

The script was not reloaded; the old version will remain in effect.
979名無しさん@お腹いっぱい。:2012/04/02(月) 21:49:19.57 ID:9rapEDYs0
>>976
別に自分が求める追加要素はないですし・・
ただ個々に適当に提案してみては?位なので
980名無しさん@お腹いっぱい。:2012/04/02(月) 23:00:07.25 ID:+wgA/llE0
スレ建ててきました
AutoHotkey スレッド part14
http://anago.2ch.net/test/read.cgi/software/1333372506/


>>978
誰かが作っているような気がするけど、
Authotkeyのエラーメッセージウィンドウが表示されたら1行目を読み取って
対象のスクリプトをテキストエディタで開いて
その行へ飛ぶ(テキストエディタに付いている指定した行へ飛ぶ機能を利用)
ようなスクリプトを常駐させておけばいいんじゃないかと。
981名無しさん@お腹いっぱい。
>>978
うちはこんな感じでやってる(全角スペース→半角スペース変換)
わざわざ2回実行してるのは、常駐タイプのスクリプトだとRunWaitで戻ってこなくなるため
AHK常駐環境だったら>980方式で組み込んじゃったほうがスマートかも


;まずは普通に実行してエラーダイアログが出ないかチェック
Run, %A_AhkPath% D:\myscript.ahk,,UseErrorLevel,PID
If (ErrorLevel)
  MsgBox,16,%A_AhkPath% D:\myscript.ahk `n起動エラー %ErrorLevel%
WinWait,ahk_pid %PID%, The program will exit. ,1
IfEqual ErrorLevel,1, ExitApp

;エラーっぽかったらリダイレクトで再実行
WinClose, ahk_pid %PID%
RunWait,%ComSpec% /C %A_AhkPath% /ErrorStdOut D:\myscript.ahk > d:\err.txt,,hide UseErrorLevel

;エディタのダイレクトタグジャンプ使いたならFileRead/FileAppend とかで整形

;エディタで開く
Run,notepad.exe d:\err.txt,,UseErrorLevel,%PID%
WinActivate,ahk_pid %PID%