1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 15:48:16 ID:LAzeYh1N0] (テンプレ>>1 ) ■公式 www.autohotkey.com/ ■解説 AutoHotkeyを流行らせるページ lukewarm.s101.xrea.com/ ■過去スレ 1 pc7.2ch.net/test/read.cgi/software/1098531338/ 2 pc7.2ch.net/test/read.cgi/software/1129836713/ 3 pc11.2ch.net/test/read.cgi/software/1157043396/ 4 pc11.2ch.net/test/read.cgi/software/1184556627/ 関連リンク>>2 以降も参照
11 名前:10 mailto:sage [2008/01/28(月) 20:56:28 ID:mX8zLuSg0] あまりのアホ臭さに、ついカッとなって書き込んでしまったが、 本当は無視した方が良いんだよな。
12 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 21:08:56 ID:iglknCZV0] >>2 TOKKY.COM www.h3.dion.ne.jp/~tokky/ ↑これリンク切れてない? 乙です!
13 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 00:08:58 ID:XdQ+yieA0] 導入しようとしていきなりつまずいたんですが, 「Ctrl+,」にホットキーを割り当てるにはどうすればいいんでしょうか? ^,:: Send,{Down} としても反映されないし, ^`,:: Send,{Down} のようにカンマの前でエスケープを入れるとエラーで読み込んでくれません. どなたか解決方法をご存知でしたら教えてください.
14 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 01:15:59 ID:Ay5OuFjT0] ^,::Send,{Down} でも ^,:: Send,{Down} Return でも普通にカーソル下を押したように動作するけど?
15 名前:13 mailto:sage [2008/01/29(火) 01:25:19 ID:XdQ+yieA0] >>14 いま自宅のPCで試したら問題なく動きました. なぜか会社のノートPCだと「Ctrl+,」が動かなくって困ってたんですが・・・・ なぜなんだ(´・ω・`) 明日また格闘してみます. レスありがとうございました.
16 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 12:40:37 ID:Szetxnxc0] 5ボタンマウスのサイドボタン押したら アプリ毎に独自のAHKで作ったコンテキストメニュー出すようにしたらめちゃ便利になったぜ。
17 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 14:32:03 ID:ajljrKKP0] タブ一覧をフルパスで出すことは可能ですか?
18 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 15:36:31 ID:H396lWxH0] 任意ウィンドウにファイルパスをドロップするのってAHKで実現するとなるとやっぱDllCallあたり? 秀丸上で再編集した AviSynthスクリプトを VirtualDub で開き直したいんだが 秀丸(マクロ起動)→ AHK → CDrop.exe → VirtualDub みたいな感じになってイマイチ美しくない。 CuteExec + CDrop 的なことをAHK単体でできるとスマートになるんだが
19 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 17:53:20 ID:ajljrKKP0] "を,に変更しようとして下記を実行するとエラーになります。 "のエスケープ方法はありますか? RegExReplace(str, """, ",") → ダメ RegExReplace(str, "\"", ",") → ダメ
20 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 19:28:38 ID:3WMuG5Dr0] つRegExReplace(str, """", ",") 流行らせるページに書いてあった気がするぞ
21 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 20:39:08 ID:BI4JxHKn0] >>16 それ俺もやってる。便利だよな
22 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/31(木) 16:33:32 ID:shq4HQgO0] 特定のタイトルを含むダイアログがポップしたら 即走り出すスクリプトってどう書けばいいんですか?
23 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/31(木) 17:42:19 ID:at/ss03S0] WinWaitでひたすら待機するか、SetTimerで定期的にウィンドウチェックする
24 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 12:16:53 ID:a0KRVuAu0] マウスとトラックボールで使う設定を切り替えたいのですが、 特定のキーを押したら設定ファイルを切り替えることはできますか?
25 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 13:39:13 ID:VhWABfjI0] いくらでもやりようはあるんでは 全部メインINIに書かんでも必要な時に単体AHKで走らせるとか どういう形で利用したいか次第だけど
26 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:22:25 ID:4atLgnwZ0] ホットキー押下で処理が実行できるように、 マウスを任意のポジション(画面右端など)に持っていくと任意の関数を呼び出すことってできますか?
27 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:23:50 ID:USinHq/30] SetTimerで定期的にカーソルの座標をチェックする
28 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:29:07 ID:4atLgnwZ0] >>27 なるほど!頭が固かった。 ありがとうございます。
29 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 16:03:24 ID:4atLgnwZ0] #Persistentを入れたら、よく分からないのですがGUI関連の動作が変になります。 画面表示させると、タスクバーにウィンドウタブが出るのに、画面が表示されません。 何か注意事項があれば教えてください。
30 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 16:14:06 ID:VhWABfjI0] AHK晒す方が早い
31 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 17:21:17 ID:4atLgnwZ0] なにかRegExReplaceの挙動が変です。 clipboard := RegExReplace(clipboard, "$", "_") clipboardは「aaa」 aaa____________ ※「_」が永遠につきます。 これは私だけでしょうか?
32 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 18:32:39 ID:VhWABfjI0] どこかでループに入ってるだけじゃないの OnClipBoardChangeとかでそれやるとそうなると思うけど それにしても挙動がおかしいわけじゃないので精進あるのみ
33 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 22:56:17 ID:KxCafLCj0] 普段は無変換をAltにして、変換中の文字列がある時は 無変換のままにするには、どうしたらいいでしょうか? ImmGetContext ImmGetCompositionString ImmReleaseContext で何とかしようとしたんですが、ImmGetContextが HIMCを返してくれず、つまってしまいました。
34 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 07:50:55 ID:rBQILGNE0] >>11 そうかもしれんが とりあえずグッジョブ!! オレも同じ気持ちだ
35 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 08:09:41 ID:lNDxtde70] トグルでのリマップ、具体的には ;1 キーボード左手ホームポジション付近にテンキーを配置 ;2 と同時にマウスホイルを横スクロール化する ってのを本家のForumからのコピペを継接ぎして動作確認取ったんですよ。 で、本題、そこに更にSandS実装したらテンキー部分が1と2は死んじゃったんです。 使わせてもらったのはコレ ttp://sadat-studio.net/modules/mydownloads/viewcat.php?cid=3 他に変換キーとの同時押し、無変換キーとの同時押しで色々割り振ってるけどそっちは問題ないんです。 (最後にSandS付足したらトグルテンキー&スクロールが死んだ) なんとか粗探ししてもらえませんか? やりたいこと纏めた画像とコードも晒しときます。 rainbow.sakuratan.com/data/img/rainbow67867.jpg
36 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 08:12:14 ID:lNDxtde70] DetectHiddenWindows On GoSub ~ScrollLock ; react to initial state ; ... further code here ; --- end of autoexecute section --- ~ScrollLock:: ; toggle by create/destroy a hidden window If GetKeyState("ScrollLock","T") Gui 1:Show, Hide, ScrLk Else Gui 1:Destroy Return !T:: ; toggle by create/destroy a hidden window AltT := !AltT If AltT { Gui 2:Show, Hide, Alt-T TrayTip, テンキー&横スク, ON!!!!!!!!!!!!!!!, 10, 17 } Else { Gui 2:Destroy TrayTip, , OFF!!!, 10, 17 } Return #IfWinExist ScrLk ; below the HotKeys are active when CapsLock is ON !z::MsgBox ScrollLock ON ;... #IfWinExist Alt-T ; below the HotKeys are active when Alt-T toggle is ON !z::MsgBox Alt-T ON 2::Send {BS} 3::Send {Numpad7}
37 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 08:12:48 ID:lNDxtde70] 4::Send {Numpad8} 5::Send {Numpad9} q::Send +{Tab} w::Send {Numpad4} e::Send {Numpad5} r::Send {Numpad6} t::Send {Tab} a::Send {Numpad0} s::Send {Numpad1} d::Send {Numpad2} f::Send {Numpad3} x::Send {,} c::Send {NumpadDot} v::Send {NumpadEnter} WheelUp:: ; Scroll left. ControlGetFocus, fcontrol, A Loop 4 ; <-- Increase or decrease this value to scroll faster or slower. SendMessage, 0x114, 0, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINERIGHT. return WheelDown:: ; Scroll right. ControlGetFocus, fcontrol, A Loop 4 ; <-- Increase or decrease this value to scroll faster or slower. SendMessage, 0x114, 1, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINELEFT. return ;... #IfWinExist ; below the HotKeys are active when all toggles are Off !z::MsgBox ScrollLock/Alt-T Off ;...
38 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 10:54:47 ID:1sw7KKiW0] >>32 これはバグでしょう。 クリップボード「c\windows」 clipboard := RegExReplace(clipboard, "\\", "_") → c_windows clipboard := RegExReplace(clipboard, "\\", "\\\\") → c\\\\\\\・・・無限に どの正規表現ライブラリで実行してもこんな結果にならない。 というか、最初のマッチ文字は置換対象文字の影響を受けないのが正規表現の仕様のはず。
39 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 13:58:05 ID:lxZerH8t0] だから、スクリプトの書きミスで再帰的に その行が実行されちゃってるんじゃないの? clipboard = c\windows clipboard := RegExReplace(clipboard, "\\", "\\\\") ExitApp これだけをAHKとして実行したら無限になんかならないよ?
40 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 15:19:54 ID:hiCAfNGc0] >32も指摘してる通り OnClipboardChange: イベントでループしてんじゃないの? てか検証して欲しいなら どういう条件でコードが実行されるのかイベントやラベルも含めて晒せよ あと、OSとAHKのバージョンもな。 それと本当にバグを見つけたんならここだけで話終わらせないで公式に報告汁 適当な機械翻訳でもサンプルソースとかで意図さえ伝わればフィードバックしてもらえるよ。
41 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 18:37:52 ID:NF7nd3YZ0] 意図しない挙動をして質問する時は、>>40 の言うように その環境と再現する最小の例を出さないと、要エスパーになる まあ、処理系のバグのせいにする時は、99%凡ミスしてるんだけどなw
42 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 19:58:32 ID:dA0g5f860] 流行らせるページって公式に許可取ってるの? 勝手に本まで出して。
43 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:12:43 ID:lzI8duyb0] >>42 公式サイトのトップページからリンクされてる 勿論それが許可を取った証拠にはならないが、公認されているのは間違い無いな
44 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:22:49 ID:e8nuEEnl0] 流行らせるページって本当に流行らせたかったら サイトデザイン変えるのが先だろうと思ってしまう
45 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:25:33 ID:YiEZp6JU0] つーか、GPLな物の本を出すときに許可をとる必要あるの?
46 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:52:03 ID:dA0g5f860] このレスの速さw 本人常駐かよ。
47 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:53:44 ID:se7bcYAi0] ID:dA0g5f860
48 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 21:01:45 ID:T+oEl9Ya0] ちょっと調べれば間違いだと分かることで難癖をつけたり、 やたら他人の財布の中身に執着するし、前スレの奴かもな。 >>45 つーか、大体のPC系の解説本って無許可なんじゃね?
49 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 21:21:30 ID:XZ2S5i9N0] AHK付属させるとかじゃなければメールで知らせる程度だろう てか、某厨雑誌とか断っても既にメディアにプレスしてしまったから 掲載させろとか言ってくるんだぜ?w
50 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 23:47:13 ID:zQqzFbOH0] GPLだからなんの問題もないよ。 世の中にあるlinux解説サイトとかlinux本とか 全部linusの許可もらってるとでも思ってんのか。
51 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 00:04:13 ID:UKfPXss30] 5ボタンくん再臨だな
52 名前:35 mailto:sage [2008/02/05(火) 06:38:40 ID:fCMPtgDt0] 華麗にスルーですかそうですか 自分でやってみるよ…
53 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:06:58 ID:ri+tJX5c0] 本なんて出てるんだ。 っつーかあの日本語はオタ特有だよね。 大量にあるのに何が言いたいか相手に伝わらない。 英語ヘルプの方が分かりやすい。 >>35 も何が言いたいのかさっぱりわからん
54 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:49:31 ID:UKfPXss30] いいたいことは分かるが検証するには量多すぎて付き合いきれんw
55 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:54:07 ID:K8ltHUV00] あれ本て言うのか、、
56 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 15:55:19 ID:y+D95pDv0] >>52 SandS、スクリプト書いてupろだに上げた者だが、Inputで入力拾ってるので色々動作に制限は出てると思う。 ここ(の過去スレ)で要望が出たからサンプルとして書いたけど、 たしか要望した本人も「結局使えない」て結論に至っていたような。 とりあえず SAS_Initルーチン内の sas_EndKeys に {Numpad0〜9}とかを追加してみたらどうだろう。 ちなみにうちはノートPCなので動作確認はしてやれない、テンキーついてないしね。 てか、普通のSpace&1とか押しても ! にはならないな。当時使ってたPCでまともに動いてたのかも覚えてないわ。 それと、>35のリンク先で、変換/無変換キーにIME ON/OFF割り当ててるけど これってAHK使わなくても IMEのキーバインド変更機能でいけるような… (キーカスタマイズできない昔のMS-IMEしか入ってない環境では自分もやっていたが)
57 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 16:33:45 ID:TVchypt10] >>33 みたいな日本語を書く人はちゃんと学校を出たのかと心配になる
58 名前:35 mailto:sage [2008/02/05(火) 18:54:52 ID:fCMPtgDt0] >>53 >>35 も何が言いたいのかさっぱりわからん 確かに読み直してみると日本語でおk状態でした >>56 >>これってAHK使わなくても IMEのキーバインド変更機能でいけるような… 仰るとおりです。リンク先画像の赤いキーはレジストリ書換とIMEのプロパティで実現してます。 ホント全く説明になってないよね、面目ない… やりたい事の全容ですが、 1, 変換キーを絡ませた同時押し 2, 無変換キーを絡ませた同時押し 3, S&S 4, 8ボタンマウスのキーを絡ませた同時押し のワンショット・モディファイヤ(以下W.M.)、それにマウス側の各トグルキーで2配列追加して まぁ計6配列切り替えてキーボードを使いたいって感じです。 で、まぁ、一応全て動作して、それなりに満足してます。 今悩んでる、というか多分出来ないんだろうけどなんか代替手段ね〜かなと思ってるのは 1, 上記のトグル状態をキャレット及びマウスポインタに反映させれないか?(今はTooltip使ってる) 2, W.M.で割振ったキーが、別の修飾キーを同時押しした際に思ったように動作しない (例えばW.M.で割振った{+}キーとShiftを同時押ししてもShift+{+}のようにアプリ側が認識してくれてない) という2点です。何かヒントになるものありませんかね?
59 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 18:01:25 ID:pvAifRzL0] IME の On/Off の切り替えじゃなくて IME を Off にすることはできるでしょうか? (On/Off に関係なく)
60 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 18:10:00 ID:d8898FGG0] onだったらoff,return offだったらreturn
61 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:27:15 ID:pvAifRzL0] ??? On/Off 関係なく IME を Off にしたいんですけど。。。
62 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:37:51 ID:Sl+cm/Zu0] >>59 ほいよ、 これで IME_SET(0) でおk IME_SET(setSts, WinTitle="") { ifEqual WinTitle,, SetEnv,WinTitle,A WinGet,hWnd,ID,%WinTitle% DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint) ;Message : WM_IME_CONTROL wParam:IMC_SETOPENSTATUS DetectSave := A_DetectHiddenWindows DetectHiddenWindows,ON SendMessage 0x283, 0x006,setSts,,ahk_id %DefaultIMEWnd% DetectHiddenWindows,%DetectSave% Return ErrorLevel }
63 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:38:04 ID:tpln78Ks0] 例えば無変換なら vk1Dsc07B::IME_OFF("A")
64 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:42:14 ID:EgdTkP180] なんか忘れてない?
65 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 22:01:48 ID:AYbDX1cI0] 質問です。 Edit コントロールに入力した文字列を utf-8 として取得したいのです。 クリップボード経由 Transform,,Unicode で出来そうなのですが、 もっと直接的な方法はないでしょうか。
66 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 22:48:54 ID:EdJE6v3t0] ControlGetは?
67 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 18:37:55 ID:eh09GcLw0] >>62 ありがとうございます。最高です! 回数を指定してキーを送る時に、IME がオンの時に困っていました。 1000 文字とか送るので (マクロの止め方がわからないし。。)
68 名前:65 mailto:sage [2008/02/07(木) 21:31:30 ID:Zlfk3GsS0] >>66 レスありがとうございました。 なんとか自己解決できそうです。 こんな感じでいいのでしょうか。 EM_GETLINE := 196 buf_size := 100 VarSetCapacity(buf, buf_size) DllCall("RtlFillMemory", "Uint", &buf, "Uint", 1, "BYTE", buf_size &0xFF) DllCall("RtlFillMemory", "Uint", &buf + 1, "Uint", 1, "BYTE", (buf_size >> 8) & 0xFF) DllCall("RtlFillMemory", "Uint", &buf + 2, "Uint", 1, "BYTE", (buf_size >> 16) & 0xFF) DllCall("RtlFillMemory", "Uint", &buf + 3, "Uint", 1, "BYTE", (buf_size >> 24) & 0xFF) DllCall("RtlFillMemory", "Uint", &buf + 4, "Uint", 4, "BYTE", 0) c := DllCall("SendMessageW", "Uint", IdEdit, "Uint", EM_GETLINE, "int", 0, "Uint", &buf) DllCall("RtlFillMemory", "Uint", &buf + 2*c, "Uint", 2, "BYTE", 0) ; UNICODEを utf-8 に変換
69 名前:名無しさん@お腹いっぱい。 [2008/02/08(金) 12:45:20 ID:4jp9yaxv0] なまず氏の ダメ文字対策ライブラリ(mbstring.ahk)を見てるんだけど >MBS_StringTrimLeft(ByRef outputVar, ByRef inputVar, count) inputVar も ByRef型なのは何でなんだろ? 試しに inputVar を ByVal型にして見ても同じ動作はするみたいだけど (WinXP sp2 Ahk ver.1.0.47.05) 敢えてByrefにしているのは何か訳があるのだろうか? inputVar と outputVar 同じバッファを指定するとまずいのかな。 AHKオリジナルは StringTrimLeft, buf, buf, 1 としても問題ないことになってるので 同様の使いかたをしたいのだが。 軽くテストした感じでは希望通りの結果が得られたけど、不定動作になることもあり得る?
70 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 12:52:10 ID:2F8NJJop0] なまずってのはアフィ厨じゃないんだな。珍しく
71 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 13:40:56 ID:DDRTnBHp0] 流行らせるさんのMouseGesture2の MouseGesture.iniでDGInterval=0が初期値なのはなぜだろう X1ダブクリが効かなくて悩んだのでメモ 他で不具合が出るのだろうか
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 14:46:43 ID:DDRTnBHp0] あとフォーカスを持ってないコントロールの上での ホイールUPのみ、ホイールDOWNのみで起動したいアクションがうまくいかない フォーカスを持っているコントロールに送られてしまう
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 14:54:50 ID:DDRTnBHp0] あああああorz ごめんなさいごめんなさいごめんなさい >>71 readmeに書いてあったああ >>72 アクティブにしてからsendでできたあああ ごめんなさいごめんなさいごめんなさいorz
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 16:46:59 ID:osns6GEA0] >>72 つ流行らせるページ
75 名前:名無しさん@お腹いっぱい。 [2008/02/08(金) 19:26:07 ID:4jp9yaxv0] ahk2exe コマンドライン /icon を指定しないとエラー吐いて終わるようになってるね。(2007/11/21 ver) 何気に不便だ。
76 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 19:40:26 ID:Uv76QAMz0] >75 Version 1.0.47.05 のこと? ならないよ。正常作動。
77 名前:名無しさん@お腹いっぱい。 [2008/02/08(金) 20:11:44 ID:4jp9yaxv0] GUI立ち上げて Custum icon の項をクリアしたらいけました。お騒がせしてスマソ そういえば以前もはまったんだったわ、これ。 Ahk2exeって GUIで指定した過去の.icoのパスをレジストリに記憶していて コマンドライン時も参照するんだよね。テラマギラワシス
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 14:06:51 ID:/ZUYXnzs0] >>71 MouseGesture2はMG_Edit.ahkいじって直さないと厳しい。 ジェスチャ指定の方向ボタン押すと別の方向が入力されたり、 条件定義のどれかor全てに一致が反映されなかったりする。 .ahkいじって直すといい。AHKを知るのに役立つからそれが狙いかも。
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:26:25 ID:mPAFufKZ0] ahkで作ったテキストボックスに日本語を入力しようとすると妙にもたつくというか表示されません。 解決法はありますか?
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:41:10 ID:WRA8epLk0] 未解決だね AutoItのGUIは日本語徹っぽいな しかし今から覚えるのまんどー
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 18:32:17 ID:urNrftPm0] >>80 ありがとうございました。別の方法を探して見ます。
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:11:16 ID:PEDtGQkM0] 5ボタンマウス買ったので早速いろいろやってみようと思ったら Xbutton1:: MsgBox, Xbutton1 Pressed Xbutton2:: MsgBox, Xbutton2 Pressed が全く無視されちゃうんですがJoy?同様イベントとしては発生しないんですか?
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:20:58 ID:D69x2CQo0] logitecのマウスだとsetpointの設定によっては サイドボタンはXButton1とかじゃなくなってるよ。 設定かえればいける。 MSのマウスは知らない。
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 22:33:02 ID:PEDtGQkM0] なるほど、意味はわかったけどIntelliPointの設定とAHKが連携してくれない。 Browser_BackやNumpadDivなんかに割り当ててみても反応しない。 画面を4分割してサイドボタンクリックしたときのマウスカーソルの位置で 仮想デスクトップを切り替えようと目論んでいたんだけど・・・ ともかくありがとうございます。
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 02:33:53 ID:UVg/XF8b0] ahkのトレイアイコンをダブルクリック、ctrl+k でキーヒストリ見れるよ。
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 20:29:17 ID:OVFZxKUz0] RegExReplaceで改行の「_」にしたいのですが、 str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_") とやっても目的どおりになりません。 元データ aaa bbb ccc 理想 aaa_bbb_ccc 実際 aaa bbb ccc_
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 22:44:37 ID:uKCFPiBm0] >>75 これかな? AVG - all ahk script infected www.autohotkey.com/forum/topic25333.html
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 23:02:33 ID:IGJgXqVN0] >>86 Str = aaa`r`nbbb`r`nccc str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_") MsgBOx, %STr% ExitApp ばっちりaaa_bbb_cccになったよ
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/13(水) 10:04:08 ID:sO97eULm0] >>88 ありがとうございます。 実際の処理は下記になっています。 change := RegExReplace(clipboard, MyText1, MyText2) MyText1、MyText2はGuiのEditで、「`r`n|`n|$|\z|\Z」を入力しました。 置換対象は改行が入っているクリップボードです。 Guiから「`r`n|`n|$|\z|\Z」の入力で、「`r`n」が正しく判断されないのでしょうか?
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/13(水) 12:04:52 ID:1HOMoDij0] 再現した。 GUIからSUBMITされた`r`nは既にエスケープされてる StringReplace, MyText1, MyText1, ``r, `r, 1 StringReplace, MyText1, MyText1, ``n, `n, 1 これ入れたら上手くいった もし正規表現によるGUI置換スクリプトなら 素直に「\r\n」を利用すればいい気もする
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 16:36:12 ID:7mRUuCKX0] なにか人として足を踏み入れてはならない変態領域に突入しつつあるような悪寒・・・ ; 無変換キーとのコンビネーション ; 半角/全角 vkF3sc029/vkF4sc029 (IMEのON/OFFで発生するイベントが違うが、Sendコマンドで送信する場合はどちらでも同じ) ; 変換 vk1Csc079 ; 無変換 vk1Dsc07B ; ひらがなカタカナ vkF2sc070 ; IME for VJE vk1Dsc07B & vkF2sc070:: Send,{Ctrl Down}{BS}{Ctrl Up} ; +かな 確定取り消し ; カーソル移動 vk1Dsc07B & U:: Send,{Home} vk1Dsc07B & O:: Send,{End} vk1Dsc07B & I:: Send,{Up} vk1Dsc07B & L:: Send,{Right} vk1Dsc07B & K:: Send,{Down} vk1Dsc07B & J:: Send,{Left} vk1Dsc07B & Q:: Send,{PgUp} vk1Dsc07B & E:: Send,{PgDn} ; 編集 ; Cut, Copy, Paste vk1Dsc07B & A:: Send,{Shift down}{Delete}{Shift up} vk1Dsc07B & S:: Send,{Ctrl down}{Insert}{Ctrl up} vk1Dsc07B & D:: Send,{Shift down}{Insert}{Shift up} vk1Dsc07B & G:: Send,{Del} vk1Dsc07B & H:: Send,{BS} vk1Dsc07B & M:: Send,{Enter} vk1Dsc07B & N:: Send,{End}{Enter} vk1Dsc07B & `;:: Send,{Enter}
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 19:46:55 ID:nXi1dMsx0] 俺はTypeMatrix風中央配置してみた TY=Tab、GH=Return、BN=BS 片方BTab、ShiftReturn、Delもいいかもしれん…
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 22:24:58 ID:z5JlTnrn0] 先生教えてください。二つのスクリプトを瞬時に交互に切り替えしたいのです。 例としては、PauseキーでAutoHotkey2を読み込みAutoHotkey1をアンロード、 逆にScrollLockキーでAutoHotkey1を読み込みAutoHotkey2をアンロード、 って事をしたいのですがおせーてください。 つまらない物だけど置いていきます。 ScrollLockでサスペンド、Pauseでサスペンド復帰+リロードです・・・ vk91::Suspend on pause::Suspend vk13::Reload
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 23:21:53 ID:Z8h8m2Kn0] Autohotkey1.ahk Pause:: { run, Autohotkey2.ahk ExitApp } Autohotkey2.ahk ScrollLock::
95 名前:名無しさん@お腹いっぱい。 [2008/02/18(月) 00:09:02 ID:WTKVYZXY0] Locks系の挙動は二バイト圏OS環境下では不定だぞ。他のキーに割り当てたほうが無難じゃね? 何がやりたいんだか知らんが、わざわざ2つに分けて行き来しなくても 一個のスクリプトでフラグかなんか立ててスイッチングすればいいんじゃね?
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 12:29:42 ID:tGp4/4e6P] AHKで、特定のアプリケーションが起動しているときにスクリーンセーバーを 抑制する処理がかけるかとおもってやってみたんですが、実行結果をみたりする ウインドウを最前面にした状態じゃないと、WM_SYSCOMMANDが拾えないようです。 これはそういう仕様なのでしょうか… OnMessage(0x112, "WM_SYSCOMMAND") ; WM_SYSCOMMAND return WM_SYSCOMMAND(wParam, lParam) { OutputDebug SYSCOMMAND w:%wParam% l:%lParam% if ( wParam = 61760 ) { ; SC_SCREENSAVE OutputDebug SC_SCREENSAVE received if ( 判定 ) { OutputDebug screensaver cancelled return 1 ; screensaver cancelled } } }
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 15:21:57 ID:tGp4/4e6P] どうやら、SC_SCREENSAVE はアクティブウインドウだけが 受け取れるようです。別の方法を模索します。 失礼しました。
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 23:25:28 ID:DgQUWzko0] 有難う先生、出来ました。やはりLock系の挙動怪しいです、無効化してみます。 一応メモ。 Autohotkey1.ahkは Pause:: { run, Autohotkey1.ahk ExitApp } vkF0:: Send, ] ScrollLock::return Autohotkey2.ahkは ScrollLock:: { run, Autohotkey2.ahk ExitApp } Pause::return
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 23:43:54 ID:9kfLohoxP] わざわざ2つのahkファイルに分けてる意味がわからん。 hotkeyコマンド使うだけじゃあかんの?
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 00:01:25 ID:w7qvM9gV0] まあ、追々洗練されていけばええやろ まずは目的の成就じゃ
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 14:13:24 ID:bfqFbnlQ0] 自分が最近気に入ってるのはこれ。IMEのワンキーオンオフやつなんだけど、 シングルタップでオフ、ダブルタップでオンになるようにしてあるので、 トグルのようにどっちだっけ?ということもないし、オンにするキーとオフにするキーを 2つ用意しなくてもよいので、102キー等、キー数に限りのある人には便利かも。 ~SC79 Up:: IME_chk := A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 300 IME_wnd := DllCall("imm32\ImmGetDefaultIMEWnd", UInt, WinActive("A"), UInt) DetectHiddenWindows, On SendMessage, 0x283, 0x006, IME_chk,, ahk_id %IME_wnd% DetectHiddenWindows, Off Return
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 16:14:10 ID:eL27GtwT0] 特定のアプリにキーを送らないようにするのってどう書けばいいの? アクティブじゃなくてもキー監視してるようなアプリにALT押しても伝わらないようにする、みたいな
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 17:04:27 ID:w7qvM9gV0] ALT押した瞬間にそいつのProcess落として 上がったら再起動みたいなことを考えたけど 騒がしすぎるな
104 名前:名無しさん@お腹いっぱい。 [2008/02/19(火) 19:03:06 ID:Ro3kfoUW0] AutoHotKeyの起動ができなくなりました。 ^0:: MsgBox OK! return AutoHotkey.iniというファイルに上記コードだけ記述してAutoHotkey.exeを実行すると、 Note: The hotkey +AF4-0:: will not be active because it does not exist in the current keyboard layout. このようなダイアログが出て起動できません。アドバイス求ム。
105 名前:名無しさん@お腹いっぱい。 [2008/02/21(木) 14:46:40 ID:Oj5PAiTN0] 少し教えてください。 AHKで全てのキー入力を受けつけないようにするには、どうすればいいでしょう? どこかで見たような気がするのですが、失念してしまいまして。。。
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 14:57:41 ID:Oj5PAiTN0] すいません、BlockInput,On でした
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 16:38:07 ID:Iioijznk0] clipboad中にある複数行文字列の各行頭に_をつけたいのですが、 RegExReplace(clipboard, "(^|\A)", "$1_")ってやってもうまくいきません。 「$」でも各行の先頭として扱われるはずなんですが・・・
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 17:09:11 ID:VNWGrxeP0] RegExReplace(clipboard, "\n", "$1_") 根本的解決かは分かりかねます
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:13:01 ID:j1dzQgRf0] >>107 RegExReplace(Clipboard, "m)^", "_")
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:13:26 ID:Kx0P4/xT0] RegExReplace(Clipboard, "(^|\n)([^$])", "$1_$2")
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:17:26 ID:Kx0P4/xT0] げ、リロードしてなかった。なにそれm)なんてあったのか AHKのおぷすおんかorz
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:50:35 ID:XbxI3LX6P] 正規表現で""の間の文字を取得したいのですがどうすればいいでしょうか?
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 19:08:08 ID:XbxI3LX6P] これだとよく分からないな RegExReplaceでhtmlファイルから""で挟んであるファイルパスを取得したいのですが "をエスケープする方法が分かりません、教えてください
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 19:35:59 ID:VNWGrxeP0] >>20
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 21:37:15 ID:XbxI3LX6P] >>114 すみませんでした、まさか上にあったとは・・・
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 02:50:41 ID:I9fxWkUy0] 集中して作業してるときに裏で定期的に2chブラウザを更新させたいんですけど アクティブの時はちゃんと動作するのに非アクティブのときは動作してくれない #Persistent SetTimer,OnTimer,180000 return OnTimer: DetectHiddenWindows,On ControlSend,,{F5},jane return こう記述して動かしたんですが打開ヒントください
117 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 09:33:35 ID:aMzIEKL80] DetectHiddenTextをつかったらどうだろうか
118 名前:名無しさん@お腹いっぱい。 [2008/02/23(土) 12:49:34 ID:BM2S2vTo0] ControlSendはあんまり確実じゃないし、PostMessageで直接送ったほうがいいかも
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:40:17 ID:I9fxWkUy0] #Persistent SetTimer,OnTimer,180000 return OnTimer: PostMessage,0x0100,0x74,,,jane return としてみたけど>>116 と同じorz IfWinNotActiveでWinActivate噛ますと動くからキーは送られてるはずだけど これだとバックグラウンドじゃなくなって作業に集中できない Sleipnirで試したら非アクティブでも動作したから Janeがめんどくさいアプリなんだろうか
120 名前:名無しさん@お腹いっぱい。 [2008/02/23(土) 17:54:35 ID:BM2S2vTo0] controlのwhndを指定してないからじゃないの?
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:18:49 ID:iAdFn35I0] 俺も以前それやろうとしたけど、非アクティブのままではどうしても無理だったよ
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:41:25 ID:I9fxWkUy0] そっか janeというかdelphiと相性悪いんかな ありがとうこれは諦めるしかなさそうだな
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:55:22 ID:2+9m9zE60] 0x0100が間違いなだけ
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 20:27:32 ID:I9fxWkUy0] 0x0290にしてみたけどダメだった これ以上は昨日今日触り始めたにわかには見当がつかない
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 21:17:01 ID:gYw1NOEI0] もれは「U」でスレ更新にしてんだけど ControlSend, THogeTextView1, u, ahk_class TMainWnd これで出来たような気がするよ
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 21:18:14 ID:gYw1NOEI0] と思ったら最小化してるとダメだった
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 22:34:41 ID:UVUXjl/U0] SmartGUI Createrなんてこんなのあったんだな。。。 これでGUIの簡単なアプリケーションが簡単に作成できると思う?
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 22:57:37 ID:UVUXjl/U0] www.flib.jp/D800/book854.html?backurl=/news/netrun_prize.html AutoHotKeyアンオフィシャルガイド これ読んでみたいと思うのですが パソコンで読むとかなり字が小さく、スクリーンショットとか 見にくいので、購入して本の形で紙媒体で読みたいと思うのですが これはどうすれば購入できますか?Amazonにもありませんでした。 どこで買えるか、価格等教えて頂けないでしょうか?
129 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 01:42:11 ID:6JA246NX0] 紙媒体で売られていないかもしれない、という可能性は頭にないの?
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 01:42:19 ID:2nfJaqtf0] AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ はありませんか?EdVixと言うのを流行らせるページの作者は使用されていらっしゃるようですが あれはAutoHotKey用のキーワードリストがあらかじめ登録されてないので、1個ずつ登録 しないといけないと思うので、大変そうだから あらかじめAutoHotKeyの文法やキーワードを 内包してあるようなエディタがあれば非常に助かるのですが、皆さんはどのエディタを使って コードを書いていますか?もし無ければTerapadで頑張るしかないかなぁと思っているのですが・・・。
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 01:56:24 ID:6jheKtSz0] >>130 「"インストールディレクトリ"\Extras\Editors」以下を参照 それと秀丸 lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/72-73
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 02:25:48 ID:2nfJaqtf0] >>131 レスありがとうございます。 \Extras\Editorsの中身のフォルダ名はそのままテキストエディタ名になってるように 見えますが「vimとかLinuxにあるテキストエディタだし・・・」、普通はココにあるテキストエディタ でしか使えないんですかね? それを lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/72-73 で秀丸でも使えるようにAutoHotKeyでスクリプトを作成されてらっしゃるんですよねぇ? しかし秀丸はシェアウェアで、5000円弱と結構高い・・・。それと私は>>130 で >AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ >はありませんか? と書かせて頂いた様に、フリーのテキストエディタを使いたいのですが、無理でしょうか?
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 02:56:49 ID:yh7rF/YE0] >>125 ControlSendrawでうまくいったようないかなかったような
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 03:22:39 ID:JnW9YY6g0] >132 vim は windows でも使えるし。 というか AutoHotKey 自体が windows 用のソフトなんだから windows で使えないエディタの Syntax ファイルなんて同梱するはずないだろ。 あと言われたところちゃんと見てねーだろ。 Extras/Editors/Syntax
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 06:22:30 ID:T2DQ4K+Y0] AHKでスクリーンセーバーの終了を監視したいのですが、どのようにしたらよいでしょう? スクリーンセーバーのクラス名を調べる方法が分からず、行き詰まっています。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 10:07:56 ID:2nfJaqtf0] >>134 あ、VimってWindowsでも使えるんですか!?なるほど。 それから、Syntaxの中は後で見てみます、今からでかけるので・・・。 >>135 スクリーンセーバー起動中にPrintScreenキーでキャプチャ出来ない? そのキャプチャした画像に対してチェックしてみたらクラス名分からない?
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 11:23:16 ID:39WYzSwe0] これは久々の大物だぞ
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 12:10:40 ID:o6C/sd5F0] ワロタ
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 12:34:52 ID:o6C/sd5F0] >>135 アクティブウインドウのクラスとかを記録し続けるスクリプト書けばいいんじゃない
140 名前:135 [2008/02/24(日) 13:17:57 ID:ApIFf8DK0] >>136 スクリーンのキャプチャはできるのですが、それを利用してクラス名を調べる方法がわかりませんでした。 >>139 アドバイスとても参考になりました。なのですが、以下のスクリプトではタイトル、クラスともブランクで、 idは0x0となってしまい、やはり同定できませんでした。 #Persistent DetectHiddenWindows, On SetTimer, CheckClass, 1000 Return CheckClass: WinGetActiveTitle, title WinGetClass, class, A id := WinExist("A") FileAppend, %title% %class% %id%`n, list.txt Return
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 13:38:54 ID:o6C/sd5F0] うちで>>140 動かしていくつか見てみたら 3D テキスト D3DSaverWndClass 0x2e0628 3D パイプ D3DSaverWndClass 0x6504be Screen Saver WindowsScreenSaverClass 0x1e067e ブランク スクリーン セーバー ブランク スクリーン セーバー 0x6f04be とか記録できたよ
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 14:14:01 ID:KTL9WkTR0] >>141 情報ありがとうございます。 そうすると、当方の環境の問題のようですね。 もうすこし調べてみます。 ありがとうございました。
143 名前:名無しさん@お腹いっぱい。 [2008/02/24(日) 15:00:24 ID:VNi/LdKj0] >>132 秀丸用強調定義の変換スクリプト作った者だが、 マジレスするとExtras/Editors/Syntax にシンタックスリストのデータがあるので、 それを加工して自分の好きなエディタで使えるように強調表示用ファイルを作ればよい。 今からエディタ選ぶならEmEditorFreeが面倒なくていいんじゃね? Extras/Editors に EmEditor用定義入ってるし。Free版で使えるのかは知らないが。
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 17:12:00 ID:2nfJaqtf0] >>143 お疲れ様です! Syntaxの中に確かに色々ありますねぇ・・・。なるほど・・・っていってもどうやって強調表示用 のファイルを作るのか私には分かりませんけど、例えばこれを加工すればTerapadでも 強調表示出来たりするんですか? EmEditorFreeをとりあえず試してみます。 AutoHotKey・・・もっと普及してれば色々なエディタがデフォルトで対応してくれたりするのかな? 例えばVBとかHTMLとかは大体のエディタで対応してくれてるじゃないですか? DOSのBatとか・・・。
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 17:57:55 ID:MLcE6mEcP] んなグダグダ言ってるくらいなら自分で作って配布すりゃあいいじゃん
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 17:59:16 ID:2nfJaqtf0] 良いの見つけました。Notepad++って言うエディタです。 これならフリーで、しかも AutoHotkey\Extras\Editors\Notepad++\Run this to install syntax file for Notepad++.ahk ファイルを実行すれば簡単にインストールまでしてくれて、すぐ使えてイイ! エディタが無くて困っている人はとりあえずこれがいいんでは? ただ入力補完まではしてくれないみたいなのが、ちょっと残念・・・。 IfとかLoopとかで改行したら自動的に1個インデントしてくれて、 } で自動的に1個インデントを 削除するとか、そういった機能は無いみたい。惜しいですねぇ・・・。
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 18:11:43 ID:MLcE6mEcP] 見つけましたってw
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 18:23:28 ID:2vAXBKF20] >>146 プロボクサー相手に『このバンデージの巻き方、ステキでしょ?』ってはしゃいでる様で観ている方がつらい。 釣りじゃないなら(釣りでも)カンベンしてくれ
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 19:09:37 ID:/p5mKAAI0] Notepad++いいね、ちょっと使ってみよう >>146 d
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 19:24:38 ID:plIb52B50] なんでjaneは非アクティブだと動かないんだ
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 20:14:37 ID:2nfJaqtf0] >>147 そうね、ExtrasのEditorの中にあるもんね。そこから調べて言ったのは言うまでもありません。 >>148 それは「ココの住人は皆プロ(少なくても私よりは)なんだから、そのぐらいとっくに知ってるし、 代替のもっといいエディタを知っている」とかそういう意味ですか? 別に釣りじゃないですよ。 >>149 とかいいねって言ってくれてるし、こういう情報を書き込む事で 有益だと感じる人もいるのでは?貴方にとっては有益でなくても。
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 20:36:00 ID:uHTMnN4t0] meadow(Emacs)やxyzzyに、akh-modeをインスコするのがいいんでない? キーワード強調だけじゃなくて、インデントや補完も効いてるよ ちょっと挙動が怪しいときもあるけどね つうか、本体に設定が同梱されてるんだから、 それを見つけたとかあんまり大げさに言わないでくれ ってことでないの? 質問する前に説明書くらい読めよって
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 20:40:50 ID:uHTMnN4t0] ×akh-mode 〇ahk-mode で、Emacsのは本体同梱のよりも、 ググったら出てくるwebのが新しかったんで、そっちがいいかも
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 20:57:20 ID:Cwx7cYds0] >>146 =149
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 21:37:27 ID:VNi/LdKj0] まぁ見ればわかるようになっているものを、さも「自分が発見しました!」てな感じで書込んだら 回りは萎えるわな。Notepad++ってそれなりに有名なエディタだし。 エディタ側で用意するのはメジャーである程度枯れた言語でしょ AHKは開発途上で関数やシンタックスも逐次追加されてってるから追っかけて対応するのは大変 自分もそう思ったから 強調ファイルの配布ではなく、変換スクリプトにしたんだけど。 >>153 >ahk-mode おお、いつのまにそんなものが。xyzzyでがんばってる人もいるんだな。 何となくあっち界隈の人はahkみたいな言語体形はpgrしてるんだろうなって偏見があった
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 23:18:53 ID:eDmFu+2K0] unix界隈で有名なprocmailもpgrしてあげて。
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 00:03:45 ID:39WYzSwe0] AHKには#NoTrayIconという素晴らしいコマンドがあるのを発見しちゃいました! なんと、これを使うとタスクトレイにあるアイコンが表示されなくなるのです(びっくり!) まだ知らない人も多いと思うので、皆さんも試してみてはいかが? 私はこれで浮いた時間をコスメに使って彼のハートをげっちゅです!
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 00:43:00 ID:w28rGXGJ0] あっそ
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 00:59:30 ID:CkSp6l1c0] >>158 わーい、あっさり釣れちゃったw
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 01:24:59 ID:CR8nTVZC0] 面白いと思ったんだろうな…
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 01:37:56 ID:cH268g130] すぐ弄れなくなって逆に不便
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 02:12:01 ID:u9rJ9FnG0] わがままな私を許したまえ・・・・ Notepad++もダメですた。。。 立ち上げるたびにいちいちAutoHotKeyモードにマウスでセットしないといけないし、 なんか使いにくい・・ス・・・。 Terapadでキーワード強調や自動インデント利いてくれれば最高なんだけど 皆さんがAHKスクリプトを書くのに愛用しているエディタとか、紹介して下さったりは・・・しないですよねぇ・・・?
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 02:37:33 ID:c6xAHJsD0] xyzzyでahk-mode使って書いてるよ >>152 でも書いたけど、強調だけじゃなくてインデントや補完もしてくれるよ けど、インデントがおかしくなったりもするんで、 試してないけどmeadow(Emacs)もどうぞ xyzzyに移植した人がベースにしたのよりバージョンが進んでるから、 もしかしたら解決してるかも もし導入するなら、wikiがあるから読んでみて
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 03:28:17 ID:m5sVBzv/0] notepad++使ったことないけど 普通ファイル拡張子に対応してモード切りかえてくれるみたいな 機能あるんじゃないの? そのくらい自力で設定できないとvimもemacsも使えないと思うけど。
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 10:56:15 ID:YFbRMEPB0] >>162 その嫌味ったらしい文章いい加減にせーよ もし自覚無しに今までのような文を書いていたとするなら正直、性格に大きな問題があると思う わざとやってるならもうシラネ
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 11:10:53 ID:6u3azxFT0] >>162 自分で道を切り開く気概がないのなら、おとなしく金を出して秀丸かEmのシェア版をつかっとけ。 気概があるのなら>>131 のスクリプトをTeraPad用に書き換えてうぷしたら結構な人数から感謝されると思うが。
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 11:27:24 ID:Ed9FXoJZ0] ひどいのが湧いてるんだな
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 12:36:04 ID:cV8w8sra0] だから揶揄したつもりだったのに
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 14:30:41 ID:3LV0fXQU0] エディタの話題自体は悪くないと思うし、他の人の参考になるかもしれんから一応レスするが いいかげんクレクレの姿勢はやめてんか('A`) 今見てみたけど、サクラや寺の.kwdファイルって1行1ワードの単純表記じゃん。 これだったら Extras/Editors/Syntax/*.txt をほとんど無加工でkwd転用できんじゃねーの? (寺には任意文字列の強調指定機能自体は存在しない が、プリセット済言語のキーワード編集は可能なので他の言語枠潰せばOK) 入力補完の形式も同じ、サクラや秀丸ならそのままシンタックスファイル突っ込めば補完してくれる。 サクラや寺なら補完タンも使える。 インデントは、C言語風のインデントとか適当に指定しておけばそれっぽい動作になる。(寺でのやり方は知らん) 以上、頼むから人に聞く前にちっとは調べてくれよ。
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 15:50:36 ID:I5MAoWVB0] しかしほんとに AutoHotKey 使えてるんだろうか、この人。
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 16:13:03 ID:Ed9FXoJZ0] >>170 がいいこと言った
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/25(月) 18:01:24 ID:hdl/wsYC0] Janeをバックグラウンドで操作できないって人 AIRAってソフト使うといいよ.NET製だけど Jane専用のAIRA Jってのもある
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/26(火) 07:16:30 ID:mku3zxtt0] 質問です。 Menu,m,show でメニュー出ている間、そのスクリプトは完全に停止してるんですよね。 それが嫌なら別スクリプトでメニュー出せってことですよね。
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/28(木) 02:18:21 ID:YvTJFwHG0] 詳しい方、教えてください。 ジョイスティックの接続確認をしたく、以下のようなスクリプトを書いてみました。 1:: Msgbox, % GetKeyState("JoyName") しかしこのスクリプトではジョイスティック抜去後もジョイスティック名が返ってしまいます。 接続前、あるいはスクリプト再起動後は(期待通りに)ブランクとなります。 しかし最終的には常駐スクリプト内のタイマーで接続確認をしたいので できればスクリプトの再起動は行いたくないのですが, 他によい方法はないものでしょうか。
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/28(木) 14:43:16 ID:PhP4W87s0] 「TPanel」というコントロール上のテキストを取得したいのですが、 ControlGetText,var,TPanel,A とやっても、ErrorLevelは0で成功していますが、テキストは取得できませんでした。 何か他に方法はないでしょうか?
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/28(木) 14:43:26 ID:7hkAKIl30] 根本解決じゃないけど、ステート取得部分だけを別スクリプトにするとか。
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/28(木) 17:40:04 ID:EaHOYdX80] >>174 #persistent settimer, timer maxNumDev:=DllCall("winmm\joyGetNumDevs") ;サポートするジョイスティックのデバイス数 timer: AllJoyNames= loop, %maxNumDev%{ JoyName=%a_index%JoyName AllJoyNames:=AllJoyNames . a_index . GetKeyState(JoyName) . "`n" DllCall("winmm\joyReleaseCapture", UINT, a_index-1) ;キャプチャをリリースするジョイスティックのIDを指定 } tooltip, %AllJoyNames% return 接続されるジョイスティックの数わかってたらmaxNumDevは決めうちした方が良いかも
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/28(木) 18:40:48 ID:EaHOYdX80] >>174 キャプチャリリースしたくない場合は #persistent VarSetCapacity(ji, 16, 0) joyNum=1 ;何個目のジョイスティックをチェックするか指定 settimer, timer return timer: mmresult := DllCall("winmm\joyGetPos", UInt, joyNum-1, str, ji) ;ここで指定するジョイスティックのIDは0から始まるので注意 KeyName=%joyNum%JoyName JoyName:=GetKeyState(KeyName) JoyName:=(!mmresult) ? JoyName:"" ;mmresultが0の場合No Errorなので、それで判断する。 tooltip, mmresult=%mmresult% JoyName=%JoyName% return 見たいに自分で名前管理するしかないかも。
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/28(木) 18:44:19 ID:EaHOYdX80] 補足:>>177-178 は2kでしかテストしてないので他だとどうなるかわからん。
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/29(金) 12:38:25 ID:9/5fEks90] タスクトレイのAHKのアイコンからバルーンヘルプ出してくれる機能って無いですか?
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/29(金) 14:19:22 ID:mWVpkLJp0] xyzzyというエディタで、右クリック+下方向ドラッグのマウスジェスチャーをしたとき、 Ctrl+w を送信して当該タブを閉じたいのですが、どうすればいいでしょうか?
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/29(金) 14:49:23 ID:amtFt0EP0] RButtonでMouseGetPosとって 放されたときとの差分が閾値を越えたらSend
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/29(金) 16:48:46 ID:mWVpkLJp0] >>182 ありがとうございます。 頑張って作ってみたのですが、うまく動作しません>< ~RButton:: WinGetTitle, Title, A StringGetPos, pos, Title, xyzzy if(pos = 0) { MouseGetPos, x1, y1 Loop { GetKeyState, stat, RButton if(stat = "U") { MouseGetPos, x2, y2 dy := y2 - y1 if dy > 20 send, ^w Break } } } return
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/29(金) 20:12:38 ID:u6+juc6r0] 馬鹿みたいな質問で悪いんだけど、 a:: send,F5 ってしたい場合、どうすればファンクションキーのF5にできるの?
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/29(金) 20:16:08 ID:CbNqfYyN0] >>184 a:: send,{F5}
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 00:26:25 ID:EIt1A+310] JANE擬似バックグラウンド操作悪足掻き #Persistent #WinActivateForce SetTimer,OnTimer,90000 return OnTimer: IfWinActive,Jane { BlockInput,On ControlSend,,{F5} BlockInput,Off } Else { BlockInput,On WinGet,ID,,A WinSet,AlwaysOnTop,ON,ahk_id %ID% WinActivate,Jane ControlSend,,{F5},Jane WinActivate,ahk_id %ID% WinSet,AlwaysOnTop,OFF,ahk_id %ID% BlockInput,Off } return 自分なりに頑張ってみたけどいい方法あったら情報求む!
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 00:34:59 ID:ZNinU2520] >>185 ありがとうございます
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 07:53:26 ID:YXKCq/m60] janeバックグラウンドでもControlSendRawで動いたけどなあ 俺だけか
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 14:14:15 ID:EIt1A+310] 動きません
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 15:18:39 ID:+yMSyrKJ0] JaneDoe Viewでしか確認してないが、PostMessageでちゃんと操作できる。 タスクトレイに入ってるいる場合は、DetectHiddenWindows, Onで。 ウィンドウタイトルは適当に変更。 PostMessage, 273, 58, 0, , JaneDoe ; タブを閉じる PostMessage, 273, 82, 0, , JaneDoe ; スレ新着チェック PostMessage, 273, 29, 0, , JaneDoe ; スレ一覧更新 PostMessage, 273, 81, 0, , JaneDoe ; 新着までスクロール PostMessage, 273, 133, 0, , JaneDoe ; 更新チェック PostMessage, 273, 205, 0, , JaneDoe ; 次のタブ PostMessage, 273, 206, 0, , JaneDoe ; 前のタブ
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 15:23:16 ID:+yMSyrKJ0] 追記。 メニューは表示しておかないとダメだった。
192 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 17:44:24 ID:EIt1A+310] >>190 おお。 これは凄いViewで非アクディブ時に動作した メニューのコマンドIDの調べ方が見つからなかったから 教えてもらった操作以外できない無能な自分
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 19:33:31 ID:EIt1A+310] jane styleではこの技使えないっぽいね コマンドIDがない?
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 20:03:02 ID:MsKw54Sp0] コマンドIDが違うんだろ。
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 20:07:41 ID:EIt1A+310] 窓コンなど使ったんだけど調べることができなかった どういうふうに調べたらいいんだい?
196 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 20:30:28 ID:4ZLR0WrH0] StyleはViewと違うコンポーネント使ってるから無理だってさ
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 20:31:51 ID:vZzloCuJ0] でもいい加減Jane以外のブラウザ出てきても良いと思うんだがなぁ
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 20:47:06 ID:EIt1A+310] >>196 thx。無理なのか残念
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 21:50:09 ID:ymHLVwiU0] 生JANEでもむりぽ
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 20:11:12 ID:p3zuqVec0] ControlGetText,dat,TMemo1,Jane Doe Style IfInString,dat,dat落ち { ControlSend,,^w,Jane Doe Style } ControlSend,,^r,Jane Doe Style
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 21:16:36 ID:noZ5oKoh0] ある非アクティブなウィンドウを左クリックでアクティブにした瞬間の カーソル位置を取得したいのですが、何か方法ありませんでしょうか? #IfWinActive ahk_class xxxx Lbutton::MouseGetPos,Xpos,Ypos return これだと一度アクティブにしてからクリックしないと取れないんですよね…
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 23:28:34 ID:+5/E1A/w0] ~Lbutton:: MouseGetPos,Xpos,Ypos IfWinActive, ahk_class xxxx { msgbox,x=%xpos% y=%ypos% } return
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/03(月) 17:33:36 ID:RiQhmL4t0] >>202 おお ありがとうございますっ!
204 名前:201、203 mailto:sage [2008/03/03(月) 18:55:40 ID:RiQhmL4t0] すみません、もうひとつついでに質問させてくださいー 非アクティブなウィンドウを左クリックしてアクティブにした時、 左ボタンを押した瞬間(ボタンを離す前)のウィンドウの相対位置を取れないものでしょうか? もしくは「ドラッグし始めの座標」とか… ボタンを押し込んだ場所から多少離れた場所にドラッグしてボタンを離しても、 ボタンを押し込んだ場所をクリックした事にする・・・という感じのスクリプトを組もうと思ってまして、 その際ウィンドウバー部分は除外する、という風にしたいのです。
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/03(月) 19:34:27 ID:ar9/AEtf0] いまいち文意が取れない
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/03(月) 20:02:02 ID:VWTaDQFw0] ~Lbutton up:: でもう一度MouseGetPosして計算するなり、MouseClickでポジション戻してやるなり すればいいんじゃね?
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/03(月) 20:15:43 ID:RiQhmL4t0] >>205 スンマセン ~Lbutton:: MouseGetPos,XposA,YposA return #IfWinActive ahk_class xxxx { ~Lbutton up:: MouseGetPos,XposB,YposB if ( Abs(XposA-XposB) <= 100 ) && ( Abs(YposA-YposB) <= 100 ) { MouseClick,Left,XposA,YposA,,0 ; Msgbox 0,,IN A1=%XposA%,%YposA% B1=%XposB%,%YposB% } else { ; Msgbox 0,,B-OUT A=%XposA%,%YposA% B=%XposB%,%YposB% } return } こんな感じでボタンを押しこんだ場所と離す場所の差分を取って 許容範囲内だったら押し込んだ場所をシングルクリックさせます。 しかしその際、非アクティブのウィンドウ(class xxxx)を左クリックでアクティブ化すると XposA・YposAで取れる座標がスクリーン左上からの絶対座標になってしまって… このXposA・YposAをウィンドウ(class xxxx)の相対座標値で取れませんでしょうか? 現在はCoordMode,Mouse,Screenで絶対座標値のみにして処理するようにしてるんですが、 これだとウィンドウ内の特定位置を除外、という風に出来ないのでどうにかならないものかと…
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/03(月) 21:08:19 ID:T5eoaUjL0] ちょっとごめんね ウインドウのペイン分割のスプリッタてあるじゃない あれをキーボードで自由に動かすってのはAHKでできるのかな? スプリッタのコントロール指定してメッセージ?送ればいけるもんなのかな
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/04(火) 12:57:52 ID:8GxbdjTU0] すいません。 AutoHotkeyを流行らせるページ でまだまだ勉強中ですが、 MiddleClickのSingleClick、DoubleClick、TripleClickで動作を変えたいのですが、 方法がわかりません。 ヒントで良いので何か助言いただけないでしょうか? ちなみに現状はSingleのみ変更できてる状況で #IfWinActive ahk_class hoge { MButton::F1 }
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/04(火) 13:36:43 ID:aEuZxla60] つ 多重クリック関数サンプル d.hatena.ne.jp/eamat/20051004/p2
211 名前:209 mailto:sage [2008/03/04(火) 14:59:06 ID:8GxbdjTU0] >>210 うわ。そのままですね。 ありがとうございました。 思い通りの動作ができました。
212 名前:名無しさん@お腹いっぱい。 [2008/03/05(水) 09:24:33 ID:b/T8K1QR0] 以下のコマンドで空ディレクトリが削除できるはずなのですが、何故かできません。 FileRemoveDir, ディレクトリ名, 0 別プロセスがひっかかってる可能性を考慮して、ログオンおよび再起動直後にもやってみましたが、 やはりダメでした。いったい何が問題なのか、ご意見下さい。
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 09:39:20 ID:T67eAJgT0] ControlSendでSendMode Playのように送ることはできないのでしょうか?
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 10:27:41 ID:plxDEGkd0] >>212 何から実行してる? ファイラーからならそのファイラーが作業ディルとしてつかんでたり AHKに作業DIRとして送られてるかもよ
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 11:03:28 ID:pPxF/FYA0] 対象フォルダが日本語でダメ文字で引っかかってるとかってオチじゃないよな? もしくは制限ユーザーログオンで削除権のないフォルダ消そうとしてるとか
216 名前:212 mailto:sage [2008/03/05(水) 11:39:38 ID:NmUtjMzI0] "FileRemoveDir, ディレクトリ名, 1"とすると削除できることが分かりました。 どうもディレクトリ内のファイル/サブディレクトリの有無の判断ができていないようです。 なのでそれを明示的に判断できればいいと思うのですが、どうやればいいのか。。。 >>214 消去したいディレクトリは絶対パスで与えています。 また上述のように、無条件削除の場合は実行可能でした。 なのでパス指定や作業ディレクトリの件は問題ないと思うのですが。 >>215 アカウントは管理者権限です。 消去したいディレクトリは英数字のみでスペースは含まれていませんが、ピリオドが入っています。 しかし上述のように無条件削除の場合は実行可能ですので、 AHKはディレクトリとして判断していると思います。
217 名前:212 mailto:sage [2008/03/05(水) 11:52:07 ID:NmUtjMzI0] >>216 FileRemoveDir, ディレクトリ名, 0 Msgbox, %ErrorLevel% とすると、エラーレベルは1が返ってくるので、やはり内容物の判断ができていないようです。
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 13:08:14 ID:UFI/YkYK0] うちではちゃんと動作するけどなぁ
219 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 13:35:00 ID:NmUtjMzI0] 212です。解決しました。 実はスクリプトの上流で、自分自身をSetWorkingDirしており、それがロックしていました。 複雑なスクリプトではないのですが、ディレクトリ内ファイルのLoopに慣れておらず見落としていました。 大変おさわがせしました。 ありがとうございました。
220 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 18:01:56 ID:8AGRNr8B0] > スクリプトの上流で もうね、あほk(ry
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 00:46:00 ID:u1Cz17qHO] PostMessageの引数msg、wparam、lparamの値はどう調べて設定すればいいのでしょうか? このスレのログを見ましたが、さっぱり分かりません。
222 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 01:03:44 ID:QqXQZBLy0] ttp://technet.microsoft.com/ja-jp/magazine/cc194395.aspx なんかMSのサイトに載ってた
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 01:27:38 ID:Xmj7hVZD0] >>221 流行らせるページのリファレンス見れ、参考になりそうなサイトのリンクもある
224 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 01:35:25 ID:xNYWdmgs0] IntelのGraphics Controllerの明るさとかのスライドバーを操作したいんだけど 矢印キーだと1づつしか動かせないしPgDnは移動しすぎだしで10刻みでやりたいんだけど Loop:10とかやってみると妙にゆっくりしてるし 横の数値をControlGetTextしてポッチの位置を予想してMouseClickDragさせると キー操作より早いけどなんかしっくりこない
225 名前:名無しさん@お腹いっぱい。 [2008/03/06(木) 08:54:13 ID:BV4oMbN/0] ahkのexeを元のテキストファイルに戻すにはどうしたらいいですか?
226 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 12:04:27 ID:lRZgq2Fj0] >>223 それでもわからないです。 アクティブでないソフトにキー連打を投げようと思っているのですが、 とりあえず、1つ投げようと思い、 PostMessage,0x0100,52,0, ,ok.txt - メモ帳 ;0x0100 = WM_KEYDOWN 52 = Rキー こう書きましたが、動作しませんでした。 どうすればできるでしょうか?
227 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 16:35:44 ID:xNYWdmgs0] >>225 公式にあるますよ Other DownloadsのとこのScript Decompiler
228 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 17:22:40 ID:BV4oMbN/0] >>227 ありがとうございます、そのものずばりがありましたね。
229 名前:名無しさん@お腹いっぱい。 [2008/03/08(土) 00:04:58 ID:xH0DTZtbO] Send,{a DOWN} Sleep,2000 Send,{a UP} こう書いたのですが、aが押されません。 どうすればできるでしょうか?
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 00:56:43 ID:DtPLQhIDP] Send,a
231 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 01:10:49 ID:vkiW+A4s0] マウスカーソル直下のクラスにキーを送るには何を使えば良いんですか?
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 03:52:22 ID:C49QZ/eM0] まずマウスカーソル直下のクラスを取得して、その取得したクラスに向けてキー入力を送信すれば良いんじゃないでしょうか。
233 名前:名無しさん@お腹いっぱい。 [2008/03/08(土) 07:37:52 ID:xH0DTZtbO] >>230 あー、いや、押しっぱなしにしたいんです
234 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 07:42:01 ID:DtPLQhIDP] 何のために? 押しっぱなしにしてもキーリピートは発生しないから一回押下するのと変わらないはずだよね?
235 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 08:11:16 ID:xH0DTZtbO] >>234 キーリピート発生するものだと・・・ じゃあ高速でa連打してるようにするしかないか。 ただ単にShift+a-zを楽にしたかったのですが、諦めます。
236 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 09:35:30 ID:1dCsOj/k0] やりたいのはキャプスロックなの?
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 09:46:12 ID:gdlcsZFD0] どなたか>>226 をお願いします。
238 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 16:32:59 ID:sRcY2mlL0] >>237 メモ帳にRなんか連打して何がしたいんだ そもそもRなんてショートカットキーあるか 動かないのもしょうがないだろ テキスト入力したいならコマンドが違う
239 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 17:15:19 ID:fACAe+Ks0] >>238 なにがしたいんだって、それは練習作業の「たとえば」の部分だろ。 おまえはツッコミ処が違う。 ただ、>>237 みたいに、初回に書き込んだ後、なにも経過を書かず、 アンカーだけで督促するようなゆとりには、アドバイスなんかしたくないが
240 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 17:44:40 ID:gdlcsZFD0] >>239 ゆとりみたいな催促ですみません。 書く前まではあまり進展がなかったのですが、 入力するキーを変えたり、キーコードをVK_Rなどにしたり、メモ帳以外のソフトに投げてみたり、 WM_CHARAで投げてみたり、KEYUPを追加してみたり、SendMessageで投げてみたり。 少なくとも上のことはしました。 でも反応がないです。 他に試すものはありますか?
241 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 17:50:30 ID:ipRVXXHT0] 公式が落ちててDLできないや
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 18:02:45 ID:2YOSdkCz0] >>240 何がしたいの?具体的にやりたいこと書いたほうがいいよ。
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 21:39:03 ID:pv+wG3tD0] Oblivionってキーカスタマイズできないの? 不便すぎて死ぬ。
244 名前:名無しさん@お腹いっぱい。 [2008/03/08(土) 22:15:46 ID:mQS6JGYG0] >>242 >アクティブでないソフトにキー連打を投げようと思っているのですが、 そっくりそのままの意味ですが同じボタンを約1〜5万回押さなければならず、 普通にSendで送ってもいいのですがやってる時間がもったいないので、バックグラウンドで放置して投げようかと思っていた次第です。
245 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 22:19:12 ID:fACAe+Ks0] >>244 「具体的に」
246 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/08(土) 22:35:47 ID:TbcOcXMf0] >>116 あたりからの流れ見りゃいいんじゃねぇの?
247 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/09(日) 00:15:32 ID:vy5jug8M0] 非アクティブウィンドウに Postするサンプルならホイールリダイレクトあたり探せば出てくるんじゃね?
248 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/09(日) 04:30:03 ID:/EsSZJU/0] >>244 キーリピートならループ処理じゃね? Loop, 50000 Send, a
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/09(日) 05:36:33 ID:k1HRQwMn0] 何がしたいのなんて関係なくね? 要はできるかできないかだけ 教えてやればいい
250 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/09(日) 10:35:35 ID:xgksTwcV0] >>249 ソフトによってキーメッセージの受け取り方が違ったりすることはザラだし、 質問者が物凄い効率の悪い方法でやろうとしていて、 その効率の悪い方法について聞いてたりすることもあったりするから、 目的をはっきりさせた上で、自分が試したことを書くってのが答えやすい質問なんじゃない? お望みのことはこれでできるけど応用は勝手にやっておくれよ PostMessage, 0x100, 0x41, 0, Edit1, ahk_class Notepad
251 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/09(日) 12:54:57 ID:4SvVAdgeO] ゲームを操作しながら他の作業ができるようにスクリプト組めますか? また、どの関数使えばいけますか? ControlSendは動いてくれませんでした。
252 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/10(月) 03:41:18 ID:BEWopslV0] あるウィンドウで任意のキーが押されたとき、常に特定のエディットにフォーカスして 押されたとおりのキーを送りたいのですが、どうするのが上手い書き方でしょうか? 今のところ、↓のように全部のキーを書く方法しかわかりませんでした。 #IfWinActive HogeHoge HogeSendKey(x) { ControlFocus, Edit1 Send, %x% } *a:: HogeSendKey("{Blind}a") *b:: HogeSendKey("{Blind}b") *c:: HogeSendKey("{Blind}c") *d:: ......
253 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/10(月) 13:52:10 ID:BSxkGXvM0] 1.0.47.06
254 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/10(月) 16:54:27 ID:vUAUq/Eu0] Caps LockをCtrlに対応させたく思い、 vkF0sc03A::vkA2sc01D や CapsLock::Ctrl や CapsLock::^ としてみましたが出来ません。どうすればいいのでしょう。 教えてください。よろしくお願いします。
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/10(月) 17:24:27 ID:9BCH5cLc0] >>3
256 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/10(月) 19:05:40 ID:Qf9LF4830] mayu とか KeySwap とか併用が前提だな
257 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/10(月) 20:06:01 ID:7U86VYG60] 同じキーでSHIFT状態によって別な文字が入る(例:1と!)のを逆転させる方法はないものかって ずっと心の片隅に引っかかってたけどやっとこさ見つけられて(NT系限定だけど)とってもハッピー SendしてからRemapすればよかったのか !::Send, 1 1::!
258 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/10(月) 22:34:56 ID:ffMlG0e60] >>254 自分はChgKeyというソフトで無変換に変更してから、 AHK上で無変換キー(SC79)としてつかってる。 (ちなみに英語キーボードなので無変換は空キー)
259 名前:名無しさん@お腹いっぱい。 [2008/03/11(火) 18:46:36 ID:8hd1Vj+m0] ALT+左ドラッグで表示画面移動 →ホイールドラッグで実現したく、 MButton::Send, {Alt} down {LButton} down MButton up::Send, !{LButton} up など試しましたが、押した瞬間しかALTが押されていないようです。 どこを変えたらよいか教えてください。
260 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/12(水) 09:38:42 ID:7Sj/8niq0] ちょっと質問します。 "アクティブウィンドウ以外を最小化"を行いたく、以下のようなスクリプトを書いたのですが、、、 WinGetActiveTitle, title WinMinimizeAll WinActivate, %title% なぜか自分の環境ではWinMinimizeAllが効かずこの方法は断念しました。 それとは別に、一瞬にしてもアクティブウィンドウは最小化させたくはないので(上記のスクリプトはきっとチカチカする) できればループ処理でアクティブウィンドウ以外を最小化させたいのですが、 全ウィンドウのコレクションを取得する方法が思いつかず、かつ見つけることもできませんでした。 AHK達人の皆さま、お知恵を拝借できないでしょうか。
261 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/12(水) 09:55:52 ID:BBn5kDvF0] Winget list
262 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 01:55:46 ID:X0LgGNT60] キー操作じゃなく ControlClick, X座標 Y座標, Jane Doe Style, , LEFT, , NA ってな感じにツールバーボタンをクリックしてやる操作だと Janeをバックグラウンドで動かせるな ツールバーにないのはスキンで追加したりして
263 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 04:22:47 ID:w2GTXRhg0] マウ筋から乗り換え中ですが、躓きました。どうかアドバイスお願いします。 マウス右ボタン+ホイール上下で、キーボードの「カーソル上or下」を送信し、 右ボタンを放したときに、右クリックメニューを{ESC}で消す動作を想定しています。 RButton & WheelDown::Send,{Down} RButton & WheelUp::Send,{Up} ひとまずこれで操作はできたのですが、ホイール操作後に右クリックを離すと、 (当然ですが)右クリックメニューが出てしまいます。 マウ筋でいうところの「アクション終了後に実行」に相当する機能で ESCを送信すれば解決しそうなのですが、それに相当する機能がどうしても わかりません。 このあと、右クリックを離したときに {Esc} を送信するには、 どう書けばいいでしょうか。 それと、マウ筋の「トグル動作」に相当する機能は、 AutoHotkeyでも可能でしょうか。
264 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 09:02:54 ID:QnXsY3pI0] 調べてもわからなかったので質問します。 X単打→A X長押し→B といった風に、特定のキーの単打と長押しで動作を変える方法はあるでしょうか。 教えていただけるとうれしいです。
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 11:23:39 ID:t9zhO3C60] 流行らせるページのマウスジェスチャ2なんだけど explorerにRB_LB_でAlt+F4を送るようにしてあるんだけどマウス直下じゃなくてアクティブウィンドウに利くようになってる。 もちろん設定のアクティブウィンドウをターゲットにするはチェックしていない。 また、ブラウザなどが持っているマウスジェスチャが一部が利かなくなったりする。 どうにかならないだろうか。
266 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 13:33:04 ID:0BKa7fCF0] Alt+F4の前にWinActiveを書けばいいと思う
267 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 13:33:44 ID:0BKa7fCF0] WinActivateか
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 17:29:36 ID:P6frNnDA0] RButton & Wheelup::send {Left} と記述したら、これ以外の右クリック関係が効かなくなってしまいました 以前の動作と共存させるにはどうしたらいいですか?
269 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 18:04:12 ID:m2sf8lzZ0] まずは落ち着いて流行らせるページを読んだ方が良いと思うよ
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 18:06:43 ID:+F3eJm7K0] アフィを踏まないようにな。
271 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 18:20:10 ID:khMgy4pn0] >>264 KeyWaitで時間指定してErrorLevelで判断すれば多分出来る
272 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 19:34:39 ID:P6frNnDA0] ~RButton & Wheelup::send {Left} としたら動くようになりましたが、アクション後に右ボタンを離したらコンテキストメニューが出てしまいます 出さないようにするにはどう記述すればよいですか?
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 19:59:10 ID:D9gd79zc0] KeyA & KeyB:: { Some Script } $KeyA::Send,{KeyA}
274 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 20:16:57 ID:khMgy4pn0] なんか、 RButton:: MouseClick, R,,, 1, 0, D KeyWait, R MouseClick, R,,, 1, 0, U return ってやってもドラッグがうまくいかないな、なんかやり方ある? どうも、押下時点でメニューとか出るんでKeyWaitがうまく行ってないのかな?
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 20:20:29 ID:LGlyJ14t0] なまず日記のmigemo_isearchを使っている人に質問です。 「[MIGEMO] I-search:」ウィンドウが開いているときに ブラウザ内のどこかにフォーカスが移ると、検索ワードの 入力待ちから抜けられなくなりますよね。 そこで、とりあえず、自分でフォーカスを移した場合に ついては以下のようにして逃げていますが、根本的な 解決策が知りたいです。 #IfWinActive ahk_class IEFrame ^s::MIS_IEMigemoISearchForward() #IfWinActive ahk_class migemo-isearch ^s::MIS_MigemoISearchNextForward() Esc:: AppsKey:: +f10:: MIS_MigemoISearchClose() return *LButton:: MIS_MigemoISearchClose() MouseClick, Left return *RButton:: MIS_MigemoISearchClose() MouseClick, Right return #IfWinActive
276 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/14(金) 20:47:13 ID:P6frNnDA0] >>273 ありがとうございました m(_ _)m
277 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/15(土) 06:40:10 ID:5wNKe8CI0] >>274 う・・・わ、恥ずかしい。今ごろ気付いた R待ってても意味無いよな。RButtonだろ俺 ナンダヨー ニヤニヤ スンナヨー><;
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/15(土) 13:25:31 ID:MWOMNoQ50] xx分をxx時間xx分に換算する関数を作ろうと思い、できたのがこんなんです。 Conversion(origin){ min := Mod(origin, 60) h := Round((origin - min) / 60) Return, (hr ? h " h " : "") min " min" } いまいちかっこわるいのですが、こんなもんでしょうか。
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/15(土) 13:57:40 ID:A+4bfbKP0] 簡単なので言えばこんなのとか conv(i){ t = 2000 t += %i%,Minutes FormatTime FormdT, %t%, HH 'h' mm 'min' return FormdT }
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/15(土) 20:27:19 ID:LpB2dUsx0] 型定義か、オブジェクト作成が出来ればいいんだけどね static 変数使えば、private変数みたく出来・・・ないか ま、そこまで求めるような処理系をやるような言語ではないしな
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 02:40:14 ID:PRavS+EG0] WinGetコマンド等でExclude Titleを指定できますが、 ここで複数タイトルを指定するにはどのようにすればいいでしょうか?
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 06:18:08 ID:PRavS+EG0] >>281 AddGroupでグループ化して、ahk_groupで除外するというのを試みたのですが、うまくいきませんでした。
283 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 20:13:32 ID:L7k3BomJ0] 長押しと独自キーリピートのサンプルクレクレ
284 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 22:17:10 ID:bN/A5LaO0] Inputbox に数式を入れると、結果を返すだけのツールを 作ったんですが、激しく仰々しくって・・・。もっと簡素に書けませんか? vk1Csc079 & i:: InputBox, suushiki, 数式を入力,,, 300, 110, , ,, FileAppend, Output:=%Suushiki%`r`n, c:\Enzan.ahk FileAppend, Msgbox`,`%Output`%, c:\Enzan.ahk Run, c:\Enzan.ahk Sleep, 500 FileRecycle, C:\Enzan.ahk return (一行しか式を書き込めないので、拡張性に乏しいです)
285 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 22:28:10 ID:6gu0PBjt0] なんでFileAppendなんか使うん?
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 22:37:17 ID:bN/A5LaO0] FileAppendしか思い付かなかったので・・。行数制限は外したが。 vk1Csc079 & i:: Loop, 20{ InputBox, Suushiki, 数式を入力(Canselで入力終了),,, 300, 110,,,,,Y:= If ErrorLevel = 0 { FileAppend, %Suushiki%`r`n, C:\Enzan.ahk } If ErrorLevel = 1 { FileAppend, %Suushiki%`r`n, C:\Enzan.ahk break }} FileAppend, Msgbox`,`%Y`%, C:\Enzan.ahk Run, C:\Enzan.ahk Sleep, 500 FileRecycle, C:\Enzan.ahk return
287 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 22:44:09 ID:MFHWv9K4P] >>284 fenrirスレとマルチのうえあっちはほったらかしかよ。死ねよクソガキ。
288 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 23:05:49 ID:6gu0PBjt0] 俺には付いていけん発想だ 炊飯器に乗って隣の家に行くような
289 名前:284 mailto:sage [2008/03/16(日) 23:26:39 ID:bN/A5LaO0] ID調べる粘着さんに誤爆をマルチ呼ばわりされてしまった。 >>288 ダイヤログボックスに数式を入れて結果を入力させるのが目的です。 上の文ではMsgboxを使っていますが、使用時はクリップボード&貼り付けにしています。 Google窓やCals.exe等では、結果の閲覧までなので一歩進めて入力までやりたくて・・。
290 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/16(日) 23:29:19 ID:EsUPLoeS0] これはひどい
291 名前:284 mailto:sage [2008/03/16(日) 23:59:55 ID:bN/A5LaO0] Gui,Edit を出して変数に格納するのですか? そうだとしても外にAHKを書くためにFileAppend以外に方法はないと思うのですが・・・。
292 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/17(月) 00:32:49 ID:tHZ6lmZ50] まあ、もう少し付き合うけど 変数に入れてそれをLoop, Parseするのでは何がいかんのか?
293 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/17(月) 01:31:27 ID:5FHlkxSn0] 結果をほかのものに渡すだけならクリップボードを使えば良いだろ。 ClipBoard= %Suushiki%
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/17(月) 05:00:44 ID:w3b2p0Pp0] 標準出力でもいいんじゃね
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/17(月) 10:40:11 ID:0WAsk9HL0] >そうだとしても外にAHKを書くためにFileAppend以外に方法はないと思うのですが・・・。 FileAppend以前にわざわざ外にAHKを書く意味がわからない。 fenrirスレ見てきたけど、IDなんか調べなくてもまんまマルチじゃん。 しかも向うではツッコミ入れられてから誤爆とか言い訳してるし、お前本当クズだな
296 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/17(月) 12:44:41 ID:vyHUZ/Zr0] 数式ならはやらせるページのあぷろだにいくつかあった気がするが
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/17(月) 23:36:46 ID:z52UcUVJ0] >>271 遅くなりましたが、ありがとうございます。
298 名前:271 mailto:sage [2008/03/18(火) 06:36:36 ID:DBpKlb6a0] >>297 いえいえ
299 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 16:20:40 ID:p9N7Q+240] Loop の回数を入力して2重ループでキーをsendするマクロを使っているのですが; たまに回数を間違えて終わるのを待つのがつらいです。 マクロを強制終了する方法はあるのでしょうか?
300 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 17:13:36 ID:5EvAikyp0] ^ESC:: ExitApp とか適当にホットキー設定しておけば? マルチスレッドで動いてるはずだから多分大丈夫じゃね? 本当にどうしようもない時はタスクマネージャからプロセスの終了で強制終了汁
301 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 19:21:18 ID:+E1ehu8R0] 連打だったら、こんな感じで 規定回数orフォーカスずらしたら終わるようにしてるなぁ renda(key, cnt) { WinGetClass, oCls, A Loop, %cnt% { IfWinNotActive, ahk_class %oCls% Break, Send, {%key%} } return }
302 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 21:31:22 ID:qz5VYRvo0] GetKeyStateで適当なキー押下を調べて 押されてたらBreakするとか
303 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/18(火) 22:42:31 ID:LmQpgVGGO] UWSCのMOUSEORGみたいに、 特定のウインドウにキーを送る関数や方法はありますか?
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 00:13:54 ID:Qu6VUaAz0] ありまくり
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 12:12:38 ID:ZHMEY0Ip0] >>301 ありがとうございます。
306 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 13:45:53 ID:PsQCSOhe0] >>304 ありがとうございます。
307 名前:TWZmalSIIaso mailto:nel@yhoo.com [2008/03/21(金) 09:05:57 ID:0s2M9jx00] <a href=imporous.cn/map.html >online</a> importee.cn/map.html <a href=importee.cn/map.html >online</a> jointed.cn/map.html <a href=jointed.cn/map.html >online</a> jolite.cn/map.html <a href=jolite.cn/map.html >online</a>
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/22(土) 14:49:01 ID:6t3qgOPy0] ・マウスの中ボタンを押すと、(中ボタンを放した瞬間)検索開始 ・マウスの中ボタン+ホイール↓で、検索の次候補(F3) ・マウスの中ボタン+ホイール↑で、検索の前候補(shift+F3) という動作をさせたいのですが、 MButton::send,^f MButton & WheelDown::send,{F3} MButton & WheelUp::send,+{F3} この3行のうち、下の2行を入れると、 先頭の「中ボタンを押しただけの動作」が無視されてしまいます。 希望する動作にするためには、どう書けばいいでしょうか。
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/22(土) 15:15:08 ID:UA/65Cwf0] 単独と&の組み合わせって駄目じゃなかったっけ。 前試して動かなかったような記憶が。
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/22(土) 16:24:18 ID:DRTfcI5V0] MButton Up::send,^f でできると思う
311 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/22(土) 20:17:36 ID:0AYJpUnlO] マウスボタンの配置を入れ替えることはできますか? a::b b::a ↑キーボードはできたんですけど
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/22(土) 20:59:20 ID:H09tmeZI0] 指をクロス
313 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 02:24:18 ID:yu0oJW4R0] >>311 Windowsの設定で左利き用にするのではだめなのか?
314 名前:311 mailto:sage [2008/03/23(日) 09:32:42 ID:h6Mm6xGhO] 右←→X2を交換したいんです ロジのトラックボール(ST-45UPi)を購入した ので親指に左右クリックを集めて使いたいなと SetPoint+UberOptionsで実現できそうなのですが できればSetPointとか使いたくないんです。
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 09:37:41 ID:h6Mm6xGhO] 間違い左←→X2です
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 09:57:54 ID:IKb6ZKv10] SetPointつかったほうがいいんでないかい
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 11:37:05 ID:MbnHXQ3d0] >>308 です。 >>309 そのようです。 >>310 これでできました。ありがとうございます。
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 21:27:50 ID:7xaaJCup0] >>311 この辺が参考になるかも www.autohotkey.com/forum/topic26163.html www.autohotkey.com/forum/topic889.html
319 名前:311 mailto:sage [2008/03/24(月) 11:25:36 ID:Ns5Ryq4zO] >>318 ありがとう。すごく参考になりました。 一応結果を書いておきます。 飛び先にはいくつか方法が書かれているけど,↓がベターだとおもう。 *LButton:: MouseClick, right,,,,, D KeyWait, LButton MouseClick, right,,,,, U return *RButton:: MouseClick, left,,,,, D KeyWait, RButton MouseClick, left,,,,, U return KeyWaitの効果??でマウスジェスチャー,範囲選択も標準同様に動作できた。 ちょっと不満なのは右クリするとコンテクストメニューが表示されたり されなかったりする。それ以外は期待通りでした。 (再現も規則性があって,右ダブルクリックすれば回避できるけど) >>316 自分の環境だと突然ALTやCtrlが押された状態になってイライラするから 使いたくないんです。原因もわからないし・・
320 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/24(月) 16:06:20 ID:n1SVzXNB0] XPSP3日本語版はキーUp/Down情報が正しく返して(>>3 )くれる・・・わけないよなぁ
321 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/24(月) 20:59:47 ID:4Vqa4LsF0] Setpointの押しっぱなし回避のため、Alt/Ctrl/Shift upとSetpoint再起動のスクリプトを書いておくがよろし
322 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/24(月) 22:08:58 ID:m2WbBKQQ0] >>319 スレチだけど、押しっぱなしの件うちも起こるなぁ。>Setpoint まぁ、ごく稀になんで我慢して使ってるけど。MouseWareの頃はこんな事なかったのになぁ。 どれかが押されたままになったら、そのキー(キーボード実体)を適当にポンポン叩いてると しばらくすれば直るんだけど。 俺は>>321 をやってみようかと思う。アイデアどうもありがとう
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/24(月) 23:56:48 ID:4Vqa4LsF0] >>321 をやるなら、ホットキーは^!+z::みたいにするのがおすすめ。 押しっぱなしの症状出ていても起動するようにな。
324 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 14:08:04 ID:fKCEZ+8l0] Ahkファイルを右クリックしたとき出る「edit script」で使用するエディタを変更する方法は何かないでしょうか?
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 16:39:51 ID:/e6R/f5R0] >>324 俺は↓のレジストリのnotepad.exeの部分を書き換えてる。 他の方法もあるかもしれないけど。ちなみにOSはXP HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command
326 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 19:23:22 ID:tZ5Dk9KN0] >>324 lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/107-108
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 20:01:12 ID:4sJAnoqM0] 「フォルダオプション」の「ファイルの種類」で .ahk->詳細設定->Edit scriptいじってもできるよ。
328 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 20:45:40 ID:v2dURCKr0] あとは、Menu, Tray, 〜で全部書き換えてしまうとか
329 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 00:45:10 ID:uloWWH/t0] Photoshop、Sai、Neko、ComicStudio共通、3分間操作しないと自動保存を行うAutoHotkeyスクリプト ttp://blogs.yahoo.co.jp/uwsc_script/31579152.html
330 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 10:21:32 ID:rg2QQF050] 雑談していいか?デジ絵業界のこと全く知らんのだが、プロにもAutohotkeyは流行ってるの?浸透する余地はあるの?
331 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 12:03:00 ID:UhywBhzN0] プロや同人者じゃないけどフォトショやイラレくらい普通に使うっしょ。ビジネスでも個人でも。 スクリプトに免疫ある云々以前に自動保存は危険だから そうそう需要があるとは思えんし (保存する気は無いけどちょっと試してみた、っつーような状態でオリジナル更新とかされたら泣ける。 MS-Officeみたいに保存でアンドゥバッファがクリアされるようだとかなりアウチな状況になる) 329のブログの人は元々uwscとかやってるから、浸透させたいとかそういう意図じゃなく 単純に自分が使ってるものを公開してるだけじゃないか?
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 12:27:50 ID:XtKWYjkt0] VAIOノートのボリューム変更が面倒(ミュートボタン+十字キー)なので、ahkでボリュームを変更しようと考えました。 しかし、VistaのせいかVAIOのせいか、XP機では問題なく動作していたコマンド「SoundSet」がまったくききません。 これはVistaで音量管理が変わったせいでしょうか。それともVAIO固有の問題でしょうか。 他にVista機を使ったことがないので、ボリューム関係の命令が通常は問題なくVistaでも動作するのかどうかお教えいただければと思います。
333 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 12:28:04 ID:rg2QQF050] イラレを普通の人が使うか?まぁいいや。俺的には糞キーだった無変換と 変換キーがAHKで超活躍したのに感動して、ネタ探しにこのスレに居着いてる。
334 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 13:42:09 ID:s4aoxhYc0] 無変換は使う人は使うらしい。 うちの親父がひらがな確定するのに使ってた。 AHK立ち上げたまま貸したから誤爆しまくってた。
335 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 14:06:53 ID:aFNDPsi80] ドロー系ってイラレくらいしか市販ソフトで選択肢なくなってるじゃん 簡単なものならInkscapeとかでも良いけどちょこっと凝ったことやって 印刷所に渡すとかならイラレ一択だよ 普通の人でもちょっと凝ったチラシ程度は作ったりするでしょ?
336 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 14:20:42 ID:mvQbsgET0] 作業上、定型処理があってマクロが無い場合、 何らかの補助ツールを用いてバッチ的に処理したいと思うのは 当たり前なんじゃないの? エクセルとかの事務処理ツールは大抵マクロがあるけど、 オーサリングとか描画とかのツールには無いことがあるし。 その場合、キー送信って方法はわかりやすい手法だと思う。 でも浸透はしてないと思う。 >>332 アプリケーション毎に音量を変えられる Vista の仕様には対応してないとか。 つまり、AHKのプロセスのみの音量が変わるだけ。 システム全体のボリュームを変更したい場合は以下のようにして逃げろと書いてある。 @AHK互換モードで動かす Aボリューム変更キーを変更してシステム全体のマスタ音量を変えるようにする ttp://www.autohotkey.com/docs/commands/SoundSet.htm > [Remarks] > On Windows Vista, SoundSet and SoundGet affect only the script itself > (this may be resolved in a future version). > There are at least two ways to work around this: > > 1) In the properties dialog for the file "AutoHotkey.exe" (or a compiled script), > change the compatibility setting to "Windows XP". > 2) Have the script send volume-control keystrokes to change the master > volume for the entire system. For example: > (以下略)
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 14:22:30 ID:oolhOgY80] >>334 俺も無変換に機能を割り当ててウハウハ気分。 だが、あるとき「あれ?ひらがなにならねぇじゃん」というシーンがちらほら。 ・・・あれだけ邪魔扱いしていた無変換キーを、 無意識のうちに微妙に使ってたことに驚愕した。ごめんよ無変換君 まぁ最終的に ~ up で支障のないように割り当てちゃったけど
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 15:23:42 ID:UhywBhzN0] >>336 コミスタみたいな漫画描き用ツールは使ったことないからわからんが adobe系ならアクションで操作記憶できるし、jsも使えるからな 外部のソフトでどうこうしようって需要はそんなには高くないんじゃないかな 自分はjsわからんからAHKで適当にやらせちゃったりしてるけど。
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/27(木) 12:16:30 ID:YojpcV9k0] >>336 なるほど、Volume_Upを送ればいいんですね。助かりました。 AhkがVistaの仕様に対応してくれると面白いんですがね。
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/27(木) 23:12:54 ID:wa/kgMqy0] >>337 変換中にひらがな なら、Ctrl+u、或いはF6使うとか? Ctrl+u,i,o,pに慣れたんで、変換中は無変換キー使わないです。 無変換キーは、なまず日記(2005-09-16)参考で(Alt複数回押しが元ネタ) 2度押しでF24キー送ってランチャの呼び出しキーにしてるのと テンプレにもある無変換+IJKLで↑←↓→にして使ってる。
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/27(木) 23:45:44 ID:7ph+A4hy0] すみません。全くの初心者です。 マウスのX2ボタン+ホイールで水平スクロールさせたいのですが、つまづいてます。 下の表記ではダメなのでしょうか?どの様に表記すれば良いでしょう? XButton2 & WheelUp:: ControlGetFocus, fcontrol, A SendMessage, 0x114, 0, 0, %fcontrol%, A XButton2 & WheelDown:: ControlGetFocus, fcontrol, A SendMessage, 0x114, 1, 0, %fcontrol%, A
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 00:51:14 ID:vippfD4h0] 「アクティブウィンドウのアクティブコントロール」だと 実際はどこにフォーカス当たってるのかわからんよ マウス下のコントロールハンドル送るほうがまだ確実 MouseGetPos,,,,ctrl,3 PostMessage, 0x114, 0, 0, ahk_id %ctrl% もしこれでもダメなら対象のコントロールがスクロールに対応してない (見当違いのコントロールをつかんでしまっている)か、 スクロールハンドルも指定してやらないといかんとかだと思う
343 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 01:09:11 ID:SNoH02TP0] Mousegesture.ahk使え
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 08:29:45 ID:1yE4nRrQ0] >>331 使いにくいインターフェースを使いやすくするのには使っている。 upp.sakura.ne.jp/src/upp16216.jpg upp.sakura.ne.jp/src/upp16217.jpg upp.sakura.ne.jp/src/upp16218.jpg
345 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 20:40:26 ID:lF6janXs0] %00%01%12みたいにエンコードされたURL文字列をデコードしたいのですが、 変数に入っているURLをデコードするには、どのようにすればいいでしょうか。 AutoHotkey本家サイトで、下記のサンプルらしきものをみつけたのですが、 AutoHotkey自体にまだ慣れていない状態で。たとえば %abc% という変数に 入れたURLを変換するには、どのように書けば動いてくれますか? uriDecode(str) { Loop If RegExMatch(str, "i)(?<=%)[\da-f]{1,2}", hex) StringReplace, str, str, `%%hex%, % Chr("0x" . hex), All Else Break Return, str } www.autohotkey.com/forum/topic18876.html
346 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 16:33:33 ID:VfpQtKeR0] これってクリップボード拡張機能があるの? あるんだったらいくつまでため込んでおけるの?
347 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 17:02:54 ID:G6elPIP40] クリップボードをどうにかできる機能はある。拡張は各自で行う。 己の好きなだけためられるようなコードをかけばOK
348 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 17:59:21 ID:VdXqTZUN0] cbhistory%num% = cbhistory%num-1% とか偽配列に溜め込んでいけばいくらでも
349 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 20:14:12 ID:T1+UFJiD0] 例えばあるキーを押したら「○」と入力されるようにするには クリップボードを使わずにできるの?
350 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 20:59:51 ID:G6elPIP40] できるけど全角文字はOSや入力先コントロールによっては化けるよ
351 名前:名無しさん@お腹いっぱい。 mailto:age [2008/03/30(日) 02:53:04 ID:E4XGHc6a0] アニメ「めぐみ」ダウンロードページ www.rachi.go.jp/jp/megumi/index.html#ja
352 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 09:32:11 ID:ltQQNcJf0] 他のスレでAHKを勧められたんで使ってみようかと思っています。 iniファイルに設定を書けって言われたんで記述しようかと思ったんだけど 落としたzipにはiniファイルがありません。 これは自分で作れってことですか?
353 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 09:55:59 ID:gl83dI/t0] >>352 初回にAHKを起動したときに自動で作られる ttp://d.hatena.ne.jp/ka8823ge/20060214
354 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 10:23:13 ID:vGXFRISg0] 練習ならデスクトップで、右クリックして [新規作成]→[Autohotkey Script] と選択して新規ファイル作る。 さらに出来たファイルを右クリックして [Edit Script] を選んで編集する。 たぶんメモ帳で編集となる。 何か書いたら*保存して*からダブルクリックして実行。 後はがんばれ。
355 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 10:27:04 ID:Ok2aoVwO0] 自分も新参なんでそのへんよくわからんですが、 最近のAHKは、ini ファイルあれば読み込むけど、勝手につくったりはしないのでは。 適当な名前(AutoHotkey.ahkとか) を適当なところに置いて起動時に実行させたほうが、 エディタで編集もしやすいし良いような。
356 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 10:37:22 ID:UVMk0PgG0] zip版でも.ahk起動でなかったらini作られると思うけど
357 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 13:01:06 ID:qN+p1OrA0] AHKでiniファイルを作って使用する場合 その設定はシステム全体に共通するものになってしまうんですか? ある特定のソフトではその設定を無効にすることってできますか?
358 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 15:24:24 ID:Irt6PGPH0] >>357 システム全体に共通のものにすることも 特定のソフトだけに適用させることも 特定のソフトだけを除外することも 皆できます。
359 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 16:15:28 ID:WwLdVX2H0] >>358 そのやり方の書いてあるサイトを紹介してくれませんか?
360 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 16:47:55 ID:UVMk0PgG0] >1
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 22:10:05 ID:oszNmWuy0] さすがに春とは言えひどいのがわくなw
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 22:14:42 ID:mTU/MBw90] いちいちあおんな
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 22:19:42 ID:JMekhfLu0] >>350 やっぱり化けますか。 クリップボードに文字入れてペーストするしか方法ないのかな。
364 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/30(日) 23:35:22 ID:vGXFRISg0] ttp://lukewarm.s101.xrea.com/myscripts/index.html の[Sendコマンド用日本語コード変換]
365 名前:名無しさん@お腹いっぱい。 [2008/03/31(月) 23:53:39 ID:I9uPmNx00] 変換キーをシフト+コントロールにしたいんだけど vk1Csc079::^+ だとうまく動かないんだけどSend使ってもダメだった。 どうやったら出来るの?全然違うことやってるかな…
366 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 00:15:47 ID:Bzz1rfhi0] おまえら、AutoHotkeyなんてもう腐りきった言語をいつまでも使ってるんじゃない! これからはJHotkeyの時代だぞ!! lukewarm.me.land.to/
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 00:28:52 ID:o19x/qgO0] >>開発途中のため、構想されている機能のうち極一部しか実装されていません。 意気込みはいいが、これじゃな…
368 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 00:31:29 ID:VxtyJ8oc0] 今日は・・
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 00:32:21 ID:taqmYof10] ぬるたん、何やってんのw
370 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 01:05:47 ID:+YiplxOD0] エイプリルフール? じゃないのね・・・ さすがスクリプトオタク
371 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 01:49:23 ID:Bzz1rfhi0] ;# MobileSOS.ahk Gui, 1:+ToolWindow -Disabled -SysMenu -Caption Gui, 1:Color, FF0000 Gui, 1:Show, X0 Y0 W%A_ScreenWidth% H%A_ScreenHeight% Gui, 2:+ToolWindow -Disabled -SysMenu -Caption Gui, 2:Color, 000000 Gui, 2:Show, X0 Y0 W%A_ScreenWidth% H%A_ScreenHeight% Loop { Gui, 1:SHOW Sleep, 200 Gui, 2:SHOW Sleep, 200 Gui, 1:SHOW Sleep, 200 Gui, 2:SHOW Sleep, 200 Gui, 1:SHOW Sleep, 800 Gui, 2:SHOW Sleep, 200 } Return Esc::ExitApp www.forest.impress.co.jp/yashiro/2008/mobilesos.html
372 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 02:04:47 ID:rprG/suh0] >>365 AHK勉強中です、正しい書き方でないだろうし もっとよい記述があると思うんだけど一応書いてみました。 vk1Csc079:: Send,{Shift Down}{Ctrl Down} loop { sleep, 10 GetKeyState, vkstate, vk1Csc079, P if vkstate=U { Send, {Shift Up}{Ctrl Up} break } } return
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 02:25:34 ID:+YiplxOD0] >>371 すばやいな でも、SOSは・・・ーーー・・・だとおもうんだ
374 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 03:41:28 ID:xJn9jWDG0] 画面の特定の場所(たとえば右上)にマウスオーバーしたら、 特定のアプリを最前面表示、みたいにやりたいんですが、 どこかにそういうスクリプト公開されてますか?
375 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 03:48:29 ID:Bx9nGxi10] 画面端だけならMouseGesture.ahkにある
376 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 03:51:02 ID:xJn9jWDG0] なるほど。ちょっと見てみます。
377 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 03:52:36 ID:Bx9nGxi10] * * * + うそです n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
378 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 04:02:39 ID:xJn9jWDG0] ナ ゝ ナ ゝ / 十_" ー;=‐ |! |! cト cト /^、_ノ | 、.__ つ (.__  ̄ ̄ ̄ ̄ ・ ・ ミミ:::;,! u `゙"~´ ヾ彡::l/VvVw、 ,yvヾNヽ ゞヾ ,. ,. ,. 、、ヾゝヽr=ヾ ミ::::;/  ゙̄`ー-.、 u ;,,; j ヾk'! ' l / 'レ ^ヽヘ\ ,r゙ゞ゙-"、ノ / l! !ヽ 、、 | ミ/ J ゙`ー、 " ;, ;;; ,;; ゙ u ヾi ,,./ , ,、ヾヾ | '-- 、..,,ヽ j ! | Nヾ| '" _,,.. -─ゝ.、 ;, " ;; _,,..._ゞイ__//〃 i.! ilヾゞヽ | 、 .r. ヾ-、;;ノ,.:-一'"i j / ,.- 、 ヾヽ、 ;; ;; _,-< //_,,\' "' !| :l ゙i !_,,ヽ.l `ー─-- エィ' (. 7 / : ' ・丿  ̄≠Ξイ´,-、 ヽ /イ´ r. `ー-'メ ,.-´、 i u ヾ``ー' イ \_ _,,......:: ´゙i、 `¨ / i ヽ.__,,... ' u ゙l´.i・j.冫,イ゙l / ``-、..- ノ :u l u  ̄ ̄ 彡" 、ヾ ̄``ミ::.l u j i、`ー' .i / /、._ `'y / u `ヽ ゙:l ,.::- 、,, ,. ノ ゙ u ! /_  ̄ ー/ u / _,,..,,_ ,.ィ、 / | /__ ``- 、_ l l ``ーt、_ / / ゙ u ,./´ " ``- 、_J r'´ u 丿 .l,... `ー一''/ ノ ト 、,,_____ ゙/ / ./__ ー7 /、 l '゙ ヽ/ ,. '" \`ー--- ",.::く、 /;;;''"  ̄ ̄ ───/ ゙ ,::' \ヾニ==='"/ `- 、 ゙ー┬ '´ / \..,,__ 、 .i:⌒`─-、_,.... l / `ー┬一' ヽ :l / , ' `ソヽ ヾヽ l ` `ヽ、 l ./ ヽ l ) ,; / ,' '^i
379 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 15:34:48 ID:PbhXdZno0] SubMakeTxt: (処理) FileAppend,%Text%,hoge.txt Return このようなサブルーチンで、処理の最中に再び同じサブルーチンが呼び出された場合、 最初に呼び出された方を打ち切って新しく最初からやり直すというのはどう書けばいいんでしょうか。 やりたいのは「さっきのやめて新しい条件でhoge.txt作って」という感じのことです。
380 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 21:45:56 ID:taqmYof10] そいつをコンパイルEXE化しといて 呼出し毎にまずプロセスを落としてから処理に入るとか
381 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 22:27:43 ID:TzLRdUHG0] 偉い先生、教えてください。 スクリプト起動中に Hotstring の設定を書き換えられますか? たとえば #Hotstring C ↑ ↓ #Hotstring C0 などとトグルしたいんですが。
382 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 23:35:42 ID:iDdNVKh40] >>364 ありがとう!
383 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/02(水) 17:23:33 ID:WduZd3PH0] AHKでマウスのスクロールボタンを押した 動作を設定したいんですがそれってできます? テンプレにある流行ページ見たんですが ボタン押しのキーリストがありませんでした。 やりたいことはスクロールボタンを押したまま スクロールさせてアプリを切り替えたんです。
384 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/02(水) 17:24:05 ID:WduZd3PH0] × 切り替えたんです。 ○ 切り替えたいんです。
385 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/02(水) 19:30:07 ID:wPtPDyuj0] 下の二行で頭がくらっと来た。
386 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/02(水) 20:57:10 ID:XEaurMqJ0] エディタや入力部分等で選択している範囲の文字列中の一番右側の数値を1増やすのってどうやればいいんですか? file-01.txt を選択して実行すると file-02.txt になるような感じです
387 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/02(水) 21:08:44 ID:2iojmLuY0] >>386 正規表現で数字部分だけ引っこ抜いたらどうでしょう
388 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/02(水) 22:43:10 ID:d+HQvHP20] Alt や Ctrl や Shift を素早く二回押しして クリップボードとかを立ち上げようと思っているのですが、 こういう「連続押し」はどうすれば良いのでしょうか? (窓使いの憂鬱スレで聞いたら「AHKが得意だよ」と言われてやって来ました)
389 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/03(木) 00:02:45 ID:nVgIA2Ke0] ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/16 その他
390 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/03(木) 01:29:40 ID:k0tD4Xy50] >>389 どうもありがとうございます。 これに何か書き加えれば 連続押しでアプリを呼び出したりできるんですね。 ちょっと勉強してみます。 詰まったらまた質問させて頂きますので その時はお願いします。
391 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/03(木) 23:44:41 ID:2gOsBbkj0] リファレンス見てて Exp() ネピア数eのべき乗を返す関数 を見たときに自分の限界を感じた 商業科卒でろくな数学教わってこなかったから 単語調べても説明文から理解できないという詰みっぷり 例題とかどういう時に使うのかないから プログラミングできなくてもこれ使えばなんとかなるかなフフンって思ってた自信が崩れた 理系の学校に行っとけばよかったと思ったよ後の祭り
392 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 00:45:32 ID:7zeiblG+0] >>389 のURLで紹介されていた ~CTRL:: if A_PriorHotkey <> %A_ThisHotkey%, return if A_TimeSincePriorHotkey > 400, return ;some action return に、現在クリップボードを呼び出すショートカットである Ctrl+D を試しに割り当てて呼び出したいのですが、 どうすれば良いでしょうか? (高校中退の僕にはプログラミングは難し過ぎでした)
393 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 11:01:00 ID:pBB/Zv3r0] リファレンスの Send の項を見て来い わからないんならお前には無理、あきらめろ
394 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 17:41:26 ID:1bP2SCxJ0] >>391 eなんて理系でも使わないとこじゃまったく使わねぇよw ってか何でそんなもんを調べてるんだ? 「米の炊き方が知りたいのですが鉄の熱伝導率を調べても私には意味がわかりませんでした」って言ってるようなものだぞ
395 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 18:04:46 ID:G2g11yCV0] "e"をネピア数っていうんだ。知らんかった。一応理系の大学でたけど。 てか、数学をコテコテいじるようなところじゃなかったしな。 自然対数の"底"って書いてあれば、高校数学程度って分かるんだが。 数Uくらいか?(ってか今、数Uってあんのか・・・?)
396 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 20:35:03 ID:bHsVIBeM0] >>394 ちゃうだろ 米の炊き方なら目的がはっきりしてるから鉄の熱伝導率なんて知識が 米を炊く時に必要かそうでないか判断できる 知らないものを調べることになんか疑問あるかね 何か思い立ったときそれが必要だったとして知らなかったら不可能として諦めて損になる
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 20:45:23 ID:bcgYhMW50] 日本語でおk
398 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 22:48:35 ID:5/uiSusF0] 何か不幸な生い立ちでも?
399 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 08:23:27 ID:AZM4ch+j0] Cを始めるときにC言語辞典読破してからハローワールドするみたいな
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 10:04:21 ID:8a6N5frDO] >>396 お前にとってeが必要になる可能性が高いかどうかくらいは今でも判断つくだろ? おおよそ不必要なら、さっさと基本的な事をマスターして、その後で覚えたらいいやん。
401 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 16:47:46 ID:IvDj1tasP] 覚えたらeやん
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 17:49:22 ID:IwMCZKAQ0] つくしが引っ込んだぞ、おい
403 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 19:31:49 ID:zWjQS3cI0] ゴメン
404 名前:名無しさん@お腹いっぱい。 [2008/04/06(日) 21:06:22 ID:FTx5YlaY0] 神様 あるウィンドウがクリックされた時に、 そのウィンドウにあるメニューバーの特定のメニュー項目がdisabledならば、 クリックされなかったことにしてreturnしたいのですが、 どこかにサンプルなどないでしょうか。 たとえばIEがクリックされた時、IEのメニューバー->編集(E)->コピー(C)が disabledならクリックイベントが発生しないようにしたいです。 エロかっこいい神様、どうかおながいします。
405 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 21:25:26 ID:nrvmy2DX0] コピー限定だけど、Disableかどうかにかかわらずとりあえず実行して クリップボードが変更されたなら実行、そうでないなら放置、でいいのでは。
406 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 21:34:22 ID:FTx5YlaY0] 例は、分かりやすく書いただけなので、「コピー」とは別物です。 フックとかしないとだめなんでしょうか。 エロカッコいい神様、どうかおながいします。
407 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 21:47:07 ID:JhcN1jbX0] >>404 サブクラス化
408 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 23:24:36 ID:FTx5YlaY0] サンプル見つけました。 www.autohotkey.com/forum/topic21451.html エロスさまどうもあらがとうごあいまさた。
409 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/07(月) 23:41:05 ID:TGYHX9Tn0] $^f::Send {Right} として、MS Word 上で ^f のキースクロールをくりかえすと、 たまに (数百回に一回ぐらい) Ctrl-F が入力されてしまうんだけど、 こんなもんなのだろうか? ^v::Send {PgDn} でも Ctrl-V が入っちゃう。Sleep を入れるともっと悪くなるよ orz
410 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 01:04:03 ID:IhpfBzS20] AutoHotkeyでも、こういうソースコードっぽいソースを書く人もいるんだな
411 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 07:59:06 ID:BaKIsNaN0] 素人質問ですが、教えてください。 @ ;右クリック+ホイール↓ = タスク切り替え ~MButton & WheelDown:: AltTab ;右クリック+ホイール↑ = タスク切り替え(逆順) ~MButton & WheelUp:: ShiftAltTab A ~MButton & WheelDown:: AltTab ~MButton & WheelUp:: ShiftAltTab @の方法で記述すると、ダイアログにアイコンが表示されるんですが Aだと表示されず、中央ボタンを押したらアプリが切り替わります。 ですのでホイールの意味がまったくないんです。 どこが違うんでしょうか?Aでも@のような操作がしたいんですが。
412 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 08:00:03 ID:BaKIsNaN0] @のMButton→RButtonに置き換えてください。
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 14:24:21 ID:AbWtGmV70] IMEが入力中かどうかを判別する方法はありますか? 変換や確定のSpace,Enterとそれ以外を分けたいんです。
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 16:01:49 ID:/9Ax63ok0] IME状態を得るのなら探せば幾つか・・と即レスするところだった。 MS-IMEやATOKがはたらいているかどうか、見るスクリプトは見たことないなぁ。
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 16:52:37 ID:225eMm8v0] OnかOffかという状態をみるだけならなんとでもなるんですけどね…
416 名前:414考え中 mailto:sage [2008/04/08(火) 18:36:01 ID:/9Ax63ok0] AutoHotKey Threadの>>591 で言われているPixelSearchを 実際に使ってみた。やれないことはなさそう。>>413 ;0XC56A31 ←ATOK変換時の色(青) 0XFFFFFF ←未確定時の色(真っ白) X2:=A_CaretX + 5 Y2:=A_CaretY + 1 PixelSearch, Px, Py, A_CaretX, A_CaretY, X2, Y2, 0X0F0400 ,0 if ErrorLevel = 0 IMEFlag=1 Msgbox, %IMEFlag%
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 00:48:40 ID:8oDip4ta0] >>413 に書いてある内容だけ実現したいなら、 "窓使いの憂鬱が"の方が向いている だが、Vistaだと厳しいな
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 02:52:04 ID:CYoGSIzg0] AutoHotkey から Text Services Framework (TSF) は使えないのだろうか?
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 21:39:19 ID:Y/Kzcbh10] 最近いじり始めたばかりだが マウスジェスチャの動作書くのって 素人じゃ難しいかな? どっかに詳しく書いてあるといいんだが。
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 22:30:24 ID:j0FC8OmH0] >>419 マウスジェスチャならはやらせるページの作者がかなり高性能なものを作ってくれてる それをいじるなり参考にするなりすべし
421 名前:419 mailto:sage [2008/04/09(水) 23:30:39 ID:Y/Kzcbh10] 一応それ入れて中見てみたけど もう自分にはチンプンカンプンでした。 a::bみたいな簡単には行かないんですね。
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/10(木) 22:18:00 ID:R9AZZFcs0] RButton →←::〜 みたいな書式なら楽だな ってか、マウ筋みたいだ
423 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/10(木) 22:35:21 ID:Z+zxLkTQ0] マウ筋をAHKに移行したいのだがマウ筋でつくった設定が膨大すぎてやる気が起きんw
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/10(木) 22:39:41 ID:Ys36v7eM0] ttp://www.ms.u-tokyo.ac.jp/~abenori/diary_old/200707.html#200707180 こんなんあるな はやらせるページに比べたらはるかに低機能だが
425 名前:419 mailto:sage [2008/04/10(木) 23:29:26 ID:zeB47hBY0] >>424 これは具体的にどうすればいいんでしょう? ラベルで振り分けるようにしてみました. マウ筋 に近い挙動にしたつもり.これをincludeして, 設定ファイルにはMG_****(****にはジェスチャの動作を入れる)なるラベルを書けばいいです. プログラム名とかも指定できて,次のような感じ.
426 名前:419 mailto:sage [2008/04/10(木) 23:30:29 ID:zeB47hBY0] include? 設定ファイル? ahkに上の文章を書き込むだけじゃダメ?
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 03:08:21 ID:uA7AvC520] 自分で試行錯誤できないなら止めとけよ。
428 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 18:19:46 ID:Pc4g0Pb20] ::無変換+E ~vk1Dsc07B & e::Edit こんなんやってるんだけどIMEオン時にひらがな、カタカナ、半角カタカナと切り替わるんだけど この切り替わるのを無効に出来ないですか?
429 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 22:53:50 ID:JQHzlaNh0] >>428 IME側の設定を変えるのが良いかと思う
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 23:30:02 ID:1LAD2LgE0] ~消して、IMEがOnかOffかを調べてOnだったら無変換送らないようにするとか
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/11(金) 23:57:14 ID:8JtpLxde0] >>429 あーそこ忘れた。 ありがとう 430もありがとう
432 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 13:59:42 ID:QOZL0eII0] メインスクリプトAとサブスクリプトBがあって、それぞれ共通の変数cを使いたいんだが いわゆる戻り値という形で変数を使いたい場合はどのようにすればいいかな? 今はその方法がわからないので、iniに読み書きすることでどうにか対応してるけど もっとスマートな方法があったら教えてくれないか 一応スクリプト晒す A ;回数入力-確認 ;c ループ回数 runwait B.ahk iniread,lc,ahk.ini,変数,c msgbox,ループ回数 %c%
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 14:02:29 ID:QOZL0eII0] つづき B ;回数入力 ;d ループ回数 loop { inputbox,d,回数入力,繰り返す回数を入力(1-999) ;Cancelを押した場合 ;iniに0を書き出してmsgbox出してループ脱出終了 if errorlevel<>0 { iniwrite,0,ahk.ini,変数,c msgbox,終了します return } ;1〜999の数字を入力した場合 ;iniにdを書き出してループ脱出終了 if d between 1 and 999 { iniwrite,%a%,ahk.ini,変数,c return } ;1〜999以外の数字を入力した場合 ;msgbox出してループ戻り else msgbox,回数は1-999の間で入力 } Bはいろいろなスクリプトで使いまわしたいので それぞれ独立した形でどうにか実現したいんだ・・・
434 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 17:55:30 ID:KChtUcd/0] Bを関数化して汎用ライブラリにすりゃいいんじゃないの? AなりCなり好きなメインスクリプトから Includeして使えばいい
435 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:07:32 ID:dzf8gFoh0] >>434 (・∀・)デキター どうもありがとう
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:34:07 ID:fqJFcYl60] このスクリプト(ttp://tryhost.net/~catwalk/?AutoHotKey%2FScript%2FFavoriteFinder#k2e37617) 動いている人いますか? こちらでは Error at line 94. Line Text: List %FAV_DIR% Error: This line does not contain a recognized action. The program will exit. というエラーになってしまうんですが。
437 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:44:44 ID:nEMDvuYT0] そんな行はないぞ。手を入れてないか?
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:46:22 ID:xXoSaRM/0] 変数内の文字列で条件分岐したいのですが、 Tabってどうやって検索すればよいのでしょうか。 \tでも`tでもないんですね。
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 23:54:27 ID:fqJFcYl60] >>437 FavoriteFinder.ahk の94行目を global List, FAV_DIR に変更したら一応動いたんですが リストが取得できていないようです。 手を加えたのは12行目のMigemoOpenのところだけです。
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 01:01:28 ID:tiSAGbZG0] >>438 %A_Tab%
441 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 07:48:16 ID:pTaNcO/h0] ;; EBWinで辞書検索 #s:: clipboard= Send,^c ClipWait SetEnv,word,%clipboard% run,C:\applications\EBWin\EBWin.exe /C=1 /S=%word% return
442 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 08:27:20 ID:BPEkA5hT0] >>439 気になったので調べてみたよ。 Files = %Files%%fn%`n と ret = %ret%%FAV_DIR%%item%.url`n を Files := Files . fn . "`n" と ret := ret . FAV_DIR . item . ".url`n" に変える。 `nが何故か消えちゃって全部つながっちゃうのが原因だったみたい。AHKのバグなのかな?? しかし、作者さんの言うように検索がどうもうまくいかないみたい。
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 08:48:06 ID:BPEkA5hT0] 訂正: ret = %ret%%FAV_DIR%%item%.url`n の方は修正しなくても大丈夫みたい
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/17(木) 15:59:55 ID:pTaNcO/h0] >>442-443 ありがとうございます。 まだ使い始めたばかりなんですが色々できて面白そうですね。
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/18(金) 01:51:41 ID:4Mol9YLc0] Send系で、^や+等の特殊キーやアルファベットの大文字等のShiftを押しながら入力する文字が化けることってない? ^vで貼り付けをしたはずが単にvだけだったり、括弧()を入力したはずが89になったりとか… Delayの値を増やしても時々発生するしバグなのかな
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/18(金) 09:22:21 ID:Tx6njfDx0] >>440 助かりました。ありがとうございます。
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/18(金) 18:10:02 ID:VCKaK5TL0] ;Mac用ユーティリティ Smart Scroll X にlogiマウスのフリースピンっぽいことができるスクロールに慣性つける機能があるけど ;Win用ユーティリティでそれができるものがたぶんないと思うので作ってみたがが・・できたものは別物orz ;ホイールを速く回せば連続スクロールに変わり逆回転で止める(連続スクロール中に速度を変えることもできない・・ ~WheelDown:: Wheelstate:=1 ; スクロールUpの停止条件 If (A_EventInfo > 2) ; ホイールの速度が設定値を超えると連続スクロール Loop, 100 { ; 暴走対策・・ Sleep, 30 ; スクロール速度調整用のウェイト Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo ; スクロール加速度・・とりあえず3乗してみた Loop,%Acceleration% { if (Wheelstate=0) ; WheelUpが入力されるとスクロール停止 return ; breakしないでもいいんだろうか? send,{WheelDown} }} return ~WheelUp:: Wheelstate:=0 ; スクロールDownの停止条件 If (A_EventInfo > 2) Loop, 100 { Sleep, 30 Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo Loop,%Acceleration% { GetKeyState, Wheelstate, WheelDown if (Wheelstate=1) ; WheelDownが入力されるとスクロール停止 return send,{WheelUp} }} return ; これをもっとまともにできないだろうか・・?
448 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 01:18:50 ID:BmW3iOlc0] ~WheelUp::以下の GetKeyState, Wheelstate, WheelDown を消し忘れてた・・・それ以前の問題だろうけど・・
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 02:31:09 ID:iBWV1p7A0] 1) スクロール速度用の変数をグローバル変数でもつ 2) ホットキー設定では、スクロール速度の変数だけを操作して、何も送信しない("~"はつける) 3) タイマで一定のサブルーチンがコールされるようにする 4) 3)で呼ばれるルーチン内で指定の速度分のスクロールをPostMessageで利用して送る ex) PostMessage,522,%wParam%,%lParam%,%cls%,ahk_id %hwnd% って感じかなぁ。 トラックポイント派なので検証できず。
450 名前:名無しさん@お腹いっぱい。 [2008/04/19(土) 15:49:36 ID:7DcoF6RP0] zを押したら jとvをタイプしてくれるようにするには どう書けばいいのか教えてください
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 16:07:29 ID:7DcoF6RP0] ::send,jv
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 19:35:50 ID:kQy+E4pv0] なまず日記が復活して、楽しみにさかのぼって読んでたら・・・ もう面白いスクリプトは書いてくれなさそうで残念だ。
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:21:20 ID:QN2yrlSL0] >>449 よくわからなかったが・・それらのキーワードをヒントに調べてみると どうやら>>1 のなまず日記の中で(3)(4)らしいことやってるようなのでそのあたり参考(むしろパクリつつ)作り直してみた・・・ 1; #Persistent #MaxHotkeysPerInterval 300 FreeScroll("init",0) ; タイマ0でないと遅くなる・・ FreeScroll("setDefault",1.5,120,1) ; 加速度"1.5",最小スクロール幅"120",スクロール開始速度"1" return WheelDown:: FreeScroll("down") return WheelUp:: FreeScroll("up") return FreeScroll(dir = "", param1 = "", param2 = 0, param3 = 0) { static WheelDownCounter ; down方向のホイール割り込み回数 static WheelUpCounter ; up方向のホイール割り込み回数 static Acceleration ; スクロール加速度 static MinimumScrollValue ; 最小のスクロール量(1ノッチ static FreeScrollSpeed ; 連続スクロールに切り替えるホイール速度 global FreeScrollState ; 連続スクロールの状態 0=通常スクロール,1=連続スクロール開始フラグ,2=連続スクロール中 global ScrollValue ; スクロール量(速度) global cntrl ; スクロールコントロールウィンドウ? if(!dir){ if(WheelDownCounter || WheelUpCounter){ ; ホイール入力があったとき CoordMode,Mouse,Screen MouseGetPos, posX, posY, window , cntrl, 3 ; PostMessageのために位置とウィンドウを取得 ; WinActivate, ahk_id %window% ; ホイールでウィンドウをアクティブにする・・しかしスクロールがガクガクになる
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:21:52 ID:QN2yrlSL0] ;2 ScrollValue := Round((WheelDownCounter ** Acceleration) * MinimumScrollValue * -1) ; スクロール量の計算 ScrollValue := ScrollValue + Round((WheelUpCounter ** Acceleration) * MinimumScrollValue) ; スクロール量の計算 Critical WheelDownCounter = ; ホイールDownカウンタをリセット WheelUpCounter = ; ホイールUpカウンタをリセット Critical, Off Gosub, FreeScrollCheck ; 条件が面倒なので外に出した・・ }} else if(dir == "init"){ ; 初期化 Critical if(!Acceleration) Acceleration = 1.5 ; 1で加速なし if(!MinimumScrollValue) MinimumScrollValue = 120 ; アプリによってはこれより低いとスクロールしないらしい if(!FreeScrollSpeed) FreeScrollSpeed = 1 ; 大きいほどスクロール切り替えに要する速度が速くなる Critical, Off if(!FreeScrollState) FreeScrollState = 0 ; タイマ0でないと遅くなる・・ if(!param1) time = 0 SetTimer, FreeScrollHandler, %time% }else if(dir == "setDefault"){ ; Defaultの設定 Critical if(param1 != 0) Acceleration = %param1% if(param2 != 0) MinimumScrollValue = %param2% Critical,Off
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:22:17 ID:QN2yrlSL0] ;3 if(param3 != 0) FreeScrollSpeed = %param3% }else if(dir == "down"){ WheelDownCounter++ if(WheelDownCounter > FreeScrollSpeed && FreeScrollState == 0) ; 連続スクロールのホイール速度取得 FreeScrollState := 1 ; 連続スクロールの開始フラグ }else{ WheelUpCounter++ if(WheelUpCounter > FreeScrollSpeed && FreeScrollState == 0) ; 連続スクロールのホイール速度取得 FreeScrollState := 1 ; 連続スクロールの開始フラグ } if(ScrollValue == 0) ;スクロールしないときは終了。これがないとスクロールバーがアホになる・・ return WinGetPos,winX,winY,winW,WinH, ahk_id %cntrl% ; コントロールの真ん中の座標・・? if(posX == "") posX := winX + winW // 2 if(posY == "") posY := winY + winH // 2 wparam := (posY << 16) | (posX & 0xffff) lparam := ScrollValue << 16 PostMessage, 522, %lparam%, %wparam%, , ahk_id %cntrl% ; メッセージを送りスクロールする if(FreeScrollState == 0) ; 通常スクロールのときはメッセージを送ったあとスクロール量をリセット ScrollValue := 0 sleep,20 ; 増やすとスクロールは荒くなるが重いウィンドウでのスクロール停止が早くなる return } FreeScrollCheck: { ; 通常スクロール以外の条件分岐 if(FreeScrollState == 0) ; 通常スクロールならさっさと抜ける
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 06:23:08 ID:QN2yrlSL0] ;4 return if(FreeScrollState == 2 && FreeScrollValue > 0 && ScrollValue < 0){ ; 連続スクロールUpをWheelDownで止める ScrollValue := 0 FreeScrollValue := 0 FreeScrollState := 0 return } if(FreeScrollState == 2 && FreeScrollValue < 0 && ScrollValue > 0){ ; 連続スクロールDownをWheelUpで止める ScrollValue := 0 FreeScrollValue := 0 FreeScrollState := 0 return } if(FreeScrollState == 1 && ScrollValue != 0){ ; 連続スクロール開始時 FreeScrollValue := ScrollValue ; FreeScrollValueは連続スクロールの方向を保持しているような・・ FreeScrollState := 2 return }} FreeScrollHandler: ; タイマハンドラ FreeScroll()コールするだけ { FreeScroll() return } 長くなってしまった・・ スクロールがガクガクならずにホイールでウィンドウをアクティブにするにはどうすれば・? 他にもなにかあれば・・
457 名前:409 mailto:sage [2008/04/23(水) 22:41:57 ID:FJVhdogM0] $^f:: BlockInput On Send {Right} BlockInput Off return としたら >>409 の問題現象が出なくなった。こんなもんで良いのだろうか… AHK Version 1.0.47.06 >>445 同じ問題のように思えるので、BlockInput を追加して試してみてくれるとうれしいな。
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 01:39:30 ID:TGEhJA8Z0] エクセルの永遠のテーマである 「入力」モードから、「編集」モードに行く時、 F2押さないと、移行しないっていう面倒な仕様。。 ぐぐるとみんなあの仕様にイライラしてて でも解決策ないみたいで。 autohotkeyなら、 入力開始したら、左下ステータスの文字を判定して、すぐ編集モードに移るのができそうな気がして。 もし「超々々々々」気が向いたら、誰かあの仕様を回避するスクリプト書いてくれませんか
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 14:50:06 ID:6JZuf2bE0] F1ヘルプさえヌッコロしとけばF2編集は別に苦痛じゃない。 Windows標準ショートカットなので慣れれば忘れることもそうないし。
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 16:31:27 ID:LWYvIa7f0] F2の何が面倒なんだ? 選択項目編集としては標準キーバインドじゃん せいぜいF2から他のキーに変えたいなら分かるが モード移行は自覚的に行いたいし自動的に 編集モードとかのほうが糞仕様だと思うが
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 16:51:19 ID:4OSW5I0L0] Vimのノーマルモードくらい非編集時に英数字キーに機能が割り当てられているわけではないし、 こういった直接入力の要望が出てくるのはそんなに不自然なことではないと思うけど… 作ってやれよと言うつもりは毛頭ないけど、なんでも頭ごなしに否定するのはどうなのさ。
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 18:02:31 ID:GNgnzel70] Ctrl+何かにF2を割り当てるような定義じゃ駄目なのか、それほどせっかちさんなのか
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 18:07:54 ID:fR4TStBp0] セルを上書きしたい場合は、一度内容を消すのかな?
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 18:13:59 ID:4hZaxx9B0] AHKで、エクセル中は無変換キーあたりをF2に割り当てたらどうよ?
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 05:57:30 ID:reBjcHgv0] >>458 うちの会社はこうだが、何をぐぐったんだ?みんなってお前一人だろ。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) SendKeys "{F2}" End Sub
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 12:08:52 ID:SAJE0Db70] Vistaに導入する際に、UACは特に気にせずインスコしても動きますか? 導入時の注意事項があれば教えてください。 又、mousegesture.ahkをVistaで使ってる人、問題点などないでしょうか?
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 12:24:34 ID:UjhgWZ4K0] CUIのツールが標準出力に吐き出した値を拾って ahkのGUIでその数値を加工して表示し隊のですが どうすれば標準出力から拾ってこれますか?
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 14:28:05 ID:KqItUE2c0] スレチだけど、Windows Script HostとかPowerShellを使うほうがいいような
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 15:46:22 ID:Bwb7i5Fk0] >>467 そのCUIのツールは、リダイレクトで結果をファイルにはき出させて、 AHKからそのファイルの中を見る とか・・・
470 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 16:51:32 ID:ARGm8jsa0] >>466 基本、あまり問題は起きない。 マウスジェスチャもつかえる。 でもこれまで遭遇した問題は、 ホットキーをランチャーがわりにして、 メッセンジャーを立ち上げようとしたときにものすごいディレイがあるとかだったかな・・・・ とりあえずオフにしてる。
471 名前:466 mailto:sage [2008/04/28(月) 17:56:50 ID:mttKTXzzO] >>470 ありがと。勢いインスコしてみたがmousegesture.ahkは問題ないみたい。 会社のXPマシンと、ウチの旧XPマシンで2ヵ月ほど前にmousegesture.ahkを導入したらマウスジェスチャ無しで操作するのが厳しくなっちゃって…。 1年程前に買ったVistaマシンはフリーソフトで汚さないwって決めてたんだけど、マウスジェスチャできないから旧マシンを使う頻度の方が高くなっちゃってたんですよ。 これで快適にVistaが使えます。
472 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 19:26:29 ID:UjhgWZ4K0] >>468 ,469 ありがとうございます こういう用途にはahkは向いてないみたいですね おとなしく標準出力以外の出力方法があるソフトを探すか 他のスクリプト言語に切替えます λ..........トボトボ
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/28(月) 21:32:35 ID:w8H8giGfO] 規制中なので携帯から簡単に。 cmdret.dllを使うと楽。
474 名前:467 mailto:sage [2008/04/29(火) 00:23:17 ID:TKo6PHKn0] >>473 おお、こういうのがあるんですね Forumのサンプルコード見ながら頑張ってみます ありがとうございました
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/30(水) 23:31:11 ID:ZElAylVP0] AHKでコンパイルした実行ファイルを2つ起動していると、 片方で#IfWinActiveが効いた瞬間にもう片方が動作 しなくなってしまうのですが、なぜでしょうか。 Reloadすると動作するようになるのですが、いちいち面倒です。
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 19:30:50 ID:Fgucx+QS0] Menu, Showで表示させたメニューなんですが、 キーボードでEscapeキーを押すと消えてくれますが、 Send,{Escape}で消えてくれません。解決策はあるでしょうか?
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 20:13:18 ID:agwV3sli0] >>476 別のAHKスクリプトからじゃないと消せないんじゃないだろか。
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 20:59:51 ID:/6hzVxqK0] {ESC} でいいんじゃまいか
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/02(金) 00:25:36 ID:Q776ljbS0] >>465 そのVBAは矢印キーでセル移動するだけで必ず編集modeになるな 酷すぎるw
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/02(金) 05:19:12 ID:34mNTVls0] AHKスレらしくエクセルのdll呼び出してずばっと解決してくれる神はおらんのか?
481 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/03(土) 09:23:38 ID:4YTov+QA0] >>458 ttp://www11.axfc.net/uploader/20/so/He_97006.zip DLKey=ahk あまり試してない。 古いExcel使って試したから新しいExcelだとだめかも。(Excel 2000使用) 編集状態のままセル移動のオマケ付き。 Excelって、テキストデータの切り貼りとか整形ぐらいで たまにしか使ってなかったから 編集状態維持したままセル移動出来ないの知らんかった。 設定はエディタで編集して。
482 名前:481 mailto:sage [2008/05/03(土) 10:39:01 ID:4YTov+QA0] バグってた ttp://www11.axfc.net/uploader/20/so/He_97019.zip DLKey=ahk
483 名前:名無しさん@お腹いっぱい。 [2008/05/03(土) 15:49:27 ID:cnmVYKra0] ウィンドウを垂直方向・水平方向それぞれに 最大化・リストアのトグルをするには どうすればいいでしょうか? 窓使いの憂鬱でいうところのWindowVMaximize, WindowHMaximizeを実現したいのですが・・・
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/03(土) 20:16:23 ID:8H08QxQU0] WinGetPosで直近のサイズを取得してクラスやタイトルと一緒に保存、 WinMoveで縦なり横なりを最大化したサイズに変更 戻す時は直近のサイズをまた取得してどちらかがマックスだったら 保存してあるサイズに戻す、とか
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/03(土) 21:30:24 ID:g1xl/KBL0] >>458 出てこい。つか、>>482 でも動かない希ガス。
486 名前:481 mailto:sage [2008/05/03(土) 21:45:23 ID:4YTov+QA0] 思い付きで機能追加しまくったんで使いもんにならなくなってた。 ttp://www11.axfc.net/uploader/20/so/He_97128.zip DLKey=ahk ・日本語入力確定の為に[Enter]押しても次のセルに移ってしまう。 ・「編集開始1発目のキーが [BS]か[Del]でセルクリア」が不完全。 ・[F2]自動モードOff時は「[BS]か[Del]でセルクリア」もOffにした。 ・[F2]自動モードをOffにした時、[F2]のホットキーまでOffにしていたので、[F2]で 編集モードに入った時、「自動でカーソル位置の変更」が機能しなかった。 Excel2000しか試せないからExcelのバージョンによって挙動が違う場合は正直お手上げ。 >>485 全く機能が働かないならバージョン違いによる可能性大。
487 名前:481 mailto:sage [2008/05/03(土) 22:15:29 ID:4YTov+QA0] Excelのバージョン違いによるタイトル違いの可能性を忘れてた。 125:SwitchMode: 126: Hotkey,IfWinActive,Microsoft Excel - <-ここが違うと全部だめ 127: SetHotKeys(Excel_Label,Excel_HotKeys) あと、設定にあるクラス名が一致してれば ある程度は動くはず。
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 00:13:11 ID:dJtYYrWj0] 斜め黄泉のおっさんですがDLLを1つ作成して WH_KEYBOARDをグローバルフックをしたらいいとおもうよ www.kumei.ne.jp/c_lang/sdk2/sdk_161.htm www.autohotkey.com/forum/topic19367.html
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 00:18:30 ID:Jy+nA7+u0] >>486 458じゃないですが、いただきました。 Excel2000と2003で今のところ問題なし。というほど色々弄くってはいないけど・・・ 便利ですねー。今まで無変換キーにF2を割り当てていたのだが、これ使おうかなぁ。 ただ、AHKのスクリプト3つ(内1つはMousegesture.ahk)走らす事になるからちと悩みどころ。 とりあえず様子見てみます〜。
490 名前:481 mailto:sage [2008/05/04(日) 00:47:24 ID:35cVLblb0] >>488 それ作りはじめに思った。 全文字キー1個1個打ちながら、こんなのタイマー回してExcel見つけたらスレッドフック かけちった方がはえーなって。処理する必要ないときはスルーすれば済むし。 >>489 2003はOKと。報告d。 #Includeで他のスクリプトのケツに読み込んで、このスクリプトの1番上に適当なラベル名を 付けて、他のスクリプトの起動時にGosubで呼び出せば多分問題なく使えるとおも。
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 18:44:02 ID:jcnqkmNH0] Shift+テンキーの「.」でカンマ「,」を出そうとしていますが +NumpadDot::, と記述してもDelete(デフォルトの動作)になってしまいます。 どうすればよろしいでしょうか、お知恵を拝借したいです。
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 18:44:52 ID:cGN/EYVF0] NumLockオフったら
493 名前:名無しさん@お腹いっぱい。 [2008/05/04(日) 22:34:17 ID:ydz3yyO/0] Spaceと数字のコンビネーションでプログラムを実行しようと 下のように書いたのですが、単にSpaceを入力するとき キーリピートが利きません。 キーリピートが利くようにはできないでしょうか? Space & 1:: Run, "c:\path\to\exe" ~Space:: Send, {Space} ~*Space:: return
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/04(日) 23:44:10 ID:KBkpDPw80] ~Space & 1:: Run, "c:\path\to\exe" だけでいいだろ
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 00:34:26 ID:tOYYOoT+0] >>494 ありがとうございます。できました。 が、当たり前かもしれませんがSpaceを押して1を押す前の間に Spaceが入力されてしまうんですね。 Spaceを押して直後に1が入力されればSpaceはモディファイアのように働き、 何も入力されなかったときだけSpaceを入力するようにはできますでしょうか?
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 01:10:00 ID:Tkv85+Ez0] なんでSpaceなんて一番使用頻度の高いKeyを修飾keyとして使うという発想が沸くのかが疑問だ…。
497 名前:名無しさん@お腹いっぱい。 mailto:age [2008/05/05(月) 02:14:41 ID:9F1eIESU0] 今Windows標準のデフラグソフト「ディスク デフラグ ツール」を起動させてCドライブの デフラグが終わったら表示されたウィンドウを閉じて次に自動的にDドライブのデフラグを開始 させるような一見簡単そうなスクリプトを組んでいます。Windows標準のデフラグが2つ同時 や1個目終了ご2個目等のように実行できない為、退席時間が長い場合に有用だと思っています。 スクリプトを晒します。 #persistent run, %SystemRoot%\system32\dfrg.msc, C:\WINDOWS\system32 ;sleep, 2000 setKeyDelay, 200 SetTitleMatchMode, 2 ;ifWinActive, ahk_class MMCMainFrame winWaitActive, ahk_class MMCMainFrame { send, {TAB}{SPACE} } ;winWaitActive, ahk_class #32770 winWaitActive, , 最適化が完了しました { msgbox, ココまできたよん sleep, 500 send, {ALT DOWN}C{ALT UP} sleep, 200 mouseClick, LEFT, 80, 116 sleep, 200 send, {TAB 2}{SPACE} } 今のところこんな感じなのですが、どおおおおおおしてもCの最適化終了後の「最適化が完了しました」 ウィンドウをwinWaitActiveで取得できません!ahk_class指定してもダメだし(ahk_class #32770) ウィンドウタイトルは本体のデフラグと全く同じタイトルなのでいきなり判定されてしまうし、 ウィンドウテキストでチェックかけても取得できず。 lukewarm.s101.xrea.com/commands/WinWaitActive.html を 見てみるとWinTitleとWinTextぐらいでしか指定できないみたいで、打つ手なしと言う感じです。 いくら試行錯誤しても解決できません・・・。ご教示よろしくお願い致します・・・。
498 名前:名無しさん@お腹いっぱい。 [2008/05/05(月) 02:38:52 ID:tOYYOoT+0] >>494 一番使用頻度が高いので大きくて押しやすくなっているからです。 AHK自体いじり始めたばかりなのですが、 すばやく操作するのに便利かと思いやってみよう思いました。 やはり何らかのモディファイアとのコンビネーションに するしかないでしょうか?
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 02:59:29 ID:3X2C+hLq0] スペースと1では、間違えて意図しないときそれが作動してしまいそうだなあとすごく思いますよ
500 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 03:05:06 ID:3X2C+hLq0] >>497 Diskeeper+uwscで似たようなことをやった例 ttp://blogs.yahoo.co.jp/uwsc_script/31027984.html
501 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 03:09:03 ID:M3ocFwX1O] >>498 つスペースの隣の無変換キー
502 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 03:39:50 ID:M3ocFwX1O] >>491 たぶん… 左側はShift & NumpadDotにせなアカン。右側は,ってエスケープ必要じゃなかつたっけ?
503 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 07:37:21 ID:7ihOQ5bQ0] >>497 defrag.exeじゃダメなのかな 自分は JkDefrag 使ってる。これだと JkDefrag.exe -q C: D: だけで期待した動作になる。 Windowsのデフラグよりも速いし、最適化も優れてる。スクリーンセーバ中の動作も可。 ttp://www.kessels.com/JkDefrag/ ttp://pc11.2ch.net/test/read.cgi/software/1169559049/
504 名前:名無しさん@お腹いっぱい。 mailto:age [2008/05/05(月) 10:06:33 ID:9F1eIESU0] >>500 おお、ちょっと参考になりました。 UWSCのコードは全く知らないのですが、やはりここでも >Defrid=GetID("Defragmentation Completed","#32770") のように、ahk_class #32770が動いてますね。Windows標準のデフラグツールだから無理なのかな・・・。 >>503 defrag.exeがありましたねぇ〜、そういえば。すっかり忘れてました。 これだとAHKで書くよりBatで書いた方が早いかな?w JkDefragですかぁ・・・・ 私はPerfect Disk7.0を今まで使ってましたが、今回このスクリプトを 書いている理由は、Perfect Disk7.0がない環境においてもWindows標準ツールのみで 2つのドライブをデフラグ出来るようにしたかったという経緯があります。 色々教えて頂きありがとうございました。
505 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 10:10:04 ID:igWkcxAk0] >>504 何かのコントロール(ボタン)が押せるようになってるかどうかで判断したら? そういう変化があるボタンがこのケースであるかどうかは分からんけど
506 名前:名無しさん@お腹いっぱい。 mailto:age [2008/05/05(月) 10:11:29 ID:9F1eIESU0] >>503 書いてみた。なんという簡単なコード・・・ @echo off defrag c: -f -v defrag d: -f -v pause たったこれだけです。こういう用途だとAHK使うよりBatの方がいいですね・・・。
507 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 17:10:54 ID:rXDxE/Vg0] ファイルのプロパティ-概要の項目を変更したいんだけど 「エクスプローラ起動→ファイル選択が完了している」という前提でしか ファイルのプロパティを開けなくて困ってます。 理想としては、ファイル名を渡すだけでエクスプローラなどを経由せずに 直接変更したいんだ・・・AHKでそういうことは実現可能? もし何かしら方法があるのならご教示お願いします。
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/05(月) 17:41:03 ID:igWkcxAk0] すぐ上に出てるだろ、と思ったらここじゃなくてフェンリルのスレだった
509 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/06(火) 23:33:50 ID:o0k8LHCA0] >>481 ExcelAutoF2.ahkの不具合?報告。 オートシェイプに文字を入れようとすると、「参照が正しくありません」になります。 理屈はわかりませんが、とにかくExcelAutoF2.ahkを走らせた状態でオートシェイプに文字を入れようと するとそうなり、ExcelAutoF2.ahkを落とせば問題ありません。 おそらく関係無いと思いますが、設定は以下の通りです。 Excel_AddMode = 1 Excel_EnterTab = 0 Excel_Space = 1 Excel_HomeOrEnd = 0 Excel_BSDel = 1
510 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/06(火) 23:36:10 ID:nXY1j0ks0] PERSONAL.XLSがおかしいとか?
511 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 00:01:06 ID:o0k8LHCA0] >>510 うーん、良くわからないけどデフォのままだからなぁ。 会社のPC(Excel2000)と、家のPC(Excel2003)の両方で確認。 今気づいたけど、オートシェイプに文字入力しようとする時にF2を押して入力すると「参照が正しくありません。」 になるんだわ。 だから、ExcelAutoF2.ahkを走らせてるとそうなるってのは当たり前な訳だが、オートシェイプに入力する時はF2 しない様に組めますか〜作者様・・・
512 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 21:02:36 ID:Yjv7RteR0] FileLoopでディレクトリ内のファイル数でループさせ、ファイル名を変更したいのですが、 正規表現の書き方が理解できていないので、アドバイスいただけるとうれしいです。 やりたいこと |あいうえお 1話 |あいうえお 2話 |あいうえお 3話 |あいうえお 10話 | |↓ | |あいうえお 01話 ←0を追加 |あいうえお 02話 ←0を追加 |あいうえお 03話 ←0を追加 |あいうえお 10話 ←そのまま 条件 半角または全角スペースの後に半角数字がきて、かつ1桁だったら、 最初の数字の前に0を挟む > ;ファイル名変更 > Loop, *.flv,0,0 > { > NewStr := RegExReplace(A_LoopFileName, "\s\d", "\s0\d", ReplacementCount) > } これだと、置換後のデータに \s0\d がそのまま出力されてしまい、うまく動きませんでした。 参考にしたページ lukewarm.s101.xrea.com/RegEx.html
513 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 22:03:32 ID:9paZiFl90] NewStr := RegExReplace(A_LoopFileName, "(\s)(\d)([^\d])", "$10$2$3", ReplacementCount) でどう? [スペース][数字][数字以外]の組み合わせにマッチ
514 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 22:32:32 ID:Yjv7RteR0] >>513 ありがとうございます。なるほど、こう指定するんですね。 おかげさまで、見通しがつきましたので、これをベースに仕上げていきます。 完璧に成功 >MIAU 第1回ダビング10シンポジウム 1(sm2097191).flv >MIAU 第1回ダビング10シンポジウム 01(sm2097191).flv > >MIAU 第1回ダビング10シンポジウム 2(sm2097287).flv >MIAU 第1回ダビング10シンポジウム 02(sm2097287).flv 要検討 >AC版 ドルアーガの塔 ALLクリア+ZAP 1ゲーム20円(sm2057056).flv >AC版 ドルアーガの塔 ALLクリア+ZAP 01ゲーム20円(sm2057056).flv > >MSX ガルフォース 高画質版 1of2(sm1325845).flv >MSX ガルフォース 高画質版 01of2(sm1325845).flv > >カダッシュ (タイトー・1990.03) 1/3(sm2294905).flv >カダッシュ (タイトー・1990.03) 01/3(sm2294905).flv スラッシュがあったら発動しないとか、法則を見つけて例外パラメータで潰す感じですかね
515 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 23:43:59 ID:9paZiFl90] それはもうフォルダまるごとループかけるんでなく、変更したいファイルだけ選択してやった方がいいんじゃ? 選択してるファイルはCtrl+Cで取得できるんで、それに対してループさせるとか。
516 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 23:49:52 ID:9paZiFl90] ちなみに、こういったファイルに対する作業をやるために、単機能のahkファイルを作っておいて XButton1,2にその時々において割り振りを切り替えられるようにしてる。 いまだけXbutton2に 「選択ファイルの更新日時をすべてそろえる.ahk」を割り振ろう、とか
517 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/07(水) 23:51:17 ID:PU1RHSIV0] URLの数字を増やしたり減らしたりするAHKで昔苦労したっけ アレもいろいろ条件が複雑でな
518 名前:481 mailto:sage [2008/05/08(木) 02:14:20 ID:J+Y8vwYQ0] >>511 遅くなってごめん。 試しにやってみた。[F2]押すとスクリプトに関係なく上の横長のエディットボックスにフォーカスが 移って、その状態で文字入力すると「参照が正しくありません。」と出るんね。 で、左上のセル番号を表示しているコンボボックスの文字列を取得して分岐しようと思ったら、 実際に画面上に表示されている値と、コンボボックス内部の値が一致してなくて苦戦。という状態。 一度コンボボックスにフォーカス当てれば内部の値も更新されるんだけど。
519 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 09:27:37 ID:x5ytqvPG0] >>517 それやりたかったやつなのですが、できませんでした。 よかったらソースいただけますか?
520 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 19:43:44 ID:J+Y8vwYQ0] >>511 ttp://www11.axfc.net/uploader/20/so/He_98575.zip DLKey=ahk 標準ツールバー(「上書き」とか「開く」ボタンがあるやつ)の状態を確認してるから、標準ツールバー が表示されてないとオートシェイプ使用時の不具合は回避出来ない。他は今までどおり。 無駄省き等でちょこちょこいじったからバグあるかも。
521 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/08(木) 22:38:38 ID:+1iNoZSC0] てか、コードじゃなくて正規表現だけのような・・・ 1個のパターンだけで表現しようとするから難しい(ってか面倒)かと。 「検索パターン」と「置換文字列」をセットにして、 複数のパターンを順次かければいいんじゃないかと。 INIファイルとかにパターンを外だしすると、メンテ性も良さげ。 多重フィルタみたいな感じ。
522 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 01:56:30 ID:oLj4i3l00] 既出だと思うけど、 AHKでコンパイルするとマカフィがウィルスですと ご認識して、勝手に削除しちゃうんだけど、 AHKで作ったものを安全と認識させるにはどうすればいいのですか? ※マカフィを無効にはしたくないです。
523 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 02:37:57 ID:XMewj1P/0] UPX圧縮あたりかねぇ
524 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 02:45:37 ID:XMewj1P/0] よくあるっぽい ttp://slashdot.jp/security/article.pl?sid=08/03/21/0915246
525 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 05:03:40 ID:QY922Rg80] まあ実際ウィルスだしな。 キーロガーなんかも簡単に作れちゃうし。
526 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 16:08:49 ID:jBwpf+lE0] >>525 その論理はおかしい
527 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 16:55:30 ID:idNAx07N0] ccとかも駄目だな。
528 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/09(金) 17:34:25 ID:GpewcdJF0] マカフィーに報告して、埋め込まれたAHKエンジン部分だけで判定しないようにしてもらうとか、 どっか一箇所のフォルダに入れておいて、そこだけスキャンの除外設定すればいいんじゃないかと
529 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 16:01:08 ID:cI06fFxv0] UPX圧縮じゃなくて、 AHKのエンジンがウィルスチェックに引っかかっている模様。 マカフィーだけでなく、そこいらのウィルスチェックソフトも同様のご認知をしているみたい。 みんなはどうしてるの?
530 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 16:08:02 ID:oHi2W79S0] 圧縮すりゃ回避できるかもね って>>523 は言ってると思うんだが
531 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 16:28:31 ID:wYoClkp80] >>519 どうせスケベなページ連続で開きたいんだろ? 皆考えることは同じだな 俺はこんなんしか思いつかなかったが、もっと画期的なやつあるなら知りたい cnt = 0 Loop { cnt := cnt + 1 run www.hogehoge.com/sukebe/ero/%cnt%/ sleep 1000 if cnt = 100 break }
532 名前:名無しさん@お腹いっぱい。 [2008/05/10(土) 16:51:27 ID:pMlcH0Uj0] ウィンドウを相対的に移動するために下のように書いたのですが、 Win+矢印を押しっぱなしにしたときの動きが遅いです。 1回呼び出されるたびに一瞬ひっかかる感じです。 AHKではこんなものと諦めるしかないでしょうか? WinMove2(dx, dy) { WinGetPos, X, Y, Width, Height, A WinMove, A, , X + dx, Y + dy } #Up:: WinMove2(0, -16) #Down:: WinMove2(0, 16) #Left:: WinMove2(-16, 0) #Right:: WinMove2(16, 0)
533 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 17:26:46 ID:WSeKGJ880] 「おしっぱなし」のときの動作を別に作ればいいんじゃね?
534 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 18:08:35 ID:bkFh+con0] キーボードの設定でキーリピートを速くする もしくは GetKeyStateでキーを監視しつつLoopで回す SetWinDelayも忘れずに
535 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 22:14:46 ID:pMlcH0Uj0] >>533 >>534 キーボードのリピート設定はMaxです。 WinDelayがデフォルトで100になってるんですね。 これを2くらいにすることで満足できるレベルになりました。 せっかくなので「おしっぱなし」のときを考慮して書いてみようと思い、 WinMoveをLoopで囲み、下のようにBreakさせようとしたのですが、 無限ループにキーを放してもループからぬけません。 なぜなんでしょうか? GetKeyState, s, Left If s = "U" { Break }
536 名前:名無しさん@お腹いっぱい。 [2008/05/10(土) 22:18:14 ID:TEwDHYzo0] >>531 HTTPでヘッダ取得して200だったらrunするようにすれば?
537 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 22:20:01 ID:wYoClkp80] >>536 言ってる意味がわからない・・・
538 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 22:26:14 ID:mttGHkLM0] Loopで日本語ファイル名を取得すると、ファイル名が化けますね。 ;AutoHotkeyで取り扱えないダメ文字ファイルの場合は、処理を飛ばす IfNotExist %A_LoopFileName% continue こんな感じで、あるはずのファイルを読んで見つからなかったら処理を飛ばす という逃げを作りましたが、できればフルに動かしたいです。 日本語を扱えるパッチか、なにか対策はないでしょうか。
539 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 22:30:40 ID:TEwDHYzo0] >>537 サーバーにページが存在するかどうか問い合わせて存在したらrunするということ。 www.studyinghttp.net/ を読めば出来ると思う。
540 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 22:43:26 ID:wYoClkp80] >>539 そういうことしたいわけじゃないよ。 エロページはだいたいパスの最後が連番になってるページが多いので 1〜100までページがあるのがわかってる時、片っ端から開いてくのに使ったりする。 Irvineでダウンするにしてもページ内のjpg数がページによってまちまちだしなw >>517 や>>519 もそういう事がしたいんだろう?
541 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 23:29:14 ID:cI06fFxv0] エロを必死に確認したいID:wYoClkp80であった・・・www
542 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/10(土) 23:30:58 ID:iuOrHl4L0] なんで一般的なスクリプトで済むことを AHKでがんばりたがるのかがわからない。
543 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 00:00:09 ID:k8/9xXte0] >>538 >2の なまず日記 を漁ってみ
544 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 00:23:08 ID:x2ZUK6I60] >>535 if var = value なので、その場合は if s = U が正しい あと好みによるけど GetKeyState() って関数も
545 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 02:30:35 ID:2QK3XTeB0] >>540 そうそう、連番のエロページを自動でめくってムヒヒwって ちがわい! >>536 みたいなことってできるんだ。thx!
546 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 02:32:46 ID:v6FefRTW0] >>538 なまずさんのとこの関数は処理が激烈に遅いので、速度を求めるもの(ファイル検索とか)だと目的にあわせて多少技がいると思う。 >>540 1,Alt+DなりでURL拾う 2,そのURLを右から読んで最初に出てきた数字を+1 じゃだめかい?
547 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 02:50:33 ID:rCs0tb0O0] 文字が化けて困ることをするのなら他のスクリプト言語を選ぶのもひとつの選択ではないか。煽りじゃなく。
548 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 09:21:15 ID:3yDLllki0] ttp://lukewarm.s101.xrea.com/myscripts/MouseGesture.html マウスジェスチャスクリプトで、中央ボタン(MB)のダブルクリックを検知するには どう書けばいいのでしょうか。 MB _ _ MB _ か、MB _ MB _ か試したけれど動かない…。
549 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 09:22:35 ID:QLi8tEuC0] 漏れはファイルパスだけダメ文字修正されたヴァージョン使ってるよ どこで拾ったかは忘れたが
550 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 09:24:00 ID:QLi8tEuC0] 駄目文字微対策版 ttp://yak.myhome.cx/junks/index.html#ahk.cp932 これだ
551 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 13:22:44 ID:2QK3XTeB0] >>539 >サーバーにページが存在するかどうか問い合わせて これってAHKでできるんですか? URLDownloadToFileは違う気がするし。
552 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 15:12:15 ID:APYiR8av0] >>544 ありがとうございます。 「"」をはずしてGetKeyStateにPをつけることでうまくいきました。 最初はGetKeyState()を使っていたのですが、 どういうわけかキーを放してもループを抜けないのことがあるので 引数3つ版を使いました。
553 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 16:48:25 ID:UwM9OJqU0] >>549-550 みごとに動きました!ありがとうございます!結婚してください! 1つ問題を言うなら、AutoHotkeyのトレイアイコンを変更するコマンドで >Menu,Tray,Icon, .\AutoHotkey.exe,1 という指定をしてるのですが、この行で「アイコンがない」という意味の エラーが出るようになりました。 しかし、外部のアイコンを指定して回避できました。
554 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/11(日) 17:53:33 ID:FcY1c5ey0] エロ画像のURLを連番でムヒヒって、 AHKじゃなくてブラウザ用の拡張ツールとかダウンローダ用つーるのようなきがする、 ってかそうしないとアクション数が多すぎて面倒。 つか、DOM解析したりとか、マウス直下のエレメントから直に実行した方が効率いいし。 そうえいば、Irvineなら http://boo.foo.woo.com/hoge/fuga[00-99].jpg なんてのを、 http://boo.foo.woo.com/hoge/fuga00jpg : http://boo.foo.woo.com/hoge/fuga99jpg って感じに展開してダウンロードキュー作ってくれたはず。 まぁ、Janeとかから間接的に起動させたいならコマンドラインでAHK経由ってものあるが。
555 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/12(月) 19:22:23 ID:1+Yqvhql0] AutoHotkeyの「Iniwrite」コマンドで書いたiniファイルは、 keyがない項目は最下部に追加される仕様で、 長く使っているうちに、順番が汚くなってしまいます。 これを、セクションまたはキーの名前でソートさせる方法はないでしょうか。 [セクション1] abc=0 ghi=0 def=0 ↓ [セクション1] abc=0 def=0 ghi=0 みたいな感じにできるとすっきりするのですが
556 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/12(月) 19:43:04 ID:D8UjqaFx0] >>555 Sort使えばいいんじゃね?一回iniファイルを削除して、ソートしてからIniWrite
557 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/12(月) 23:53:58 ID:9MCe40FX0] vk1Csc079 & i:: Send, {Up} などとして、変換キー Down → 「I」キー Down → 変換キー Up → 「I」キー Up すると、「i」が勝手に連続で入力され始め てしまいます。(何か入力すると止まる) 回避方法は無いでしょうか?
558 名前:557 mailto:sage [2008/05/14(水) 01:07:26 ID:/+0yaezS0] 上の質問取り下げます。 キーリピートの補助ツールの影響でした orz
559 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 04:58:57 ID:ZOd/0zb80] dllcallのつかいかたについて質問です。 流行らせるページのCPU負荷率取得ライブラリがWindows2000で動かないようなので、 このDLLをつかって取得を試みています。 getcpust.dll(WindowsNT/2000/XP/Vista / プログラミング) >CPUの使用率を取得 (利用例ソースコードつき) www.vector.co.jp/soft/winnt/prog/se361629.html それで、下記のように入れてみましたが、 cpu:=DllCall("getcpust.dll\GetCpuStatus") ; get CPU usage 帰ってくる値は常に「1」になってしまい、取得できません。 なお、dllのファイル名を変えたり「GetCpuStatus」を変えると、 1じゃなくてヌルが帰ってくるので、dll自体は認識できているとみて いいのでしょうか。 DllCallの使い方になれていないのですが、今回の場合は どのように書けばよいのか、アドバイスをお願いできれば幸いです。
560 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 10:39:48 ID:VPcXWzWx0] >>559 昔まったく同じ質問があったらしい。 うまくいかない時とかもそうだけど、何度も呼び出すならLoadLibraryしたほうがいいよ #Persistent OnExit, ExitSub hModule := DllCall("LoadLibrary", str, "getcpust.dll") if hModule=0 { ExitApp } SetTimer, GetCpust, 500 return GetCpust: Ret:=DllCall("getcpust\GetCpuStatus", "Int*", cpust, "cdeclInt") ToolTip, 返値 %Ret%`ncpust %cpust%`nErrorLevel %ErrorLevel% return ExitSub: DllCall("FreeLibrary", UInt, hModule) ExitApp
561 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 10:52:50 ID:ZOd/0zb80] >>560 どうもありがとうございます!正常に動きました。
562 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 21:53:23 ID:qEVMeKsk0] Sendでクリップボードの中身を書き出そうとした時に 2バイト文字が含まれてると正常に書き出せなくない?
563 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/14(水) 23:10:25 ID:P1pe7NoV0] つ Send,^v
564 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 10:48:47 ID:PH/VxX9w0] ClassNNの指定方法について質問です。 AutoHotkey付属のAU3_Spy.exeをつかって、 ClassNNを取得するところまでは理解できました。 たとえば下記の例はブラウザのSleipnirですが、マウスカーソルが FenrirEmbeddedToolBar1の上にあるときのみ、カッコ内のスクリプトを 実行する場合、どのように記載すればよいでしょうか。 >>>>>>>>>>( Window Title & Class )<<<<<<<<<<< Sleipnir - [WinGet] >>>>>>>>>( Now Under Mouse Cursor )<<<<<<<< ClassNN: FenrirEmbeddedToolBar1 #IfWinActive ,***** ←たぶんここに何かを記載する 〜実行したいコマンド〜 #IfWinActive
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/16(金) 14:47:34 ID:c9i3EJxT0] #IfWinActive, Sleipnirのクラス ***:: MouseGetPos, , , , OutputVarControl , If Outputvarcontrol = FenrirEmbeddedToolBar1 {実行コマンド} こうかな、わかりません><
566 名前:名無しさん@お腹いっぱい。 [2008/05/17(土) 12:51:31 ID:cUZz5sdV0] 特定のウィンドウではキー変更せず それ以外ではキーを変更するにはどうすればよいでしょうか? 下のようにしてみましたが、NotepadでCtrl+Aすると #MaxHotkeysPerInterval に達してしまいます。 「~」をつけると逆にNotepad以外でもCtrl+Aが入ってしまいます。 ^a:: IfWinActive, ahk_class Notepad Send, ^a Else Send, b Return
567 名前:564 mailto:sage [2008/05/17(土) 13:02:38 ID:l+1Pu63/0] >>565 ありがとうございます。おかげさまでヒントになり、解決しました。 MouseGetPos, , , , OutputVarControl , If Outputvarcontrol<>【指定したいClassNN】 return ;違うなら無効ということで、戻る 〜以下やりたいこと これで認識できました。
568 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 14:13:34 ID:hJizOrmY0] >>566 #IfWinNotActiveじゃだめかい
569 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 15:41:23 ID:cUZz5sdV0] >>568 ありがとうございます。それでできましたが、 除外したいウィンドウが複数ある場合はどうしたらいいのでしょうか? 単純に #IfWinNotActive を複数書くと どちらも無効になってしまうようなのですが・・・
570 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 18:26:03 ID:L03/NFhv0] >単純に #IfWinNotActive を複数書くと これがよくわからんが #IfWinNotActive window1 { #IfWinNotActive window2 { #IfWinNotActive window3 { なんとか }}} 論理条件だとこうなりそうだがこれだとダメなのか?
571 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 20:32:11 ID:/leBUyky0] つウィンドウグループ
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/17(土) 22:51:18 ID:cUZz5sdV0] >>570 入れ子にせずに独立に2つ書いてたんですが、 入れ子にしてみるとあとに書いたものしか有効になってないようです。 >>571 こういうのがあるんですね。 ちょっとやってみます。
573 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 01:15:23 ID:jn7VlSlu0] ショートカットキーで特定のアプリ(Firefoxとか)に対して タスクトレイに最小化/最大化をトグルするということはできますか? よろしくお願いします。
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 03:25:19 ID:1OtJdJTx0] Access97のモジュールウィンドウでマウスホイールによるスクロールはできないでしょうか? Visual Basic 6.0 IDE でマウス ホイール イベントが機能しない ttp://support.microsoft.com/kb/837910/ja を試してみたのですがAccess2000以降でないと動かないようなので、とりあえずキーを送るだけのものを書いてみたのですが どうもいまいちな気がしますので。 #IfWinActive ahk_class OMain *WheelDown:: Send,{DOWN 2} return *WheelUp:: Send,{UP 2} return #IfWinActive
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 03:29:23 ID:1OtJdJTx0] ちなみにWheel Redirectorやかざぐるマウスでは動きませんでした。
576 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 04:36:47 ID:87P/lABM0] >>574 別にその解決法でいいと思うけど、どうしても気になるなら WM_SCROLLかWM_VSCROLLメッセージをコントロールに送れば良いんじゃね? 「どこでもホイール」がそんなことやってたような。 Access97は触ったことないので上手くいくか分からないけども。
577 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 09:29:46 ID:1OtJdJTx0] >>576 ありがとうございます。 しかしどこでもホイールも試してみましたが動きませんでした。 Access2000以降でないとWM_MOUSEWHEELでホイールメッセージを検出できないようです。(よくわかっていませんが) このあたり ttp://www.asahi-net.or.jp/~uk8t-ktu/wincode/global/0010.htm を参考にすればできそうな気もしますが、AHKはまだ使い始めなのでどう書けばいいのかさっぱりな状態です。
578 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 11:25:55 ID:HJA6d0Re0] >>573 タスクトレイにFirefoxがあるなら最大化、無ければ最小化でいいんじゃないか? タスクトレイのものを操作するサンプルは流行らせるページにあったはず
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 12:00:49 ID:ab0+UOCY0] >>577 多分 WM_VSCROLLでスクロールコマンド投げる時にスクロールバーのハンドルを 指定してやらんといかんのじゃないかな。 検証してやりたいけどAccess97はもう持ってないので、この辺り使って自分で試行錯誤してくれ 表示ペインとスクロールバーのクラス名や関係性は Winspectorとかで調べると分かりやすいと思う ttp://lukewarm.s101.xrea.com/up/file/085.zip
580 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 12:28:21 ID:q+GwzdQJ0] >>572 Regular Expressions を使うといいんじゃないかな? SetTitleMatchMode RegEx #IfWinNotActive ahk_class (window1|window2|window3)
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 13:50:53 ID:7i8b10K90] 1つのPCで、複数のAHKスクリプトを動かす際、 ホットキーの優先順位を決めることは可能でしょうか。 PCを起動している間、必ず常駐させるスクリプトが1つある状況で、 たまに使いたいスクリプトをあとから実行して2つ存在させると、 同じ定義下にあるホットキーを入れた際、発動するスクリプトが 不定期に入れ替わるようです。 2つ目のスクリプトが起動している間は、1つ目のホットキーを 無効にさせたいのですが、ネットワークでいう「メトリック」みたいな 動きは、どのように作るのがベストベストでしょうか。
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/18(日) 14:08:37 ID:1OtJdJTx0] >>579 ありがとうございます。 ちょっと今Accessの勉強をしないとまずいので暇を見てやってみることにします。 ハンドルやクラス名の取得はClsinfoというのを使っていたんですがWinspectorは細かく調べられていいですね。 かざぐるマウスとかで簡単にいけると思ったんですが甘かった..
583 名前:574 mailto:sage [2008/05/19(月) 19:51:51 ID:xrRjgNKk0] 579でいただいたスクリプトを適当に書き換えてAccess97でもマウスホイールによるスクロールができるようになったので 一応報告しておきます。場当たり的修正なので汎用性は0です。WheelScrool.ahkは93行辺りで変数を初期化しているよう なので38行辺りの設定が無効になっているような感じです。 --- WheelScrool.ahk~ Sat Nov 03 00:14:08 2007 +++ WheelScrool.ahk Mon May 19 00:41:40 2008 @@ -137,6 +137,11 @@ scmode = 0 } + if (ccls = "OModule") ; 追加 + { + scmode = null + } + if (!scmode) MOUSEWHELL(ctrl,mx,my,"",AcclSpeed,AcclTOut) Else SCROLL(ctrl,mode,shwnd,"",ScrlCount,AcclSpeed,AcclTOut) @@ -283,6 +288,8 @@ ACount := ScrlCnt Else ACount += ScrlCnt * ASpeed + + ACount = 3 ; 追加 ;wParam: 方向 if (dir = "") AutoHotkey.iniには以下で #IfWinActive ahk_class OMain #Include, %A_ScriptDir%\Extras\Scripts\WheelScrool.ahk Gosub,WheelInit #IfWinActive
584 名前:574 mailto:sage [2008/05/19(月) 21:58:09 ID:xrRjgNKk0] 失礼。これだけでいいみたいです。これなら汎用性もありそうです。 --- WheelScrool.ahk~ Sat Nov 03 00:14:08 2007 +++ WheelScrool.ahk Mon May 19 21:53:35 2008 @@ -94,6 +94,7 @@ ,VDisavledList, VScroolList, MdiActivateList ,BypassCtlList, NullShwndTabooList, HDisavledList + Gosub,WheelInit CoordMode,Mouse,Screen MouseGetPos,mx,my,hwnd,ctrl,3 WinGetClass,wcls, ahk_id %hwnd%
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 00:01:32 ID:z9u7+QjX0] >>583 >WheelScrool.ahkは93行辺りで変数を初期化しているよう >なので38行辺りの設定が無効になっているような感じです。 そこは関数内でglobal変数を直に使えるよう再宣言してるだけで初期化はされない筈… 一応うちではちゃんと動いてるんだけど、値引き継がれない? XP SP2 / AHK Version 1.0.47.06
586 名前:585 mailto:sage [2008/05/20(火) 02:08:31 ID:z9u7+QjX0] ああ解った、AutoHotkey.ini側の記述の問題だわ AHK常駐時に初期化する前提だから AutoExecute部(ファイル先頭)に書かないとダメ ;--- AutoHotkey.ini --- #Include, %A_ScriptDir%\Extras\Scripts\WheelScrool.ahk Gosub,WheelInit あくまで#IfWinActiveでAccessにのみ適用したいなら WheelScrool.ahkの Hotkeyの前後に入れる ;--- WheelScrool.ahk : Line 77 --- #IfWinActive ahk_class OMain +WheelDown:: WheelRedirect(1) +WheelUp:: WheelRedirect(1) WheelDown:: WheelRedirect() WheelUp:: WheelRedirect() #IfWinActive ttp://lukewarm.s101.xrea.com/up/file/085.zip HDD漁ったらロジクールのチルトでの横スクロールのテストとかした時に作った新しいのがあったんで 上げ直しときます。互換リストにOModule追加してみたんで良かったらコメント外して使って見て下さい。 (ちなみに >583 scmode = null は 0でなく "null"という文字列が代入されてる模様)
587 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 20:13:17 ID:zd0pXxS10] AutoHotkeyで取り扱いたいファイルのハッシュ値を計算するための、簡単な方法はないでしょうか。 @IT:Windows TIPS -- Tips:ハッシュ値を利用してファイルの同一性をチェックする www.atmarkit.co.jp/fwin2k/win2ktips/597fciv/fciv.html 上記で解説しているマイクロソフト製の「fciv.exe」をRunで渡してみました。 cmd=fciv.exe "%hashfile%" -xml hash.txt runwait %cmd%,,Hide,pid が、fciv.exe側が日本語のファイル名に対応していないようで、 ほとんどのファイルが、見つからない旨のエラーになってしまいます。 (コマンドラインで渡してもダメだったのでAHkのダメ文字ではないようです) 日本ではfasthash.dllというのが有名のようですが、 dllを使うには、どのように記述すればよいでしょうか。 FastHash.dll hp.vector.co.jp/authors/VA033110/fasthashdll.htm
588 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 21:11:57 ID:+6tZiYR+0] >>587 日本語のファイル名に対応していないなら、一時的にAHKでリネームすればいいじゃない。
589 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/20(火) 22:00:36 ID:jzwbJ8Aa0] >>586 わざわざありがとうございます。 かざぐるマウスと併用できるようなのと加速が意外と便利なのでAccess以外にも適用させて使おうと思います。 というかマウスジェスチャーや音量の調節も出来るようだし、AHKがあればかざぐるマウスはいらなそうです。 AHKになさそうなのは設定ダイアログをだしていてもメインウィンドウを動かせる機能ぐらいじゃないかと思います。
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 18:01:23 ID:+Xi75qRh0] PCのビープ音を鳴らす「Soundbeep」って、状況把握に便利なんですが、 鳴らしている間はスクリプトが完全に止まってしまいますよね。 ビープは鳴らすけど、スクリプト自体は止まらせない方法ってありますか?
591 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 18:02:57 ID:P1fIW2PZ0] 別のスクリプトに書いてRun
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 19:29:17 ID:08CXmI6t0] >>590 SetTimer,Beep,10 Return Beep: soundbeep Settimer,beep,off return
593 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/21(水) 21:46:37 ID:+Xi75qRh0] >>591-592 ありがとうございます。うまくいきました。
594 名前:名無しさん@お腹いっぱい。 [2008/05/22(木) 02:08:12 ID:Bhfqc5ef0] WinXPのエクスプローラーでアドレスバーを非表示にしているとき ツリービューとフォルダビューの間をTabで行き来しようとすると ツリービュー→フォルダビューはTab1回でいけますが フォルダビュー→ツリービューはツリービューを閉じるための×印に 一旦フォーカスがあたるため2回Tabを押さないといけません。 これを1回で行うためにフォルダビューにフォーカスがあるときは Tabが2回送られるように下のようにしたのですが、 なぜか×印がフォーカスされてしまいます。 どうすればよいでしょうか? #IfWinActive, ahk_class ExploreWClass ~Tab:: ControlGetFocus, ClassNN if ErrorLevel = 0 if ClassNN = SysListView321 Send, {Tab}
595 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 14:35:58 ID:UGRCaXb90] tab送りじゃなくてControlにFocusを合わせるようにすれば?
596 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/22(木) 23:25:56 ID:Bhfqc5ef0] >>595 なるほど ↓でいけました。ありがとうございます。 #IfWinActive, ahk_class ExploreWClass Tab:: ControlGetFocus, ClassNN If ClassNN = SysListView321 ControlFocus, SysTreeView321 If ClassNN = SysTreeView321 ControlFocus, SysListView321
597 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 10:45:11 ID:NPhBXbgz0] デバッグをするため、ウインドウのClassNNが特定の値になっているときに、 ToolTipメッセージをマウスカーソル付近に連続で表示させる動作をさせています。 しかし、マウスカーソルがToolTip自身に乗っかってしまうと、 ClassNNが「特定の値」ではなく、空白になってしまいます。 ClassNNが空白のエリアを除外させたところ、 ToolTip以外の、本当にClassNNが空白の場所との区別ができなくなりました。 ToolTipを表示させる際、ToolTipのClassNNを指定することは可能でしょうか。
598 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/23(金) 23:56:26 ID:/hthvnSA0] 互換シェル使っててLWinをモディファイアに いろんなソフト起動させてるんだけど LWinをちょんと押すだけのときにシェルメニュー 表示とか割り当てたい でもLWinをモディファイアにしてるバインドと ぶつかっちゃうんだけどどうしたら解決できるか わかる人いますか?
599 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 00:14:55 ID:jR+OEghm0] LoopでGetKeyState取得して キーが離されるまでのループ回数で分岐とか KeyWaitで時間指定して それを越えたときのKeyStateで分岐とか
600 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 01:51:22 ID:kkBoRCJr0] GUI画面にテキストを表示させた際、操作者がGUIの内容を更新する操作をしたとき、 表示したテキストを別のテキストに置き換えて再描画したいです。 普通に同じ座標にAddで追加すると、前のテキストと重なって表示されてしまいます。 GUI画面を破棄するDestroyを入れるとできますが、画面の全部を作り直すため、 かなりチラついてしまいます。 症状確認用テストスクリプト Test: loop { Gui, Destroy Gui, Add, Text,,■■■TESTです■■■→%A_Index% Gui, Show,,GUIテスト sleep,100 } これだと、ものすごくチラついてしまいます。 また、Gui, Destroyをはずすと、最初に表示された内容から変わってくれません。 おそらく、何かやり方があるとは思うのですが、GUI画面の一部の項目を 書き換えて再描画するには、どのように書けばいいのでしょうか。
601 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 02:35:35 ID:kLdoO1vi0] Gui, Add, Text, vMyText でテキストを変数MyTextに指定 GuiControl,, MyText, 実際に表示する内容 で書き換える 流行らせるページリファレンスのGUI OSDサンプルとか見れ
602 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/24(土) 14:17:41 ID:kkBoRCJr0] >>601 ありがとうございます。うまくいきました。 100倍くらい速くなりました。
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 07:38:54 ID:7/PfvJsA0] 初心者で申し訳ないんですが、 右Alt+jでテンキー1にしたいんですが、 >!j::Numpad1 だと効きません。 j::Numpad1だと問題なく動くんですが、修飾キーをつけたとたん動かなくなります。 Winキー以外のShiftやCtrlでも効きません。何が間違ってるんでしょうか?
604 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 08:14:16 ID:k6NKzcvt0] 98とかME使ってんじゃね
605 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 15:56:56 ID:7/PfvJsA0] >>604 流石にそれはないですw俺の環境だけかな? ノートでNumLockしたくないから、右Altや右Ctrl押してるときだけ有効っぽくしたいんだけど。 あふとかフォトショ使うときに楽になるかなと思ったんだけど。 なぜこんなに難しいんだろ。
606 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 16:43:04 ID:pwVrvVFl0] >>603 なぜ動かないかはわからんが、 !j:: Send,{Numpad1} return で動く。たぶん「仕様」ってやつでは?
607 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 17:01:33 ID:DsBFwt0y0] すいません。WheelScroll.ahkですが Vieasというイメージビューアソフトのマウスホイールでの画像の拡大・縮小が無効になってしまうので #IfWinNotActive ahk_class Vieas_vwin_class WheelDown:: WheelRedirect() WheelUp:: WheelRedirect() ;Shiftホイールで横スクロール +WheelDown:: WheelRedirect(1) +WheelUp:: WheelRedirect(1) #IfWinActive と書き換えてみたのですが、これだとVieasのウィンドウがアクティブになっているときに下のウィンドウが マウスホイールでスクロールできません。 マウスホイールが通常動作するクラスを指定するというようなことはできないでしょうか?
608 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 17:03:41 ID:7/PfvJsA0] >>606 おおっ >!j::Send,{Numpad1}と >^/::Send,{NumpadEnter} で右Altや右Crtlでいけました。有難うございます。 仕様と思います。AHKさいこー。
609 名前:603 mailto:sage [2008/05/25(日) 18:20:04 ID:7/PfvJsA0] モバイルノートに右Altが無かったし、右Ctrlじゃキーが押しにくいので結局、無変換+でやることにした。 言語の設定で無変換を無効化して無問題。 以下、簡単だし別に使う人もいないだろうけど報告まで。 ~vk1Dsc07B & j::Send,{Numpad1} vk1Dsc07B & k::Send,{Numpad2} vk1Dsc07B & l::Send,{Numpad3} vk1Dsc07B & u::Send,{Numpad4} vk1Dsc07B & i::Send,{Numpad5} vk1Dsc07B & o::Send,{Numpad6} vk1Dsc07B & 7::Send,{Numpad7} vk1Dsc07B & 8::Send,{Numpad8} vk1Dsc07B & 9::Send,{Numpad9} vk1Dsc07B & m::Send,{Numpad0} vk1Dsc07B & .::Send,{NumpadDot} vk1Dsc07B & @::Send,{NumpadEnter} vk1Dsc07B & /::Send,{NumpadDiv} vk1Dsc07B & sc028::Send,{NumpadMult} vk1Dsc07B & `;::Send,{NumpadAdd} vk1Dsc07B & -::Send,{NumpadSub} 右Altや無変換でいろいろホットキーを追加してみよっと。
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 21:29:11 ID:PNVW0ixZ0] >>607 VieasのメインウィンドウだとControlが存在せずハンドルが取れてなかったみたい。 コントロールが取れない時はウィンドウハンドルを指定してWHEEL投げるように修正かけました。 ttp://lukewarm.s101.xrea.com/up/file/085.zip
611 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/25(日) 23:50:21 ID:DsBFwt0y0] >>610 ありがとうございます。動作確認しました。 やっぱりAHKいいですね。アプリケーションを問わずに操作できるのがいい。 自分もいろいろ書けるようになるといいんですけどね。
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/26(月) 23:03:49 ID:xhUv6vGn0] Guiの質問です。 例 Gui, Add, Picture,Section,*** で作成すると、ClassNNに「Static**」という名称が割り当てられますが、 作成したGuiのClassNNを、特定の文字列で指定することは可能でしょうか。
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 01:11:05 ID:0qIAl9sc0] Excelで平成20年1月1日を ^#Dとホットキーを使った場合に 2008/01/01 とするにはどうしたらいいでしょうか? #IfWinActive ahk_class XLMAIN ^#D:: このあとどのように記載したらいいか教えてください. よろしくお願いいたします.
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 01:33:15 ID:10H1JCGL0] 2chで使われているような「1201502896」の形式の日付を、 YYYYMMDD形式に変換するには、どのような解決方法が ありますでしょうか。
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 01:44:23 ID:mvWayqr00] >>613 Ctrl+CをSendしてStringReplaceしてから はっつければいいんでは? >>614 19700101000000 にその数値を秒数で足せば良いんじゃないかな?
616 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 03:35:18 ID:4BLlhUiO0] 窓キーと3を押すのをトリガーにしようとして # & 3::hogehoge と書いたらキーボードの3が効かなくなりました。 そこで、 #3::hogehogeと書き直したら直りました。 これは既知の現象ですか?
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 03:40:10 ID:4BLlhUiO0] >>616 間違えた。 窓キーと2をトリガーにしようとして # & 2と書いたら3のキーが効かなくなった、というのが正しいです。
618 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 03:46:50 ID:Ci2ft8P00] >>616 一つ目のキー自体のもともとの機能は無効化される。 一つ目のキーにチルダ(~)をつければ、そのキーは無効化されず、普通に入力される。 一つにつけておけば、一つ目のキーが同じほかのホットキーでは指定されていなくても、そのキーは無効化されなくなる。 #はShift+3の#と勘違いされただけ。使い方が間違っている。Win & 3て書かないと。
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 04:03:06 ID:4BLlhUiO0] >>617 連投済まん。 Hotkeys (Mouse, Joystick and Keyboard Shortcuts)のヘルプにあったこれが答えかも。 lose its original/native function when it is pressed by itself #がある3のキーが効かなくなることが説明できますね。 人騒がせで済みませんでした。夜中にパニックに陥っていたもので。。。(汗
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 04:04:31 ID:4BLlhUiO0] >>618 おっ!書き込んでから発見しました。 こんな夜中にありがとうございます。
621 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 12:14:58 ID:10H1JCGL0] >>615 ありがとうございます。変換できました。
622 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 13:47:20 ID:3gCvGmfE0] >>613 ^#D:: Send,^1!c{End}!tyyyy/mm/dd{Enter} んでも IME ONだと失敗するし、素直にExcelマクロで Selection.NumberFormatLocal = "yyyy/mm/dd" したほうがスマートだと思うが。
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 13:53:59 ID:3gCvGmfE0] ↑はExcel2002の場合ね、他のバージョンだとアクセラレータキー違うかもしれんし上手く動くかわからん。 Winキー発動はできんけどやっぱマクロ作ってでショートカットキー割り当てたほうがいいと思う。
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 19:03:51 ID:10H1JCGL0] ・文字列 string を1行ずつループで回す ・取り出した1行にタブが含まれていたら、タブを別の文字「%okikaemoji%」に置き換える ・結果をstringに戻す ・ループをbreakで終了する という動作を下記の4通りで試しましたが、どれもタブが置き換わってくれません。 1案 value=`t StringReplace, string, A_LoopField,%value%,%okikaemoji%,all 2案 value=%A_Tab% StringReplace, string, A_LoopField,%value%,%okikaemoji%,all 3案 StringReplace, string, A_LoopField,%A_Tab%,%okikaemoji%,all 4案 StringReplace, string, A_LoopField,`t,%okikaemoji%,all どのように書いたら動いてくれるでしょうか。
625 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/27(火) 20:49:16 ID:mvWayqr00] AutoTrimをOffにする
626 名前:613 mailto:sage [2008/05/28(水) 05:54:16 ID:vTCC4uvQ0] 皆さん お返事遅くてごめんなさい >>615 ありがとうございます >>622 >>623 マクロは考えてなかったです. AHKにこだわりすぎました EXCELマクロでやらせていただきます. ありがとうございます.
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 14:00:51 ID:b2k6dMVD0] CTRLのダブルタップを lukewarm.s101.xrea.com/myscripts/index.html を参考にしてやってみたんですが、CTRLを少し押し続けた場合も 起動してしまいます。キーリピートのせいだと思うんですが。 >>389 も同様でした。 回避策はありますか?
628 名前:627 mailto:sage [2008/05/29(木) 15:45:51 ID:b2k6dMVD0] キーリピートの設定を遅くしたらましになったんですが、 他のキーは普通にリピートして欲しいです。 CTRLだけリピートを殺すといった事ができるといいんですが。
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 16:59:33 ID:SXLiQ+Fi0] そもそもCtrlキーにリピートがあるのか?
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/29(木) 17:39:08 ID:lv3ZoJSv0] >>628 lukewarm.s101.xrea.com/commands/KeyWait.html ここにサンプルある。2カ所KeyWait入ってるけど上は要らんようなキガス ~CTRL:: if(A_PriorHotkey <> A_ThisHotkey){ return } if(A_TimeSincePriorHotkey > 400){ KeyWait, Ctrl return } tooltip, double tap! return
631 名前:627 mailto:sage [2008/05/29(木) 17:55:57 ID:b2k6dMVD0] >>630 ありがとうございます。 書いてくださった方法でばっちりダブルタップでき、長押しも回避できました。
632 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 20:08:14 ID:yj8hQgNw0] DllCallでLCMapStringを使って文字列を操作したいのですが 引数の型がまったくわからず、どうやってもErrorLevelが-2になってしまいます どう書けばよいのかお教え願えないでしょうか?
633 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/30(金) 20:47:51 ID:QxYMGk4z0] 非アクティブのiTunesの停止、再生をしたくて↓のようにしてみたんですが 動きません。 #i:: DetectHiddenWindows,On ControlSend,WinTitle,{Space},iTunes return 下のようにクラス指定しても無理でした。 ControlSend,,{Space},ahk_class iTunes 試してみたら、そもそもアクティブにしてもだめだったんですが、打開策はありますか?
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 08:25:01 ID:KE70yWJA0] ホットキー以外で初めて書いてみて動作はきちんとするけど、 もっとスマートに書けるんでしょうか? メモリが2,000か6,000K(1:4の割合で変化) CPUが0〜4パー で動いてるんだけど、低スペックってのもあるw(P3-1G)。 プログラミングしたことないんで不安です。 ;EBWinが非アクティブになったら終了。 #Persistent SetTimer , EBWC , 250 return EBWC: WinWait , ahk_class EB_POCKET if ErrorLevel = 0 { WinWaitNotActive , ahk_class EB_POCKET if ErrorLevel = 0 { Process, Close, EBWin.exe } } else return
635 名前:634 mailto:sage [2008/05/31(土) 09:24:36 ID:KE70yWJA0] 自己解決しました、これでAHKの常時起動しなくて済みます。 スレ汚しごめんなさい。 それとも、まだやりようがあるのかな?・・・わからん。 ;EBWinミニウインドー起動が非アクティブになったら終了。 #NoTrayIcon Run, EBWin.exe -m , C:\Program Files\EBWin WinWaitActive , ahk_class EB_POCKET WinWaitNotActive , ahk_class EB_POCKET if ErrorLevel = 0 Process, Close, EBWin.exe else return
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 16:10:10 ID:ErfB/+jr0] >>634 >メモリが2,000か6,000K(1:4の割合で変化) の意味が全くわからない そしてスクリプトで何をしようとしてるのか解説が一切ないので、 なにをやってるのかわからない 結論:いくらチラ裏とはいえ、他人にわかるように書きましょう
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 16:21:21 ID:nD99XO9q0] >>636 正直それはおまえさんの読解力の問題な気が…
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 17:51:19 ID:17jzD8JC0] 繭からやっと移行できたと思ったら これSynergy経由じゃ動かないのかorz
639 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/31(土) 19:17:34 ID:nD99XO9q0] >>638 動いたり動かなかったり。 >>4 の無変換+ijklの矢印割り当てくらいなら動いたりするけど、 {Blind}の部分が効かなかったりとか。
640 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/01(日) 00:07:10 ID:ErfB/+jr0] プログラムを実行させるとフォーカスを強制的に フォアグラウンドにしてしまうアプリがあります。 そのアプリをahkからタイマーで呼び出されたのち、呼び出す直前に 作業していた元のウインドウに戻すにはどうしたらいいでしょうか。 その動作を手動で再現させる場合、アプリ呼出し後にALT+TABを押すと 確実に戻れるので、それをAHKで再現できれば解決しそうなのですが。 Run,問題のプログラム.EXE sleep,2000 send,{ALT DOWN} sleep,1000 send,!{Tab down} sleep,1000 send,!{Tab up} send,{ALT UP} 安全牌で、sleepで余裕を入れてるのですが、タイミングが 合わないことが多く、半分くらいしか成功しません。
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/01(日) 00:32:29 ID:f367mMfv0] >>640 SleepのタイミングについてはPCスペックや同時に動いてるアプリとの兼合いもあるので 自力で調整値を探すしかない。 だが、ALT+TAB使うより Activeウィンドウ操作系のコマンド使ったほうが成功率は上がると思われ WinGet, hwnd,ID,A Run,問題のプログラム.EXE WinWaitActive,問題のプログラムのタイトル Sleep,任意の待ち時間 WinActivate,ahk_id %hwnd%
642 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 12:52:34 ID:+6qJMD7A0] 質問です。 マウスホイールを下に回した場合batu.bmpを探してそこをクリックしたいのですが、全くできません。 拾い物のスクリプトから考えたのですが・・ご教授お願いします。アプリ名はaaaaに置き換えてます。 Loop { Sleep,10 IfWinActive,aaaa { GetKeyState,mbtn,WheelDown,P if (mbtn="D") { Loop { ImageSearch , OutputVarX, OutputVarY, 0, 0, A_ScreenWidth, A_ScreenHeight, batu.bmp Sleep,100 Send,{LButton} GetKeyState,mbtn,WheelDown,P if (mbtn="U") { break } } } } } #z::Reload #x::Pause #e::ExitApp #r::return #u::return #f::return #m::return #IfWinActive aaaa vk1Dsc07B::Send,@
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 13:34:40 ID:0QKb9v/r0] 探した座標使ってないじゃん MouseClick使え
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 13:55:40 ID:Yyr2zU0/0] なにそのLoop
645 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 17:51:59 ID:T5SyNYp+0] Loop,fileなどで読んだファイル名にUnicode文字が含まれると、 「A_LoopFileName」などの変数で、ファイル名のUnicode部分が ハテナに置き換わってしまいます。 結果、ループの中に居るのに対象ファイルが 見つからない事態になってしまいます。 そこで、ループ中にA_LoopFileNameの実体を読んで、エラーなら、 FileMoveで A_LoopFileName → Unicode部分を削除したA_LoopFileName とリネームを試みたのですが、Renameする時点で元ファイルが 見つからず、できませんでした。よい解決法はないでしょうか。 なお、対象となるファイルは自分で作成したものではないため、 事前にリネームするのは厳しいという状況です。
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 18:48:58 ID:K9ohG56c0] 「IMEが変換中」という状態を取得したいのだけど、できない。。 誰か俺が調べた限りの情報出すから助けて。 1.AHKのSendMessageを使用する 2.使用する(と思われる)API/WM_IME_COMPOSITION kumei.ne.jp/c_lang/sdk3/sdk_281.htm www.winapi-database.com/Message/WM/WM_IME_COMPOSITION.html おまけ.IMEの参考 lukewarm.s101.xrea.com/up/file/029.zip つってもこれだけなんだけどね。 もうだめぽ・・・
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 18:50:10 ID:K9ohG56c0] あ、直リンしちゃった。。ごめんちゃい。
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 20:33:23 ID:0QKb9v/r0] >>645 TransformのUnicode, String を使えばどうにかならんかね?
649 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 21:06:24 ID:B0W6ZYcf0] >>646 俺もいろいろ調べたんだけど、 AHKからは他プロセスの入力コンテキストハンドラ hIMC を取得できない (ImmGetContext が NULL しか返さない) ので、うまくいかないみたい。 ttp://www.zero.co.jp/develop/free/o1/index.html こんな情報があるけど、俺には使いこなせない orz
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 21:25:10 ID:T5SyNYp+0] >>648 ありがとうございます。 さっそく試してみたところ、transformに渡す対象文字「string」の 内容自体がすでに「?」に変わってしまっているようです。 結果をファイルに書き出して確認したところ、壊れた結果でした。
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/02(月) 22:59:30 ID:uDIyl+SM0] >>645 過去ログ>538-550あたりを読むと幸せになれるかも。試してないからわからんけど
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 00:24:59 ID:8JqjvJlr0] AttachThreadInputしてみたら?
653 名前:646 mailto:sage [2008/06/03(火) 02:00:34 ID:mB5Ni4140] >>649 のくれたリンクからファイル落としたんだけど、その中に >各々のアプリケーションのスレッドはスレッドにアタッチされた複数のIME ウィンドウを持つようになった って書いてあったので、GetWindowThreadProcessIdとSpy++使って調べてみました。 試しにメモ帳では、「メモ帳」と「メモ帳の入力域」は同じプロセスID・スレッドIDなんだけど、 問題はアクティブウィンドウではなく、IMEのプロセスID・スレッドIDが必要ってことなのかな? うーん、わかりそうでわからん。。もうなんか今日は1日中これやってるよ。。 こんなにはまるつもりなかったのにな・・・
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 02:36:34 ID:5lSXhWR10] >>653 やっぱり解らないが、 グローバルフックを使うプログラムではDLLを作る必要があるそうな。 ttp://hp.vector.co.jp/authors/VA016117/hook.html
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 04:35:08 ID:gzAwAjm60] タスクトレイに出たアイコンを左シングルクリックしたとき、 特定のルーチンへ飛ばすことは可能ですか? 右クリックの項目はMenuで表示・追加できますが、 そもそも左クリックの設定は、あるのでしょうか。
656 名前:名無しさん@お腹いっぱい。 mailto:age [2008/06/03(火) 22:54:44 ID:w/zWe+Un0] AutoHotKeyって標準出力を変数に格納して使う事は出来ないんでしょうか? コマンドプロンプトに打ち込んだコマンドの標準出力を得るみたいな。 調べてみたところどうにも扱えないっぽいので、仕方なく一時的に作業ファイル・・・ つまり cmd > temp.dat みたいに吐いて、 FileReadLineで一行欲しい部分を読み込んで 対処したのですが、いちいち一時ファイル作るのも大げさかな?と。 その後FileDelete, temp.dat しないといけないし・・・。
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 23:48:20 ID:Qr7ynoy00] >>656 >>473
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/03(火) 23:55:26 ID:DsQzXGtM0] うわ、その時お世話になった467ですが cmdret.dllもよかったけど、流行らせるページの管理人さんが作ったMy Scriptsにある 「プロセスを起動して標準出力を読み書き」の方が外部dllが要らない分使い易いかも
659 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 00:47:46 ID:IKCvfirm0] ボタンを多数置くときの、飛び先について質問です。 下記のコードで、ボタンを10個設置します。 Loop,10 { button_no=B%A_Index% Gui, Add, Button,G%button_no%,ボタン%A_INDEX% } ボタンが押されたときの飛び先ですが、 B1: B2: B3: B4: B5: B6: B7: B8: B9: B10: ボタンが押された際に行う処理 ↑ 10個までならなんとかなりますが、 あまり増えるとソースの可読性が悪くなってしまうので、 この「B1:〜B10:」を1つにまとめて書く方法は無いでしょうか。 参考にしたページ:流行らせるページのGオプション lukewarm.s101.xrea.com/commands/Gui_Add.html
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 08:45:15 ID:de6Gu0Xr0] 全部同じラベルに飛ばしといて 押されたボタンの名前で分岐すれば
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 12:26:20 ID:Vao1bqW80] タブファイラのX-FinderやTTBaseのUpperDirPluginにウィンドウの余白でクリックとかで上階層に移動するのがあるけど あれこれツール増やすのもあれなのでAutoHotKeyでやろうと思ったのだが ウィンドウの余白の検出はどうすればいいんでしょう・・? とりあえずウィンドウの色で切り替えてやってみた・・ ; 1/2 ;ホイールクリックでウィンドウの余白なら上階層へ移動・アイコンの上ではダブルクリック #Persistent SetTimer,BlankClick,100 return BlankClick: { MouseGetPos,posx,posy,WindowClass,ClassNN,1 IfInString,ClassNN,SysListView32 ; ファイルを開く・・すれば大体SysListView321になるような { pgx:=(posx-10) ; カーソル直下だと文字の隙間とかでうまくないので pgy:=(posy-10) ; カーソルから(-10,-10)〜(+10,+10)を斜めにてきとーに走査 BlankState:=0 ; 0のままなら余白 Loop,20 { PixelGetColor,undercolor,%pgx%,%pgy% if(undercolor=="0xFFFFFF") ; ウィンドウの色を変えてると変えないと・ { pgx++ pgy++ } else { BlankState:=1 ; 別の色にかかったとき適当になんか入れる break
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 12:27:00 ID:Vao1bqW80] ; 2/2 } } If(BlankState==0) ; 余白のとき { SetMButtonMode:=11 ; Hotkeyの切り替え用 11はBackspace Hotkey,MButton,On ; ホイールクリックのホットキーを有効に } else { SetMButtonMode:=1 ; Hotkeyの切り替え用 1はダブルクリック Hotkey,MButton,On } } else { Hotkey,MButton,Off ; ホイールクリックのホットキーを有効に } MButton:: { If(SetMButtonMode==1) Click,LEFT,,,,2, else If(SetMButtonMode==11) Send,{BACKSPACE} else return }
663 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 16:58:25 ID:de6Gu0Xr0] #IfWinActiveでやれば?
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/05(木) 22:20:16 ID:3BKEexRx0] その座標をクリックしてみれば、余白だったとき選択項目(フォーカスじゃなく)がゼロ個になるのでは
665 名前:661 mailto:sage [2008/06/05(木) 23:58:37 ID:Vao1bqW80] MButtonの前の } が1個抜けてた・・ >>663 操作対象がClassNNの時に#IfWinActiveをどのように使うのでしょうか? >>664 なんらかが選択された状態で余白をクリックしたとき、選択数がゼロ個になるのでは?ということでしょうか ゼロ個になると思いますが・・そういうことではないとか?
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 00:52:21 ID:lKgCTuVw0] >>665 エクスプローラーの余白ダブルクリックで上階層と理解して最小限でやってみた。 フォルダ選択で1 個のオブジェクトを選択、ファイル選択でファイル情報、余白選択でX個のオブジェクトとステータスバーに表示される。 現状他のホットキー押して左クリックでも発動するけど気になるなら適当に直して下さい。 ~LButton:: StatusBarGetText, State,Part1,ahk_class CabinetWClass If (A_TimeSincePriorHotkey<200 && State<>1 個のオブジェクトを選択) { IfInString,State,個のオブジェクト Send,{BackSpace} } Return
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 01:54:43 ID:UApCHu8G0] AutHotkeyでスクリプトを書き始めました。 デスクトップでダブルクリックした時に、ホットキー(Alt+Numpad1)を実行する スクリプトを試行錯誤していて、 ahk_class Progman での条件判定だとうまくいかなかったところ、>>666 のスクリプトを元に、こんな 風にしてみた。 ~LButton:: MouseGetPos, MouseX, MouseY PixelGetColor, color, %MouseX%, %MouseY% If(A_TimeSincePriorHotkey<300 && color=0x984E00){ Send,!{Numpad1} } return ウチのXPのデスクトップは0x984E00でいいみたいなんだけど、 どんな環境でも、デスクトップ上のダブルクリックを判定できる ロジックってどんなのがありますか?
668 名前:665 mailto:sage [2008/06/06(金) 09:59:38 ID:89UJiJcz0] >>666 StatusBarGetTextを使う手がありましたか ExplorerとBrouseuiはこれ参考にシンプルにできるのがわかりましたが 無数のアプリにある ファイル-開く したときの ahk_class #32770 SysListView321 は対応できないです >>667 MouseGetPosで拾えるウィンドウIDを WinGetで調べたデスクトップProgmanのウィンドウIDと比較してみるとか 以下IDのテスト用 ~LButton:: MouseGetPos,MouseX,MouseY,WindowID,ClassNN,1 WinGet,DesktopID,,ahk_class Progman ;If(A_TimeSincePriorHotkey<300 && DesktopID==WindowID) ;Send,!{Numpad1} If(A_TimeSincePriorHotkey<300) MsgBox,DesktopID %DesktopID% , WindowID %WindowID% return
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/06(金) 10:48:46 ID:P8qHdnIt0] >>668 問題はデスクトップかどうかの判定じゃないと思うのだが。 >667が言ってるのは多分あんたがつまづいてるとこと同じ
670 名前:665 mailto:sage [2008/06/06(金) 19:45:37 ID:89UJiJcz0] >>669 うあそういうことか >>667 自レスも含みますが>666であったファイルの選択の状態を取得する他の方法を探したところ ControlGetが使えそうなのでそれでやってみたテスト ~LButton:: MouseGetPos,MouseX,MouseY,WindowID,ClassNN,1 ; カーソル下の情報を取得(ClassNN以下いらないような WinGet,DesktopID,,ahk_class Progman ; デスクトップのウィンドウIDを取得 ControlGet,StateListView,List,Selected,%ClassNN%,ahk_id %WindowID% ; StateListViewにSysListView32の選択項目名を入れる If(A_TimeSincePriorHotkey<300 && DesktopID==WindowID && StateListView=="") ; デスクトップ上である&選択項目がない Send,!{Numpad1} return アイコンのないところでダブルクリックをしたとき、イベントを乗っ取らないダブルクリックなので、 丁度よく最初のクリックの時点でデスクトップがアクティブになって選択状態が外れる 同じ方法でエクスプローラ・Openダイアログ等の余白をダブルクリックで上階層移動もできる 選択項目を利用するので MButton:: 等では途中に左クリック入れるとかしないとそのままではできない・・
671 名前:667 mailto:sage [2008/06/07(土) 01:12:12 ID:93cVi9ld0] >>670 すごい!デスクトップの色に関係なく動きました! (ロジックに色判定がないからあたりまえだけど... ) ControlGetを含め、今回出てきた関数を少しずつ把握していこうと思います。 色やステータスバーではなく、コントロールのIDを参照していくのがキモなんですね。 流れをぶった切った質問になっちゃったと思いましたが、意外な関連があり、新鮮な 驚きです。 >>669 もありがとうー。
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/08(日) 17:38:22 ID:moLBDXbX0] Autohotkeyは日付の扱いは苦手なようなのですが、 「2008年1月1日の0時から10000秒後の時刻を求めたい」 みたいな感じのものを容易に計算できますでしょうか。 vbsならDateAdd("s", 10000"2008/01/01")で終わりなのですが。
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/08(日) 19:25:46 ID:jZi2GVYs0] EnvAdd
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/08(日) 20:50:51 ID:moLBDXbX0] >>673 日付計算のオプション合ったんですね。ありがとうございます。
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/09(月) 15:53:58 ID:R3Wd7FZq0] ControlGetのSelectedでエディットコントロールの選択内容を取得したいのですが、 複数行のテキストを全て選択してる状態だとOutputVarが空になってしまいます。 なんとか正常に取得する方法はないのでしょうか?
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/09(月) 16:42:03 ID:beY3nkeJ0] 空でエラーレベルも正常なら ControlGetTextで再取得するとか
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/09(月) 18:09:39 ID:R3Wd7FZq0] ControlGetText忘れてましたorz ErrorLevelも失敗の1が帰ってきますが、その場合はとりあえず ControlGetTextで取得してPixelGetColorとかで選択状態を判別する事にします。 ご返答ありがとうございました。
678 名前:名無しさん@お腹いっぱい。 mailto:age [2008/06/09(月) 21:10:27 ID:ctvGfYpS0] FileInstallでファイルを取り込みたいんですが、 取り込みはどうやら成功しているらしい(.ahk状態で実行して正常に実行可能、コンパイルエラーしない かつ、Ahk2ExeでコンパイルしてEXE化も正常に出来る)んですが、 いざ出来上がったEXEを実行すると、取り込んだファイル全てが Could not extract file: っていうダイアログが出てきて取り出せません・・・。 コードはこれです ;driverの中身全部を取り込み ;MsgBox, %A_WorkingDir% FileInstall, driver\setupdrv.exe, \dest\setupdrv.exe, 1 FileInstall, driver\vnccom.sys, \dest\vnccom.sys, 1 FileInstall, driver\vncdrv.dll, \dest\vncdrv.dll, 1 FileInstall, driver\vncdrv.inf, \dest\vncdrv.inf, 1 FileInstall, driver\vncdrv.sys, \dest\vncdrv.sys, 1 FileInstall, driver\vnchelp.dll, \dest\vnchelp.dll, 1 %A_WorkingDir%からの相対パスで指定したいので、MsgBoxで出力してみると 最後の \ までは 入ってませんでしたので、 \dest とdestの前に\をつけてみました。最初は\なしでやってたの ですが、どうしてもうまく動作しないので・・・。何がいけないんでしょうか?
679 名前:名無しさん@お腹いっぱい。 mailto:age [2008/06/10(火) 21:53:49 ID:SOxaqh3l0] すみません、文字列の扱いについてお聞きしたいのですが、 どういうときに " "をつけて囲んで文字列と認識させる必要があるのでしょうか? " " で囲まずにMsgBoxで出しても囲んでMsgBoxで出しても同じ結果が返ってくるかと 思いきや、囲んでないと何も出てこない時もあり、混乱しています。 普通C言語やJavaでは文字列は必ず " " で囲む物ですが、AHKではその辺 どうなってるのでしょうか?例えば MsgBox, 文字列 だと「文字列」が出力され、 strValue := 文字列 MsgBox, %strValue% だと空文字・・いやnullなのかな?どっちか分かりませんが「文字列」が出力されずに 何も出てきません・・・。
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/10(火) 22:02:45 ID:fQ25LVyb0] >>679 × strValue := 文字列 ○ strValue = 文字列 :=は、数値の計算結果を代入するときとかに使う。 よって右が文字の場合は、計算のしようが無いので空白になる
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/10(火) 22:35:38 ID:BhGK1USa0] := 使いたい時こそ " "で囲め × strValue := 文字列 ○ strValue := "文字列"
682 名前:679 mailto:age [2008/06/11(水) 00:28:19 ID:fVOKMAhU0] レスありがとうございます。 なるほど、分かりました〜。
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 01:01:13 ID:Vk8WnOSz0] str=hoge (変数strの中にhogeという文字列がある)として、 a=hoge a:="hoge" a:=str a=%str% 以上のaの中はすべて文字列hogeである また、次のif文もすべて同じ if a=hoge if a=%str% if (a="hoge") if (a=str)
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 02:12:24 ID:6MnSS32m0] 横から見ているだけでも役に立つスレだ
685 名前:679 mailto:age [2008/06/11(水) 07:55:51 ID:fVOKMAhU0] >>683 おお〜、ありがとうございます〜・・・ なるほど・・・道理で素人の私が混乱するわけですよ・・・ 色々な書き方があるんですねぇ・・・。 if(a == "hoge") みたいな、 =(等しいか?)の変わりに ==(等しいか?)を使っても全く同じですか? だとしたらどうしてこんな演算子があるんだろうかと・・・。 それと自分で試行錯誤して理解したのですが Loop, 5 { でブロック開始しないとLoopは正常に処理されない Loop, 5 { で開始するとなんかmissing "{" とかエラーが出て・・・。 でもif文は if(a == "hoge") { で開始しても if(a == "hoge")
686 名前:679 mailto:age [2008/06/11(水) 07:58:36 ID:fVOKMAhU0] 途中で書き込んでしまいました。 でもif文は if(a == "hoge") { で開始しても if(a == "hoge") { で開始してもどちらも問題なく動きます。 それとかif(a == str) { と% % で囲まずに変数名指定するだけで中身を見てくれるのに IfWinExist, str { とかだと うまく動作せずに、 IfWinExist, %str% としないとだめのようです。 そしてこの構文も IfWinExist, %str% { ってやるとエラーが出て IfWinExist, %str% { ってやると正常に動作するんですよ・・。正直言語仕様を理解するのが凄く大変です・・・。 どうしてこんなにトリッキーなんだろう・・。普通のJavaやCと同じような感じにしてくれれば・・・
687 名前:TpMOPuLyPJNoLl mailto:qzfykuue@vcgqowhp.com [2008/06/11(水) 08:02:18 ID:5Nax1wDx0] comment2, <a href="www.titaniuexport.kiev.ua ">titanium sheets</a>, [url="www.titaniuexport.kiev.ua "]titanium sheets[/url], www.titaniuexport.kiev.ua titanium sheets, >:PPP,
688 名前:yOUAjPuxjrUJV mailto:uvcgwhvk@hgdeslns.com [2008/06/11(水) 08:13:50 ID:+P08aPt30] comment6, <a href="doorppcpc.com/dinosaurs/coloring-pictures-of-dinosaurs.html ">coloring pictures of dinosaurs </a>, doorppcpc.com/dinosaurs/coloring-pictures-of-dinosaurs.html coloring pictures of dinosaurs , atbow, <a href="doorppcpc.com/dinosaurs/when-dinosaurs-went-extingged.html ">when dinosaurs went extingged </a>, doorppcpc.com/dinosaurs/when-dinosaurs-went-extingged.html when dinosaurs went extingged , =[[, <a href="doorppcpc.com/medicine/humphries-medicine.html ">humphries medicine </a>, doorppcpc.com/medicine/humphries-medicine.html humphries medicine , lsj,
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 09:13:53 ID:FV4NCQQL0] >>686 始めは %str% しか使えなかったんだよ わかりにくいからって後から従来言語互換を追加していった結果カオスになった。 ちなみに if(a == "hoge") だと厳密な文字列チェック(大文字小文字区別) if(a = "hoge") はStringCaseSense依存、デフォだと Hoge、HOGE でもOK
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 09:52:21 ID:1HOSiKnd0] 後方互換をちゃんと取ってるのはいいけど、古い仕様はobsoleteで非推奨 ってちゃんとドキュメントに書いてくれたらいいのに
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 13:47:40 ID:uoudNQeM0] そこら辺たしかになんとかして欲しいな。 時々しかスクリプト書かないので 一度覚えてもすぐ忘れて間違えてしまう。
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 14:20:51 ID:OcZxtXTQ0] >>691 わかる。最初AHKでと思うんだけど、すぐに面倒になってHotKey以外の部分は UWSCで書き出す自分…
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 15:16:17 ID:JuWezgpD0] 逆に俺はAHKに慣れすぎてたまにvbsとかjsかくと無意識に変数を%で囲ったりしてる
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 16:52:35 ID:rC/xuCxH0] 俺も変数の使い方の部分で1週間ぐらい悩んだな 今でもたまに間違うし
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 17:20:20 ID:GfcCYN010] 覚えるのもあほらしいから 毎回何パターンか試して動いたらおkってことにしてるお
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 21:16:10 ID:6MnSS32m0] 俺は、%で囲う作業すら面倒になったので、 Win+Vを押すと、クリップボードの内容に%〜%をつけて出力するようにした string=%Clipboard% string=`%%string%`%
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/11(水) 22:11:00 ID:P7T3f9Wt0] お前ら丸暗記しようとするから混乱するんだよ 値で扱うか、式で扱うかだけだよ 値で扱う物は文字列は値となるので、変数を使いたい場合に%%で展開しなければならない。 式で扱う物は文字列は変数になってしまうので、文字列を値で扱う為には""で囲まなければならない。 (値) : (式) コマンド : 関数 = : := if : if() さらに大まかに分けると、:=と()内は式が使えるとだけ覚えればいい
698 名前:名無しさん@お腹いっぱい。 [2008/06/12(木) 10:10:17 ID:LFiheMSR0] こんにちは。最近AutoHotKeyを使い始めました。 PDF-XChange Viewer にて、以下のように スペースキーを右矢印 シフト+スペースキーを左矢印 に置き換えようとしたのですが、 シフト+スペースキーが効きません。 ; for PDF-XChange Viewer #IfWinActive ahk_class DSUI:PDFXCViewer +Space::Left Space::Right #IfWinActive AutoHotKeyのKey history and script infoでみたいたところ、 Left以外に最初に押したシフトが押されたままになってしまっています。 ところが、PDF-XChange Viewerでは、シフト+右矢印は無効になります。 (右矢印のみは問題ない) シフト+スペースを押したときに、右矢印のみを押すことはできないでしょうか? つまり、シフト+スペース時に、シフトを無効にしたいのですが・・・
699 名前:698 [2008/06/12(木) 10:29:25 ID:LFiheMSR0] これでいけました! ; for PDF-XChange Viewer #IfWinActive ahk_class DSUI:PDFXCViewer +Space:: Send {Left} return Space::Right #IfWinActive お騒がせしました。ご協力いただきありがとうございました。
700 名前:698 [2008/06/12(木) 10:30:33 ID:LFiheMSR0] あ、returnは余計でしたね。一行でいけるのか +Space::Send {Left}
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/12(木) 18:08:31 ID:FoxozYwL0] マウスをドラッグ中にカーソルを変更したいのですが、 AHKスクリプト内で、マウスカーソルを変更する方法はありますか? 現在のカーソルの種類を読み出すコマンドはあるようですが、 指定する方法は見つけられない状態でして・・・