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 以降も参照
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コマンドに変数展開使うだけだし
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 09:37:44 ID:e4COaq2Q0] >>625 「変数」は何処に存在するんだろうか? ; 起動毎にホットキーのOn/Offがトグルになるスクリプト OnExit, OnExitSub IniRead, IsHotkeyEnable, conf.ini, Hotkey, Enable, 0 ; 無ければ "0(=Off)"とする If (IsHotkeyEnable) { Hotkey, IfWinActive, ahk_class Progman ; デスクトップのみ Hotkey, #1, Key1, On Hotkey, #2, Key2, On } return ; 終了時にフラグを逆転して終了 OnExitSub: IsHotkeyEnable := !IsHotkeyEnable IniWrite, %IsHotkeyEnable%, conf.ini, Hotkey, Enable ExitApp Key1: MsgBox, Key1 Action return Key2: MsgBox, Key2 Action return
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 10:36:03 ID:iBHZiqEC0] >>627 ありがとうございました。
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 12:30:52 ID:G+GUTcDI0] >>608 keybatという1500円のソフトで可能だよ。さっき試した出来たよ。 俺はこれからAHKに乗り換えた当初に同じことをやろうとして苦労した覚えがある。 レジストリいじるソフトを使用してF13を導入して解決した。レジストリいじれないならkeybatだね。 人気ないけど、いいソフトだと思う。キーカスタマイズスレで罵倒された楽しい思い出があるけどw
632 名前:615 mailto:sage [2009/04/11(土) 19:33:36 ID:rh+NBoz70] >>629 iniに書き込んであります。 >>628 ,629 ヒントありがとうございます。 自分が思っていたような動作をするスクリプトが書けました。 とは言っても、約半分ぐらい629と同じですが。 お世話になりました! ありがとうございました。
633 名前:492 mailto:sage [2009/04/11(土) 23:31:57 ID:3TjMJxNW0] 以前書いたくるくるスクロールが不細工だったので書き直し。 おまけでくるくるスクロールの関数とカーソル上下でスクロールする関数を同梱しました。 トラックボールを使っている人にしか需要は無いと思います。 ttp://lukewarm.s101.xrea.com/up/file/108.zip
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 23:34:26 ID:YKimc9dt0] >>633 使わせていただきます!
635 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 23:47:34 ID:oqoLxhVT0] リマップで質問です。特定キーをトリガにして、リマップの内容を変更するのがうまくいきません。 添削してもらえませんか? -- vkAFsc130::PgDn ←デフォルト定義 vkAEsc12E::PgUp ←デフォ vkADsc120:: ← 問題のトリガ if flag = 100 { vkAFsc130::PgDn ←この定義で Duplicate してしまう vkAEsc12E::PgUp flag = 0 } else { vkAFsc130::Down vkAEsc12E::Up flag = 100 } return
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 23:58:49 ID:e4COaq2Q0] そもそも、言語仕様にに沿ってない。つーか言語がめちゃくちゃなんだけど >>615 からのの流れを流用してHotkeyコマンド使うか、 リマップを捨てて、Sendでキー送るってカンジかな 後者なら↓みたいな感じ kAFsc130:: If flag = 100 Send, {PgDn} Else Send, {Down} return どうしてもリマップ捨てたくないなら AutoHotkey_L の #if 使う方がいいかも #if (flag==100) vkAFsc130::PgDn vkAEsc12E::PgUp #if (flag!=100) kAFsc130::Down vkAEsc12E::Up #if
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 00:08:41 ID:BvyA+lnB0] >>636 >そもそも、言語仕様にに沿ってない。つーか言語がめちゃくちゃなんだけど 滝汗 ありがとうございます。もうちょっと色々見てみます。
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 11:50:32 ID:9mFGO0zQ0] 無変換+zで、ひとつ下のウィンドウをアクティブに。 ~vk1Dsc07B & z:: WinGetClass, classA, A a= WinGet, List, List,,,ningenshikkaku Loop,%List% { Hwnd := List%A_Index% SetFormat,Integer,H WinGet,s,Style,ahk_id %Hwnd% SetFormat,Integer,D if((!(s&0x08000000))&&((s&0x80)|| !(s&0x80000000))) { WinGetClass, class, ahk_id %Hwnd% if (a=1){ WinActivate, ahk_id %Hwnd% break } if (class=classA) a=1 } } return
639 名前:638 mailto:sage [2009/04/12(日) 13:07:26 ID:9mFGO0zQ0] >>638 すみません、これはダメだわ。GOMPlayer等、見つけられないものもあるw、まあ手動で足していけばいいか。 キーボード中心環境なら、上にいくのも付け足せば、最前面表示とかに行けて便利? Alt+Tabは順序が入れ替わって、使い辛いな。 無変換←→とかで、タスクバー順にアクティブにできたほうがいいけど、AHKでできるかな?
640 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 14:31:19 ID:dIdsRb2N0] タスクバーの情報を取得するのは公式フォーラムにあるというのがここでのFAQ ttp://www.autohotkey.com/forum/topic18652.html キーボード派のWindow切り替えなら、こういうemacsのiswitchライクなのも良いと思う ttp://www.autohotkey.com/forum/topic33353.html
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 15:25:54 ID:9mFGO0zQ0] >>640 おお、d 上のは、情報が特殊なんだね。Dolphi製はTApplicationのほう取ってるし、hWndとかも何か特殊だ。 特殊だと思ったら、10進法でとってるのか。 TApplicationをどうにかしたら、タスクバー順にアクティブはできそうだね。 下のはいいね、好みw
642 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 16:41:10 ID:RL+Ry9QM0] 流行らせるページにwhileとかの説明が新しく追加されてるね。英語弱いので助かります。
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 20:46:21 ID:bhv5GHsf0] 1by1のビッグウィンドウを思い出したw
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 21:28:50 ID:XLkAadI10] スレ違いっぽいけど admin権限なしでCtrl<->CapsLock交換できるソフトってない? autohotkeyでキー置換の大部分はできるんだけど これだけ困ってる。
645 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 21:54:14 ID:PppMsUH80] >>644 日本語ユーザーはやっぱりその壁にぶち当たるんだよな で、なんでautohotkeyではこのキーだけ駄目なんだろう 内部で特殊な処理をしているのかな
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 22:26:34 ID:r11nbAGs0] WheelAccel.ahkでIE上でホイールを早く回した場合に、スクロールが上手く加速されていないような気がします。 IE上で素早くホイールを回した場合でも、回転に応じたスクロールができるようになりませんでしょうか。
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/12(日) 23:39:09 ID:ln8RqTb30] IEのスムーズスクロールをOFFにする A_EventInfo を考慮した加速方式にする
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 03:50:01 ID:25xJ6v2w0] すみません、どなたかご教授お願いします。 プログラムに明るくなくて分かりづらい説明で申し訳ありませんが。 Photoshop使用時に「6」に 6::send +!r という風にキーを割り当ててます。(ブラシのモードが変更されるショートカット) それとは別にPhotoshopでは Shift+Alt+クリック で 「カラーサンプラーを配置する」という機能があるのですが、 どうもフォトショ使用中に時折、「6」を押した瞬間にクリックして ブラシモード切替と同時にサンプラーを配置してしまうのです。 上手いこと「6」と同時くらいにクリックしても Shift+Alt+クリック にならなくするような方策はないものでしょうか?
649 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 04:42:51 ID:hmD/M1lx0] >>648 これを試してみては 6:: blockinput, on send, +!r blockinput, off return
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 04:57:26 ID:25xJ6v2w0] >>649 激減しました、ありがとうございます! しかしガチャガチャ何度もやってると極稀にサンプラーが起動してしまうことがありました。 とりあえず大分改善されたのでとても助かります。 あつかましい話ですがついでにもう一つ質問させてください。 キーを押しっぱなしにすると連打が始まってしまいますが、これを 抑制するのってどうやればいいんでしょうか?
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 05:18:04 ID:DVlSaX3W0] KeyWait, 6 return にすればいいかもしれないね。 それか、6 up::にしてキーを離したときに送るか。
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 06:43:56 ID:hmD/M1lx0] >>650 >>649 でダメなら #InstallMouseHook 6:: if !getkeystate("LButton", "P") send, +!r return 連打しないで押したままにしたいなら↓みたいな感じかな a:: send, {a down} keywait, a send, {a up} return
653 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 19:54:37 ID:0vf0TAcu0] ソフトの使い方を常にポップアップ表示させるようなものを作りたいんですが ソフトのウィンドウを動かした時に、一緒に説明の画面も追随するようなのって どうやったら作れますか?
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 20:30:43 ID:Ay3UPRR20] エスパー難しすぐる 自作GUIならOnMessage()使ってウィンドウメッセージの"WM_MOVE(0x3)"を拾う、 そうでないならタイマーでウィンドウ位置を監視して動いた稼働かを検知、 で、追従させたい窓を移動
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 22:22:03 ID:H1zTlTqI0] >>644 が求めている解決方法ではないけど、 自分の場合は、ソフトでの解決はあきらめて、 Ctrl<->CapsLock交換できるキーボードを使っています。
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 00:22:52 ID:+WvFDJJL0] >>654 なるほど、タイマー使う手がありますね。 サンクスです。
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 16:20:23 ID:sa012nT50] Run,"hoge.exe"で外部のスクリプトやアプリを実行するとき、 ビープ音がなるんだけど、これを止める方法はないもんかな?
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 16:34:44 ID:7q5WOPK90] うちではpingコマンドを定期的にルータに向けて発射させてるが、 意図的にsoundbeepコマンドを使わない限り、鳴らないけど?
659 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 17:12:09 ID:D6tdSy390] Run, notepad うん、無言で起ち上がる
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 17:27:38 ID:19+rPi280] ウィルス対策ソフトの設定かな? AutoHotkeyを除外すれば解決するんじゃないかと見た
661 名前:657 mailto:sage [2009/04/14(火) 19:02:25 ID:sa012nT50] ウィルスソフト切っても鳴ってる。 キーに割り当てないで、スクリプトの先頭で、Run, notepad と書けば鳴らないで起動するけど、 キーに割り当ててから、キーを押してアプリやスクリプトを起動するときはビープ音が鳴ります。 他のPCのAHKのスクリプトでも、ホットキー押してアプリやスクリプトを起動してもビープ音なってたんだが、 まさか家だけの特別仕様?・・・w Zip版で入れたのと関係あんのかな・・・ 鳴らしたり鳴らさなかったりするコマンドでもあるのかと思ったんだが。 まぁ、動作状況が分かりやすいといえなくも無いかなw、と。
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 19:22:49 ID:eiTdV88b0] b::Run, notepad をautohotkey.ini にを記述してBを押してみたけど 特に何の音もせず、xyzzyが起動した (Terapperというソフトでnotepadの代わりにxyzzyを起動するようにしている)
663 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 19:31:03 ID:7q5WOPK90] >>661 ahkのバージョンと、入手場所は? うちでは、explorerで選択したファイルのハッシュを計算するため、 ホットキーをつかって、呼ばれた場所でハッシュ計算コマンドを呼び出してる。 こんな使い方するのは、ahk界隈では朝飯前だろうから いちいちビープが鳴ってたら、全世界でクレームだらけになるぞw
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 19:42:22 ID:M4uz39800] ・何かのデスクトップテーマや常駐ソフトで音が鳴るようになってる ・本当のウィルスに感染してる ・PCの中にいる妖精さんが鳴らしている
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:33:27 ID:sa012nT50] >>662 そのように、ためしに別の組み合わせのキーの横に直接記述したら、音が消えました。 普通に動いてるから気にしてなかったんだけど スクリプトの記述のエラーのビープ音なのかも・・・。 >>663 >>全世界でクレームだらけになるぞw そりゃそうだ。 >>664 たぶん妖精さんですねw みなさんお騒がせしました。ごめんね。
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 21:20:21 ID:j9JZmdvM0] >>665 @割り当ててるホットキーがすでに別のソフトに割り当てられててそっちで音がなってる。 AたとえばWin+Dを押したとき、エクスプローラにDキーが送られて、エクスプローラから「Dで始まるファイルなんてねえよ!」って言われて音が鳴る ぱっと思いつくのはこれぐらい
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 22:50:52 ID:9Q5al6/M0] コンパネの「サウンドとオーディオデバイス」の設定で 「プログラムの起動」に音が設定されているにイッピョ
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 23:00:00 ID:McvR1AuZ0] >>667 +エラーだろうな
669 名前:名無しさん@お腹いっぱい。 [2009/04/16(木) 01:42:10 ID:WuzwTPez0] 代入について質問します autohotkeyでは以下の二つの処理のうち、より早いのはどちらなのでしょうか。 a = test a := "test"
670 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/16(木) 02:04:46 ID:mvpsM9MdP] >>669 ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/97 最近のバージョンではどうか知らない
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/16(木) 02:10:27 ID:QXtfAzQn0] 適当に作った。こっちでは、数値でも文字列でも 「=」 のほうが 「:=」 より速い Gui, Add, ListView,Grid,Name|Count|Time(ms) Loop, 3 LV_ModifyCol(A_Index, 80) Gui, Show count := 1000 * 1000 Tests = Test1|Test2|Test3|Test4 Loop, PARSE, Tests, | { StartTime := A_TickCount Gosub, %A_LoopField% Time := A_TickCount - StartTime LV_Add("", A_LoopField, count, Time) } return Test1: Loop, %count% a = 1000 Return Test2: Loop, %count% a := 1000 Return Test3: Loop, %count% a = あいうえお Return Test4: Loop, %count% a := "あいうえお" Return
672 名前:名無しさん@お腹いっぱい。 [2009/04/16(木) 05:16:49 ID:qBUQoLG70] Version 1.0.48.01
673 名前:669 mailto:sage [2009/04/16(木) 08:07:16 ID:WuzwTPez0] >>670-671 ありがとうございます。 昔から層だったのですか。 >>672 !
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/16(木) 08:41:24 ID:rRTU/mFz0] >>585 >数十万件ほどある2chのDAT自動分類とか、本文検索、カテゴリわけ、統計抽出で使ってる。 便利そうだなあ、うpおねがいできない?
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/16(木) 16:03:00 ID:DnQKjK+d0] て
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/16(木) 16:29:05 ID:dH1w2+Gu0] す
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/16(木) 17:23:25 ID:bLNrS1bm0] り
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/16(木) 18:12:44 ID:cHHoWky00] お
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 01:36:32 ID:mo1/Vcwy0] >>671 じゃあ := の存在意義ってあるのかな?
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 01:39:57 ID:EfTDXa450] :=は、右式で計算するときじゃね? と俺は理解して使い分けてるけど
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 03:32:56 ID:XkaWyP6+0] 計算しようとする分、遅くなるんだろうね。
682 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 21:58:16 ID:xuJtArT2P] |= の使い道が分からん
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 23:21:53 ID:NeCnakzy0] 扉を開けるって意味のAAじゃないのか?
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 23:34:41 ID:s+XI67ya0] >>682 flags|=NEW_FLAG
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 00:06:21 ID:1kiue+Dq0] Orのビット演算した結果を代入じゃないの?
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 00:29:50 ID:kItLjanl0] ビット演算とか Or の概念自体がわからんのじゃね? AHKのサンプルでも | じゃなく +で足し込んでフラグの説明してる場合が多いしな
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 10:36:33 ID:tJm8WU8c0] インストーラー形式の方ではなくzip版AutoHotkey104801.zipで MouseGesture2を使わせて貰おうと思うのですが AutoHotkey104801.zipを解凍したフォルダに入っているのLibフォルダの中に MouseGesture2.zipを解凍して出来たフォルダ一式を入れてAutoHotkey.exeを 実行してもドキュメントフォルダにAutoHotkey.ahkを作成するかを聞いてきて yesにしてもnoにしてもMouseGesture2.ahkを読み込めません。 AutoHotkey.exeを実行しただけで、複数の.ahkを読み込みたいのですが インストーラーでインストールしないと無理なのでしょうか?
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 10:37:58 ID:VGVOYY6h0] 低レベル過ぎ 流行らせるページで初歩を学んでこい
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:17:02 ID:tJm8WU8c0] >>688 AutoHotkey.exeの実行は読んだのですが自分のやり方が間違っているので出来ません。 MouseGesture2など複数の.ahkをAutoHotkey.exeをクリックしただけで実行できる 具体的な方法を聞きたいのです。
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:19:11 ID:YTnYPyoc0] >>689 やり方が間違ってるって分かるんなら解決できるだろ
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:23:56 ID:tJm8WU8c0] 流行らせるページを参考にしただけでは無理だったので聞いています。
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:26:32 ID:TxHWsmXa0] #Include項を読めば、問題解決。 別々にexeに送ったほうがいいよ。includeしても問題が発生するだけ。ランチャ登録で、一発じゃん。
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:33:10 ID:HfGyibd50] MouseGesture2 は単体で起動した方がいいね でもこの調子じゃ使いこなすまでにかなり苦労しそうな雰囲気…
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:33:13 ID:TxHWsmXa0] 使用方法の「AutoHotkey.exeの実行」と スクリプト仕様の「スクリプトの起動とAuto-executeセクション」も参照。 これで理解できないなら、聞くだけ無意味。初期の初期です。
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:42:06 ID:kItLjanl0] 色々便利な機能があるのは分かってるが組込みが面倒臭そうすぎて敬遠してるな>MouseGesture2 そこそこAHK暦ある人間ですらそんな状態なので、とりあえず単体起動で常用して 組込み(含むLIBでの自動組込み)は自力でAHK書けるようになってからにしたらいいと思う
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 11:51:36 ID:TxHWsmXa0] マウ筋とAHKの組み合わせで必要十分だしね。 さらに踏み込みたいなら、MouseGesture2は非常に便利なんだけどね。 マウ筋を使いすぎて環境移動が面倒くさいのもあるけど。 ただ、ここでMouseGestureがあったらなとは、よく思う。 JaneStyleとかのマウスジェスチャーつきのソフトでは、よく思う。
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 12:03:30 ID:tJm8WU8c0] >>688-696 付き合って頂きありがとうございます。 マウ筋からMouseGesture2への乗り換えの最中に問題が出てファビりました。 後出しで申し訳ありませんが、MouseGesture2とnamazu_ime_scr_v10201だけ 他のスクリプトとうまく(動いたり動かなかったり)読み込めなかったので質問しました。 マウ筋はv1.40になってかなり便利なのですが、もう少し自由度が欲しいので ncludeを使ったりしてもう暫く色々やってみます。 最悪、MouseGesture2とnamazu_imeは単体で動かします。 皆さん本当にありがとうございました。
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 12:30:04 ID:XnVnH0l70] 経験則だが MouseGesture.ahkはAuto-executeセクションで#includeするスクリプトの中では最後に記述する なまず日記のスクリプトを#includeする場合はAuto-executeセクション以外の方がいい ※スクリプト内でReturnを使ってる場合はエラーが出るから
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 12:39:43 ID:tJm8WU8c0] >>698 ありがとうございます。未だ奮闘中なので >Returnを使ってる場合は これかな? なまずさん所、詳しく読んでみます。
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 12:51:20 ID:UjDkIbnE0] インクルード(関数ライブラリ含む)の仕様上無理だってのはわかるけど インクルード「される」側のAutoexecブロックとかプリプロセッサ命令(#NoEnvとか)を 有効にするかしないかを選びたいなぁと思う事はある。
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 17:57:57 ID:1kiue+Dq0] たとえば、下の二つは個別ではきちんと動く ----------------------------- Func_AAA() return Func_AAA(){ ToolTip,AAA return } ----------------------------- Func_BBB() return Func_BBB(){ ToolTip,BBB return } ----------------------------- けどIncludeすると下のようになって実行できない ----------------------------- Func_AAA() return ;ここで終了 Func_AAA(){ ToolTip,AAA return } Func_BBB() ;ここまでこない return Func_BBB(){ ToolTip,BBB return } -----------------------------
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 18:15:51 ID:TxHWsmXa0] 結局、全部統合して一つのスクリプトにするってだけだから、変数とかAuto-Executeとか理解しながらまとめるしかない。 競合したりすると原因究明が面倒くさいから、個別に管理してる。
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 19:32:24 ID:14iQRRzH0] MouseGesture2にて ・条件定義タブで「種別=>ウィンドクラス」「値=>CabinetWClass」 ・ジェスチャ定義タブで「定義名=>右↓→」「カーソル移動=>RB_DR_」 ・動作割り当てタブで「Send,^w」と設定しました。 これで「右↓→」でウィンドウを閉じるようにできました。 ところがファイルを右ドラッグした時の右ドラッグメニュー「ここにコピー」等の 表示レスポンスが落ちました。 設定タブでタイムアウトを「200」にしましたが、まだ遅いと感じます。 できればファイルやフォルダのアイコン上ではマウスジェスチャーを無効化したいです。 下のサイトはマウ筋の設定ですが、まさにこれと同じ事で悩んでいます。 こういった設定はどうすればいいですか? f57.aaa.livedoor.jp/~atechs/pukiwiki.php?faq%A4%C8%BC%BA%C7%D4%CE%E3#i0b3c179
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 19:43:43 ID:TxHWsmXa0] >>703 >>488 のこれが使えるかも。 ControlGet,StateListView,List,Selected,%ClassNN%,ahk_id %WindowID% ; StateListViewにSysListView32の選択項目名を入れる
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 21:55:07 ID:14iQRRzH0] >>704 ありがとうございます。 先日マウ筋から乗り換えたばかりの自分には少し難しいかもしれません。 自分の勉強不足です。 色々試してみます。
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 22:49:52 ID:vwMG/qD80] 条件定義で条件を作成し(例えば条件名を GestureCancel とする) カスタム条件式で下記の何れかを登録(または複数登録) MG_LvHitTest() MG_TvHitTest() MG_TreeListHitTest() ※関数の詳細はReadme.txtの335行目〜の「●ユーティリティ変数・関数」を参照 ジェスチャ定義で RB_ を作成 動作割り当て RB_ を選択 条件 GestureCancel 動作 MG_About() これで以前と同様に扱えると思う
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 00:06:23 ID:RYyoU1dL0] あるキーが押されたらループを抜けて次の処理へ、ということをやりたくて 以下のように書いていますが、タイミングによってはスリープに引っ掛かって 失敗してしまいます。ホットキーの利用も考えたのですがうまくいきません。 低レベルで申し訳ないのですが、どう書けばいいのでしょうか…? (スリープ処理は残しておきたいです) Loop { if ( GetKeyState("RETURN") = 1) Break Else Sleep,100 }
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 00:11:10 ID:zeE5du8S0] KeyWait, Return, D msgbox, test
709 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 00:24:59 ID:OzydvQTn0] KeyWait使うのが楽だと思うけど。。。 どうしてもSleepを残すのならば、ループ内でキーを拾えないのはしょうがない ホットキーつかってフラグの上げ下げすりゃいいはず Loop Go := false while (Go==false) Sleep, 100 : SomeKey::Go:=true
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 00:39:19 ID:RYyoU1dL0] >>708-709 ありがとうございます! 実際はループ中に他の処理もしているので(省略してしまってすみません)、 KeyWait で止まってしまうのはまずかったのです。 フラグを立てる方法でうまくいきました。ありがとうございました!
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 17:31:21 ID:85CwF9t90] GUIに現在時刻をリアルタイムで表示したいんですがどうすればよいのでしょうか?
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 17:44:32 ID:tIMrGJMJ0] >>711 組み込み変数 %A_YYYY%年%A_MM%月%A_DD%日%A_Hour%時%A_Min%分
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 22:16:23 ID:OzydvQTn0] ; 簡易マウスジェスチャ関数 ; ジェスチャの結果をLRUDの文字列として返す GetGesture(timeout=1000, tipNo=0, sensitivity=30) { CoordMode, Mouse, Screen CoordMode, Tooltip, Screen ButtonName := RegExReplace(A_ThisHotkey, "^\W+|\s.+", "", "", -1) MouseGetPos,nx,ny qp := ATan(1), lastDir = "" while GetKeyState(ButtonName, "P") { if (A_TimeSinceThisHotkey > timeout && !gesture) { if (tipNo) Tooltip,Timeout, x+16, y+16, %tipNo% break } MouseGetPos,x,y dx:=x-nx, dy:=y-ny if (tipNo) Tooltip, %gesture%, x+16, y+16, %tipNo% if (Mod(A_Index, 10)!=1 || Sqrt(dx**2 + dy **2) < sensitivity) Continue rad := ATan(dy/dx) dir := (rad < qp && rad > -qp ) ? ((dx > 0) ? "R" : "L") : (dy>0) ? "D" : "U" if (lastDir != dir) gesture .= dir lastDir := dir, nx:=x, ny:=y Sleep, 20 }
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 22:18:27 ID:OzydvQTn0] ; 続き if (!gesture) { Send, {%ButtonName% Down} KeyWait, %ButtonName% Send, {%ButtonName% Up} } if (tipNo) Tooltip,,,, %tipNo% return gesture } 利用例) SetTitleMatchMode, RegEx #IfWinActive, ahk_class CabinetWClass|ExploreWClass|MozillaUIWindowClass|IEFrame $RButton:: g := GetGesture(1000, 20) Send, % (g=="R") ? "{Browser_Forward}" : (g=="L") ? "{Browser_Back}" : (g=="LDR") ? "^w" : "" return
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 02:35:47 ID:MR7L4s8s0] >>712 ソフト起動時の時間しか表示してくれません・・・。 できればリアルタイムで表示が変わっていくようにしたいんですが
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 03:06:03 ID:NtrPHVPz0] >>715 そりゃそうさ。 Gui,Showをするか、GuiControlで変えるかしないと。 チカチカする場合は、 SetBatchLines, -1 ; maximize script speed! SetWinDelay, -1 を書けば緩和されるかも。
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 03:14:34 ID:MR7L4s8s0] >>716 ありがとう! 明日試してみます。
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 05:28:09 ID:JG3J5CMR0] 変数名の中に変数を入れた場合その変数を呼び出すにはどうすればよいのでしょうか? たとえば no=1 name%no%=taro こうした場合%name1%では呼べますが%name%no%%では呼べません。
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 08:57:33 ID:dpb8VPO80] :=
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 21:17:57 ID:i3tTOHu+0] >>718 no=1 name%no%=taro dainyu:=name%no% msgbox, %dainyu% こんな感じにしてる。
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 22:30:21 ID:WxIZTvGU0] 1.0.48.02キター
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 23:22:48 ID:fqH4UQW20] 変数の参照の仕方は変態的だよなぁ a1 = ああああ a2 = いいいい a3 = うううう a4 = ええええ a5 = おおおお Loop, % 0+2+3 { Tooltip, % "a" . A_Index " = " . a%A_Index%, A_Index*10 , % A_Index*20, %A_Index% ; ※ Sleep, 2000 } ※で色々な参照方法があるけど通るってある意味すごい
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 23:28:21 ID:M2RTDhVt0] このスレってなんですか ウイルススレですか
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 00:03:25 ID:dpy2yIyN0] タスクバーの右クリックで出るメニュー open をみると 履歴らしきものが出ますが、不要な場合 履歴を記録しないような設定は出来ますでしょうか。
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 00:29:47 ID:sZR4frkX0] 最前面ってのはできるけど指定ウィンドウの前面って配置させることはできません?
726 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 01:14:56 ID:+3mbXAWQ0] コマンド1発じゃできないだろうけど、できると思うよ
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 17:30:52 ID:I73rPchU0] ;の後に書くコメントは日本語だとまずいですか? 英語版windowsで使えなくなるとか、何かで問題が起こるとか、 その様な不具合はありますでしょうか?
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 17:45:26 ID:zXLOeeEn0] 無問題
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 17:46:05 ID:I73rPchU0] 即レスthxです。
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 18:34:33 ID:lbTzV7q7P] >>727 もしかすると、SetTimerコマンドを使っている場合、 コメントにダメ文字(>>3 )が入ってるとまずい場合があるかも 先週くらいからコメントに「〜」とかが入っているスクリプトを作って使い始めたんだけど、 何回か、“NTMARTA.DLLは正しいイメージファイルではありません” というエラーメッセージが出て 他のアプリケーションを巻き込んで挙動がおかしくなることがあった (ちょっと調べたところでは、全く処理が行われていない次回サブルーチン起動待ちの状態でエラーが出ている) おとといくらいから該当部分のコメントを修正して様子見をしてるんだけど、いまのところエラーが出てないような感じ
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 20:27:38 ID:Cv0jfypZ0] gaatsu.ps.land.to/up/src/up_0122.jpg Gui, Add, Radio ,vRadioA , aaaaa Gui, Add, Radio ,vRadioB , bbbbb Gui, Add, Radio ,vRadioC Checked1, Manual Gui, Add, Edit ,vEdit , Gui,Show おおざっぱにこういうのつくってるんですがaaaaa、bbbbbにチェックが入ってると Manualのテキスト入力欄がグレイアウトして、入力できないようにするには どうすればよいのでしょうか?
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 21:00:51 ID:R/5HKiXn0] Gui, Add, Radio ,vRadioA Gtext_usable, aaaaa Gui, Add, Radio ,vRadioB Gtext_usable, bbbbb Gui, Add, Radio ,vRadioC Gtext_usable Checked1, Manual Gui, Add, Edit ,vEdit, Gui,Show Return text_usable: ;ラジオボタンの操作に連動したルーチン GUI, Submit, NoHide If(RadioA or RadioB = 1){ GuiControl, Enable0, Edit, } Else if RadioC = 1 GuiControl, Enable1, Edit, Return
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 21:01:40 ID:zXLOeeEn0] Gui, Add, Radio ,vRadioA gEvent1, aaaaa Gui, Add, Radio ,vRadioB gEvent1, bbbbb Gui, Add, Radio ,vRadioC gEvent1 Checked1, Manual Gui, Add, Edit ,vEdit , Gui, Show Event1: Gui, Submit, NoHide GuiControl,Disable%RadioC%,Edit Return
734 名前:名無しさん@お腹いっぱい。 [2009/04/22(水) 21:13:52 ID:pLtZjKfp0] 特定のプログラムだけスリープさせるのってできましたっけ?
735 名前:734 [2009/04/22(水) 21:36:21 ID:pLtZjKfp0] api32 のsuspendthread を使ってやってみます
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 22:41:47 ID:JfqAvQ+s0] 選択した文字列の最初の行をファイル名.txtで保存するahk教えて君
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 22:48:24 ID:zXLOeeEn0] 以下を何らかのイベント(ホットキーが便利)をトリガとしてで処理させる @ (クリップボードを待避) A ^cを送る B クリップボードが読めるのを待つ C PARSING LOOP を使ってクリップボードを行毎に処理させる D 1ループ目で、行内容を別変数に保存してループ終了 E ファイル出力コマンドで吐き出す F (待避したクリップボードを戻す) @Fはなくても良い ^cでコピー出来ない場合は別の方法を考える
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 23:09:07 ID:JfqAvQ+s0] #c:: Send,^c ClipWait SetEnv,word,%clipboard% ファイル出力 こうですか?わかりません
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 23:55:14 ID:zXLOeeEn0] C Loop, PARSE を使う 区切り文字は `n 。先頭・最後の Tab, 半角スペース、 `r などは除外した方がいい ※ クリップボード内容を他の変数に代入しないでも文字列分割ループで参照できる D ここはCのループ内。やる事やったらすぐ Break。(1行目だけ欲しいから) ファイル名代入時に禁則文字を置換した方がベター E FileAppend を使う 出力内容は Clipboard そのもの。ファイル名はDで取得したもの。 このコマンドは常に追記になるので、事前に IfExist て存在したとき FileDeleteしたほうが良い 出力フォルダを変えたい・日時を入れたいとかなら、 A_MyDocuments, A_Day などの「組み込み変数」を使う
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 00:15:01 ID:acO3R8MP0] このスレってautohotkeyの海外のwikiのように 鋭い指摘やおもしろい手順がいくつもあるよな 勉強になるわ
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 00:16:45 ID:JNriN8sz0] >>732 ,733 できました。ありがとう!
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 00:32:02 ID:K/YTztcc0] >>732 横レスですまんが >If(RadioA or RadioB = 1){ これは RadioA = 1 or RadioB = 1 みたいなもの?
743 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 08:38:13 ID:ehgiERWq0] Radioなら1か0だから、それと等価ではある 個人的には後者のように素直に書くか、 いっそのこと if ( RadioA or RadioB ) の方が明快だと思うけどね
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 08:39:08 ID:neftGxox0] #IfWinActive, aaa ^Numpad9:: #IfWinActive, bbb <^Numpad9:: >^Numpad9:: ↑のように#IfWinActiveのどこかで、左か右かのモディファイアキーを使用する設定にしてると aaa がアクティブな時に Ctrl+テンキー9 を押しても機能しないのですが、 これは仕様なのでしょうか? 念のためにAutoHotkey.iniをクリアして↑のホットキーだけで試してみたのですが、同じ結果になりました。
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 17:01:08 ID:7IN0MA170] Ver104802 で試してみたけど、(今のところ?)修飾キーに < > を利用すると < > 無しの同一ホットキーが効かなくなるみたいやね。 これは同一スクリプト内だけの問題で、スクリプトを別にすると効くみたい。 スクリプト内で < > を利用する場合、左右の区別が不必要でも < > を記述して対応するのが簡単かも。 #IfWinActive, aaa <^Numpad9:: >^Numpad9:: send, a return #IfWinActive, bbb <^Numpad9::send, b >^Numpad9::send, c
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 19:44:43 ID:Z06C8ITC0] GUI, Add, Text,, %clipboard% GUI, Show 初歩的な質問で申し訳ありませんがクリップボードの内容が変更したら 表示も同時に変わるようにするにはどうすればよいのでしょうか? Redrawオプションの使い方がいまいちわかりません・・・。
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 19:45:36 ID:IDkO4Joj0] OnClipboardChange
748 名前:736 mailto:sage [2009/04/23(木) 19:55:54 ID:sSOdcq6M0] >>739 親切にありがとう #c:: Send,^c ClipWait StringSplit, name, clipboard, `,.`n%A_Tab%, %A_Space% FileAppend,%clipboard%,D:\memo\%name1%.txt こんな感じで行き詰っています。 ファイル名取得できまへんがな
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 20:30:30 ID:Z06C8ITC0] >>747 ありがとう でも再描画の仕方がわからない・・・。
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 22:24:24 ID:Baw+u3zK0] >>748 でもそれなりに動くけどな。 区切り文字がカンマ(,)またはピリオド(.)またはタブで、前後の空白除去、って動作だけど 思った通りなんだろうか。 テストした文字列の1行目に禁則文字「 \ / : * ? " < > | 」が入ってて FileAppendでエラーになっているんじゃないかと予想。 完成するまではMsgBoxとかで変数内容確認すると良いよ。 あとエラーかどうかは、ErrorLevel調べれば分かる。 文字列置換(StringReplace か RegExReplace)で引っかからない文字にすればいい。 >>749 GuiControl コマンド
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 22:45:13 ID:neftGxox0] >>745 レスありがとうございます。 やっぱり仕様なのかなあ・・・
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/24(金) 00:13:08 ID:4ogwzjQN0] GUI, Add, Text,Vaaa, %clipboard% GUI, Show return OnClipboardChange: GuiControl, MoveDraw, aaa, return GuiClose: Exitapp わからん・・・。
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/24(金) 00:14:45 ID:+WwSzOjf0] >>647 誰かそれを作った人はいませんでしょうか?
754 名前:736 mailto:sage [2009/04/24(金) 00:27:01 ID:umX25vaH0] >>750 thx > テストした文字列の1行目に禁則文字「 \ / : * ? " < > | 」が入ってて それでしたw あとひとつだけ、 StringReplace, fname, name1, %A_Tab% \ / : * ? " < > | ,, ALL 複数の検索文字列はどう書けばいいんでしょうか?
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/24(金) 01:14:10 ID:4Tp5poaX0] >>754 以下から好きな(もしくは自分で改造できる)方法で (どれも禁則文字をアンダースコアに変換する) @ StringReplaceを指定文字の回数頑張る StringReplace, FileName, FileName, \, _ StringReplace, FileName, FileName, /, _ : A @を単純化するために検索文字リストを作成してループで回す NG = \/:*?"<>| Loop, PARSE, NG StringReplace, FileName, FileName, %A_LoopField%, _ B 正規表現でやる FileName := RegExReplace(FileName, "[\\\/\|\?\*:<>""\t]", "_", "", -1) ※ \(0x5c)に関しては誤爆がありうるので注意(BREGEXPなどを使えば回避できるが・・・)
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/24(金) 09:01:46 ID:iP7K7SB40] ラジオボタン 途中で別のコントロールを追加すると、次からは新しいグループになる。 同じグループにすることってできないだろうか・・・。
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/24(金) 11:18:44 ID:BW5MCYnb0] 今気づいたけど 組み込み関数の引数にコマンドライン引数を指定する事って出来ないんだな a = %1% とか一々しないといけないのは面倒
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/24(金) 20:36:29 ID:umX25vaH0] >>755 thx #c:: Send,^c ClipWait StringSplit, name, clipboard, `r, %A_Space% %A_Tab% fname := RegExReplace(name1, "[\/\|\?\*:<>""\t]", "_", "", -1) FileAppend, %clipboard%, D:\memo\%fname%.txt MsgBox,64,,%fname%.txt`rを保存しました。,2 return ばっちりです!
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/24(金) 22:41:32 ID:4Tp5poaX0] おめ。 #cを連打してみると不具合が出るよ(ファイル内容を確認すれば分かる) そのときは >>739 のE
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/25(土) 13:20:37 ID:RzJzru2Y0] NoCloseでクローズボタンの無効化をしたいのですが、 ウィンドウ生成とともに無効化されるようになりません。 ショートカットキーによる無効/有効のトグルはできるのですが、 Rulesに ahk_class Notepad と書いた状態で notepad を起動しても、 新規ウィンドウのクローズボタンは有効のままです。 Disable close buttons on Window Creation のチェックボックスはチェックしています。 なぜRulesの記述が有効にならないのか わかる方がいましたらご助言お願いします。
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/25(土) 15:24:35 ID:LVJjcW7S0] XPのExplorerで、ファイルをドラッグアンドドロップしはじめると、 マウスカーソルが禁止マークになって、 掴んだファイルが半透明で表示されます。 このとき、マウスの左ボタンから手を離す前に 掴み中であることを識別して別の処理をしたいのですが、 掴んでるファイル名を取得する方法はないでしょうか。
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/25(土) 16:54:54 ID:KzAWR4DV0] たまたま似たようなの作ってた。 ; Button Up直前にGUIを置いてファイルを取得する Gui, -Caption -ToolWindow +AlwaysOnTop Gui, Show, w3 h3 Hide pattern := "ExplorerWClass|CabinetWClass" LButton:: Send, {LButton Down} KeyWait, LButton IfWinExist, ahk_class SysDragImage { CoordMode, Mouse, Screen MouseGetPos, x, y, hwnd, classNN WinGetClass, class, ahk_id %hwnd% If RegExMatch(class, pattern) Gui, Show, % "NA x" (x-1) " y" (y-1) } Send, {LButton Up} Gui, Hide return GuiDropFiles: MsgBox, %A_GuiEvent% return
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/25(土) 17:08:39 ID:Y2iaPllI0] おーありがとうございます! 自スクリプトに組み込んで活用させていただきます。
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/25(土) 23:47:43 ID:Aak6Bmgi0] だれか、ahk の日本語解説本、書いて下さい。 英語は細かいところがわからなくて困る。
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 00:14:17 ID:RsidKdjm0] >1
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 00:42:15 ID:XR0J5Yoc0] これだな。2007/09/05だから少々古い。 ttp://www.flib.jp/D800/book854.html
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 15:13:57 ID:AJINZZJZ0] exeからahk取り出せませんか?
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 15:20:55 ID:7UkZFFcM0] >>767 できます。パスワードなければ
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 15:29:58 ID:AJINZZJZ0] パスはつけてないんですがどうやってソース取り出すか教えてください
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 15:33:35 ID:E78MgH1L0] exe2ahkでググレクズ
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 15:38:55 ID:AJINZZJZ0] >>769 ,770 ありがとう
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 16:30:26 ID:yHBXLU9I0] ::a::autohotkey{ENTER} の動作にツールチップ(一秒後に消える) を着けたいのですがうまくいかず困っています。 RemoveToolTip:の部分でエラーを出されてしまいます。 a:: send ,autohotkey {enter} ToolTip, AHK SetTimer, RemoveToolTip, 1000 return RemoveToolTip: SetTimer, RemoveToolTip, Off ToolTip return なにぶん最近いじり始めたばかりなので 根本的なところで間違えてるかもですが 問題点を教えてください。 よろしくお願いします。
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 17:19:15 ID:ViVhDQ+t0] >>772 2行目のsendの後が全角スペースになってる。 あとsendで送られたのがautohotkeyじゃなくてutohotkeyになった。 a::を$a::に変えたら直った。 どんなエラーが出てたのかわからんけど、基本的にそのままで行けた。
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 17:52:28 ID:PRYSHYE50] > SetTimer, RemoveToolTip, -1000 で1度だけの呼び出しに出来るよ
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 21:23:21 ID:yHBXLU9I0] >>773 ,774 レスありがとうございます。 >>773 の方法だとうまくいかないようです。 エラーは Line Text:Removetooltip Error:Duplicate label The program will exit. です。 環境が違うせいなのかな? 当方環境 AHK v1.0.48.02 OS:VistaHP32bit >>774 の方法で後半部分を削ると動きました。 ::a::autohotkey{ENTER} での動作に比べて動作速度が遅くなるのは仕方ないのでしょうか? SendMode Inputとか入れてもあんまり効果ないようです。
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 22:35:29 ID:PRYSHYE50] >>775 a:: Send, autohotkey {enter} ↓ Send, a ; ココで同サブルーチンが呼ばれてしまう。(>>5 参照) Send, u ; これ以降は普通に動作 : Send, {Enter} > 動作速度が遅くなるのは仕方ないのでしょうか? SetKeyDelay
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/26(日) 23:18:41 ID:yHBXLU9I0] >>776 レスありがとうございます。 SetKeyDelayを使用して十分な速度で動くようになったのでこれで運用してみようと思います。 >>775 の時はこのスクリプトの前の他のスクリプトで既にRemoveToolTip:を使用していたため RemoveToolTip:の部分でエラーを吐いていたようです。 WhichToolTipのあたりを勉強してきます。
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 00:09:04 ID:+ovk7Hbu0] >>766 > これだな。2007/09/05だから少々古い。 > ttp://www.flib.jp/D800/book854.html ありがとうございます。 しかし、専用viewer が怪しそうで、downloadしなかったので、見られませんでした。 残念
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 11:31:05 ID:0QYIMn790] 書籍の形にこだわる理由は何? 流行らせるページはなんでスルーなの?
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 12:05:09 ID:/pHC43gt0] 本の宣伝にならないからw という冗談は置いておいて、 流行らせるページも万能じゃないし、 もうちょっと優しめに書かれた入門書が欲しいという初心者がいても不思議じゃないと思うけど
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 12:40:58 ID:+rxhALv90] If Var1 = %Var2% と If (Var1=Var2) とか、文法にずいぶん癖があるからなあ 最初は俺も苦労した
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 17:00:26 ID:0QYIMn790] いや、入門レベルならそれこそググればブログなどで取っかかりから説明してるとこ沢山見つかるっしょ 英語云々書いてるってことはわざわざ原点に当たってるみたいだし むしろより高度な方向の解説を求めてるのかと思ったんだけど。
783 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 19:20:25 ID:HMa7F1Xh0] >>778 てかそれ、流行らせるページの人が書いてるものでしょ
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 21:17:12 ID:ZpVxt0r00] わかりやすい書籍があれば どこででも読むかたちで予習復習できるじゃん
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 22:16:23 ID:wELKguDV0] まず前金で200万振り込んでくれ
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 23:42:24 ID:l7+SdciM0] >>781 前者はわかるが後者はなんだい?
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 00:11:36 ID:KKp3NETS0] 等価だよ IfEqual, Var1, %Var2% If Var1=%Var2% If (Var1=Var2) こういうのも通るし count=0 Loop { If (count++==3) Break MsgBox, % A_Index }
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 01:01:30 ID:E1vvN/jt0] >>787 ありがとう 最後の例はすごいな そういう発想はなかった
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 08:49:47 ID:XnR93Z5I0] >>679 の := の話と似てるな := や if() は、式を書ける分だけ一般の高級言語に近い仕様 ahkは発展途上の過程で色々盲腸的な部分が残ってるんで分かりにくいね
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 09:00:55 ID:tUgDcu7Y0] >>787 の3つのIF、速度が違ったりするのかな
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 11:14:37 ID:KKp3NETS0] ちょっとテストしてみた。1万回ループしてms単位の差がでてきた。 バッチ的に回すにしても他の処理の方が圧倒的に重いだろうし、気にするほどじゃない。
792 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 14:00:29 ID:tUgDcu7Y0] >>791 てことは if() に統一して問題無さそうだね。ありがと。
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 15:18:00 ID:6TUioa2p0] if()で使うけど、結局は%%つけちゃったり、""をつけ忘れたりする。
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 17:58:54 ID:cLThndOM0] 既出かもしれんが、autohotkey も、なでしこ みたいにbat偽装しても動くんだな。便利だわ。 ;@echo off ;"%~dp0Autohotkey.exe" "%~0" %* ;exit ;rem Autohotkey.exeのあるフォルダに hogehoge.bat で保存。 ;rem このバッチにファイルをドロップしてみる。 ;rem 下記にAHKのスクリプトを記述する。 tmpLimit=%0% Kari:="" Loop { KariI:=%A_INDEX% KariR:=chr(13) kari=%kari%%KariI%%KariR% if(tmpLimit=A_INDEX) break } msgbox,%kari%
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 18:10:30 ID:BorXmBFr0] >>794 できない言語を探す方が難しいと思うよ
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 18:21:57 ID:lIOj1va90] >>794 bat偽装っていう意味がわからないんだけど、どんなシーンでなんのメリットがあるの?
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 18:48:08 ID:cLThndOM0] >>796 Autohotkey.exeがハードディスクにインストールしてない環境や、 関連付けしてない環境でAhkスクリプトを実行したいときに便利かもしんない。 >>795 よく使ってるUWSCは拡張子をチェックしてるみたいでBatだとはねられちゃった。 なでしこも出来るわな。Dosの複数行をコメントや変数でエラーにならんように 誤魔化せて、拡張子チェックしてない場合はいけそうだ。
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 20:02:51 ID:c0gmFX8Z0] 他のアプリからパスを受け取るコマンドってないんですか?
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 20:13:23 ID:KKp3NETS0] その他のアプリがパスをくれるなら、引数なりドラッグ&ドロップなりで煮るなり焼くなりなんなりと。 くれないならアドレスバーとかタイトルバーとかから読む。
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 20:45:45 ID:c0gmFX8Z0] >>799 こういうのがしたいとおもって FileAppend, ( これは %ぱす% です ),D:\aaa.txt うまくいえないので半年ろむってます
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/29(水) 19:08:35 ID:k0T7d2ZLP] %1%
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 17:50:27 ID:kybyWs4G0] /* hogehoge.js JscriptのスクリプトからAutohotkeyのスクリプトを使うのもOKだった ;*/ //ここからは jscriptのスクリプト Autohotkey.exeの有る場所に置いて実行。 var 変数 = "豚インフルエンザでも海外旅行";WScript.Echo(変数); var 引数空白付けて2重引用符で囲む=" "+"B"+" "+"\""+"jscriptから引数を渡す"+"\"" var 戻値 = 関数autohotkeyexeで自身のスクリプトを実行_引数空白2重引用符(引数空白付けて2重引用符で囲む); WScript.Echo("Window Script Host = AutohotkeyからのStdOut = " + 戻値); function 関数autohotkeyexeで自身のスクリプトを実行_引数空白2重引用符(sArg){ var objshl = new ActiveXObject("WScript.Shell"); var pAutohotkeyExe = WSH.ScriptFullName.substring(0,WSH.ScriptFullName.length - WSH.ScriptName.length)+"autohotkey.exe"; var objExec = objshl.Exec("\"" + pAutohotkeyExe + "\"" + " " + "\"" + WSH.ScriptFullName + "\"" + sArg); do{WScript.sleep(200)}while(objExec.Status == 0); //条件が合っている間はloop 戻値を取得 if(objExec.stdout.AtEndOfStream){var result = objExec.stderr.ReadAll();var serror = 1} else if(objExec.stderr.AtEndOfStream){var result = objExec.stdout.ReadAll()} return result} ;/* */ ;/* // ここからはAutohotkey のスクリプト Arg1=%1% Arg2=%2% Fun%Arg1%(Arg2) FunA(sMes){ FileAppend,%sMes%,* } FunB(sMes){ Msgbox,Jscriptからもらった = %sMes% FunA(sMes) } ;*/
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 18:03:27 ID:/B3Hmf7f0] でっていう
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 19:01:28 ID:SRqHNfq20] 素晴らしい中身の薄さにワロタ
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 19:07:22 ID:kybyWs4G0] >>803 SFCminiとかDynaWrapperをインストール出来ない環境で、 jscriptからDLLを使ったり、アプリのウィンドウを制御したり、 ドロップ可能なGUIを使える程度かなw Suppon.exeからでもDLL使えるんでいろいろできそうだけど Autohotkey経由のほうが楽。HTAより凝ったことが出来そう。
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 02:30:29 ID:V4O1Kqdz0] タスクバーの上からGUIを貼り付けていろいろ改造してるのですが、 現在のテーマがLunaかClassicかを判別する、ウマイ方法はないでしょうか? 現状、タスクバーの太さ(高さ)で判別していて一見うまくいってたのですが、 「タスクバーを固定する」をONにしている環境だと、LunaでもClassicでも 高さが22で同じになってしまい、判別できなくなってしまいました。
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 02:44:30 ID:tK7xHrIL0] questionbox.jp.msn.com/qa3095644.html
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 02:57:12 ID:V4O1Kqdz0] 即レス感謝!おかげさまで解決できました
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 17:58:20 ID:8PsslnK50] WheelScroll.ahk の作者さん、ここ見ていらっしゃいますか? マルチモニタサブモニタ側 (座標がマイナス値) でホイールが利かないようなのですが、どこを直せばいいものやら… ヒントをいただければ幸いです。 AHK 1.0.48 Vista SP1 ロジクールのマウスドライバ SetPoint 4.60.122 を併用
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 19:34:18 ID:ui+UUCsN0] >>809 どもです。一応座標値0,0基準での決め打ち動作などはさせていないはずなんですが WheelRedirect()内の CoordMode,Mouse,Screen MouseGetPos,mx,my,hwnd,ctrl,3 で取ってるマウス座標値が怪しい気がします。これが正しくマイナス値でとれてない場合 GetScrollBarHwnd()での座標比較でこけてる可能性があります。 1.スクリプト殺したノーマルの状態で通常のホイールが効いているか 2.ToolTip,mx=%mx% my=%my% とか追加して値がマイナス値になってるかどうか 3.互換モード(WM_SCROLL)で動かした場合も動かないのか 4.管理人さんのホイールリダイレクト で正常に動くかどうか lukewarm.s101.xrea.com/myscripts/WheelRedirect.zip あたりを調べてみてください。 ちなみにサブモニタは左と上のどちらでしょうか? あー、もう一週間くらい風邪が治んない。頭痛すぎてモノ考えられないっす GW前に医者行っとけば良かったわ
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 20:52:47 ID:8PsslnK50] >>810 早速のご返信ありがとうございます。 実はマルチモニタは勤務先のマシンなので連休明けまで確認できません。 調べがつき次第、またここで報告させていただきます。 ちなみにサブモニタは左です。 風とのこと、どうぞお大事になさってください。インフルじゃありませんように。。。。
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 21:55:34 ID:17i2D6iq0] A_EventInfo 分だけ WM_MOUSEWHEEL を Post してるけど、 wParamの上位ワードを ±120*A_EventInfo にしてもいいんじゃないかと思う