- 1 名前:名無しさん@お腹いっぱい。 [2005/10/21(金) 04:31:53 ID:qy14hWPT0]
- If You = beginner
Read, Template, >>2-6 Previous Thread:: AutoHotKey Thread pc7.2ch.net/test/read.cgi/software/1098531338/ If Res > 950 Please, Build, NextThread
- 65 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/31(月) 13:05:42 ID:auv8fr6b0]
- つWinSet
- 66 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/01(火) 18:03:24 ID:ozgXNR060]
- >>56
完成したらUPしてくれませんか?
- 67 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/01(火) 18:40:57 ID:JPnPn5j40]
- >>56
>>66 ttp://www.autohotkey.com/forum/viewtopic.php?t=2216 これのHotkey部分を書き換えれば望みの動作になるかと。
- 68 名前:56 mailto:sage [2005/11/01(火) 22:04:36 ID:hYFbhs5k0]
- >>66
>>56のSoud:の部分を Sound: SetTimer, GuiHide, off SoundGet, Vol, Master Transform, Vol, Round, %Vol% GuiControl,, Volume, %Vol% Gui, Show, x624 y998 NA SetTimer, GuiHide, 1000 Return GuiHide: SetTimer, GuiHide, off Gui, Hide Return >>67 >>56の時点でできた上のスクリプトで動作は満足していましたが、リンクのスクリプトも参考になりました。 ところで、視覚スタイルをOFFにする以外にタスクバーのグラデーションって切れないんでしょうか? 上のスクリプトの色設定だとタスクバー上でしっかり隠れてくれない。 透過も上手くいかないし・・・・
- 69 名前:56 mailto:sage [2005/11/01(火) 22:05:59 ID:hYFbhs5k0]
- > >>56の時点でできた上のスクリプト
>>59の時点でできた上のスクリプト 間違いです
- 70 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/01(火) 22:29:37 ID:so0ECgfj0]
- >>68
下のようなエラーになります。 matsuya.dyndns.tv/2ch/img-box/img20051101222853.jpg
- 71 名前:70 [2005/11/01(火) 22:30:27 ID:so0ECgfj0]
- 70のエラーになるやつです。
Gui, +AlwaysOnTop -Caption Gui, Color, 245DDB Gui, Add, Text, vVolume cWhite, *** Return ^Up:: SoundSet, +5, Master Gosub, Sound Return ^Down:: SoundSet, -5, Master Gosub, Sound Return Sound: SetTimer, GuiHide, off SoundGet, Vol, Master Transform, Vol, Round, %Vol% GuiControl,, Volume, %Vol% Gui, Show, x624 y998 NA SetTimer, GuiHide, 1000 Return GuiHide: SetTimer, GuiHide, off Gui, Hide Return
- 72 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/01(火) 23:10:10 ID:B9WSZONo0]
- >>71
7行目(以降)のどこか(ていうか行頭)に不正な文字がある。 2ちゃんに貼ってて整形が崩れずインデントが保たれている段階で気付こうな
- 73 名前:70 mailto:sage [2005/11/01(火) 23:36:01 ID:so0ECgfj0]
- >>72
thx。全角スペースが入ってた。
- 74 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 00:05:41 ID:k4q1X8S+0]
- 全角スペースいれるのやめない?
ちょっと見にくいだけじゃん。コピペめんどくせ。
- 75 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 00:17:11 ID:Pn1A6Moc0]
- >>74
どっちにしろ、コピペしたのをそのまま使わず 後で自分好みにタブ入れたり改良したり変数変えたりするから 掲示板上での見やすさを優先してほしい。
- 76 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 01:04:10 ID:1s79aisd0]
- なんか裏技的にうまくインデントを表現できないかね
- 77 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 01:04:59 ID:Oarl5uV80]
- 漏れは自分が質問するときは除去してるけど、人にレス付ける時は
敢えて全角スペースでインデント入れる場合が多いな。 特にそのままAutoHotkey.iniにコピペして使いそうな相手なら尚更 あぷろだに上がってる投稿モノの中に、全然インデントされてないスクリプトが いくつかある。多分元々プログラミングしない人で掲示板でしか 人のソース見てないとインデントの概念自体がないんだと思う。 コーディングルールは個人の好き好きではあるけど、AHKの場合は 人から貰ったソースを手を入れずにそのまま使えるケースは少ないし 他人が見てもわかりやすい記述は知ってて欲しいと思うので
- 78 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 02:11:33 ID:L1tQPzXC0]
- スペース0
スペース1 スペース2 スペース3 スペース4
- 79 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 02:13:48 ID:L1tQPzXC0]
- >>78
- 80 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 02:15:47 ID:L1tQPzXC0]
- スペース0
 スペース1   スペース2    スペース3     スペース4
- 81 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 02:23:32 ID:L1tQPzXC0]
- スペース0
スペース1 スペース2 スペース3 スペース4 >>78はコピペミス。  または と書くと、半角スペースに変換される。 半角スペースが連続しても1個に変更されてしまうことがないみたい。
- 82 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 03:25:15 ID:yA1z2EuC0]
- ギコナビで特殊文字変換してる
- 83 名前:名無しさん@お腹いっぱい。 [2005/11/02(水) 17:33:22 ID:y7CD98+Z0]
- >>77
世の中にはインデントがないほうが見やすい人も存在する
- 84 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 18:48:13 ID:Oarl5uV80]
- >>83
>コーディングルールは個人の好き好きではあるけど、AHKの場合は >人から貰ったソースを手を入れずにそのまま使えるケースは少ないし >他人が見てもわかりやすい記述は知ってて欲しいと思うので
- 85 名前:名無しさん@お腹いっぱい。 [2005/11/02(水) 20:23:36 ID:5+koFFKw0]
- >>84
>>83
- 86 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/02(水) 21:00:58 ID:mmYbLWLG0]
- >>84-85
#SetThreadMood, Mataari
- 87 名前:名無しさん@お腹いっぱい。 [2005/11/03(木) 04:45:03 ID:CGo3fQX00]
- キャプションを非表示にすることってできますか?
たぶんSendMessageを使うんだろうけど、見つかりません。
- 88 名前:87 mailto:sage [2005/11/03(木) 05:08:44 ID:CGo3fQX00]
- みつかりました。
SendMassageではなくてWinSetだけれど。 WinSet, Style, ^0x00C00000
- 89 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 16:00:33 ID:aDGTml8d0]
- あるアプリAを起動すると、別のアプリBも自動的に起動するようにするには、どのようにすればよいのでしょうか?
- 90 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 16:16:15 ID:RQBG0Gu80]
- 条件をもっと絞ってくれないとな。
単純な方法から高い連動性を求めるものまでいろいろあるから
- 91 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 16:53:28 ID:aDGTml8d0]
- アプリAが何らかの方法で起動されると、プロセスを監視していたAutoHotKeyがそれを察知してアプリBも自動的に開くようにしたいのです。
何秒後に開く、とかの指定は必要なく、アプリAを終了したらアプリBも終了する、などの機能も必要ありません。 AutoHotKeyの監視はできれば5分ごとに監視するようにしたいのですが、常に監視するのでもかまいません。 方法をご存じの方がいましたら、お願いします。
- 92 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 17:47:09 ID:GMRToEkf0]
- #Persistent
Settimer,kansi,5000 kansi: IfWinExist,A If hoge = 0 { { IfWinExist,B { hoge = 1 } else { Run,B } } return } else { hoge = 0 return } こんな感じでいいんでしょうか?
- 93 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 17:49:07 ID:GMRToEkf0]
- スレの流れからして俺、最低だな・・・。
- 94 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 18:42:44 ID:CgkRLY9O0]
- あー、Ifがネストしちゃうと漏れは完全アウトだな。
パッと見ではもちろんじっくり考えても全然理解できない。 で、エディタに貼っつけてインデントしてから考えてみたんだけど 一番上位のIfWinExist,A の{ }抜けてるけどいいのんかい? あと 7,16行の { } に意味なくないか、これ
- 95 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 18:47:37 ID:6IkeUy0z0]
- >>91
つProcess
- 96 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 20:16:45 ID:IdqDMTZK0]
- ThumbSenseのように、タッチパッドに触れているかどうかを判定できるようになるといいなあ。
- 97 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 21:22:00 ID:myFIFexE0]
- TAB使えばいいじゃん
- 98 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/03(木) 22:56:37 ID:ZNzLxnpo0]
- もしどなたかソースコード解凍できる人いましたら
ソースからShellExecuteというAPI検索して6個目(=最後)の引数何になってるか 確認していただけませんか?
- 99 名前:98 mailto:sage [2005/11/03(木) 23:06:30 ID:ZNzLxnpo0]
- ごめんやっぱりいいです。
でもやっぱりなんかおかしい。
- 100 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/04(金) 22:35:21 ID:GuCt95u60]
- マウスカーソルを変更したり消去するコマンドは無かったorz
ノーマウスカーソルの機能をぱくれると思ったが残念
- 101 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 00:12:48 ID:1+JQ8ek+0]
- >>100
前スレより。 DAT落ちしてるみたいなんでコピペ > 627 名前:625[sage] 投稿日:2005/05/20(金) 23:58:26 ID:jhPL19PD > とりあえずLoadCursorFromFileで直接カーソルファイル指定で > システムのポインタは変えれるぽい > (LoadCursorも試してみたがイマイチ挙動がよくわからん) > > #1:: SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoge.cur"),32512) > #2:: SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoga.cur"),32512) > > LoadCursorFromFile(lpFileName) > { ; カーソルファイルからマウスカーソルを作成する > return DllCall("LoadCursorFromFile",Str, lpFileName, Int) > } > SetSystemCursor(hCur,id) > { ;システムカーソルを変更する > return DllCall("SetSystemCursor", Uint,hCur, Int,id ,Int) > } > > 630 名前:592[sage] 投稿日:2005/05/25(水) 12:53:24 ID:62rl7YBY > IME状態表示用のアイコン作ってみた > ttp://lukewarm.s101.xrea.com/up/file/028.zip > > 631 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2005/05/25(水) 12:54:38 ID:62rl7YBY > あ、マウスカーソルに訂正
- 102 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 03:27:14 ID:kQuWg8rN0]
- dllcallでShowCursorを使えばいけそうだけど
#y::DllCall("User32\ShowCursor", "int", 0) テストで作ってみても反応無かったorz 助けて
- 103 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 04:50:06 ID:/8hJVayJ0]
- >>102
それ自分のプロセスのウィンドウにしか利かない
- 104 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 15:21:11 ID:q4T/nF7a0]
- ttp://www.autohotkey.com/docs/misc/Clipboard.htm
の OnClipboardChange の例にある%A_EventInfo%ですが 誰か解説してほしい・・・ とりあえず、文字やファイルだと1 bmpだと2になるんだが、 文字とファイルの区別はつかないのかな
- 105 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 16:06:10 ID:1+JQ8ek+0]
- >>104
lukewarm.s101.xrea.com/commands/indexframe.html
- 106 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 16:07:29 ID:1+JQ8ek+0]
- 違った。こっちの下のほう
lukewarm.s101.xrea.com/misc/Clipboard.htm
- 107 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 16:12:49 ID:1+JQ8ek+0]
- 何度もスマソ、ちなみにクリップボード内のフォーマットはDllCallでAPI使えば取得できる
サンプル d.hatena.ne.jp/eamat/20050920/p1
- 108 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 19:25:38 ID:q4T/nF7a0]
- >>106
ありがとう。 日本語のヘルプ(chm)しか見てなかった・・・すまん >>107 こっちも参考にしてみる。ありがと 今週初めにAutoHotkey知ったんだがおもしろい。 これでCaps入れ替えができれば完璧なんだが・・・
- 109 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 20:23:00 ID:YtsoQGy80]
- やっとサッカーチームが!
- 110 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/05(土) 20:24:40 ID:rpDKFDGY0]
- 戦う相手がいません!
- 111 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/06(日) 16:38:36 ID:7Hz8Kh6P0]
- こんなスクリプト書いてくださいってのは、ここ的にアリですか?
- 112 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/06(日) 17:44:40 ID:PoGd2lip0]
- (ω・ )ゝ なんだって?
- 113 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/06(日) 19:45:09 ID:7Hz8Kh6P0]
- >>112
こんなスクリプト書いてくださいってのは、ここ的にアリですか!!!
- 114 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/06(日) 19:55:01 ID:FAFXojQr0]
- /.──┬ /⌒ヽ ┌─┴─┐ . | ヽヽヽ ―┼― .| ヽ | \
/| ┌─┐| ノ  ̄フ .  ̄| ̄ヽ | , | | | \  ̄| ̄ヽ | . | | └─┘| | ─┼─ ,ノ │ ノ . | \ | ゝ | | ノ │ |/ ̄ヽ | J ○ J . ノ ヽノ . J \_ レ ノ ヽノ _ノ _____ ____ー┼ー | / _/_ -- 二二_ /~| ̄/ヽ / ヽ | \  ̄ ヽ | | ノ .| ∨ | / _| | | | ̄| ノ l____, \ノ ノ (_ノヽ レ  ̄
- 115 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/06(日) 19:56:57 ID:0hkV63L40]
- >>111
いちいちそんな無駄レスせずにさっさと本題書けよ。印象悪いぞ。 過去スレからの流れを見てるとこのスレは自分である程度試行錯誤する人間には 手助けするけど、丸投げは(・A・)イクナイ!って感じだからそれを踏まえた上でヨロシク。
- 116 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/06(日) 21:48:46 ID:A0mk0Y990]
- 横やりですいません。>>102のヒントお願いします。。。
- 117 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/06(日) 23:40:35 ID:z+zoLLJT0]
- >>111
無し ヒントを教えてくれとかならまだしも、丸投げはダメだろ
- 118 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/07(月) 00:15:52 ID:Lx44qPKh0]
- >>116
>103で答えは出ていると思うのだが
- 119 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/07(月) 04:00:09 ID:S2Pl78Ca0]
- >>111
とりあえず、なにがしたいんだ?怒らないから言ってみなさい
- 120 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/07(月) 18:35:53 ID:7cDsa3uM0]
- >>111
やっぱり怒る
- 121 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/07(月) 20:21:01 ID:rV/rS1+v0]
- ^p::
IfWinActive, ahk_class Notepad Send, ^o else Send, ^p return こんな感じのスクリプトを書いているんですが、指定ウィンドウ以外で無限ループしちゃいます。 こういう時どうしたらいいんでしょうか?
- 122 名前:名無しさん@お腹いっぱい。 [2005/11/07(月) 20:39:04 ID:PUaC//G70]
- >>121
一行目に #UseHook を追加
- 123 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/07(月) 21:58:01 ID:Lx44qPKh0]
- $^p::
- 124 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/07(月) 23:09:43 ID:rV/rS1+v0]
- >>122-123
無限ループしないようになりました。 ありがとうございます。
- 125 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/07(月) 23:58:04 ID:d1b3VXPA0]
- >>117
では、ヒントをお願いします。 >>119 優しいお言葉どうもです。書いてみます。 起動していたらアプリをアクティブ、起動していなかったらアプリを起動。 これは出来ました。これにさらに、Ctrlを押していたらアプリを終了。 Altを押していたら、アプリを最前面にをトグルということをやりたいです。 Win + H >秀丸を起動、起動していたらアクティブ。 Win + Ctrl + H>秀丸を終了、起動していなかったら何もしない。 Win + Alt + H>秀丸を最前面に、起動していなかったら起動して、最前面に。 これ単純にすべてのホットキーを設定しちゃえばいいのですが、 いろいろなアプリに対応させたいので、関数っていうんですか? 処理をうまいことまとめられたらいいなぁとおもいまして。 >>120 ひぃ…そこをなんとか。ヒントだけでも。
- 126 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 01:56:56 ID:BqfIoljv0]
- どのへんを関数化したいのかわからんのだが
取り零しとかあるしトリガは素直にホットキー使ったほうがよい モデファイヤキーの押下状態で内部分岐もできるが これだとhが入力できなくなるので ~ つけるか中でSendするとかの処理が必要 *h:: dsp= if (GetKeyState("CTRL")) dsp = ctrl if (GetKeyState("SHIFT")) dsp = %dsp% sift if (GetKeyState("ALT")) dsp = %dsp% alt if (GetKeyState("LWIN") || GetKeyState("RWIN")) dsp = %dsp% win ToolTip,%dsp% return
- 127 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 07:16:19 ID:OmlMtwX30]
- SetHotkey("n" , "notepad.exe", "C:\WINNT\System32", "max")
SetHotkey("c", "calc.exe", "C:\WINNT\System32", "") return SetHotkey(key, appPath, appWorkDir, appWinState) { global appPath%key%:=appPath appWorkDir%key%:=appWorkDir appWinState%key%:=appWinState Hotkey, #%key%, launchApp ;Hotkey, ^#%key%, quitApp ;Hotkey, !#%key%, toggleWindow Return } launchApp: StringRight, key, A_ThisHotkey, 1 appPath:=appPath%key% appWorkDir:=appWorkDir%key% appWinState:=appWinState%key% Run, %appPath%, %appWorkDir%, %appWinState% Return hotkeyが関数に対応してないからめんどくさかった・・ とりあえずこれで動的に割り当てられるはず。 ヤレヤレダゼ( ゚д゚)y─┛~~
- 128 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 08:00:45 ID:AQU/ZuaD0]
- 「=」と「:=」ってどう使い分けるんですか?
- 129 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 10:08:44 ID:U5/qb0is0]
- >>128
一緒
- 130 名前:128 mailto:sage [2005/11/08(火) 10:19:07 ID:AQU/ZuaD0]
- >>129
そうなんですか? あとIfの時()で囲むか囲まないかってのもいまいちよくわかりません。
- 131 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 10:32:21 ID:w31TiB9U0]
- >>128
a:=A_AhkVersion と a=%A_AhkVersion% だとaが同じ内容になる。 d=%abc%xyz%% ってやりたくても出来ないので、こんなときは b:=adc%xyz% これで似たような意味になる。こう解釈してんだけど間違ってたらごめん。
- 132 名前:131 mailto:sage [2005/11/08(火) 10:34:58 ID:w31TiB9U0]
- ごめん。
d=%abc%xyz%%→b=%abc%xyz%% 間違えました。
- 133 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 13:01:31 ID:x8v+5Rvv0]
- >>126
>>127 ずばり答えまで書いてくださって、ありがとうございます。 内容を解釈しながら、改良してみます。
- 134 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 13:16:32 ID:OmlMtwX30]
- >>127
あー、寝ぼけてるな・・・ hotkeyが関数に対応してたとしても別段コード変わらんよな・・ >>133たしかに、ヒントじゃないなw がんばってね
- 135 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 15:15:11 ID:ZVndp7Og0]
- >>129
おいおい。。。 違うやろ、ifの = と == は文字列比較以外はほぼ一緒だけど >131の解釈でだいたい合ってる
- 136 名前:128 mailto:sage [2005/11/08(火) 19:12:51 ID:AQU/ZuaD0]
- 「=」と「:=」の使い分けはわかりました。
「If」と「If()」は?
- 137 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 19:27:52 ID:BqfIoljv0]
- If var = value
→ 従来仕様、1行に1判定文しかかけない If (var1 = var2) and (var1 = "value") → 後から追加された形式、AND や OR で複数の判定を連結できる AHKは 1.0.25と1.0.34あたり(うろ覚え)で大幅な仕様追加があった。 := や if () 、Functionは従来の記述ルールでできない部分を拡張する形で導入された記述形式 従来仕様とチャンポンになってるので後から入ってきた人には分かりにくいかもしれないな
- 138 名前:128 mailto:sage [2005/11/08(火) 19:32:07 ID:AQU/ZuaD0]
- >>137
なるほど。 ありがとうございました。
- 139 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 22:48:46 ID:x8v+5Rvv0]
- >>134
続きを改良しつつ、作ってみました。 SetHotkey(key, appPath, appTitle, appWorkDir="", appOpt="") { global appPath%key%:=appPath appTitle%key%:=appTitle appWorkDir%key%:=appWorkDir appOpt%key%:=appOpt Hotkey, #%key%, launchApp Hotkey, ^#%key%, quitApp Hotkey, !#%key%, toggleWindow Return } launchApp: StringRight, key, A_ThisHotkey, 1 appPath:=appPath%key% appTitle:=appTitle%key% appWorkDir:=appWorkDir%key% appOpt:=appOpt%key% ifWinNotExist, %appTitle% Run, %appPath%, %appWorkDir%, %appOpt% else WinActivate, %appTitle% return Return
- 140 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 22:50:31 ID:x8v+5Rvv0]
-
quitApp: StringRight, key, A_ThisHotkey, 1 appTitle:=appTitle%key% ifWinNotExist, %appTitle% Exit else WinClose, %appTitle% return Return toggleWindow: StringRight, key, A_ThisHotkey, 1 appPath:=appPath%key% appTitle:=appTitle%key% appWorkDir:=appWorkDir%key% appOpt:=appOpt%key% ifWinNotExist, %appTitle% Exit else WinSet, Topmost, TOGGLE, %appTitle% return Return んー >>126さんの言うとおり、取りこぼしがあるし、 Topmostのトグルが出来てないような。 折角作ってもらったのに、ホットキーの方が確かってことなんですかねぇ。
- 141 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 23:08:59 ID:BqfIoljv0]
- いや、取りこぼしが発生するのは LoopやSettimerで自力監視する場合の話
Hotkeyコマンドは動的に割り当ててるだけでトリガはAHKまかせだし 問題ない筈だが
- 142 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 23:28:51 ID:BqfIoljv0]
- Returnを2回重ねてるところと Exit使ってるのの意味がわからんのだが
toggleWindow: StringRight, key, A_ThisHotkey, 1 appTitle := appTitle%key% ifWinExist, %appTitle% WinSet, Topmost, TOGGLE, %appTitle% Return でいいんじゃね? (If あるんで全角インデントした)
- 143 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/08(火) 23:38:44 ID:x8v+5Rvv0]
- >>141
なんか反応が鈍い時があるんですよね。 >>142 メタメタだ…。
- 144 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/09(水) 07:51:17 ID:HqHg5smR0]
- ていうかappTitleにどんな値指定してんだか知らんけど
秀丸みたいに多重起動できるアプリだとウィンドウを限定できねんじゃね? 判定は ifWinExist じゃなくて ifWinActiveにして 任意のウィンドウがアクティブなときに動作させないと誤爆するな あと秀のようにアプリ自体がTopmostの機能をもってる場合はSendで ショートカットキー投げるとかしてそっち使ったほうが話は簡単かもしれんよ
- 145 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/09(水) 15:43:04 ID:+AeGgYao0]
- >>143秀丸落として試してみたが、うちでは問題なくトグル出来るが・・・
それと>>141が言うようにhotkeyコマンド使って設定した場合、ホットキーラベルで設定したのと同じ動作になるはずで、 反応鈍いって事はないだろう。ホントにそうならAHK自身のバグとしか考えられん。 >>144 ifWinExistでもちゃんとできるみたい。 同タイトルのウィンドウが存在した場合、まず最前面ウィンドウが優先され、 最前面がない場合と複数最前面がある場合、アクティブの時にはそのウィンドウに、 非アクティブの場合、最後にアクティブだったウィンドウに適用されるっぽいな。 違ったらごめん。 気になったのが、非アクティブの最前面ウィンドウを非最前面にしたときに 一度そのウィンドウをクリックしてやらないと、 他のウィンドウクリックしても後ろに行ってくれないが、 ここらへんはOSの仕様のような気がする。 topmostトグルするまえにWinActivateつかってアクティブにしてやれば一応解決するが。
- 146 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/10(木) 21:56:38 ID:RwGjNG9H0]
- ウィンドウ指定の条件をandじゃなくてorにすることはできないでしょうか。
IfWinActiveとかを何度も書かなきゃだめですか
- 147 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/10(木) 22:01:45 ID:We9gQrEX0]
- >>146
ttp://lukewarm.s101.xrea.com/commands/IfIn.htm
- 148 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/10(木) 22:25:50 ID:RwGjNG9H0]
- >>147
なるほど。ウィンドウのタイトルを変数に入れてIf var inでマッチリストと 比較するわけですね。 or条件を使うときはIfWinActiveではなくこれを使ってみることにします。 ありがとうございました。
- 149 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 03:42:19 ID:khVemMEi0]
- タイマー作るのって無理?
InputBoxで入力した時間Sleepしてアクションを起こすってことはできるけど 残り時間の表示をどうやればいいのかわからない。
- 150 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 04:01:08 ID:xFnBvB+A0]
- >>149
time=%A_Sec% settimer,count,1000 count: rest:=time-A_Sec+30 tooltip,%rest% return esc::exitapp こんなんでええのだろうか
- 151 名前:149 mailto:sage [2005/11/11(金) 04:05:08 ID:khVemMEi0]
- >>150
なるほど! これはは思い浮かばなかった。 迅速なレスありがとうございます。
- 152 名前:149 mailto:sage [2005/11/11(金) 04:10:33 ID:khVemMEi0]
- あ、いやちょっと待って。
よく考えたら全然ダメじゃん。 数秒確認しただけでレスしちゃった。
- 153 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 04:24:46 ID:xFnBvB+A0]
- returnの前にこれ追加しといて
if rest=0 exitapp 的外れだったらすまん。つーか何がダメなんかわからん、とりあえずカウントダウン表示してみただけだし。
- 154 名前:129 mailto:sage [2005/11/11(金) 04:31:30 ID:khVemMEi0]
- たとえば、今、○時○分55秒だったとします。
55-55+30=30 55-56+30=29 55-57+30=28 55-58+30=27 55-59+30=26 55-00+30=85 55-01+30=84 こういう計算だと思うんですが・・・・。 私の方が間違っているのかな。
- 155 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 05:53:00 ID:FTok57/z0]
- A_TickCountつかえ
- 156 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 07:51:44 ID:A6pk7vW20]
- 時間関係の計算はよくわからんルールになってるぞ
一人で脳使ってないでヘルプ熟読してきなされ
- 157 名前:名無しさん@お腹いっぱい。 [2005/11/11(金) 18:08:09 ID:KIS/mZVoO]
- ちょっとくらいヒントをくれてもいいじゃないですか。
- 158 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 18:52:34 ID:A6pk7vW20]
- とりあえず149はA_Sec参照して何がやりたいんだ?
単純に残り秒数カウントダウンしたいだけなら dwncnt := 30 ;残り秒数 settimer,count,1000 count: dwncnt-- tooltip,%dwncnt% return きちっと精度上げたいならSetTimerの値を小さくして>155が言うようにA_TickCount使う
- 159 名前:149 mailto:sage [2005/11/11(金) 20:12:02 ID:khVemMEi0]
- ○時間○分○秒というタイマーも使えるようにしたかったので
A_TickCountではなく、YYYYMMDDHH24MISSで記述した物からEnvAddでSecondsを指定して 1秒ごとに-1加算するようにしたら上手くできました。
- 160 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 18:02:11 ID:A/9NzbIG0]
- あるSetTimerがonの時とoffの時で条件分岐って無理?
- 161 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 19:35:11 ID:N8ylNJMv0]
- タイマーが動いてるかどうかを調べる方法はなかったはず
自分でフラグ変数用意して現在の状態覚えとくようにすればOKだけど
- 162 名前:160 mailto:sage [2005/11/13(日) 19:37:47 ID:A/9NzbIG0]
- >>161
どういうことですか?
- 163 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 19:41:43 ID:5IyRr/ha0]
- 自分で変数を用意する。
- 164 名前:160 mailto:sage [2005/11/13(日) 19:53:57 ID:A/9NzbIG0]
- こんな感じ?
SetTimer, ABC, 3000 ST_Flag = on #A:: If(ST_Flag = "on") { SetTimer, ABC, off ST_Flag = off } Else If(ST_Flag = "off") { SetTimer, ABC, on ST_Flag = on } return
- 165 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 21:50:43 ID:N8ylNJMv0]
- そう、それか↓みたいにしてもいいし
#A:: If (interval > 0) { interval = 0 } else { interval = 3000 } SetTimer,ABC,%interval% return
|

|