1 名前:名無しさん@お腹いっぱい。 [2008/12/31(水) 12:39:34 ID:ROX9gd900] ■公式 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/ 5 pc11.2ch.net/test/read.cgi/software/1201502896/ 6 pc11.2ch.net/test/read.cgi/software/1219130051/ 関連リンク>>2 以降も参照
528 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:39:05 ID:WUKQO+dS0] あ、ウィンドウクラスは必要ないので↓は要らないや・・・ WinGetClass, m_class, ahk_id %m_id%
529 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:40:24 ID:WUKQO+dS0] ×;マウスカーソル下をアクティブにする関数 ○;マウスカーソル下をアクティブにするサブルーチン
530 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 13:54:01 ID:1ZxaOcnN0] >>525 K SC Type Up/Dn Elapsed Key ------------------------------------------------ 7C 064 i u 0.04 F13 7D 065 i u 0.04 F14 7E 066 i u 0.04 F15 7F 067 i u 0.04 F16 80 068 i u 0.04 F17 81 069 i u 0.04 F18 82 06A i u 0.04 F19 83 06B i u 0.04 F20 84 06C i u 0.04 F21 85 06D i u 0.04 F22 86 06E i u 0.04 F23 87 076 i u 0.04 F24
531 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/24(火) 23:15:50 ID:mXwaygr80] 多重起動を検知したくて以下のようにしたんだけど、 除外タイトルって効いて無い それともPIDとかでの除外は無理なのかな #SingleInstance, OFF Process, Exist myPid:=ErrorLevel DetectHiddenWindows,On IfWinExist, %A_ScriptFullpath% ahk_class AutoHotkey,,ahk_pid %myPid% MsgBox, あり Else MsgBox, なし
532 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 01:46:19 ID:zeEEOJ2T0] >>531 >>144 ,147,153 前々スレに多重起動検知で終了とかはあったよ。 タイトルが一緒でPIDが違うならで、判別してた。 一部だけ引用 ;自分の情報を取得 DetectHiddenWindows, On Process,Exist pid:=ErrorLevel WinGetTitle, g_scriptTitle, ahk_pid %pid% WinGet, hwnd, id, ahk_pid %pid% ahk_class AutoHotkey ;ahk_class AutoHotkeyのウィンドウを全て列挙 WinGet, ahk_id_list, list, ahk_class AutoHotkey Loop, %ahk_id_list%{ this_id:=ahk_id_list%a_index% ahk_id_list%a_index%= WinGetTitle, this_title, ahk_id %this_id% if(g_scriptTitle==this_title && hwnd!=this_id){ ;自分以外で同じタイトルを見つけたら終了メッセージを投げる。
533 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 08:36:04 ID:zeEEOJ2T0] 暇だったから、作ってみた。あまりの使えなさに吹いたw #persistent CoordMode, Mouse, Screen Settimer, Expose return Expose: MouseGetPos, X, Y if (Y<1){ ;左右に並べて表示 SendMessage,0x111,405,,,ahk_class Shell_TrayWnd keywait, LButton, D KeyWait, LButton ;元に戻す SendMessage,0x111,416,,,ahk_class Shell_TrayWnd Loop { MouseGetPos, X, Y if (Y>2) break } } return
534 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 13:01:45 ID:UMyjgm290] >>525 俺はchangekeyでF13を割り当ててるよ。
535 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 00:11:10 ID:jOUXxwTe0] ctrlキー2連打でブラウザの更新に割り当てたいのですが、 ctrl::send,^r ↑ここをどう記述すればいいかご教授願います。
536 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 01:12:54 ID:23S/nCDd0] >>535 >>487 もう>>2-3 ぐらいに必須だなwまあ、あっても無駄かもしれんが
537 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 06:07:49 ID:23S/nCDd0] 下記の、表示ウィンドウのハンドルを取得する単純なスクリプトですが、 ひとつのウィンドウしか表示されてないプロセスでも二つ取得できているのは、どういう理屈なのでしょうか? さっぱりです(´・ω・`) #persistent ;ウィンドウハンドル一覧 WinGet, List, List,,,aaaaaaaaaaaaaa Loop,%List% { Hwnd := List%A_Index% WinGet, exe, ProcessName, ahk_id %Hwnd% abc .= exe . " " . Hwnd . "`n" } msgbox, %abc% return esc::reload
538 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 09:02:50 ID:r4Tse8HJ0] Jane(クラスがTMAainWindとTApplication)だったりしないだろうか どういう理屈っていうか、作った側の理屈でしょ
539 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 13:40:23 ID:23S/nCDd0] どうもです。調べたらTApplicationでした。見えてなくてもあるんだよ状態か・・・ 流行らせるページがヒット >やっかいなのがDelphi製のソフトのTApplicationというクラス名のウィンドウ。 >可視ウィンドウ扱いで、タスクバーにはこのウィンドウのタイトルが表示されるが、実際には大きさがゼロで画面には表示されない。 >VxEditorなど、TApplicationが不可視になっているものもある。
540 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 14:28:13 ID:/i446DAf0] 質問です。 Sendコマンドにてreturnと入力したいのですが、 エラーが出てしまいます。 Sendコマンド中で、returnと表現するには どうしたらよいでしょうか。
541 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 14:34:46 ID:/i446DAf0] >>540 すいません。 自己解決しました。
542 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 14:38:19 ID:CODN8xT10] 何を間違えていたのか気になる 教えて
543 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 14:42:30 ID:r4Tse8HJ0] Send, return
544 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 19:22:46 ID:23S/nCDd0] >>487 >IfEqualのようなコマンド名の形式の場合、更にカンマで区切って条件に一致した場合に実行するコマンドを記述できる。 こっちじゃないと正しく動かないかも。あとこれじゃ3連打したら、2回発動する? ~Ctrl:: ifNotEqual, A_PriorHotkey, %A_ThisHotkey%, return ifGreater, A_TimeSincePriorHotkey, 400, return soundplay,*-1 return 流行らせるページのほうがいいか。 ~Ctrl:: if A_TickCount < %ctrldouble% { ;some action ctrldouble=0 } else { ctrldouble=%A_TickCount% ctrldouble+=400 } return
545 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 23:30:02 ID:s6sjDdIo0] いやあ、規制長かった。 どうでもよくなったw
546 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 23:34:24 ID:r4Tse8HJ0] モールスのパクり。キーが規定時間以内に何度押されたかを返す。 キー押す・離すで1セットなので押しっぱなしで利用するキーやボタンには向かない あまり使えない KeyCount(timeout=0.3) { key := RegExReplace(A_ThisHotkey, "^[\$\^\+!#]+","","") KeyWait, %key% Loop { count++ KeyWait,%key%, D T%timeout% If ErrorLevel break KeyWait, %key% } return count } : ex) [Win]+[Space]二度(以上)押しでIME ON/一度ならOFF #Space::IME_SET(KeyCount()>1)
547 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/26(木) 23:47:26 ID:r4Tse8HJ0] ちょっと変えた。 ↓みたいに回数指定でやればキャンセルも出来るしちょっと便利かもしれない ~Ctrl:: If KeyCount() = 3 MsgBox, Some Action return KeyCount(timeout=0.3) { key := RegExReplace(A_ThisHotkey, "^[\$\^\+\*!#~<>]+","","") KeyWait, %key% Loop { count++ KeyWait,%key%, D T%timeout% If ErrorLevel break KeyWait, %key% } return count }
548 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 06:38:33 ID:wyAVApH80] >>547 これいいね。Libフォルダ行き、決定。 ttp://lukewarm.s101.xrea.com/up/file/106.zip 俺の昨日の財産。なんちゃってホイールVol。アイディアもスクリプトもGUIも、全部パクリだけどねw 細かいところは面倒くさかったから、やってない。WheelVolとGOM使ってる人におすすめ。
549 名前:名無しさん@お腹いっぱい。 [2009/03/29(日) 10:50:37 ID:rJZ7qtHO0] >>548 実行しても何も表示されないんだが 当方vista sp1 何か設定が必要?
550 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 14:00:46 ID:NRu5w9hF0] ウィンドウが最大化されているか、 されていないかを取得する方法ってありますか?
551 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 14:29:42 ID:pOBhf47V0] WinGet, status, MinMax, hogehoge
552 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 15:00:23 ID:x2HXBG8DP] メニュー上の項目先頭のチェック"レ"が付いているかいないかを取得する方法ってありますか?
553 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 15:41:55 ID:mk90UFZl0] WinGetレ
554 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 15:52:41 ID:pOBhf47V0] >>552 AHKにゃ無い。 あと最近のアプリは「普通のメニュー」を使っていないのが多いよ。
555 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 16:20:44 ID:wyAVApH80] >>549 メモ帳で中身見てもらえばわかると思うけど、基本は無変換押してホイールくるくる。 #NoTrayIconは外したほうがいいかも。Vistaでも動くかな?わからない。動くと思うけど。
556 名前:552 mailto:sage [2009/03/29(日) 16:22:07 ID:x2HXBG8DP] >>554 そうでしたか どうもありがとうございました
557 名前:549 mailto:sage [2009/03/30(月) 00:10:07 ID:rej68raf0] >>555 おお動いたよ おもしろいねこれ
558 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 03:11:37 ID:rej68raf0] imeの状態を、キーの入力ごとにチェックするのではなくて、 0.5秒ごとにチェックするには どうすればいいのでしょうか?
559 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 03:27:33 ID:lQv120RA0] >>558 #persistent SetTimer, IME_GET, 500 return IME_GET: Tooltip,% IME_GET() return
560 名前:558 mailto:sage [2009/03/30(月) 07:57:20 ID:rej68raf0] >>559 ありがとうございます! 非常に助かりました!
561 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 13:18:36 ID:LiwDBTTE0] マウスカーソル1回転させると何かアクションを起こすみたいなサンプルスクリプトってないですかね。
562 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 14:34:53 ID:V9eOhI1h0] >>561 >>492
563 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 16:22:04 ID:DLXcLh2K0] 前から思ってたんだけどCoordModeを画面端からの絶対座標にする方法は ないですか? 画面の右側にGUIやtooltipを表示するスクリプトを作って使っているんだけど、 使うPCによって画面外にはみ出したりする。 今はPCごとに表示座標を書き換えてるんだけど そうしなくていい方法があったら教えてくれませんか。
564 名前:563 mailto:sage [2009/03/31(火) 16:24:29 ID:DLXcLh2K0] 自己レス。 WinGetPosでProgram Managerを指定してデスクトップのサイズを 取得すればいいのかな?と今気付いた。
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 17:59:07 ID:ppgb+fKo0] >>563 SysGet
566 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 20:30:14 ID:wxVKoyMy0] キーを押す長さをSetKeyDelayで設定できるようですが、 右クリックを5000ms押す場合には、どのように指定すればいいですか?
567 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 20:54:33 ID:V9eOhI1h0] SomeKey:: Send, {RButton Down} Sleep, 500 Send, {RButton Up} return ちなみにこれだと5秒経たないうちにもう一度キーを押しても反応しない
568 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 20:55:24 ID:V9eOhI1h0] あ、500msになっとる・・・
569 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 22:45:50 ID:wxVKoyMy0] >>567 >>568 レスありがとうございます。 アドバイスのおかげでうまくいきました
570 名前:名無しさん@お腹いっぱい。 [2009/04/01(水) 17:17:57 ID:UifZp1zf0] guiのウィンドウを動かしたら その移動後の位置を取得したいです どうすればいいのでしょうか
571 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 19:38:22 ID:81tLNstp0] >>548 AhkWheelVol改訂パクリ増幅完成版 WheelVolアイコンを使えるようにした。他微々変更。 ttp://lukewarm.s101.xrea.com/up/file/107.zip
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 19:52:53 ID:81tLNstp0] >>570 Process,ExistとかWinGetとかWinGetPosとか使う
573 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 20:11:31 ID:o8Y7i7os0] >>570 すげ〜力業。もっとスマートにできないもんかねぇ Gui, +LastFound GuiHwnd := WinExist() Gui, Show, w200 h100 WinGetPos,xx,yy,,,ahk_id %GuiHwnd% return #IfWinActive, ahk_class AutoHotkeyGUI ~LButton Up:: ~Enter Up:: WinGetPos,x,y,w,h, ahk_id %GuiHwnd% if (xx != x || yy != y) SetTimer, OnGuiMoved,-1 xx:=x,yy:=y return OnGuiMoved: Tooltip, (%x%`,%y%) SetTimer, TipOff, -2000 return TipOff: Tooltip return
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 22:28:53 ID:81tLNstp0] OnMessageでできるんじゃないかな。
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/02(木) 03:15:35 ID:dUEx8qZ/0] ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/124- 今年も嘘なの?
576 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/02(木) 19:29:48 ID:7vkTJaDR0] VistaでGuiをDestroyするとなぜかGuiが二度と表示できなくなってしまう・・・ XPでは動いたのに・・・
577 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 12:00:41 ID:THWk95Pp0] 需要あるかどうかわからないけど貼り、リモートデスクトップの背景色を透過させるスクリプト リモートデスクトップクライアント側は背景画像なしで起動、スクリプト内部の「396da5」は各自で適宜書き換えてほしい あと、同時に2つ以上のリモートデスクトップクライアントが起動する状況は一切考慮してない あまりこういうもの書いた経験ないんで、書き方がアレなのはご勘弁を --- #Persistent SetTitleMatchMode,2 SetTitleMatchMode,Fast DetectHiddenWIndows,Off SetTimer RemoteTrans,100 return RemoteTrans: IfWinExist,リモート%A_Space%デスクトップ接続 ahk_class #32770 { If(TransFlag = 0) { DetectHiddenWIndows,On TransFlag = 1 WinSet,Trans,Off,ahk_class TSSHELLWND WinSet,TransColor,396da5 255,ahk_class TSSHELLWND DetectHiddenWIndows,Off } } else { TransFlag = 0 }
578 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 12:06:35 ID:zJiZ72fS0] >>576 の続き VistaだとGuiをDestroyすると、そのGui番号ではGuiが表示できなくなるみたい
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 13:42:03 ID:rZJUeqT00] 単にキーバインドの変更のためだけにこのソフトを使おうと思ってるのですが、 その目的に使うだけだったらこのソフトのメリットは大してないのでしょうか
580 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 13:56:52 ID:xW9QnJcO0] そんなこともない だがCapsLockをどうにかしたいのなら諦めれ
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 14:13:49 ID:kSmNsRer0] changekeyと組み合わせれば、CapsLock問題もクリアーできるよ。 そして便利な使い方を考えるうちに、スクリプトにはまって、VBS、Perに手を出して、終いにはC言語の勉強を始めたのは俺。
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 14:25:10 ID:zJiZ72fS0] プログラミングの手間を省くために手を出すような奴もここにいる できる範囲が大きすぎて全部AutoHotkeyでやろうとしてしまうのがデメリットかな
583 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 14:34:05 ID:mA/w516g0] >>581 あ、俺ガイル
584 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 15:03:21 ID:FNUcueKP0] ほんとこのソフトすごいよね便利すぎてハマるの分かる
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 15:17:57 ID:hXZrj5Ty0] ちょっと便利にするコードを書くうち脱線しすぎて気づけば、 数十万件ほどある2chのDAT自動分類とか、本文検索、カテゴリわけ、統計抽出で使ってる。 ホットキーは、このメインプログラムを呼び出すための ショートカットキーとして唯一、機能している。
586 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 15:51:05 ID:YxZpHoQz0] マウスジェスチャ以来の衝撃だったな、俺的には・・・AHKでも、ジェスチャできるけど。 >>581 俺もそうなりそう、CかPythonか迷ってるんだよね。どっちもやれってことか。 AHKでできることは、Cでも全部できるのかね?どう比較すればいいのか、よくわからない。
587 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 15:52:14 ID:YxZpHoQz0] マウスジェスチャ以来の衝撃だったな、俺的には・・・AHKでも、ジェスチャできるけど。 >>581 俺もそうなりそう、CかPythonか迷ってるんだよね。どっちもやれってことか。 AHKでできることは、Cでも全部できるのかね?どう比較すればいいのか、よくわからない。
588 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 15:54:42 ID:YxZpHoQz0] 初の連打、すまん。失敗したって出て、リロードしても書き込まれてなかったからorz >>571 これ、リモートデスクトップ先でもとりあえず使える。Master音量しか出ないけど。
589 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 18:46:06 ID:YxZpHoQz0] やっぱAltTabって特殊なんだね。 ~LAlt & Tab:: KeyWait, Tab, T0.15 if Errorlevel = 0 send, {Blind}{Tab} if Errorlevel = 1 send, {Blind}+{Tab} settimer, altreturn, -1 return altreturn: keywait, LAlt send, {Return} return
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/06(月) 16:01:58 ID:Z06B8II+0] AVGがあると、Ahk2Exe.exeでコンパイル失敗するみたいね。 常駐シールドの例外設定すればいいらしい。
591 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/07(火) 04:03:27 ID:Mds5OALU0] #Persistent ;監視 Clipboard= ;クリップボードのクリア OnClipboardChange: ;クリップボードの内容が変更されたときに実行されるラベル これなんですが、これだとクリップボードの内容が同じ場合でも (同じ文字列などを続けてコピーした場合) 実行されてしまいます。 クリップボードの内容が同じ場合は実行しないようにしたいのですができるでしょうか?
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/07(火) 09:21:26 ID:tWsUW9OG0] 前のと比較すればいいだけでは
593 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/07(火) 15:30:24 ID:TGZWu1B70] >3後半の文字化けってUTF-8でソース保存すれば回避できる?
594 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/07(火) 16:07:21 ID:t+lMuHL/0] 文字化けではなくダメ文字、つまり正しく解釈された上での問題なのでそれでは回避出来ない
595 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/07(火) 19:45:06 ID:CUjFaHh90] Q: ファイルパスに駄目文字があるんだが、、、 A: 駄目文字微対策版( ttp://yak.myhome.cx/junks/#ahk.cp932 )を使え。
596 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/07(火) 19:57:38 ID:sZshg2Md0] 流行らせるにある、ホイールリダイレクト使ってるんだが、ところどころホイール操作自体できなくなります。 例)タスクトレイをホイールすることができない、デュアルモニタ環境で特定のモニタのFirefoxにホイールができない など *WheelDown:: CoordMode,Mouse,Screen MouseGetPos,x,y,hwnd,ctrl,3 wp:=0xFF880000|GetKeyState("LButton")|GetKeyState("RButton")<<1|GetKeyState("Shift")<<2|GetKeyState("Ctrl")<<3|GetKeyState("MButton")<<4|GetKeyState("XButton1")<<5|GetKeyState("XButton2")<<6 lp:=y<<16|x IfWinExist,ahk_id %hwnd% { SendMessage,0x84,0,%lp%,,ahk_id %ctrl% If ErrorLevel=4294967295 MouseGetPos,,,,ctrl,2 Loop,%A_EventInfo% PostMessage,0x020A,%wp%,%lp%,,ahk_id %ctrl% } どこか改善できないでしょうか?
597 名前:596 mailto:sage [2009/04/08(水) 12:13:50 ID:Ox1RALx+0] 他の症状としては OpenOffice.orgの表計算ソフトCalcでスクロールが一切効かないです
598 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 13:15:09 ID:2zdTWL/U0] その場合は、CalccだけでなくOOo全般で、他にマンドプロンプトも効かないはず ウィンドウ内にコントロール(窓)が無い構成だから(変数ctrlが空) メッセージ送信先を窓本体にすればよいんで、Loopの前の行に ctrl := !ctrl :? hwnd : ctrl を入れれば動くんじゃないかな 後のことは情報少ないし、環境も作れないから分かんない
599 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 13:43:07 ID:Ox1RALx+0] ありがとうございます。 でもctrl := !ctrl :? hwnd : ctrlだとエラーになります・・?
600 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 14:19:57 ID:2zdTWL/U0] typo だw ctrl := !ctrl ? hwnd : ctrl
601 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 14:35:55 ID:Ox1RALx+0] >>600 本当にありがとうございました。Calc動くようになりました Firfoxのほうは動かないのですが諦めますorz
602 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 18:30:54 ID:MeqYpMzl0] 流行らせるページのリファレンスに While とかが載ってないorz
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 18:42:23 ID:R1fhUxJX0] もう更新されないだろうね
604 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 18:48:42 ID:HObCX3A80] 困った時は本家のリファレンス見た方がいいと思う 流行らせるの方は微妙に省略されてたりするんで、たまに本家を見ると新しい発見がある
605 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 18:52:32 ID:3ImCV3Nv0] wikiがほしいところ
606 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 20:06:46 ID:HJw1Zxkl0] 今のAutoIt2ベースから AutoIt3ベースで作り直してもらえると 多言語に強くなると思うのだけど まぁasciiしか使う必要がなければ関係ないっちゃないか
607 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 05:49:27 ID:JwzMpV8P0] 流行らせるページは見やすくていいな。 白背景は法律で規制したほうがいい。まぶし過ぎて目に悪い。
608 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 15:07:51 ID:DVG7YxSE0] レジストリいじらずにキーの入れ替えする方法を探してますが、 >3を読む限りahkでも無理そうですね。 流行らせるページを参考にscコードでCapsLockとCtrlを入れ替えたら Ctrlが常にONの状態になりました。何か方法ありませんか?・・・
609 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 15:48:55 ID:xEF1XKbe0] 色んな人がさんざん試しって解決法が無いからテンプレの最初にある
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 16:34:05 ID:p2tyHjkH0] ジョイスティックのアナログキー→矢印キー変換をこんな感じでやってるんだけど、 もうちょっと良い方法って無いのかな? あまりにも基本過ぎるみたいで検索にも引っかからない sleepjoy = 100 SetTimer, getjoy, 30 #Persistent return getjoy: GetKeyState, joyx, JoyX GetKeyState, joyy, JoyY if joyx between 49 and 51 if joyy between 49 and 51 return Gosub, ranjoy return ranjoy: if joyy > 75 Send {down} else if joyy < 25 Send {up} if joyx > 75 Send {right} else if joyx < 25 Send {left} sleep, sleepjoy return
611 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 19:16:26 ID:if/vCKuH0] 流行らせるページを見てもわからなかったので質問させてください 任意のウィンドウの状態(最大化・最小化)を知る方法はありませんか? サイズや座標はわかるようですが・・・
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 19:29:20 ID:/daiVpQd0] >>611 WinGetでCmdにMinMax
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 19:35:26 ID:nal87SU+0] >>611 >>551 あとは↓でMinMaxでページ検索 ttp://lukewarm.s101.xrea.com/commands/WinGet.html
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 20:02:00 ID:xEF1XKbe0] >>610 低級なものしか用意されていないみたい 結局「タイマーして、キー状態みて、何かする」ってコード書かなきゃならないっぽい
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 23:25:26 ID:T3nhlFEF0] 悩んでみたけど、俺の頭じゃ解決できなかったので質問させてください。 ホットキーを無効にする処理についてです。 変数の中身によって、特定のホットキーを無効にしたりすることはできないものでしょうか。 #全部無効/有効はSuspendによって可能なことは確認いたしました。 流行らせるページより、 > サブルーチンの最初の行が「Suspend,On」以外のSuspendコマンドになっているホットキーは、Suspend,Onが実行されても無効化されない。 このあたりをうまく使えばできるのでしょうが、書き方が悪いのかうまく動いてくれません。 解決法をご存じの方は教えていただけると助かります。
616 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 23:34:00 ID:p2tyHjkH0] >>614 thx 結局ジョイスティックに関しては見やすくまとめるとこんな感じになるのかな SendJoy1 = {up} SendJoy7 = {down} SendJoy5 = {right} SendJoy3 = {left} SendJoy8 = {down}{right} SendJoy6 = {down}{left} SendJoy2 = {up}{right} SendJoy0 = {up}{left} SleepJoy = 100 SetKeyDelay, 20 SetFormat, float, 0.0 SetTimer, GetJoy, 30 #Persistent return GetJoy: GetKeyState, joyx, JoyX GetKeyState, joyy, JoyY joyx := 0.018 * joyx -= 50 joyy := 0.018 * joyy -= 50 joyh := 4 + joyx + joyy *3 if joyh = 4 return Gosub, RunJoy return RunJoy: SendJoy := SendJoy%joyh% Send %SendJoy% sleep, SleepJoy return
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 00:49:53 ID:e4COaq2Q0] >>615 #1:: Hotkey, #2, Hoge, % (flg:=!flg) ? "On" : "Off" return Hoge: MsgBox, Hoge return
618 名前:>>615 mailto:sage [2009/04/11(土) 01:49:46 ID:rh+NBoz70] >>617 返信ありがとうございます。 ですが、私が思っていたこととはちょっとだけ違うような気がします。 #自分が思っていることをうまく伝えられなくてごめんなさい。 ですので、あとは自分で頑張ります。ありがとうございました。
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 02:16:39 ID:w6Dx6pM+0] >>618 どう違うのか書かないと、せっかく答えてくれた人も消化不良になるだろ。 自分ひとりだけよければ、それでいいのか?
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 02:58:52 ID:LqjZj8GK0] USBの外付けテンキーに、普通のキーボードのテンキーと別のコマンドを Autohotkeyを使って割り当てる事ってできるんでしょうか? テンキーをプログラマブルキーボード的に使えないかと思うんですが キーボード側のテンキーと連動しちゃわないかと思いまして…
621 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 04:07:31 ID:1EEvkJ+r0] >>620 つ MagicKeyPad
622 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 04:19:05 ID:J5YLNUgU0] uusbd.sysでも使って デバイス毎にホットキーやリマップが設定出来るようになったら夢が広がるんだけどな 外付けテンキー全般に言えるか分からんが マジェテンキーはNumLockがOnとOffの時とで異なるキーコードを送るようだから やりようによってはフルキーボード付属のテンキーと別の動作をすることが出来るかもね
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 05:45:21 ID:LqjZj8GK0] >>621 おおっ こんなソフトが! ありがとうございました。 Ahkで可能だったら最高だったんですが、現状ではできない感じなのでしょうかね。
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 07:39:15 ID:bNSgGuY10] >>615 617でダメならナニがしたいのかよくわからんが hotkeyコマンドで任意のホットキーをオン・オフ出来るからそれで良いんじゃないの?と思うが
625 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 08:46:33 ID:rh+NBoz70] >>619 そうですね。すみませんでした。 やりたかったこと: アプリケーションA専用のホットキーとして6つほど割り当てております。 そのほかにアプリケーションランチャー代わりとして5つほど割り当てているのですが、変数の中身の値によってそれだけをすべて無効にしたかったのです。 #あるキーを押せば無効になる、というものではなくあらかじめ設定用の変数を用意/設定をし、それによってスクリプトを走らせたと同時に有効/無効を切り替えられればな、と。 #走らせたあとは有効/無効を切り替えるということは考えていなかったです。 >>624 やぱ俺の頭が足りんよ リファレンスとにらめっこしてくるよ
626 名前:名無しさん@お腹いっぱい。 [2009/04/11(土) 08:47:29 ID:iBHZiqEC0] xpを使っています autohotkeyのスクリプトから、そのスクリプトのショートカットをスタートアップに登録したいです A_ScriptFullPathでそのスクリプトのありかを取得 A_Startupでスタートアップフォルダのありかを取得 ここまでは分かっています。その先がわかりません。
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 08:55:36 ID:ZRhwazf80] FileCreateShortcut, %A_ScriptFullPath%, %A_Startup%\%A_ScriptName%.lnk
628 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 09:31:30 ID:bNSgGuY10] >>625 #IfWinActiveで特定のアプリにのみ有効なホットキーを設定 hotkeyでホットキーのオン・オフ切り替え このあたりを使えば望みの動作が出来ると思う 俺はよくiniファイルの設定を読み込ませてホットキーを動的に設定したりオン・オフしたりさせてるが それと同じ方法で実現できると思う hotkeyコマンドに変数展開使うだけだし