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

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

AutoHotkey スレッド part13

1 :名無しさん@お腹いっぱい。:2011/09/28(水) 05:49:59.69 ID:hycmOHZn0
■配布元
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
縦区切りてこういうの?

38 :35: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
http://sites.google.com/site/autohotkeyjp/reference/AutoHotkey_L/Compatibility#TOC-3
このあたりでは

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すらなかった時代のソフトなのに。

45 :43:2011/10/07(金) 18:04:07.65 ID:i477kWl90
>>44 ThumbSense は 32 ビットソフトなんじゃないの?
32 ビットでならこれまで通りタッチパッドの情報取得が可能。

46 :43: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版じゃないの?

51 :43: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で行けそうです。

81 :77: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
>>90
ttp://jp.razerzone.com/product.php?act=page&pgid=91
これとかどうよ

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
http://sites.google.com/site/autohotkeyjp/reference/commands/MouseGetPos
http://sites.google.com/site/autohotkeyjp/reference/commands/--GtEq

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ってウィンドウタイトル指定すれば非アクティブなウィンドウでもキーが送れると思っていましたが
同じコードでも、アクティブでは動作、非アクティブでは反応なしでした。
非アクティブでは送れないものなのでしょうか?

181 :167: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
サブクラス化するしか無いんかね、めんどくさいね

192 :188: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%

206 :43: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
>>274
http://www.autohotkey.com/forum/topic65707.html

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
>>278
#ErrorStdOut - AutoHotkeyJp

http://sites.google.com/site/autohotkeyjp/reference/commands/-ErrorStdOut

ComObjError() - AutoHotkeyJp

http://sites.google.com/site/autohotkeyjp/reference/commands/ComObjError

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
あ、被ったすまん

345 :341: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
バカボンすまん
今のは忘れてくれ

368 :358: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をビデオデスクトップ状態で簡単にリモコン操作させた
リモコンマネージャーの富士通が偉く見えた(笑)

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

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)