1 名前:名無しさん@お腹いっぱい。 [2009/05/23(土) 00:23:38 ID:78PWRd9v0] ■公式 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/ 7 pc12.2ch.net/test/read.cgi/software/1230694774/ ■派生版 AutoHotkey_L www.autohotkey.net/~Lexikos/AutoHotkey_L/ 駄目文字微対策版 yak.myhome.cx/junks/#ahk.cp932 関連リンク>>2 以降も参照
75 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 08:54:53 ID:vciG3EmH0] 最初に vk1Dsc07B & g:: If !GetKeyState("Shift","P") return を追加すれば大丈夫か
76 名前:1/2 mailto:sage [2009/05/29(金) 13:22:46 ID:u1yo0xzx0] >>63 のマウス追従Ver 作ってみた。 タイマ未使用、Shiftで固定、ESCで終了 #1:: ClipWindow_MouseFollows() ClipWindow_MouseFollows(size=200, Pause="Shift",endKey="ESC", ignoreClassPattern="Shell_TrayWnd|BaseBar") { static list IfNotEqual,list,, return ;semaphore DetectHiddenWindows, Off CoordMode, Mouse, Screen WinGet, list, List Loop, %list% l := list%A_Index% . (l ? "|" : "|0x0") . l While !GetKeyState(endKey) && Instr(l,WinActive("A")) { if GetKeyState(pause) { KeyWait,%pause% pmode := (pmode!=1 ? 1 : 0) } IfEqual,pmode,1, continue MouseGetPos, mx, my if ((mxs-10 < mx) && (mx < mxs+10) && (mys-10 < my) && (my < mys+10)) continue mxs:=mx, mys=my
77 名前:2/2 mailto:sage [2009/05/29(金) 13:24:56 ID:u1yo0xzx0] Loop, % (list-1) { IfWinNotExist, % "ahk_id " list%A_Index% continue WinGetClass, class If ignoreClassPattern && RegExMatch(class, ignoreClassPattern) continue WinGetPos, x, y, w, h mx1:=mx-x-size//2, my1:=my-y-size//2, mx2:=mx-x+size//2, my2:=my-y+size//2 If (mx1>w || my1>h || mx2<0 || my2<0) continue WinSet, Region, 0-0 %w%-0 %w%-%h% 0-%h% %mx1%-%my1% %mx2%-%my1% %mx2%-%my2% %mx1%-%my2% %mx1%-%my1% 0-%h% if !Instr(clipped,list%A_Index%) clipped := list%A_Index% . (clipped ? "|" : "") . clipped } Sleep,50 } DetectHiddenWindows, On Loop, PARSE, clipped, | WinSet, Region,, ahk_id %A_LoopField% list= } >>67 プリインスコのメーカーロゴ、エロいの持ってねぇ(´・ω・`)
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 13:36:25 ID:tLIgPVbp0] 最小化したときにタスクトレイにアイコン化するアプリを タスクトレイに入った状態からアクティブ化するのは無理でしょうか? その手のアプリ、みんなWinActiveが効きません...orz
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 15:06:40 ID:+GBy9qZg0] DetectHiddenWindows, On
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 15:41:21 ID:tLIgPVbp0] >>79 そんなコマンドがあったとは! 即レス本当にありがとうございます! ほんと、ahkってなんでもできるんですねー
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 22:49:46 ID:y2qE0/Pv0] 昨晩のやつの改造版。アクティブウィンドウ以外に黒いシェードを掛ける。2K/XP用。ビデオ鑑賞にでもどぞ Gui, +LastFound -Border +ToolWindow +AlwaysOnTop -Caption +0x02000000 -0x0CC00000 +E0x00080020 Gui, Color, 000000 ; ここで色をかえてもおk WinSet, Transparent, 200 ; 透明度(1-255) Gui, Show, NA x0 y0 w%A_ScreenWidth% h%A_ScreenHeight% SetTimer, Timer1, On Timer1: SetWinDelay,-1 WinGetPos,x,y,w,h,A x1:=x, y1:=y, x2:=x1+w, y2:=y1+h If (lx1==x1 && ly1==y1 && lx2==x2 && ly2==y2) return Gui, +LastFound Gui, +AlwaysOnTop WinGetPos,,,ww,hh WinSet, Region, 0-0 %ww%-0 %ww%-%hh% 0-%hh% %x1%-%y1% %x2%-%y1% %x2%-%y2% %x1%-%y2% %x1%-%y1% 0-%hh% lx1:=x1, ly1:=y1, lx2:=x2, ly2:=y2 Return
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 23:08:59 ID:IKD+qEU60] おもしろいな 解除はどうやるんすか?
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/29(金) 23:13:54 ID:y2qE0/Pv0] タスクトレイw
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/30(土) 06:17:34 ID:84IZ3aep0] >>74-75 2つ以上ダメなんですね。以外に不便…。というかホットキー扱いじゃないのかな ありがとうさんです。試してみまする
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/30(土) 13:39:34 ID:pp0cJZID0] >>36 のSQLite_GetSelect関数ってフィールドの数が10個以上あると変数重複するよね? 例えばLV111の場合11行目の1列目、1行目の11列目で重複みたいに 俺が頭悪いだけ?
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/30(土) 14:25:44 ID:yxno/H630] それが仕様だと思うよ。 > %接頭辞%%行番号%%列番号% := 値 って風に代入してるし > %接頭辞%_%行番号%_%列番号% とかにすれば平気なんだろうけど
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/30(土) 14:40:43 ID:pp0cJZID0] なるほど。 ライブラリいじらないとだめか。
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/31(日) 01:53:08 ID:jQyIS5jG0] >>36 関連でわからないことがあったので便乗して質問します SELECT * FROM test WHERE 〜 というところで、 ' が含まれる項目をうまく探し出してくれません autohotkey 特有のエスケープ処理か何かのせいか?と思ったのですが いまいちよくわかりません ' が含まれる項目を処理するときに同じような症状に出会った人はいますか?
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/31(日) 20:18:32 ID:g4+Xfjng0] 引数の基準フォルダと対象ファイルパスを元に相対パスを返す関数ってありますか?
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/31(日) 21:26:54 ID:3pSi+qBb0] Path_RelativePathTo(From,atrFrom,To,atrTo) ; 相対パスを作成 ; From : ベースパス ; To : 相対にするパス ; atr : ファイル属性を指定 ; ディレクトリ 0x10 (FILE_ATTRIBUTE_DIRECTORY) ; ファイル 0x20 (FILE_ATTRIBUTE_ARCHIVE) { VarSetCapacity(t,260,0) DllCall("SHLWAPI.DLL\PathRelativePathToA", Str,t , str,From, Uint,atrFrom, str,To, Uint,atrTo) return t } Path_CommonPrefix(p1, p2) ; 2つのパス名の先頭から共通するディレクトリ名を取得する { VarSetCapacity(t,260,0) DllCall("SHLWAPI.DLL\PathCommonPrefixA", Str,p1, Str,p2, str,t) Return t }
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/31(日) 21:59:11 ID:g4+Xfjng0] >>90 ありがとうございます 無事できました
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/01(月) 01:21:39 ID:nMoGzHYT0] AutoHotkey v1.0.48.03.L30
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/01(月) 15:00:23 ID:KxOltqgo0] 変数%aaa%の中に変数%bbb%を組み込みたいです。 %aa%bbb%%では駄目でした。 どうすれば出来ますか?
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/01(月) 15:57:15 ID:nMoGzHYT0] 「%aaa%」と書いた場合、 ・コマンド内は、変数に格納された値 ・式や関数の中では、%〜%を展開した文字列が名前となる変数 となるけど、 「組み込みたい」の意味が分からないから具体例で。
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/01(月) 16:27:57 ID:5kiaGP5n0] よくわからんが多分 Transform,Deref, String あたりではないかとエスパーしてみる
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/01(月) 16:33:11 ID:9Rwj7uYk0] 流行るページを参考にしたのですが、わからない箇所があるので教えてください Ctrl-x,Ctrl-sで保存(Ctrl-S)の実行、Ctrl-sで検索(Ctrl-f)の実行をしたいと思っています ところが下記のスクリプトでCtrl-x,Ctrl-sを実行すると、Ctrl-fが送られてしまいます このように置き換え対象のキーも別のキーに置き換えてしまっている場合、どのように対処すれば意図した動きになるのでしょうか? ^x:: Transform,CtrlS,Chr,19 Input,InputChar,C I M L1 T1,{ESC} If InputChar=%CtrlS% Send,^s Return ^s:: Send,^f Return
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/01(月) 17:02:21 ID:nMoGzHYT0] いろいろやり方はあるけど、^s:: のところでA_PriorHotkeyで分岐すりゃいいんじゃないの ^x::Return $^s:: If A_PriorHotkey = ^x Send, ^s Else Send, ^F Return
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/01(月) 17:36:14 ID:9Rwj7uYk0] >>97 試してみたところ意図した動きになりました。感謝です! ^x::Returnでキーの動きを無効化しても組み込み変数に値は入るんですね 勉強になりました。ありがとうございました>< 2ストロークで設定しているキーバインドが多く、書き換えが面倒なので、 勉強もかねて関数をつくってやってみたいと思います
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 18:58:42 ID:xwgWw2A40] 対象窓で、文字入力中or変換中なら1を、変換候補窓が出ているなら2を、それ以外なら 0を返す。 ATOK2007とMS-IME8.1で確認。クラス名がバージョンの数値違いだけなら別verでも通用するかも。 IME_IsConverting(winTitle="A") { hwnd:=WinExist(winTitle) WinGet, pid, PID, ahk_id %hwnd% tmm:=A_TitleMatchMode SetTitleMatchMode, RegEx ret := WinExist("ahk_class ATOK\d+Cand|imejpstCandList\d+ ahk_pid " pid) ? 2 : WinExist("ahk_class ATOK\d+CompStr|imejpstcnv\d+ ahk_pid " pid) ? 1 : 0 SetTitleMatchMode, %tmm% return ret }
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 19:44:30 ID:rJZ7jJ5w0] >>99 昔から何度も質問に出てましたよね。IMEで変換中かどうかを知る方法。 ついに実現できる人がいたとは。 さっそく試してみます。
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 19:56:13 ID:osRS2DeA0] >>99 おおーありがとう これがあったら無変換にIMEOFF、変換にONにする関数割り当てられる
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 20:18:55 ID:ftcLo5Gk0] けっこう既出な気がするけど 他のIMEでもウィンドウクラス一覧表示するスクリプト書けば怪しいクラス名が分かる 注意する点はWinActiveで判断するんじゃなくExistで判断するところ
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 20:23:03 ID:xwgWw2A40] BOOLを返さないのに Is〜 とは変な名前だったorz。好きに替えてくらはい。 自分が使ってるIMEしか調査してないから、 SKK、VJE、WXG、松茸、その他IMEへの対応は出来ないので自分で追加してくれ。 あああ ← 入力窓の上で MouseGetPos,,,hwnd して hwndからクラス名をとって正規表現に追加  ̄ ̄ ̄ 愛 |愛 | ← 候補窓の上で MouseGetPos,,,hwnd して hwndからクラス名をとって正規表現に追加 |亜依 | |あい .| |藍 | | : .|  ̄ ̄ ̄
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 20:30:06 ID:xwgWw2A40] >>102 おっしゃるとおりで #IfWinNotExist, ahk_class 入力窓|変換窓 vk1Csc079::IME_Set(!IME_Get()) とかのほうが楽ではある
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 21:37:03 ID:Kr4mD/Ke0] MS-IME2000までなら WinExist("ahk_class msime") でいけそう
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/02(火) 22:31:33 ID:P6oxe9UG0] autohotkey以外の任意のウィンドウをタスクバーから消す方法ってありませんか toolwindow作ってSetParentすればいいのかなと思ったけど同じプロセスじゃないとできないみたいで
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/03(水) 09:37:26 ID:fHhPIlcJ0] ここのTrayIcon.ahkの中にあるTaskButton.ahk www.autohotkey.com/forum/topic17314.html
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/03(水) 09:43:09 ID:cMFaAOnD0] 実行中のスクリプトのファイル名を取得する方法を教えてください。 実行中と同じスクリプト名のiniファイル読み込みにしようしたいです。
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/03(水) 09:58:06 ID:fHhPIlcJ0] 組み込み変数 A_Script○○○
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/03(水) 11:03:28 ID:cMFaAOnD0] >>109 ありがとう。
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 00:17:18 ID:QQ0YUUDy0] 任意のアプリケーションのメニューバーを非表示にする方法ってあります? AU3_Spy.exe で調べてもメニューバーの Class_NN なんかが判らなくて…。
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 01:01:23 ID:duXuCFzc0] クラスが取れないのは昔ながらのメニュー(メモ帳、電卓など、Ahkもそう)、非クライアント領域と言われているところ。 ^F12:: hwnd := WinExist("A") hMenu := DllCall("GetMenu", "UInt", hwnd, "UInt") If (hMenu) { DllCall("SetMenu", "UInt", hwnd, "UInt", 0) Sleep, 2000 DllCall("SetMenu", "UInt", hwnd, "Uint", hMenu) } else { MsgBox, Menu not found } return ttp://msdn.microsoft.com/ja-jp/library/cc364679.aspx ttp://msdn.microsoft.com/ja-jp/library/cc411047.aspx
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 01:16:22 ID:6AUpOLN+0] 処理が終わるまでの間を進歩状況を表示させたいんだけど Gui,Add,Progress見つけたけどできそうなのか使い方がさっぱりわからなかった
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 01:49:52 ID:QQ0YUUDy0] >>112 おおお、ありがとうございます!助かりました
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 08:17:20 ID:SXDlYEUH0] >>113 ttp://www.autohotkey.com/docs/commands/GuiControls.htm#Progress Progress, R0-200 W400 H70 Hide Progress, Show Loop, 200 Progress, %A_Index%, Number:%A_Index%, Counting..., Title Progress, Off Gui, Add, Progress, W300 h10 cBlue vMyProgress Gui, Add, Button, Default, Start Gui, Show return ButtonStart: Loop, 300 GuiControl,, MyProgress, %A_Index% return
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 09:19:45 ID:dyra48CT0] マウスの下のWindowTitleを取得する方法を教えてください。
117 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 11:24:00 ID:39eHpjNw0] >>116 lukewarm.s101.xrea.com/commands/WinGetTitle.html #Persistent #SingleInstance, force SetTimer, MouseShitaWindowTitle, 50 Return MouseShitaWindowTitle: MouseGetPos, , , HWND WinGetTitle, Title, ahk_id %HWND% Tooltip, %Title% Return
118 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 15:38:47 ID:dyra48CT0] >>117 助かりました。ありがとうございました。
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 16:13:54 ID:6AUpOLN+0] >>115 処理完了までの時間がどのくらいなのか取得したいんで Loop,200だか300なんて固定じゃしょうがない
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 16:31:03 ID:39eHpjNw0] >>119 固定も何も>>115 のサンプルを応用すればいいよってことじゃないのかい。
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 16:48:28 ID:SXDlYEUH0] >>119 すまなない 何が分からないか分からない 完了時間の予測なら、全体量と1回の処理時間から自分で毎回計算するしかないと思う
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 17:06:34 ID:6AUpOLN+0] なるほど そういうことならしょうがないですね ありがとう
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 17:40:27 ID:TWv1vctD0] 具体的な秒数を事前に出すのはAHKに限らずむづかしいと思うけど。 ダミー進捗が嫌なら、メクラループやめて具体的気に処理が終わるたびに更新すればいいだけっしょ やらなきゃいけない処理の数(分母)と、そのうち何個目が終わった(分子)か、で 進捗グラフ更新してくのがProgressなんだから
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 19:36:13 ID:nKWMwvxe0] >>99 Firefox3.0.10上だと文字入力中をうまく検出できないんだけどどうしてだろう 0が返ってくる
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 21:14:42 ID:6pR9OPq00] >>99-101 窓使いの憂鬱でIMEのON/OFFでキー割り当て変えられることに気づいた・・・ もしかしたらAPI一発で取得できたりして・・・ 窓使いのソース見たらよいかも
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 22:05:15 ID:TWv1vctD0] ん? >99がすごいって言われてんのは「IME ONかつ変換中か」を見てるからっしょ ON/OFF状態や変換モードだけなら SendMessageのWM_IME_CONTROLでとれるよ lukewarm.s101.xrea.com/up/file/089.zip
127 名前:99 mailto:sage [2009/06/04(木) 22:10:50 ID:duXuCFzc0] IMEが描画する窓の存在を見てるんで、インライン描画するタイプだと検出出来ないのはしょうがない... IE, FireFox, Office系とか、、ダメじゃんorz でも、API一発で取れないのは数々の先人達が試みて失敗してる(スレ1で既出) >>125 ちょっと見てみた・・・ ttp://mayu.cvs.sourceforge.net/viewvc/mayu/mayu/hook.cpp?revision=1.34&view=markup の428行目あたりから グローバルフックでメッセージとらえているようだ。 IL (IME_Lock、 On/Off)はAPIで取得しているみたい(実質的には IME.ahkと同じ) IC(入力中かどうか)は WM_IME_(START|END)COMPOSITION を見て内部でフラグ管理しているみたい 低水準マウス/キーボードはフックできるけど、これだとDLLが必要だぬ。俺には無理ぽ。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 22:51:48 ID:hfmiG/aI0] メールの内容を読み込んで、そこにあるフレーズで次の処理をするっていうのを作りたいのですが 何かいい方法ないでしょうか?どうにかしてメールをtxtファイルにしてFileReadで変数に読み込む ぐらいしか思いつかないんですが
129 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 22:56:27 ID:gv6ECyM30] ごりむちゅうで何がなにやら。 次の処理が何かわからんのに、答えるのは難しい。
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/04(木) 23:23:25 ID:hfmiG/aI0] >>129 情報不足過ぎですみません 家で常時動いているPCにメール送って、PCを遠隔操作したいんです。 具体的には本文にAいう単語があったら、そのあとの文をファイルとして保存するとか Bという単語があったらaというソフトを起動するとかです。
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 00:13:11 ID:e7k/ar4E0] >>126 IME.ahkでは Office 系の IME の On / OFF を 正しく取得出来なかったと思う 改善された?
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 01:31:04 ID:T3bmGBtQ0] ウチでは IME.ahkで Office 系「で」 IME の On / OFF を正しく取得出来る
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 02:44:19 ID:fBYNAlWU0] >>130 常時起動ならリモートデスクトップでいいんでないの? それとも携帯からかな? メールでやるなら、面倒くさそうだね。
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 10:57:01 ID:TiIrn5XK0] >>128 >どうにかしてメールをtxtファイルに あるかどうかわからないけど、ログをテキストで保存してるメーラーを使えばいいんじゃないか。 今見てるメールに対して処理をしたいだけなら、スマートではにけどCtrl+A & Ctrl+Cで本文を内容読めばいい
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 12:30:07 ID:TL25cwxb0] POPなりIMAPのプロトコルが分かるなら英語のフォーラムにあるWinSockのライブラリ使えば メールをファイルに落とさなくても直接接続して処理できるけど、エラーハンドリングなどかなり面倒。 次点は、コマンドラインレベルのクライアントを探して連携するとか。 POPならこういうやつとか>ttp://www.codeode.com/popclient/index.html 普通のWindowsのMUAでも、大抵は開けば普通にtextで読めるからそれでもいいかも。 メール毎に個別にファイルに保存するやつの方が楽だとは思うけど。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 12:38:48 ID:gplHJn2c0] スレどころか板違いだが、sshで入れるようにすると楽なんじゃないかな。 携帯用のクライアントアプリもあるみたいだし ttp://mutil.jp/。 鯖にするのはリ便利さと管理コストのトレードオフだけど。 ahkでやるならメーラによると思うけど、メールデータをテキストそのままで 保存してるメーラも結構あるんでファイル監視でいくのもアリ。 現段階でメールのヘッダと本文の解析の仕方を知らないなら、敢えてメールチェッカ入れて 新着通知の窓が出るのを監視してその本文を取得ってのもありかも。 あとはBASP21あたりで自前でPOP3鯖見に行くとか。。。
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 13:58:03 ID:SxfMtifS0] 出先からメールで自宅のPCを操作できるソフトて結構あるような気がするんだが
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 19:52:28 ID:BSIYPVRTO] TaskTrayIcon.ahkを眺めてたんだが、 クリックされたトレイアイコンの番号は取得できないのかな?
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 19:56:05 ID:esdfKZUa0] 出先から指定ラベル実行できたらちょっと面白いな
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 20:40:42 ID:O6B2s5Qx0] >>133 ,134,135,136,137 レス遅れてすみません。携帯は焼かれているもので いろいろな手段を教えてくださってありがとうございます。 じっくりググって作りたい物を作ってみます。また行き詰ったら質問に来るかもしれません そのときはよろしくお願いします
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/05(金) 23:04:28 ID:NwioFG9O0] z::yのようにリマップし、alt+zとやると、 余計なCtrlが入力されます。なぜでしょうか。 Key history 74 03F u 0.08 F5 A4 038 d 2.25 Alt 5A 02C h d 0.05 Z 59 015 i d 0.00 Y A4 038 u 0.16 Alt A2 01D i d 0.00 Ctrl A2 01D i u 0.00 Ctrl 5A 02C h u 0.03 Z 59 015 i u 0.00 Y 74 03F d 0.53 F5
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/06(土) 19:35:48 ID:RpRz7vLw0] Guiでボタンを押すとListBoxが更新されるようにしたいのですが、 Gui, Add, ListBox, vList, Gui, Add, Button, gTest1, Button1 Gui, Add, Button, gTest2, Button2 Gui, Show, Return Test1: GuiControl,, List, test||.. Return Test2: GuiControl,, List, hoge|..|| Return これだとリストの末尾に追加される形になってしまいます。 リストを入れ替えるようにするにはどうしたら良いでしょうか。
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/06(土) 19:44:21 ID:nz9UkNk/0] 先頭にデリミタ。 GuiControlの頁を要再読。
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/06(土) 20:09:54 ID:RpRz7vLw0] >>143 即レスありがとうございます。 見落としてました...orz
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/07(日) 03:46:36 ID:6gUtZr/R0] しつもーん。 指定アプリ上でzを押した時、aの動作→bの動作→cの動作→aの動作→bのry と言った事をやりたいんですが、どう記述したらいいですか。。。 #IfWinActiveを使うって事と、個別の動作(sendでいくつかキーを送るだけ)は分かってできたんだけど、 それを同じキーで繰り返したいです。 ご教授願います。。。
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/07(日) 04:20:29 ID:64k7gMDb0] >>145 質問がいまいちわかりにくいけど、こういうこと? #IfWinActive 指定アプリ z:: Loop,n ;nは繰り返したい回数 { aの動作 bの動作 cの動作 } Return #IfWinActive
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/07(日) 09:24:01 ID:tkyz3VGy0] 同じキーで 1回目押したら aの動作 2回目押したら bの動作 3回目押したら cの動作 って意味じゃなかろうか
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/07(日) 09:37:04 ID:ZORhP0Gy0] z:: count++ if(count=1){ tooltip, aの動作 }else if(count=2){ tooltip, bの動作 }else if(count=3){ tooltip, cの動作 count=0 } keywait, z Return
149 名前:145 mailto:sage [2009/06/07(日) 16:40:24 ID:6gUtZr/R0] >>146 質問がわかりにくくてすいませんしたっ_| ̄|○ >>147 そうです。その意味です。。。 >>148 希望通りの動きが出来ましたっ! ありがとうありがとう(つД`) リファレンス読んで処理内容を解読できるようにがんばってみます(´・ω・)、
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 01:08:14 ID:mPjxZMt70] AutoHotkey.ahkの書き換え、再起読み込み を自動化した。 Aキーを押したらA用途のAutoHotkey.ahkを Bキーを押したらB用途のAutoHotkey.ahkを 読み込んでそれ用の設定になるので、便利。 perl使って書き換えしてるだけだが。
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 02:18:59 ID:VN+15O/CP] 何故ahkでやらない
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 10:20:12 ID:aCqJ4TQP0] 流行らせるページの中の人、ネトラン関係者になってたのか
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 10:20:50 ID:Gscpj3Zd0] 書き換えって、毎回 マイドキュにある AutoHotkey.ahkを削除だのリネームだのしてるのか? スクリプトは別に「AutoHotkey.ahk」の名前じゃなきゃ動かないわけじゃないし 多重起動もできるんだが。
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 15:15:28 ID:mPjxZMt70] >>153 AutoHotkey.ahkの指定箇所A〜B部分をキー一発で交換します。 マウスのM、X1,X2ボタンやテンキー機能は衝突するしな。 複数キーバインドで使い分けってめんどいし。なんかのキー押しながらマウスのX1ボタン押すっても・・
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 16:48:40 ID:VN+15O/CP] 何によって用途が違うのか知らないけど、 ホットキーラベル内に条件分岐作ればいいだけの話じゃ
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 16:53:37 ID:mkWh48Pk0] ----- ScriptA.ahk ------ #include common.ahk ; 以下A用キー定義 ----- ScriptB.ahk ------ #include common.ahk ; 以下B用キー定義 ----- common.ahk ------ A::Switch("ScriptA.ahk") B::Switch("ScriptB.ahk") Switch(script){ Run,"%A_AhkPath%" "%A_ScriptDir%\%script%" ExitApp } ; 以下共通用キー定義
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 17:01:01 ID:NOGmzyJY0] AutoHotkey_L 使えば楽
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 18:08:44 ID:WA7XkMG90] ahkで起動するのとexeに変換して起動するのではどっちが高速ですか?
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 18:26:19 ID:mkWh48Pk0] exeの場合は、起動時に解凍する処理が入る その後はどっちも同じ
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 19:42:44 ID:GcGcBK5q0] すいません教えてください。 Loop, Read, exclude.txt ; 削除したい行を改行区切りで列挙したファイル { match := A_LoopReadLine Loop, Read, %1%, *temp.txt { if (A_LoopReadLine != match) FileAppend, %A_LoopReadLine%`n } FileMove, temp.txt, %1%, 1 } こんな感じでマッチした行を削除したいのですが、元の場所に改行が残ってしまいます。 削除した行だけ改行を詰めるにはどうやったら良いでしょうか。 FileReadして Loop, Parse, var, `n, `r, でも同じでした。
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 19:50:53 ID:WA7XkMG90] >>159 なるほど ありがとうございました
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 20:48:11 ID:NOGmzyJY0] >>160 ループの入れ子が想定と逆だったから分かりづらかった。 それと、ファイルI/O多すぎじゃない? どっちのファイルも巨大(100M〜)ならしょうがないけど、 どっちかをメモリに積んだ方がいいと思う。 俺ならこうする。 FileRead, ExcludeLines, *t exclude.txt ExcludeLines = `n%ExcludeLines%`n Loop, READ, src.txt, output.txt If InStr(ExcludeLines, "`n" . A_LoopReadLine . "`n")==0 FileAppend, %A_LoopReadLine%`n
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 21:55:55 ID:GcGcBK5q0] >>162 ありがとうございます。 うーm、しかし他の場所の改行も削除されてしまうYO FileRead, ExcludeLines, *t exclude.txt ExcludeLines = `n%ExcludeLines% ;改行残る Loop, READ, src.txt { if InStr(ExcludeLines, "`n" . A_LoopReadLine . "`n")==0 var = %var%`n%A_LoopReadLine% else count = %A_Index%`,%count% } StringTrimLeft, var, var, 1 StringTrimRight, count, count, 1 Loop, Parse, var, `n, `r { if A_Index not in %count% FileAppend, %A_LoopField%`n, output.txt } ;FileMove, output.txt, src.txt, 1 return こんなんしか思いつきません><;
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 18:41:24 ID:wStbLZev0] Hayateというフリーソフトでキーのリピート速度やリピート開始時間を変えても AutoHotKeyのホットキーラベルを介すとデフォルトのリピート速度になってしまいます ex) Down:: Send, {Down} Hayate側のキーリピート速度でホットキーラベルを実行する方法はないでしょうか ちなみにHayateというフリーソフトは検索してもなかなか出てこないですがfrozenlib.net/app.html にあるものです
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 18:50:30 ID:Ezplb6lV0] SetKeyDelay SendやControlSendコマンドでの1キーごとに挿入される間隔を変更
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 18:56:50 ID:wStbLZev0] SetKeyDelayを小さく設定することは試したのですがキーリピートが開始されるまでの時間が変化無しです
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 19:12:29 ID:Ywd4Dynt0] SendPlay
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 19:31:21 ID:wStbLZev0] 試しに以下のように設定してみましたが改善されませんでした SetKeyDelay,-1,-1 SendPlay, {Down} SendPlay以外も一応試しましたがうまくいきませんでした あきらめるしかないですかね
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 19:35:48 ID:N+aijEuz0] その何とかってのは知らないけど、仕組み的に両立は無理なんじゃないのかね
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 19:57:24 ID:wStbLZev0] そうですか。残念 ありがとうございました
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 21:58:14 ID:kA+0+7DI0] >>162 ごめんなさい163です。すんごい初歩的な所で勘違いしてました。 >>162 のでバッチリです。本当にごめんなさい
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/09(火) 22:18:00 ID:o631qgYJ0] >>160 perl使えばいいよ。2GBのテキストでもperlなら処理できる。
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/10(水) 20:49:55 ID:i0OR+VsR0] キーの取りこぼしが生じるときには どのパラメーター設定をいじればいいのでしょうか 現在この5つを設定しています SetWinDelay, 0 SetControlDelay, 0 SetKeyDelay, 0 SetBatchLines, -1 SendMode Input
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/10(水) 21:42:19 ID:tNiIalHL0] キー入力イベントの取りこぼしだとしたらどうしようもない(原理的には無いはず) GetKeyState などでの状態取得で取りこぼしがあるのだとしたらスクリプトが悪い もしくは AutoHotkey_L の #If でものすごく重い関数呼んでいるとか
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/10(水) 22:03:41 ID:i0OR+VsR0] >>174 ふむふむ スクリプトを見直します