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 以降も参照
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 20:27:41 ID:WqNNCHEs0] >>149 一番お手軽なのはエディタ側でタイトルバーにファイルパス表示する設定にしといて それ取得して加工すれば?
152 名前:名無しさん@お腹いっぱい。 [2009/01/27(火) 20:41:15 ID:X4tsXHNf0] >>151 そか、ありがとう!
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 21:18:33 ID:paF95q4q0] >>147 なるほど…常識…。はまると往々にして単純で当たり前の理由なんだなwまた間違えそうで怖い。 >>149 MouseGestureのコマンドラインを取得する関数が使える時もある。 俺が使ってるのはMenuHackerで、%arg%%titlepath%を使って、ポチエスに投げる。 メモ帳から使い慣れたエディタに開き直すときに使っている。
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 21:28:17 ID:hKjgB29J0] >>148 IniRead と Hotkeyコマンド使え >>149 コマンドライン文字列を取得するという方法もある pc11.2ch.net/test/read.cgi/software/1219130051/683-691
155 名前:148 mailto:sage [2009/01/27(火) 21:56:28 ID:t0VmE1Ht0] >>154 設定ファイルから設定を読み込むのは出来るのですが 割り振るキーを設定に応じて変更する方法が無いものかと。
156 名前:148 mailto:sage [2009/01/27(火) 22:05:14 ID:t0VmE1Ht0] 読み違えてました Hotkeyコマンドで出来ますね すみませんでしたm(_ _)m
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 22:19:04 ID:eAnAnnBW0] >>142 TWのテスト版だけど、こっちを試してくれるとありがたい。 一応 *今のところ* 不具合は出ていない。 あと、縦横どっちかにスクロールを固定するオプションを追加(dx, dyの大きい方のみを採用、手抜きw) ttp://sites.google.com/site/agkh6mze/strage/TrackWheel_RC.zip?attredirects=0 もしこれで直ったてら単純なコーディングミスだな...
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 22:50:56 ID:hKjgB29J0] >>157 お疲れさまです ちょうど今の時期、在宅でのPC仕事なんで(自宅警備じゃないよ)しばらくこれで酷使テストしてみます。 つか今日気がついたけどリモートデスクトップ上でもホイール相当のスクロールは効くんだな。 さすがにマウス下ウィンドウの認識まではしてくれなかったが。 >縦横どっちかにスクロールを固定するオプション DenyBoth=1にしてみたらWinMergeでスクロールさせる時カクカクしなくなったヽ(´ー`)ノ ありがとです
159 名前:名無しさん@お腹いっぱい。 [2009/01/29(木) 06:09:04 ID:LOmhUipb0] QWERTY 配列の109キーボード用を dvorak 配列に変更しようとして #InstallKeybdHook #UseHook *z::; *+z::: と書いたところ、 Shift + z で + が表示されるようになりました。 意図しているのはもちろん : の表示です。 どのようにすればよいのでしょうか? またなぜこのように表示されてしまうのでしょうか? AutoHotkeyは最新版を使用しています。
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 09:10:03 ID:b+H6/CBd0] +z::Send,: z::Send,; Remapは面倒な事があるねぇ。 これはキーコード送信でなくて、「キー置き換え」なんだわ。 つまり、 z::; と書くと以下のようになる、([]内はキー名) [Shift] +[z] -> [Shift] + [;] [Ctrl] +[z] -> [Ctrl] + [;] [Alt] +[z] -> [Alt] + [;] ってなる。 QUERTYキーボードだとおもうけど、キーに印字されたものを見れば・・・
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 09:40:20 ID:qrvrUYM20] *z::send,; *+z::send,:
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 14:19:47 ID:SY+Fy4ud0] >>160-161 ありがとうございます。sendでしたか。 *z::send,; *+z::send,: を記述すると常に ; が表示されるようになったので もしやと思い *+z::send,: *z::send,; と表記したらうまくいきました。
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 21:38:27 ID:aLpAKfgd0] CAPSLOCKをCTRL(左)に置き換えるには どのように設定すればよいのかわかりません 旧雑記サルベージ lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/62 >CapsLockCtrl入れ替えは実現できず こういう情報がありますが やはりレジストリを弄るしかないのでしょうか
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 21:48:36 ID:PtNO3FlD0] >>163 Change Keyでサクッと弄っちゃえばいいじゃない ttp://www.forest.impress.co.jp/lib/sys/hardcust/keyboard/changekey.html
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 22:25:49 ID:Of1QsQUs0] テンプレ>3
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 22:45:33 ID:wR4WwhsC0] >>164--165 そうでしたか ありがとうございました
167 名前:名無しさん@お腹いっぱい。 [2009/01/30(金) 20:57:31 ID:w6m+xv+i0] TrackWheelの中の人です。 >>139 の症状としては依然として再発する・・・orz 詳しく書くと非クライアント領域(タイトルバーとかメニューとかサイズ変更とか)でマウス押下が効かない。 いろいろググってみたけど、 新・なまず日記(このスレでは既出中の既出)のIME状態取得のところで、 AttachThreadInput の多用で問題発生とのこと。 ttp://endoh-namazu.tierra.ne.jp/diary/?date=200512 TrackWheelは 危なさそうなのは ControlClick と Send かなぁ。。。 あとは自前の 組み込み用の PostAction で A_Cursor 参照してる。。。 AHKのコマンドをあまり使わずに DllCall でゴリ押しすれば何とかなるのかなぁ・・・ ちょっと根が深いかもしれないので、同症状で悩んでいる人は Ini で NoHide=1 でよろしく 自分は頻発するわけじゃないので [Alt] + [Tab]で逃げている。 >>141 すっかり見落としてた。ソフトウェア層でやっているので無理。 Hotkeyコマンドでマウスボタンに割り当てているんで、何らかの方法(ホットキー割り当とか)で Hotkey, *MButton, Off とかで一時的に解除するとか
168 名前:158 mailto:sage [2009/01/30(金) 21:53:26 ID:HlJEMNMH0] >>167 >A_Cursorの参照 >A_CaretX(Y)の参照 >ControlClick >ControlGetFocus >ControlFocus >Controlコマンドの、Check,Uncheck やばい。バリバリ使ってる。特にControl関係は最近作ってる奴でテストしまくってた。 ってことは現象が出るのはTWじゃなくて自分が書いたスクリプトだった可能性も大だ orz ちなみにRC版導入以降、こちらでは問題は起こってないです。 (仕事が込んできてスクリプト弄る余裕がなかっただけかも知れないが)
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 22:44:06 ID:w6m+xv+i0] > ちなみにRC版導入以降、こちらでは問題は起こってないです。 発生していないなら何よりだけど、、、 >>140 書いた段階で単純なバグ(コーディングミス)を見つけて直したので、 4日くらいは大丈夫だったので、発生頻度は確かに減った気はする。 だけどさっき出たんで・・・。 原因はこっちだと思うなぁ。 というか、列挙されたコマンドってAHKでは肝なところだと思うし、 他スレッドに長い間(マウス押下中ずっと)アタッチしっぱなしって、想定してないはず。 というか、これも自体が的外れな見解なのかもしれないけどorz ちなみに、AHK の C++ のソースコードを分かりもしない癖にふいんき(何故かry で斜め読みしたら 1.0.42.02以降ではA_Cursor では実質使わないようになっているみたいだけど他は変わってない。
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 22:49:38 ID:HlJEMNMH0] 自分も今 ソース眺めてたんだけど、ControlClickもv1.0.45 以降の"NA"モードでは AttachThreadInput()使ってないみたい。 コメント読む限りでは AttachThreadInput()で何かしらの問題が起こることは作者氏も たぶん認識していて使用頻度は極力減らしているような印象。 (テキスト翻訳で適当に解釈してるから実際はわからんけど)
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/31(土) 12:06:50 ID:DjmYD3GA0] >170 あんまりそんな風には読めなかった。別のコメントならごめん。 ちなみに AttachThreadInput() は SetActiveWindow() するのに必要なはず。 // It was reported (and confirmed through testing) that this new NA mode (which avoids // AttachThreadInput() and SetActiveWindow()) improves the reliability of ControlClick when // the user is moving the mouse fairly quickly at the time the command tries to click a button. // In addition, the new mode avoids activating the window, which tends to happen otherwise. // HOWEVER, the new mode seems no more reliable than the old mode when the target window is // the active window. In addition, there may be side-effects of the new mode (I caught it // causing Notepad's Save-As dialog to hang once, during the display of its "Overwrite?" dialog). // ALSO, SetControlDelay -1 seems to fix the unreliability issue as well (independently of NA), // though it might not work with some types of windows/controls (thus, for backward // compatibility, ControlClick still obeys SetControlDelay). この(AttachThreadInput() と SetActiveWindow() を避ける)新しい NA モードは コマンドがボタンをクリックする時にユーザーがマウスを素早く動かしている場合に 信頼性が向上することが報告され(またテストを通じて確認され)ている。 加えて、新しいモードでは避けようとしなければ発生しがちであるウィンドウの アクティブ化を避ける。 「しかし」、対象のウィンドウがアクティブウィンドウである場合には、新しいモードは 古いモードよりも信頼性が高いとは言えないようである。さらに新しいモードには副作用が あるかもしれない。メモ帳の「名前を指定して保存」ダイアログで上書きするかを たずねるダイアログが表示されている最中に一度ハングしたことがある。 「また」、SetControlDelay -1 は同様に信頼性の問題を(NA とは独立に)解決するよう だが、動作しない Winow や Control が存在するかもしれない。 そのため、互換性のため ControlClick は依然として SetControlDelay の設定に従う。
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/31(土) 13:46:06 ID:g43WAhtb0] アウチ、AttachThreadInput()でgrepかけたら、コメントで 「AttachThreadInput()を避ける」みたいなのが結構出てきたんで勝手に解釈してた。 SetForegroundWindowEx()とかの中でも使ってるし、WinActivateする度に呼ばれてるのか コーディングを工夫して避けるは無理そう。 普通のホットキー駆動だとユーザー操作が発生してからのアクションが多いから あまり問題にならないみたいだけど 間隔短くとってタイマーぶん回して高度なことやらせるのは避けたほうが無難?
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/31(土) 16:44:41 ID:XA0EcD/m0] そこまで分かる人でもAHKを使うんだな
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 03:06:41 ID:Ul6ytoNp0] 2ストロークで特定の語句を出力したいのですが、 (以下では見やすくするため全角空白を使用してます) #v:: Input, InputChar, C I L1 T2,{Esc}, n, h if ErrorLevel=Match { if InputChar = n Send, win + v -> n if InputChar = h Send, win + v -> h } if ErrorLevel=Max { Send, %InputChar% } return これでは、 Win + v を押して n を押したときのみ正常に動作し、 それ以外の場合はまったく動きません。 意図しているのは Win + v, そして n で Send, win + v -> n Win + v, そして h で Send, win + v -> h Win + v, そして n と h 以外のキーで Send, win + v -> それ どこを変更すれば正常に動くのでしょうか
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 03:41:30 ID:+8QlN44X0] >>174 流行らせるページより >MatchList >「,」で区切って文字列を列挙する。 >入力内容がここに列挙したものに一致した場合、コマンドは終了しErrorLevelが「Match」になる。 >カンマ区切りだが、引数の区切りとは扱いが違い、カンマの前後の空白文字などは、文字列の一部とみなされる。 これが原因?
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 04:11:44 ID:Ul6ytoNp0] >>175 ありがとうございます!うまくいきました
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 16:20:16 ID:WFl1N4Nl0] 名前を付けて保存ダイアログってスクリプトから出せないのかな? ファイル選択ダイアログを表示・フォルダ選択ダイアログを表示 はあるんだけどなー。
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 16:32:19 ID:5OtrqmWb0] 選択ダイアログを出して ウィンドウタイトルとかボタンのテキストとか書き替えて 無理からControlとかでテキスト拾って 保存用に利用してみるとかw
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 16:35:34 ID:gM29b+OF0] FileSelectFileでできるだろ?
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 17:16:49 ID:WFl1N4Nl0] >>179 リファレンスよく見たら保存ダイアログにする方法書いてあるな 気付かなかった
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 19:02:57 ID:o14t9yXp0] アイドル状態ってどうやって調べてるんだろ? 5分ごとに、アイドル状態ならば検索ソフトのインデックス作成を行うように設定してるのだが、 Civilization4っていうゲームをプレイ中に、5分ごとにフォーカス奪われちゃってすごく困ってる。 なんか改善策ないかなー
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 19:09:30 ID:zLFlCA+70] 組み込み変数の A_TimeIdle や A_TimeIdlePhysical じゃ用はなさないってこと? というか、プレイ中と書いてあるけど、起動して放置中ってことか?
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 19:24:13 ID:nES9c2H30] Civilization4がどこまでマルチスレッド対応してるかにもよるかもね。 ウィンドウでもプロセス検知でもいいから、ゲームが起動中かどうかで判断するのが一番簡単じゃない?
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/01(日) 22:31:29 ID:IsdiFXGP0] スレッド毎のCPU占有率調べて処理すればいいんじゃね 除外設定付けておけば望みの動作になると思われ
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 00:37:36 ID:ghjeIC8V0] 直前に閉じたウィンドウを開くスクリプトは書けますか?
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 00:41:16 ID:/eytDMHF0] >>185 無理。具体的に言ってよ。 アクティブウィンドウを再起動させるのならできると思う。 直前に閉じちゃったのなら、常に何かしら監視していないといけないから面倒かも。
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 00:59:40 ID:1rUYw8J20] ワークステーションがロックされてる、で、パスワードを入れて復帰する。 この直後に処理を挟みたい。 OnMessageとかでトラップなのかな?
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 01:43:07 ID:ghjeIC8V0] >>186 操作ミスで閉じてしまったときに楽に復帰できたらいいなと思ったんだ。(´・ω・`)
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 02:02:47 ID:09XryvuG0] >>185 これか?外人がAutohotkeyで色々作っていたやつ。試してレス横瀬。 窓の杜 - 【NEWS】誤って閉じたウィンドウを60秒以内なら復活できる「GoneIn60s」 www.forest.impress.co.jp/article/2007/01/11/gonein60s.html
190 名前:185 mailto:sage [2009/02/02(月) 04:29:43 ID:ghjeIC8V0] >>189 サンクス!さっそく使ってみたので以下報告。結論としては不採用。 Alt + F4を押すとWinHideする仕組みらしい。で、 ・GoneIn60sのアイコン右クリックして閉じたアプリを選択 ⇒ WinShowで復帰。 ・指定時間後までに何もしない ⇒ WinCloseで閉じる。 なぜかWinKillでなくWinCloseだから、「保存しますか?」と出るはずのときに、 ・指定時間後までは何もなしで閉じたように見える。→後で急にあらわれて「保存しますか?」 となる。これは気持ち悪い。 しかも右上の×でも同様なんだけど、こっちはもっとひどくて、位置が正確でないから 誤動作する場合がある。最小化ボタンの位置で反応したり、閉じるに反応しなかったり。 WinHideの仕組みはいいアイデアだと思った。 ちなみに窓の杜の紹介記事からバージョンアップしてて、今はv1.4。
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 05:46:25 ID:BYiuvhuI0] DDWinというソフトの小窓をESCキーで閉じて 他のソフトの時は標準の動作をするようにしたいのですが Esc:: IfWinActive, ahk_class TDefForm { Send,WinClose } else{ Send,{Esc} } return だとDDWinの小窓では何も起きませんし それ以外のところでは xx hotkeys have been received in the last xxxxms Do you want to continue? というエラーメッセージが出てしまいます。
192 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 07:28:16 ID:ghjeIC8V0] >>191 このスレでhotkeys have been receivedを検索。 特定のウィンドウでの動作は #IfWinActive, ahk_class TDefForm ;ここに処理を書く。 #IfWinActive って具合に書くといいよ。
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 08:46:33 ID:BYiuvhuI0] >>192 ありがとうございます。うまく行きました。
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 22:31:32 ID:kP24v5Wa0] www2.atchs.jp/test/read.cgi/pcpc/5/l50 こちらもつかってください。
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 22:52:47 ID:99xZfHQW0] なぜ情報を拡散させたがるのか。 ここと流行らせるページの掲示板で十分だろ。
196 名前:187 mailto:sage [2009/02/02(月) 23:15:39 ID:1rUYw8J20] 自己レス。 WM_POWERBROADCAST(0x218)じゃ捕まえられないっぽいので、 フォアグランド窓をとれるかで判断した。 SetTimer, HogeHoge, 1000 HogeHoge: WinGet, fgId, ID, A if (!fgId) { Loop { WinGet, fgId, ID, A if (fgId) break Sleep, 1000 } // ここに処理を書く } return
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 19:09:41 ID:d0uBooiq0] あるウィンドウがアクティブなときのキー設定を #IfWinActive, WinTitle 1:: F1 2:: F2 3:: F3 という感じで書いています。 そのウィンドウが非アクティブのときでも、 Win+Space 1 のように2ストロークキーで 同様のキー操作ができるようにしようと、 #Space:: Input, key, C I L1 T2, {Esc}, 1,2,3 IfWinExist, WinTitle ControlSend, , key という感じに書いたのですが、当然というか 1,2,3 が直接送られるだけで、F1,F2,F3 になってくれません。 If key = 1 ControlSend, , {F1} というように逐一書いていくしかないでしょうか? 定義を二重に書かないといけないのでできれば避けたいんですが…
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 19:18:13 ID:qfq9gHtT0] 残念ながら無理(なはず)。 窓使いの憂鬱(のどか)とかkeyhacでいう「キーマップ」とか「キープレフィックス」に相当するものはない。 強いて言えば同じサブルーチンに飛ばすくらい。 ex) Gosub, 1 ; 1のキーに割り当てられている機能を呼ぶ
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 20:57:50 ID:LGJ9Ljgs0] ControlSend, , {F%key%} でできない? あと、そういう場合は Autohotkey_L の #if expression 使うと 楽に実現できそうな気がする。
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 23:23:58 ID:LGJ9Ljgs0] >>197 せっかくAutoHotkey_L使ってるので、試してみた。 あとこのスレでURL出てなかったので出しておく。 ttp://www.autohotkey.net/~Lexikos/AutoHotkey_L/ ;--------------------------------------------- #if WinActive("無題 - メモ帳") or (A_ThisHotkey=="#Space" and A_TimeSinceThisHotkey<=2000 and WinExist("無題 - メモ帳")) 1::msgbox, syori 1 2::msgbox, syori 2 3::msgbox, syori 3 #if #Space::Return ; A_ThisHotkeyに記録するために必要 ;--------------------------------------------- これでメモ帳がアクティブな時か、 メモ帳がある時にWin+Spaceしてから 2秒以内に各キーを押すと処理が実行されて、 そうでない時は普通に各キーが送られる。
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 23:26:30 ID:LGJ9Ljgs0] ちなみにキーマップはこんな感じで書ける。 ;--------------------------------------------- keymap:=0 Exit #if keymap==1 1::a 2::x #if keymap==2 1::b 2::y #if keymap==3 1::c 2::z #If ; F12を押すたびにキーマップ切り替え F12::keymap++ == 3 ? keymap:=0 : ;--------------------------------------------- AutoHotkey_L便利だと思うんだけど… こういう需要あんまり無いのかな?
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 00:16:05 ID:53JDVpb00] いや、あると思う。 窓使いの憂鬱とかでkeymapでの定義に慣れた人には断然分かりやすいとは思う。 というか _L って安定してる? ウニコード化してくんないかなぁ。
203 名前:199 mailto:sage [2009/02/04(水) 00:50:50 ID:mEq9h9q70] >>202 環境によるかもしれないけど、むしろ 俺の環境では本家より安定してるかな。 WinXP SP3。 本家の使ってるとスクリプトリロードさせた時に、 たまにエラー出るんだけど_Lだと今のところない。 単に俺の書いてるスクリプトがおかしいのかもしれないが… もし使う時に注意する事があるとしたら、 #if expression使う時に、時間かかる判定しないように 気をつけるくらいかな。一応タイムアウト時間も指定できる。 3ヶ月くらい使ってるけど今のところ不満は無いです。 Unicode化は…して欲しいね。
204 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 15:39:07 ID:MFTbk+bR0] 時間がものすごくかかる演算をDLLで組もうと思うんだけど 参考になるサイトとかないかな 中身は単純にfor文とかを大量に繰り返して結果を返す、といったものなんだけど ためしに extern "C" __declspec(dllexport) INT WINAPI extracter(int x){ return 5*x; } こんな感じのDLL組んでDLLCALLで呼び出してみたけど上手く動作しなかったんだ…
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 18:27:03 ID:k5e6IctL0] >>204 時間掛かる処理をさせるならLoadLibraryしてみたほうがいいよ
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 21:27:31 ID:Ut7+efCd0] >204 多分呼び出し規約が stdcall になってるので関数名を extracter@4 にすれば呼び出せるかも。
207 名前:206 mailto:sage [2009/02/04(水) 21:38:23 ID:Ut7+efCd0] 補足。 dll 側のコードはそのままで、DllCall するときに extracter@4 で呼ぶって意味ね。VC だと _extracter@4 かも。 @以降の数字は引数に使用するスタックのサイズ。今回は int が 1 つなので 4。 gcc だと -Wl,-kill-at というオプションを渡すと @ 以降がなくなって extracter で呼べるようになるはず。 VC 側の同等オプションは知らね。DEF ファイル使えば制御はできると思う。
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 23:14:11 ID:MFTbk+bR0] >>206-207 神 問題解決しますたありがと><
209 名前:197 mailto:sage [2009/02/04(水) 23:30:00 ID:uksORcM50] >>198-201 ありがとうございます。 >>200 の方法でできました。 >>201 とか面白いですね。
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 03:44:32 ID:He1nXNrH0] 白背景に黒い文字を書いた画像を用意して ImageSearchで*TransWhiteをオプションに指定したら真っ黒な場所に反応してしまう… 何か良い方法はないかな
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 03:58:21 ID:Ctlz88MC0] 初心者質問で申し訳ないんだけど、入力キー、回数、間隔時間を指定して 直前にアクティブなウインドウに対して、キー(コード)を送るスクリプトってどう書くの? 現状↓のような感じで詰まってる DefaultKey=Enter InputBox, OutputKey ,入力設定,KeyName で指定,,200,150,,,,,%DefaultKey% if ErrorLevel != 0 exit else counter = 1 Loop, 3 { SendEvent, {%OutputKey%} SetKeyDelay, 100 counter += 1 }
212 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 05:28:16 ID:JN8SH5jU0] 連続した入力 {BS 5}のように、「{}」で囲んで、右に数値を指定すると、複数回押すことができる。 って書いてるけど。
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 11:01:00 ID:6B3J8+du0] 212の言うように SetKeyDelay,100 SendEvent, {%OutputKey% 3} とするか Loop,3 { SendEvent, {%OutputKey%} Sleep,100 } でいいんでね? あとIfでExitしてるからこの場合の動作には影響ないと思うが 文法上はElseのあと { } で囲わないとまずくね?
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 14:59:25 ID:Ctlz88MC0] >>212-213 レス、サンクス やっぱ質問が悪かったか。今分からないのが、 ・入力キー、回数、間隔 を一括で各変数に入れる関数(方法) ・入力キーはKeyNameで指定じゃなく、キーコードを直接受け取りたい という感じ。ま、挫折するまで調べてみる
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 15:57:17 ID:rxk2q+A70] アクティブウィンドウのプロセスのフルパスを Autohotkey単体で取得することはできますか? Winget, OutputVar, ProcessName, A で実行ファイル名は取得できたのですが それから先がわかりません
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 16:12:39 ID:JN8SH5jU0] >>215 ほい、前スレから。俺が教えて貰ったんだけどw 47 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/08/25(月) 23:01:23 ID:O2etOCIT0 eamatの日記 ttp://d.hatena.ne.jp/eamat/ にあると思う 48 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/08/25(月) 23:22:03 ID:iVqjz6P/0 ttp://d.hatena.ne.jp/eamat/20050826 の一番下 これ大元は流行らせるページ管理人氏のなんだけどそっちは今見れないね。 削除されちゃったんだろか。結構需要あると思うんだけど。
217 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 20:19:48 ID:n8B6a3aC0] >>214 > ・入力キー、回数、間隔 を一括で各変数に入れる関数(方法) こんな感じか? HogeInputBoxを呼ぶと変数にキー名、回数、ディレイが入る Gosub, HogeInputBox return HogeInputBox: Gui, Destroy Gui, +LastFound Gui, Add, Hotkey, vKeyName Gui, Add, Edit, vCount Number Gui, Add, UpDown Gui, Add, Edit, vDelay Number Gui, Add, UpDown Gui, Add, Button,, OK Gui, Show WinWaitClose, % "ahk_id " WinExist() return ButtonOK: Gui, Submit return GuiEscape: return > ・入力キーはKeyNameで指定じゃなく、キーコードを直接受け取りたい キー名から頑張って変換する・・・かな。 というか、キーコードって手入力前提でないの? (上のサンプルだと KeyNameになるけど)
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 21:45:16 ID:dLfvsoZw0] 今押されているVirtualKeyCodeを得るならこんな感じ? #Persistent CoordMode,ToolTip,Screen SetTimer,TipView,10 Exit TipView: ToolTip, % GetAllVirtualKeyState(),0,0 Return GetAllVirtualKeyState(){ str:="",tf:=A_FormatInteger SetFormat, Integer, H Loop, 0x100 str:=str (GetKeyState("vk" SubStr(A_Index-1,3),"P") ? A_Index-1 "," : "") SetFormat, Integer, %tf% Return SubStr(str,1,-1) }
219 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/06(金) 03:17:46 ID:wnkD34rd0] クリップボードに変更があったらその内容をテキストファイルに追記する、 というのを作ったのですが、下のだと数時間経つと使えなくなってしまいます。 AHKを再起動すればいいんですが毎回再起動するのも面倒です。 何か対策とか無いでしょうか? #Persistent Clipboard= OnClipboardChange: Run,"テキストファイルに追記するソフト起動" tooltip clip sleep,300 tooltip return
220 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/06(金) 03:43:37 ID:/VPzv7st0] 俺も過去にそれを作ったことがあった。 クリップボードバッファの領域に、スクショ画像などのテキスト以外の 巨大データが出現すると、エラーメッセージなしにAutoHotkeyが死んでしまう。 解決策は見つからなかった。うまい回避法はあるのかな?
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/06(金) 05:09:20 ID:ka9EMbek0] >>201 を見て キーマップのきりかえができることにおどろいたので
222 名前:214 mailto:sage [2009/02/06(金) 05:58:59 ID:NAAOC5m30] >>217-218 こいつ・・・動くぞ、すげーー! >というか、キーコードって手入力前提でないの? 最終的に send,{vkXX} という感じでやった方が楽かなーと思ったので さて、>>218 の解読作業に移ります。ありがとう!!
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 02:39:29 ID:81yNBSmE0] >>216 参考になりました ありがとうございました
224 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 15:22:29 ID:WmNZzOvm0] スクリプト内にGUIを表示するサブルーチンが複数あって、 それぞれのGUIの中で同じ名前のボタンを追加した場合、 ボタンを押したときに呼び出されるサブルーチンを区別することは できないのでしょうか? ↓のようにすると二重定義でエラーになってしまいます。 Test1: Gui, Add, Button, , 1 Return Button1: MsgBox, 1 in Test1 Return Test2: Gui, Add, Button, , 1 Return Button1: MsgBox, 1 in Test2 Return
225 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 15:33:57 ID:AcAuyp/00] 押しいなぁ。 ボタン名省略時のデフォルトサブルーチンラベルまで分かってて、ボタン名重複時のところが分かってない、と。 もう一度解説読んでみ。
226 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 15:37:05 ID:AcAuyp/00] ん?もしかして Test1 と Test2 って別窓(GUI)にしたいのかな? だったら、GUI番号を変えた二つのGUIを用意するか、毎回破棄(Destroy)するとかすればいい。 どっちにしろサブルーチンラベルの重複で怒られるとは思うけど。
227 名前:224 mailto:sage [2009/02/07(土) 15:46:42 ID:WmNZzOvm0] >>225-226 あぁ G オプションってこういうときのためか Gui, Add, Button, GButton1inTest2, 1 でいけました。ありがとうございました。
228 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 18:34:02 ID:OHL9IjH/0] 語学関係のもの(英検、TOEIC、留学)がまったくない私が 語学について聞かれたらなんて答えるべきですか?
229 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 22:07:43 ID:vTbfdAUL0] ジュワワワジュワワ、 ジュワジュワジュジュワワワワワ?
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 22:16:28 ID:WFpsFaYj0] 面接官「ジュワ!ワタシジュワワイイビョウインシッテルヨワワ」
231 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 23:02:35 ID:SzMrA22TP] Vista環境だと、コンマ使うショートカット(#,::Run,cmd みたいな) のが動作しないみたいのがえらい不便だ。 これだけでXPに戻しそう…
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/07(土) 23:46:19 ID:+Kjk/oX50] >>231 スクリプトに何か問題があるんじゃない? Vista64Ultで普通に動く・
233 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/08(日) 13:37:15 ID:lpNI9P4b0] >>231 原因決め付けすぎわろた。 おいらもVista環境だけど、そのスクリプトでまったく問題なく動くぜ。 AutoHotkey ver 1.0.47.06
234 名前:名無しさん@お腹いっぱい。 [2009/02/08(日) 20:56:33 ID:sclNqxNe0] AutoHotKey.iniに、ウインドウなどを定期監視するルーチンをつけくわえたいと思っているのですが、 上手く動作しません。 AutoHotKey.iniの最後に以下のように書き足して、reloadしているのですが、SplashTextがでてくれないのです #Persistent SetTimer, OnTimer, 1000 return OnTimer: SplashTextOn,,, MAGE... Sleep, 2000 SplashTextOff return
235 名前:234 [2009/02/08(日) 21:13:15 ID:sclNqxNe0] SetTimer, OnTimer, 1000 をAutoHotKey.iniの先頭の方に記述したらいけました。 これだと、上記とSetTimerとOnTimerの位置がちらばってしまうので、 SetTimer, OnTimer, 1000 Goto, NextOnTimer OnTimer: SplashTextOn,,, MAGE... Sleep, 2000 SplashTextOff return NextOnTimer: +0::Send, 0000 : ;以下、ホットキーの設定が続く という風にAutoHotKey.iniの最初の方に書いたら、 今度は、NextOnTimer: の後のホットキーの入力が、起動時(reload時)に誤爆してしまうようになりました。 上記例では、0000が強制発動します。 この辺の挙動がいまいちわかりません・・・ どこかに記述はありませんでしょうか?
236 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/08(日) 21:14:11 ID:yKg3PII70] > AutoHotKey.iniの最後に以下のように書き足して ~~~~~~~ ってのがマズいんじゃないかと。 > #Persistent > SetTimer, OnTimer, 1000 この2行は多分ホットキー定義より後ろに書いてあると思うんで ファイルの頭に持ってきた方がいい。 頭から読んで順次実行するところ(Autoexecブロック)として扱われていない 死にコード担ってると思う。
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/08(日) 21:21:06 ID:yKg3PII70] うひ。解決してやがるw ttp://lukewarm.s101.xrea.com/Scripts.html#autoexecsection > スクリプトが読み込まれると、最初にReturnかExitが実行されるか、 > ホットキーラベルが記述されている行やスクリプトの終わりに達するまで、スクリプトが実行される。 > この部分のことを、auto-executeセクションと呼ぶ。 これは Gotoがあっても同じなわけ。 で、ラベルって関数じゃないから上から読んで実行するから Gotoで飛んで先のコードも順次実行するだけ。 要は > Goto, NextOnTimer を return にする
238 名前:234 mailto:sage [2009/02/08(日) 21:33:53 ID:sclNqxNe0] >>236 なるほどホットキー定義より先に書かないといけないんですね。 >>234 のコードを丸ごと先頭に書いても問題ない感じでした。 returnしてますけど、後ろのホットキー定義はちゃんと定義されるんですね・・・。 いろいろ試してみて、>>234 のコードをAutoHotkey.iniに書かずに、 別ファイルに書いて、最初に#includeするようにしても問題ない感じなので、 管理楽だしそっちで行ってみようと思います。 ありがとうございました。
239 名前:234 mailto:sage [2009/02/08(日) 21:34:56 ID:sclNqxNe0] >>237 記述もあったのか!理解が深まり助かりました。 ありがとう。
240 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/09(月) 22:16:03 ID:s0aAmitG0] キーのリマップで、キーリピートしないようにするにはどうしたらよいですか? 回数指定で1としても、Pauseキーなどからリマップしたものは リピートしてしまうようなのですが・・・
241 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/09(月) 22:25:30 ID:qaZxLjlv0] リマップは所詮リマップなので キーを Send したあとに、キーが離されるのを待つようにすればいい KeyWaitを使うと楽
242 名前:240 mailto:sage [2009/02/09(月) 23:33:15 ID:s0aAmitG0] >>241 なるほど、うまくいきました。ありがとうございます。 Pause:: KeyWait, Pause Send, {キー} return
243 名前:名無しさん@お腹いっぱい。 [2009/02/10(火) 00:02:17 ID:y3Hmn7JH0] このソフト今しがた知ったんだけど使えるようになるとかなり便利そうだなw コンピュータ言語知らない俺には敷居高いが・・・ 10分毎に同じ操作を永遠に繰り返させるのってどういうコードになるんだ?
244 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 00:05:43 ID:2gVYx17+0] タイマーでおk
245 名前:名無しさん@お腹いっぱい。 [2009/02/10(火) 00:08:18 ID:y3Hmn7JH0] >>244 上でも出てる SetTimer,OnTimer,xxxxxx でいけるわけね納得
246 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 02:28:03 ID:5/WxU7qW0] AutoHotkey楽しすぎ ちょっとした自動応答的なボタン押下とか (AutoPushButton win32がVistaで動かないし、ウインドウ検知方法も融通も利かなくて長い間代替探してた) 長い間最前面にでしゃばってくるスプラッシュウインドウを後ろに回したりとかしようとして、 Delphiでプログラムでも組むか、マンドクセ('A`)と思ってたことが、 思いついてからものの数分でできてしまうじゃないかー。 すばらしいソフトだ。 簡易言語だと心の底で馬鹿にしてて正直すまなかった。 ホットキー定義以外のことにも使い出してから、やたら普段の操作が楽になったよ。
247 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 04:00:00 ID:4LTAENh50] ウィンドウを作成してチェックボックスをクリックしたら タスクトレイに収納されてしまいます チェックはできているようなのですが どうすれば常にウィンドウを表示できるのでしょうか Gui, Add, Text, x10 y20 w90, test Gui, Add, Checkbox, vStateOK gCheckOK, ok ? Gui, Show, x100 y100 h100 w110, aaa Return CheckOK: GUI, Submit OK = StateOK Return #a::MsgBox,OK: %OK%
248 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 04:10:55 ID:CECmGA9+0] タスクトレイにあるアプリを右クリックしたときに出るメニュー これをPostMessageで実行したいのですが WinTitleには何を指定すればよいのでしょうか アプリのウィンドウを指定しても駄目みたいです
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 04:36:17 ID:0gok775Y0] >>247 GUI, Submit , NoHide 「NoHide」を指定すると、ウィンドウを非表示にせずに、変数への反映だけを行う。 >>248 とりあえずDetectHiddenText, On|Off を使ってるかどうかだね。
250 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 04:37:04 ID:0gok775Y0] はい間違えたー DetectHiddenWindows
251 名前:247 mailto:sage [2009/02/10(火) 04:38:07 ID:4LTAENh50] >>249 おお、ありがとうございます。
252 名前:248 mailto:sage [2009/02/10(火) 07:49:43 ID:s6avSLrT0] >>249 ありがとうございます 基本的なことだったんですね スレ汚し失礼しました
253 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/11(水) 20:27:22 ID:oCH0A50w0] どうにもうまくいかないので教えてください。 Firefoxでステータスバーに出るURLを取得しようとしているのですが StatusBarGetText WinGetText WinGetText では空白のままで何も取得できません。 どなたかFirefoxのステータスバーの情報を取得する方法を教えてください。
254 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/11(水) 20:53:00 ID:i+mKzUyY0] Window Spy で見たら分かると思うけど ステータスバー(に見える所)のクラスが ahk_class MozillaUIWindowClass なはず。 で、これって普通のウィンドウのステータスバーとは違ってAHKのコマンドじゃ情報とれない。
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/11(水) 21:20:11 ID:vlusE0/P0] operaとかffとか何かと難しいわな
256 名前:253 mailto:sage [2009/02/11(水) 21:26:56 ID:oCH0A50w0] 皆様どうもありがとうございます。 どうにもならん事もあるのですね。
257 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/11(水) 21:36:16 ID:PyctzTlz0] 流行らせるページのMouseGesture.ahkを使ってるのですが、他のスクリプトと同時にincludeができません…… #include MouseGesture.ahk #include aaa.ahk return とするとタスクトレイの右クリックメニューにはMouseGestureのメニューが追加されますが MouseGesture自体は動きません。aaa.ahkは読み込まれているようです。 #include 1.ahkの行を消すと普通に動きます。 説明のページに書いてある「Gosub,MG_Init」なども適当に追加してみましたが、 あまり変わり映えがしません…… 何が悪いのかどなたか教えていただけませんか;
258 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/11(水) 21:56:06 ID:eSu8v8vr0] じゃあ別々に動かせ
259 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/12(木) 18:55:35 ID:Cq/OSsWb0] ブラウザ上の画像を保存する関数ってないの?
260 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/12(木) 19:25:19 ID:nX4GYxrz0] ない
261 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/12(木) 23:46:28 ID:iXdCSKaG0] 作れば良いだけだがな 初心者は関数ってのは組込のを使うだけだと思ってるようだが プログラムでもスクリプトでもこういった言語では 関数ってのは作るものだから まあ中には関数が作れない言語もあるけど、これは該当しないし
262 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/13(金) 00:34:12 ID:EUev75pp0] 作るってもキーマクロでそ
263 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/13(金) 00:39:11 ID:tq73/xcp0] いや、あらゆる処理が作れるだろ、dll呼び出しもできるし
264 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/13(金) 00:52:14 ID:P/hV8GiU0] AutoScriptWriter使えばキーマクロっぽいこともできるんだよな ほとんど利用したことはないが。 >257 例によってAutoExecuteセクションの記述飛ばしてて引っかかってるんじゃね?
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/13(金) 01:15:10 ID:EUev75pp0] >>263 確かにそうだけどさ、、AHKの範疇は超えちまうわな AutoScriptWriter はテキストエディタのマクロみたく操作がコードになってくれるから 全然コマンドを知らない人が後からマニュアル見ながら改変するのには便利かなぁとは思う。 出来たコードはかなりしょっぱいけど・・・ マクロ登録の貧弱さという点で、UWSCとかより弱いと言われている点だな
266 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/13(金) 09:36:47 ID:PZx5JzBI0] >>259 (比較的)楽な方法 ・キーマクロで何とかする ・適当なダウンローダ探して連携する ・URLDownloadToFile でhtmlを取得して、リンク抽出して個別に落す そりゃ、comやdll使えば何でも出来るだろうが、 やはりそこは作成者・利用者の技能と、それを現実的なコストで作れるかというのも考慮すべきではないかと。
267 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/13(金) 12:37:16 ID:P/hV8GiU0] ああ、ID:EUev75pp0 の言ってるキーマクロっていうのは Send や MouseClick によるキーエミュレーション動作のことなのか。 まんまエディタのキーボードマクロみたいな、ユーザー操作を記憶して 再実行してくれるものを想像してたから混乱したわ
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 04:16:50 ID:CZpXyFEM0] C などの unless って Autohotkey では使用できないのでしょうか unless に相当する物をしようしたいときは if hoge = 1 else { msgbox,hello! } こういう風に書くしかないのでしょうか それとももっとスマートな書き方があるのでしょうか
269 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 06:39:35 ID:xPcJgk5F0] 論理否定
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 07:54:37 ID:TE2mD3kq0] if hoge != 1
271 名前:名無しさん@お腹いっぱい。 [2009/02/14(土) 08:20:50 ID:iCnD4vMa0] >>269-270 ああ、なるほど 単純なことなのに分かっていませんでした ありがとうございます。
272 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 10:14:14 ID:dHhfIlz20] >268 C に unless はないべ。Perl とか Ruby にはあるらしいが。
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 12:25:08 ID:wQWZhHiF0] unlessって使う機会ある? ド・モルガンの法則を使えばいいだけじゃん。
274 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 13:19:42 ID:T1oNA6o40] iniファイルに書いたkeyをHotkeyにアサインした場合ってどう書くの? test.ini +++++++++++++++++++++ [hoge] Key=#z +++++++++++++++++++ IniRead, h_key, test.ini , hoge, Key ;MsgBox , "%h_key%" ;ちゃんと値は取得できている h_key:: ;↑ダメ %h_key%:: ;↑ダメ "%h_key%":: ;↑ダメ
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 14:30:36 ID:7OA6UMgE0] Hotkey, %h_key%, Label で普通に割り当てできるが?
276 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 15:21:43 ID:7uL3RWEi0] 惜しいなぁ。実に惜しい。 まぁ、>>275 の言うとおりなんだけど。 ラベルの方を動的に変えようっていうのはちょっと驚いた。 ホットキーラベルもサブルーチンラベルの一つ。 かつ、有効なホットキーラベルとして使える文字で構成されていなければならない。 ソース見たりしたわけじゃないけど、 AHKは起動(初期化)時にスクリプトを全部見て「::」のあるラベルを探して、 Hotkey, 「キー名」, 「キー名」 相当の事をしてホットキー登録しているはず。 で、これは実行するスクリプトのAutoexecブロックより先に行われている(はず)。 で、なんで>>274 が駄目かっつーと エラーダイアログ見れば分かると思うけど、実行時エラーじゃなく、 パース時のエラー(文法エラーとか)でしょ。 初期化時には、 h_key なんつー有効なホットキーはないし、 ユーザが使える変数なんかも無いわけで初期化エラーになる。 上から順に書いてあってその通りに処理しているように見えるけど実はそうじゃない。 IniRead までたどり着いてない。
277 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 17:55:29 ID:bE1sAjs50] WinSet,Topの >システムの設定によっては動作しない。 の条件ってなんだろう?
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 20:29:40 ID:FTwXZkWh0] >>276 なぁオマエ一言多いとかリアルで言われないか?
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 20:58:12 ID:mkT/24Fx0] >>278 オマエ一言多い
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 21:24:53 ID:sliL46ld0] >>279 オマエ一こt(ry
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 21:53:18 ID:fL3JIfIu0] トレイアイコンをクリックしたら実行するってどうやるの?
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 12:01:39 ID:VXj0TK7a0] なんつーか、大したことないんだが274みたいな奴って発想力が面白い。 プログラムってスキルも大事だが発想力だと思う瞬間だったよ。
283 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 14:03:58 ID:BLcyg5Ix0] 以上、本人でした。
284 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 14:16:47 ID:4Lz/N4h80] ( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
285 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 16:34:58 ID:WX2c84/Q0] まあ、スマートではないな>>276
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 02:28:52 ID:mgBRF9yu0] SetTimerで WinGetPos,, Ypos,,, A if (Ypos <= 30) WinMove, A,,, 19,,,, Ypos = return というのを回していると、Firefoxで右クリックメニューが一瞬で消えてしまいます。 間隔を500〜2000にしたり、同じ事をLoopでやってみても同じで、この現象が起きるのは Firefoxだけです。 どうかアドバイスお願いします
287 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 03:13:35 ID:mMn42qaU0] if(Ypos <= 30 && Ypos != 19) にしたらええんじゃないのか?
288 名前:名無しさん@お腹いっぱい。 [2009/02/16(月) 03:19:38 ID:axPHiozx0] クリックすれば指定されたurlに飛ぶような文字列を msgboxで出力したいのですがどうすればよいのでしょうか たとえば MsgBox,0, test,google という出力をして、そのgoogleの部分をクリックすればwww.google.co.jp/ に飛ぶのです。 htmlが使えるなら MsgBox,0, test,<a href="www.google.co.jp/ ">google</a> こういうことです
289 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 05:21:27 ID:w558LR820] >>288 GuiかMenu。 ポップアップメニューだと一回一回消えるから、Guiでつくればいいかもね。
290 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 05:25:35 ID:w558LR820] >>281 流行らせるページの「タスクトレイアイコン操作」で望みが叶うかも。 何を望んでいるのかはわからんが。
291 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 05:39:14 ID:w558LR820] >>286 簡易の絶対領域みたいだね。TTBaseプラグインでもあったな。
292 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 06:36:37 ID:DfB2sRU60] >>289 なるほど その手がありましたか やってみます
293 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 09:20:33 ID:HnxszwKY0] >>291 質問者じゃないけど、どういう事か教えてくれまいか
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 09:29:13 ID:gRNTeVF80] ggrksが来るぞ
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 10:28:05 ID:m36Y1Mz60] 絶対領域はググっても違うもんばっか出てくる。 www.forest.impress.co.jp/article/2008/05/15/zettai.html
296 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 13:34:08 ID:w558LR820] あれ?違った?>>295 みたいなことをしたいのかと思ったわw混乱させてゴメンね。
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 15:56:36 ID:dAYg3thQ0] >>290 それってタスクトレイアイコンを直接操作するためのものじゃないの?
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 22:15:59 ID:mgBRF9yu0] >>287 即レスくれたのに遅くなってすみません、 if(Ypos <= 30 && Ypos != 19)にしたら快適動作で幸せです。 && Ypos != 19が必要だった理由が今ひとつ分かっていませんが勉強してみます。 有難うございました
299 名前:名無しさん@お腹いっぱい。 [2009/02/17(火) 00:33:23 ID:Uxje6XHz0] guiでウィンドウの中に exit ボタンを作成し そのボタンを押すとそのウィンドウを閉じるだけの物をつくりたいです はやらせるページのにあるものを使用して次のような物を作ったものの うまく動きません Gui,Add,Text,,testtest GUI,Add,Button,,Exit gui,show ButtonExit: ExitApp どこを直せばよいのでしょうか
300 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 00:43:51 ID:p7oLYgT60] gui,show return ここで終わらせないとExitAppまでいっちゃうぞ。
301 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 01:20:14 ID:Uxje6XHz0] >>300 あ、普通に動きました そりゃそうですね ご指摘ありがとうございます。
302 名前:274 mailto:sage [2009/02/17(火) 01:36:11 ID:ChZCT6AI0] >>275-276 ありがとうございます。無事できました。 276さんの書いていることは自分なりに勉強になりました。 便乗するようで悪いのですが、多重起動をしようとする際現状だと英語のメッセージが出るんですが Menu, TRAY, NoStandard のように消して、日本語にすることって可能でしょうか?
303 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 02:38:11 ID:t03ashNM0] ドッカーン! (⌒⌒⌒) ||| _____ /::::::::::::::::::::::::::\〜プーン /:::::::::::::::::::::::::::::::\〜プーン |:::::::::::::;;;;;;|_|_|_|_|〜プーン |;;;;;;;;;;ノ∪ \,) ,,/ ヽ〜 |::( 6∪ ー─◎─◎ )〜 |ノ (∵∴ ( o o)∴)〜 | ∪< ∵∵ 3 ∵> ムッキー! \ ⌒ ノ______ \_____/ | | ̄ ̄\ \ ___/ \ | | | ̄ ̄| |:::::::/ \___ \| | |__| |:::::::| \____|⊃⊂|__|__/ / |:::::/ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 14:45:20 ID:Bio3yT//0] やろうと思えば、ウィンドウの監視と COntrolsettextで出来なくもなさそうだけど…
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 04:54:19 ID:ZSSUooit0] 若干スレ違いかもしれませんが、 WindowsのHDDコントローラ(ATA)のモードが、 UDMAになってるか、PIOになっているかを、 ahkから読み取るには、どのようにすればできそうでしょうか。 何台もPCを使っていると、いつのまにかPIOになっていることがあったので、 それを起動時にチェックしてバルーン通知したいと考えています。
306 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 12:29:43 ID:YsZiDyJK0] レジストリの値を読むとか?
307 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 17:28:59 ID:o28us3FR0] 括弧 { を入力した後 } を加えてカーソルを中に入れるように ~+[::Send,}{left} return と記述したのですが } と{left}しか送られません 他の括弧は たとえば<> 同じように ~+,::Send,>{left} return でうまくいってるのですが、どのようにしたら {} でも成功するでしょうか?
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 19:06:54 ID:FVUyG2Or0] >>307 つ 特殊記号のエスケープ ttp://lukewarm.s101.xrea.com/commands/Send.html
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 19:34:48 ID:29d3Le160] 俺も>>231 みたいに「 , 」(コンマ)を使うホットキーが使えなかった。 コンマ使うホットキーを今使いたいわけじゃないが、 もし必要になった時に困るので調べてみた。OSはWinXP SP3。 以下試したこと ×Hotkeyコマンド( Hotkey,% ","〜 ) ×Hotkeyラベル( ,:: 〜 ) ×GetKeyState(",","P")→状態取れず ×本体バージョンをあれこれ変えた ○別PCで同じスクリプトを試した(WinXP SP2) ○「 vkBCsc033 」形式で書く vkBCsc033を使った方が確実かもしれない。
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 20:56:25 ID:o28us3FR0] >>308 ありがとう 解決しました
311 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 00:32:15 ID:nBgazVqW0] >>219-220 これの解決法ないでしょうか? 似たようなスクリプト作ったんですがやはり数分すると クリップボードの監視が無効になってしまいます。
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 00:58:08 ID:YWf8g0hR0] timerでreload仕込むとか
313 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 11:09:45 ID:KfP6MoHK0] OnClipboardChange: じゃなくて ClipWaitで監視してみるとか? あとはAPI のクリップボード関数で直接弄るか。 関係ないが、クリップボード内容がEXCELデータのときに ClipboardALLで丸ごと待避しようとするとExcelがハングする。 DllCall("GetClipboardOwner",Int) でオーナーウィンドウを調べて Excelがオーナーの時は テキスト内容だけ保存するようにして回避してるがちと面倒だ。
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 11:41:34 ID:KfP6MoHK0] そういや昔あったクリップボードユーティリティースレでもこの手の話題あったな。 確かクリップボードの変更通知はクリップボードビューアチェインに接続されたソフト間での バケツリレー方式で伝えられていくので、間に行儀の悪いソフトがいるとチェインから勝手に 外されてしまって、それ以降の変更通知が受け取れなくなるって話だったような。 巷によくあるクリップボード系ユーティリティーでは定期的にチェイン接続し直すことで 対策を取ってるとかだったと思う。 よくわからんがAHKでも ONMessage()で CallBackサポートされてるし、具体的なサンプルは clcl のソースとか見ればたぶんできるんじゃね。 英語できるんならAHK作者氏に対策方法添えて要望出すのが手っ取り早いとも思うけど。
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 12:09:33 ID:BAYW6hF70] 流れ無視して悪いがさっぱり分からんので、教えて頂きたい 例えば、 -t C:\Documents and Settings C:\Program Files というような文字列を、 -t "C:\Documents and Settings" "C:\Program Files" というように、パスっぽい文字列に引用符をつけるには、 どうすればいいのだろうか?
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 12:53:07 ID:IHzf1wv30] 文字列の中に実在するパスがあったら囲む、くらいじゃないの
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 13:27:25 ID:IHzf1wv30] 適当に作った。かっこ悪い。 Hoge(str) { StringSplit, arr, str, %A_Space% idx := 0 Loop { if (idx++ >= arr0) break c := arr0 - idx Loop { p := arr%idx% Loop, %c% i := idx + A_Index, p .= A_Space . arr%i% if FileExist(p) { arr%idx% := """" arr%idx%, idx += c, arr%idx% := arr%idx% . """" break } if (c-- < 1) break } } Loop, %arr0% ret .= ((A_index > 1) ? A_Space : "" ) . arr%A_Index% return ret }
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 13:39:31 ID:BAYW6hF70] >>316-317 ぐはっ、わざわざ作って頂けるとは! よくそんなすぐに作れるな、初心者からすれば驚愕ですよ ありがとー
319 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/20(金) 18:36:07 ID:+ofqUOOa0] vistaじゃFileSetTime使えないのかな
320 名前:名無しさん@お腹いっぱい。 [2009/02/21(土) 21:01:51 ID:FzZoDrMY0] FirefoxにAlt+Rで、戻るを割り当てたいのですが、 autohotkeyからPostMessageを送って設定することは可能でしょうか? 可能であるなら、下の0x111,28690,0,,A に相当する値をお教えいただけないでしょうか? m(__)m !R::PostMessage,0x111,28690,0,,A ;// 戻るを割り当てたい firefoxでPDFを開くとフォーカスがacrobatに奪われるので、 autohotokeyを使って、戻るのキーを割り当てられないかと試行錯誤しております
321 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/21(土) 21:52:11 ID:0EOzQQjN0] うちは↓でいける @Fx3.0.6 on XP SP3 #IfWinActive, ahk_class MozillaUIWindowClass !Left::Send, {Browser_Back} !Right::Send, {Browser_Forward}
322 名前:320 mailto:sage [2009/02/21(土) 22:10:01 ID:FzZoDrMY0] >>321 ありがとうございます 助かりました
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 20:03:09 ID:qnu0ZxRB0] 自分も前から気になってたけど、FirefoxはSendMessageとかPostMessageは受け取らないのでしょうか? 非アクティブのままにautohotkeyから操作したいんですけど?
324 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 20:13:46 ID:q+YO7qML0] ご存じの通りマルチプラットフォームのものでWin専用って訳じゃないから、 ウィンドウメッセージ受けとってもスルーされるものが多いと思う。 WM_MOUSEWHEEL とか WM_KEYDOWN/UP などは受けとってそれなりに動く。 メニューバーやステータスバーもウィンドウズのものじゃなく独自に作ったもの。(>>254 参照) Firefoxだけじゃなく Java とかもそうだけどそういうのをコントロールするのはちと厳しいね。
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 22:56:59 ID:lt/+4kjg0] 確実性には乏しいかも知れんが ControlSend か ControlClick あたり試してみたらどうだろうか
326 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 22:58:01 ID:qnu0ZxRB0] >マルチプラットフォーム これをすっかり忘れてました、そう言われると出来なくても当然って感じですね ありがとうございました。
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 23:19:18 ID:qnu0ZxRB0] >>325 ありがとうございます。 今ちょっと試してみたら、ControlSendでなりそうです。
328 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 00:59:34 ID:chhOXYqK0] Enterを右Ctrlにするやり方がわかりません。 Enter::RCtrlでBSを入れようとすると Enter+Hで1回はBS入るけど、 Enter押したままもう一度Hを入れると こんどはそのままHが入力されます。 どうしたらいいんでしょうか?
329 名前:名無しさん@お腹いっぱい。 [2009/02/23(月) 07:31:59 ID:xVptRsNb0] コロンのhotkeyに割り当てる方法はないでしょうか? :::Send,{A} ;// : をAに割り当て vkBAsc028::Send,{A} ;// : をAに割り当て のどちらで設定しても、:のhotkeyが有効になりません セミコロンだと以下で割り当てられるのですが… vkBBsc027::Send,{A}
330 名前:名無しさん@お腹いっぱい。 [2009/02/23(月) 21:29:51 ID:6awX2jgS0] AutoHotkeyを流行らせるページ lukewarm.s101.xrea.com/ ↑の入力置換関連部分を無視すればAutoIt3の日本語ドキュメントになる? しかしAutoIt日本語ドキュメントなさ杉
331 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 23:50:07 ID:KDZEcOqx0] 結構書き方違う
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 03:37:01 ID:mnDWmi6d0] mayuでは難しい部分を、最近ahkで作り始めました。 VIMが1枚だけ存在したらアクティブに、 2枚以上存在したらリストを表示するようにしたいのですが、 以下の状態で既に詰んでます...どなたかご教示願います。 #^+!f2:: SetTitleMatchMode,2 WinGet, title, Count, - GVIM If %title% = 0 MsgBox, none else if %title% = 1 MsgBox, vim else MsgBox, %title% ウインドウ数は取得できてるようなのですが...
333 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 03:48:04 ID:nmUnQgbz0] If title = 0
334 名前:332 mailto:sage [2009/02/24(火) 04:06:13 ID:mnDWmi6d0] >>333 ありがとうです! 盲点でした。
335 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 06:40:25 ID:9IBsCb9z0] 変数は常に%%で囲むっていう風に統一してくれればいいのに。
336 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 08:53:53 ID:hmO2qa6n0] if 1 = 0 こんな書き方になっちゃうもんなぁ。
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 09:20:34 ID:ZrVDgkhH0] 文字列リテラルは一般の言語様式に合わせてくれた方がいいな シングル・ダブルクォートで囲むとか
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 15:13:52 ID:10tP/ti50] SandS.ahkの2008.09.21版かそれ以降のものがほしいのですが、どなたかお願い できないでしょうか。
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 15:23:09 ID:A2x/mr5E0] あぷろだにまだ上がってるよ lukewarm.s101.xrea.com/up/file/089.zip でも SandS だったら前スレ264のがシンプルかつスマートでいいと思う。 > 264 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/09/21(日) 22:24:04 ID:jd9yjK/i0 > 自分の Shift & Space はこれ。 > > Space Up:: Send, % "{Shift Up}" (A_TimeSincePriorHotkey < 200 ? " " : "") > +Space:: Send, +{Space} > >+Space:: Return > Space:: RShift
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 16:20:53 ID:10tP/ti50] >>339 どうもありがとうございます。とても助かりました。 (A_TimeSincePriorHotkey < 200 ? " " : "") てあたりが気がきいていると思いました。
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 14:47:02 ID:qGUJzHwS0] 最長マッチのHotstringを作りたいのですが どうすればよいのでしょうか
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 17:32:35 ID:zx85xhcp0] Feb 25, 2009 Version 1.0.48 is released.
343 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 18:09:02 ID:N/JDSNBe0] パッチ等を当てずに安心して2バイトコードを使える日は、いつになるのだろうか・・・
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 21:06:58 ID:eljuCyAE0] ttp://www.autohotkey.com/changelog/ の適当な訳 1.0.48 - February 25, 2009 ■互換性 後方互換性に影響するであろう変更は、今回より、変数に格納された浮動小数点値が高精度なったこと。 数値精度の差に依存するスクリプトは精査して、更新する必要があるかも。 "SetFormat Float" (例: SetFormat, Float, 0.6) を *各所* で利用することで互換性が維持できるはず。 「SetFormatフロート」は高精度値を不活化するけど、新しい速い浮動小数点演算のうちのいくらかを使わない。 ■パフォーマンス このリリースの主なテーマはよりより速い実行。 スクリプトはほとんどすべてより速く実行できるはず- 特に式とか整数の評価の多用では(場合によっちゃ通常の3倍!)。 完全なる恩恵を得るには、スクリプトは、SetFormatを使用しないようにするべきか、あるいはSetFormatの速いモードを使用するべき。
345 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 21:07:22 ID:eljuCyAE0] ■性能改善 - 式と関数のコンパイルをコッテリとさせて、より速くなった(とくに複雑な製数式で、カンマも含む) - 変数に格納されたバイナリ数値をキャッシュさせて文字列(から/へ)変換するのをやめるようにした。これで変数の算術演算が速くなった。 - 式やマッチ/比較コマンド内でのリテラルの数値をバイナリ数値とするようにしたことにより速くなった。例) X+5 とか "if x > 5" - ブロックを持つループやIFやELSEを "{" をスキップすることで速く実行できるようになった。この結果、"{" が ListLinesで省略されるようになった。 - スレッド作成のパフォーマンスの改善、OnMessage(), RegisterCallback(), GUIイベントの rapid-fireスレッドを補佐する。(註:よくわからん) ■既存スクリプトに影響するかもしれない変更点(トップで記述されているより高精度な浮動小数点以外のもの) - "SetFormat, Integer, Hex" が有効な場合、リテラルの10進値を変数に格納するときに16進数に変換する。これは普通表示用途なはず。 - OnMessage()パフォーマンスについて、メッセージ番号とHWNDは無条件で16進数でなく通常の数値としてやってくる。これは通常表示用となはず。 - パフォーマンスにおける様々な改良を達成するために、スクリプトは今よりちょっと多くのメモリを使用する。(変数と式の数に比例している) - if var is time" と "YYYYMMDDHHMISS"形式のタイムスタンプを変更・修正し、月の範囲が1-12内に無い場合不正なものとして認識するようにした。[ニックありがと] - Dynamic関数呼び出しを変更・改善し、関数に定義されたパラメタ数よりも多いものも許容するようにした。このときパラメタは評価はされるが破棄される。[Lexikosが開発(註:Autohotkey_Lの人)] ■その他の変更点 - Autohotkey_Lより追加 → IsFunc() / while-loop / assume-static / A_IsPaused / A_IsCritical / WheelLeft と WheelRight - NumPutで UInt64をサポート - UPXを変えた
346 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 21:11:50 ID:eljuCyAE0] バグフィックスは面倒なので割愛w #if は取り入れなかったのかぁ・・・残念
347 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/27(金) 00:57:18 ID:aRIZ1QSP0] 複数のウインドウを高速に一度に前面にもってくることってできないでしょうか? 今は、10枚くらいあるウインドウをWinActivateとLoopで前面化を行っていますが、 かなりまったりと順番に前面にでてきてしまいます。 もとパッっと出すことはできないものかなあと思いまして。 今はこんな感じでやってます。(指定のexeのウインドウを全部前に出す例) +^!e:: Process, Exist, MageMogeChart.exe if ErrorLevel = 0 return WinGet, id, list, ahk_pid %ErrorLevel% Loop, %id% { StringTrimRight, this_id, id%a_index%, 0 WinGetTitle, this_title, ahk_id %this_id% WinActivate, ahk_id %this_id% } return
348 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/27(金) 01:25:30 ID:c+2Jobtp0] SetWinDelayでコマンド発行後のウェイトを指定してやる。 ウィンドウの重なりが逆順になると思うけど。 v1.0.48用で書いてみた SetWinDelay, 10 Process, Exist, (ここにExe名) WinGet, list, LIST, ahk_pid %ErrorLevel% while list>0 { WinActivate, % "ahk_id " list%list% list-- }
349 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/27(金) 20:30:19 ID:uqsx4u4h0] DELL LATITUDE E6400でTrackWheel(VER. 20081206)を使ってたんだけど しばらくぶりにバージョンアップしようと最新版/RC版に変えてみたら中ボタンに反応しない。 なんてこった。
350 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 00:25:24 ID:X+HJqC5y0] ショートカットキーが付いてないソフトのボタンにahkでキーを割り当てたいんですけど各ボタンを指定するにはどうすればいいですか?
351 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 00:39:59 ID:imLzKJgB0] ものすごい放置してた。久しぶりにソース見た。思い出すのに時間がかかった。 >>349 AHK v1.0.48 だと DllCall の Return Type を指定するとうまくいかないところがある。 983行目の最後の ,"Int" を外すと動くかもしれない。 というか、反応しないって事はホットキーのアサインがうまくいってないかも。 全く構造が違うので、Iniは去年のものは流用できないっす。 >>350 1) ControlClick を使う WindowSpyで独自のボタン情報がとれるなら 直接指定モードでいいはず。 情報がとれないなら、座標指定モードで(ツールバーならこっち)。 2) ツールバーのコマンドを調べてウィンドウメッセージを送る(玄人向け) ttp://lukewarm.s101.xrea.com/myscripts/index.html の "Inspecting Toolbar IDs" を使って PostMessage を使って WM_COMMAND を送る
352 名前:349 mailto:sage [2009/02/28(土) 07:36:34 ID:ZNlNraZX0] >>351 どうも ・1.0.47でも1.0.48でもダメ ・1.0.48で983行目の最後の,"Int"外してもダメ ・iniは流用していない で、iniのButton=MButtonを=RButtonにしてみると反応する。スクロールもできる。 けどボタンを離してもスクロールのモードから戻ってこない。 てな状況です。
353 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 20:06:00 ID:imLzKJgB0] >>352 中ボタンで反応しないのと、右ボタンで暴走したままなのは別事象っす 中ボタンの方だけど、メイン画面開いて Ctrl+H かメニューから View→Hotkeys... でホットキー一覧出して m-hook *MButton って出てたら、ホットキー登録は問題ないはず。なってないなら大問題・・・。 そうなっているのに動かないなら他のユーティリティが影響していると思われる 確認をお願い > RButtonにしてみると・・・モードから戻ってこない こっちはバグですな・・・ 間違えた記述のあるサイトのソースを丸々パクっていたため。考えもせず置換して使ってたorz 誤: TW_RBUTTONDOWN:=0x205 , TW_RBUTTONUP:=0x206 正: TW_RBUTTONDOWN:=0x204 , TW_RBUTTONUP:=0x205 650行目あたりから,、それぞれ2カ所あるっす # 色々直したら zip で置き直す予定
354 名前:349 mailto:sage [2009/02/28(土) 22:00:14 ID:ZNlNraZX0] >>353 > m-hook *MButton 出てます。 他のユーティリティか、うーん。旧バージョンは動くのになー。 とりあえずmsconfigで診断スタートアップにしてみたけどダメでした。 RButtonではちゃんと動くようになりました。
355 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 23:58:39 ID:imLzKJgB0] 旧verで動かしてたんだからそこに問題はないとは分かるんだけど、一応って事で ・・・そうなると機序的に何処に問題があるかは、今はちょっと分からないっす 一応、ソースもう一度読み直ししてみるっす
356 名前:350 mailto:sage [2009/03/01(日) 03:43:58 ID:Rc2HQ5QJ0] >>351 ありがとうございました ControlClickでいけました
357 名前:349 mailto:sage [2009/03/01(日) 20:30:20 ID:GJkhTa1h0] >>355 お手数かけてすまそ。 中ボタンに反応しないって書いたけど、 TWを起動している状態ではアプリケーションでの中クリックも効かなくなってるので TW自体は一応反応してる気がします。
358 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 10:53:15 ID:3PFCvLeG0] >>348 SetWinDelay で指定してみたら、瞬時にとはいきませんがかなり早くなりました。 最新のはwhile使えるようになったんですね ありがとうございました。
359 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 15:03:15 ID:4Ix+9L8p0] AutoHotkeyでmacのDashbordみたいなの作れないかな と自分で無理なことを言ってみる
360 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 22:51:10 ID:zVxOqqcX0] ダブルクリックとドラッグの挙動をカスタムしたいんですが、見つかりません コマンド教えてください
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 05:08:22 ID:ZvTbo6At0] +WheelDown::WheelUp このスクリプトでしばらくは正常に動作するのですが 71 hotkeys have been received in the last 577ms. というメッセージが出てきます。 どういうことでしょうか?
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 05:10:50 ID:pYSwiV1N0] スクリプトの冒頭で #MaxHotkeysPerInterval 200 と書くと良い
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 05:22:01 ID:ZvTbo6At0] #MaxHotkeysPerInterval 300でいけました ありがとうございます。
364 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 15:08:04 ID:VwNNjCy00] Dllcallを使いたいのですが、構造体というものがわからないのでちょっと質問させてください。 AHKで構造体を使うというのは、 メタボかどうかを判断したいので、健康診断の記録から ・体重と腹回りの項目を見ろ(構造体) ・上から3行目の数字と、上から7行目の数字を見ろ(AHKの強引な手段) といった感じで、メモリの位置を直接指定しているといった認識でおkでしょうか。
365 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 15:52:18 ID:rkwP19PJ0] Cも何も分からんけどAHKでゴリゴリDllCall使っている漏れの私的な見解 > メモリの位置を直接指定しているといった認識でおk たぶんそう 構造体って言語仕様でも何でもなく、 「ある番地を起点に確保したメモリの使い方はこうするんだぜ」 って決め方だと思ってる。(言語でサポートされているのは使うのは楽らしいけど。) だからVarSetCapacityとかでメモリ領域確保してアドレス渡しすれば結構使えちまう。
366 名前:名無しさん@お腹いっぱい。 [2009/03/04(水) 23:33:02 ID:oTTwde4w0] suspend 時のアイコンを変更できない物でしょうか?
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 08:18:57 ID:7I9asjSe0] ttp://www.autohotkey.com/forum/topic22975.html
368 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 09:07:32 ID:DThF++lC0] >>367 いやコンパイルせずにソースを実行するときに アイコンを変更することができない物かと 試行錯誤をしていました 無理っぽいですね ありがとうございます
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 09:32:36 ID:UhjQBASr0] 会社でahkを使ってたら、Hなダイヤルアッププログラムと誤解された
370 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 11:37:52 ID:rcFfvT/S0] A(在り得ないほど) H(えっちな) K(娘通信) ?
371 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 11:47:21 ID:lgTNReVh0] >>366 メニューは作り直すしか無さそう。 menu, tray, NoStandard menu, tray, icon, shdoclc.dll, 1, 1 menu, tray, add, Suspend Hotkeys, suspend_hotkeys menu, tray, add, Exit, ExitSub return suspend_hotkeys: suspend menu, tray, icon, shdoclc.dll, % A_IsSuspended+1 ", 1" menu, tray, togglecheck, Suspend Hotkeys msgbox, suspend return #s:: suspend, permit gosub, suspend_hotkeys return ExitSub: ExitApp
372 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 12:01:41 ID:lgTNReVh0] あ、俺勝手にトレイアイコンの事だと判断しちゃったな・・ 違ってたらスマン
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 12:28:12 ID:GNmqhAQE0] >>371-372 おお、これで十分です トレイアイコンの変更を意図していました ありがとうございます。
374 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 20:15:15 ID:xz90t0puP] 会社ではトレイアイコンは常に非表示に設定してる
375 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 00:46:39 ID:Y32mGPTe0] だからどうした。
376 名前:名無しさん@お腹いっぱい。 [2009/03/06(金) 02:31:08 ID:6lo5rU0D0] ctrl と j でエンターキーを押した動作をさせたいのですが ^j::enter と書くと、ctrlとjが押し下げられているままとなっているようで、 実際には ctrl とjを押しながらエンターキーを押す動作となってしまいました ^j::Send,{enter} と書いても、ctrlが押し下げられているままとなっているようでした そこで ^j::Send,{Blind}{Ctrl Up}{enter} と書いたら一回目の入力は成功するものの、 {Ctrl Up}のせいで次回以降 ^j にヒットしなくなってしまいました ctrl と j でエンターキーを押し、かつそれを連続して入力する設定は可能でしょうか?
377 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 02:52:01 ID:EIumwJQn0] >>376 ^j::Send,{enter} で何の問題もなくエンター打てるけど?
378 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 05:33:37 ID:6lo5rU0D0] >>377 キーの動作を見てみると、コントロールキーも一緒に送信しているようなのです。 fenrir 経由でx-finderを起動するときに コントロールキーも一緒に送信されると 多重起動されてしまいます これを防止したいと思いました。 通常のアプリケーションでは何ら問題ないようだとは うすうす感じていますが……
379 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 06:53:07 ID:atFpTk3M0] さらに ^j::Send,{Blind}{Ctrl Up}{enter}{Ctrl Down} としたらどうなの
380 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 12:05:24 ID:sR26OTSx0] >>379 それなら大丈夫そうです ありがとうございます。
381 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 15:01:28 ID:dtsNACZp0] >>359 俺は逆だな。macでAutoHotkeyが欲しい。
382 名前:名無しさん@お腹いっぱい。 [2009/03/06(金) 22:52:29 ID:gMTAf0z20] タスクトレイのアイコンをダブルクリックしたら hello!と表示させたいのですが、できますか? Gui の Menu の項目を読んでもわかりません Click, ClickCount あたりを使えばよいのでしょうか?
383 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 00:30:41 ID:GNhe+RZO0] >>382 できる。 トレイにメニュー項目を追加してデフォルトにする
384 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 04:04:12 ID:41mSVwUw0] >>383 ありがとうございます。 できました
385 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 08:14:05 ID:HkiIUUNz0] AHKのGUIが便利すぎるので、フロントエンドにAHKを使い、パラレルポートの制御をしたいです。 用途は機械制御(赤外線の人センサーによる出入り回数の把握)で、数個のLEDの点灯制御と、 10bps(10kじゃないです)の双方向シリアル通信で、制御の確実性(信頼性)は低くてOKです。 本家を検索し、シリアルポートをGUIで制御するサンプルはありました。 www.autohotkey.com/forum/topic26533.html これのパラレルポート版に相当するサンプルがあると最高なのですが、探せませんでした。 ジョイスティック制御のdppの技術が使えそうですが、本家をdppで検索してもヒットせず。 ポート制御の達人がいらっしゃいましたら、なにかヒントをいただけると嬉しいです。
386 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 08:57:54 ID:EX6aOmt+0] >>385 そういうのは VBとかDelphiとかのフォーラムとか過去ログ覗いたらいいと思う。 前にDelphi使ってたけど、シリアルポート制御のコンポーネントとかいくつかあったはず。 VBにもあるだろうと思う。それを移植するか、DLL化して使うか。 多分、需要がなくなっていない分野なら、C#やVB.netのものも見つかると思う。 VB、Delphi、C#、VB.net はVB以外は無料バージョンあるから、 ポトペタでGUI作れるからAHKよりよほど楽なんで、いっそそっちの言語でつくってもいいし
387 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 09:00:02 ID:EX6aOmt+0] ごめん、パラレルポートだったか。どちらにせよ、検索してみてほしい。 Delphiだとこの辺。 Delphi-ML過去ログ検索 leed.t.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi Delphi ML archive | Google グループ groups.google.co.jp/group/delphicbuilder-ml-archive Delphi Q & A掲示板 hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi
388 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 09:43:07 ID:EX6aOmt+0] > 【1 OSの種類 .】 Windows Vista SP1 > 【2 Excelのバージョン 】 Excel 2007 > 【3 VBAが使えるか .】 はい > 【4 VBAでの回答の可否】 否 > 【5 検索キーワード 】 Excel 補完 タブ Tab エンター ENTER など > > すごく、無茶な質問を承知でお聞きいたします。 > > Excel上やVBAエディタ上では、補完候補の決定がタブになっているのですが、 > 他の開発環境のクセでエンターを間違えておして毎回イライラしてしまいます。 > 間違えないようにする方法、もしくは、タブではなくエンターで決定する方法はありませんでしょうか? 誘導されてきました。 こういうのってAutoHotKeyで可能なんでしょうか? 候補ウインドウが出ている時だけ、ENTERをTABに置換? うーん考えただけで・・・
389 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 12:24:08 ID:umaUJV8o0] 英語版のキーボードと日本語版のキーボードを それぞれ場合分けして処理することはできないでしょうか
390 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 12:45:36 ID:GNhe+RZO0] >>388 出来ると思う。 >.>389 無理。
391 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 13:43:56 ID:umaUJV8o0] >>390 そうですかわかりました
392 名前:名無しさん@お腹いっぱい。 [2009/03/07(土) 20:19:46 ID:9fbJ8ZNJ0] メニューバーの編集(E)とかワードパットのフォントカラーとかを 操作できる命令はありますか?
393 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 20:38:41 ID:MDzSZOKi0] あるよ
394 名前:名無しさん@お腹いっぱい。 [2009/03/07(土) 22:23:07 ID:uKtAZx+C0] gui で作成したウィンドウにデフォルトでついている 右上の最小化ボタン(_)がありますよね? これをクリックしたらタスクバーに表示せず タスクトレイに格納したいのですが どうすればよいのかわかりません 言い換えると、gui の操作で minimize のコマンドを送るようにできればいいのですが
395 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 00:00:01 ID:tr/g5E240] >>386 情報どうもです。別方面からも検討してみます。
396 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 10:26:24 ID:U6oXO4Qm0] Escキーを2回、トントンって入力するとウィンドウが最小化するスクリプトを 書きたいんだけど、どこが間違っているか教えて欲しい Inputコマンド lukewarm.s101.xrea.com/commands/Input.html ↓ソース Esc:: Input,InputChar,C I L1 T2,endkey,{Esc},z,x if ErrorLevel=Match { if InputChar={Esc} WinMinimize, A if InputChar=z if InputChar=x } return
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 10:34:55 ID:esDbqi200] キーのダブルタップはサンプルあるだろ
398 名前:394 mailto:sage [2009/03/08(日) 12:41:19 ID:Zm/1oWz60] 自己レスですが gui close で何とかなりそうですね スレ汚し失礼しました
399 名前:394 mailto:sage [2009/03/08(日) 12:59:56 ID:Zm/1oWz60] たびたびすみません やっぱりできません
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 15:01:14 ID:INaMOjyr0] >>399 右クリフックしてWM_NCHITTESTでマウス位置調べたらいいんじゃね HTMINBUTTON だったらGUIを Hideにする。 タスクトレイからの復旧はMenuを書き替えればできるべ
401 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 20:24:31 ID:CbAikyhi0] >>400 ふむ、その手が使えそうですね ありがとうございました
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 20:39:34 ID:W44aSFYp0] まっとうにやるなら>>400 だけど。別の方法 Menu, Tray, Add, ShowGui Gui, Add, Text,, This is Test ShowGui: Gui, Show return GuiSize: if A_GuiWidth<1 Gui, Hide return
403 名前:名無しさん@お腹いっぱい。 [2009/03/08(日) 22:31:03 ID:OvInxdiZ0] テキストファイルを読み込むときに 最終行を検出する方法はありますか?
404 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 23:41:33 ID:W44aSFYp0] ないんじゃないかな。 Loop, PARSE, ファイル名, `n hoge := A_LoopReadLine とすればループが終わったときに hoge には最終行の内容が入っているけど
405 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 23:46:14 ID:ABSLuhUi0] >>404 そうできるのであれば十分です どうもありがとうございます!
406 名前:名無しさん@お腹いっぱい。 [2009/03/09(月) 18:31:39 ID:3Pb9nLSu0] ワードパッドの書式バーのフォントの色の変更や 太字化をahkでやりたいんですが座標指定でやるしかないんでしょうか? WinMenuSelectでは反応しないし、 ボタンのハンドルをMouseGetPosで調べることもできません。 青とか赤の個別の色のボタンは調べられるんですが、値が毎回違うので 行き詰っています。
407 名前:406こういう感じでやりました [2009/03/09(月) 18:48:21 ID:3Pb9nLSu0] #F:: MouseGetPos, X , Y, W, OVC,2 ;これでハンドルを調べました MsgBox %W% <--> %OVC% clipboard = %OVC% return #G:: SetTitleMatchMode,2 DetectHiddenText, On WinMenuSelectItem,ahk_id 0x50370,,7& ;ウインドウのハンドルからメニューバーとして操作しようとしましたが WinMenuSelectItem,ahk_id 0x50370,,8& ;反応しません WinMenuSelectItem,ahk_id 0x50370,,9& WinMenuSelectItem,ahk_id 0x50370,,10& WinMenuSelectItem,ahk_id 0x50370,,11& WinMenuSelectItem,ahk_id 0x50370,,12& ;WinMenuSelectItem,ahk_id 0x50370,,1&,1& ;ファイル→新規、これは動きます
408 名前:406こういう感じでやりました [2009/03/09(月) 18:50:43 ID:3Pb9nLSu0] WinMenuSelectItem,ahk_id 0xd40372,,1& ;バー自体のアドレスからメニューバーとして操作しようとして WinMenuSelectItem,ahk_id 0xd40372,,2& ;動きません WinMenuSelectItem,ahk_id 0xd40372,,3& WinMenuSelectItem,ahk_id 0xd40372,,4& WinMenuSelectItem,ahk_id 0xd40372,,5& WinMenuSelectItem,ahk_id 0xd60376,,1& ;反応しません WinMenuSelectItem,ahk_id 0xd60376,,2& WinMenuSelectItem,ahk_id 0xd60376,,3& WinMenuSelectItem,ahk_id 0xd60376,,4& WinMenuSelectItem,ahk_id 0xd60376,,5& WinMenuSelectItem,ahk_id 0x9d01b2,,1& WinMenuSelectItem,ahk_id 0x9d01b2,,2& WinMenuSelectItem,ahk_id 0x9d01b2,,3& WinMenuSelectItem,ahk_id 0x9d01b2,,4& WinMenuSelectItem,ahk_id 0x9d01b2,,5& ControlClick,,ahk_id 0xfb0194,,LEFT ;ハンドルが特定できません MsgBox done return
409 名前:nCIjdtNZgMN mailto:nihfnmwf@zzaawhbf.com [2009/03/09(月) 18:51:33 ID:1ok/Ifbl0] comment5, kim-kardashian-video.limitedliability.us/index.html kim kardashian nude video, %-PP,
410 名前:406こういう感じでやりました [2009/03/09(月) 19:17:25 ID:3Pb9nLSu0] やり直したらinspect_toolbarがなぜか今回は動いたので それでやってみます
411 名前:406こういう感じでやりました [2009/03/09(月) 23:05:06 ID:3Pb9nLSu0] 連投すみません ワードパッドの書式バーの位置をずらした後 (メニューバー・ファイル(ファイル... ツールーバー 書式バー(MSゴシック... のように ) inspect_tool_ids で書式バーのコマンドIDを調べて(32801) #G:: PostMessage,0x111,32801,0,,A return でフォントの色を選ぶボタンをahk経由で押させることは出来たのですが、 赤とか青とかの個別の色を押させることが出来ません。 方法はありますか?
412 名前:406-411(除409) [2009/03/10(火) 00:39:25 ID:VYBxlQGq0] すいません、出来ました。Resource HackerでIDが調べられて 無事できました。ありがとうございました。長すぎる連投してしまい 本当に申し訳ないです。
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/10(火) 15:05:28 ID:rmSmGeHP0] 起動してるプロセスを取得してその中から選択したプロセスを監視して任意の条件でいろいろする ってのをやってみてるんだけど IrvineとかJaneとかプロセスが二重に取得されてどっちを選べばいいかわからない
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/10(火) 15:11:02 ID:D/8zxGdl0] 多重で起動してるの?すごい使い方だな。
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/10(火) 15:47:04 ID:rmSmGeHP0] 一つしか起動してないけど取得されるのは二つになってるってこと
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/10(火) 16:27:55 ID:4NcKH5rc0] AHKでプロセスいじるのって Process コマンドでの 存在チェック(PID取得)、 強制終了、 優先度変更、 終了/存在待ち だけど、二重に取得されるってどういうことだろ Process, Exist, Jane2ch.exe pid := ErrorLevel WinGet, list, LIST, ahk_pid %pid% MsgBox, %list% ってすると2個窓がとれるけど これのことだったら >>144 ,147,153 あたりと同じなんだが・・・
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/10(火) 21:21:52 ID:gm+lfOz80] Delphi製のアレなら、既に解決方法は確立されているので検索してこい
418 名前:名無しさん@お腹いっぱい。 [2009/03/11(水) 03:02:36 ID:pYoGuoaj0] WM_COMMANDでメニューバーをクリックしたときにでてくる新しいウインドウ の中のコマンドに対するコマンドIDをしらべたいんですが、 何かいい方法はありますか? 窓コンもinspect_toolbarも反応しなくて、resource hacker でも調べられません。 ddwinとかpdicビューワーに使いたいんですけど。
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 07:16:24 ID:1ccOe8xw0] WheelScroll.ahk の改造版をうpしますた。ホイール加速を滑らかにしたつもり。 lukewarm.s101.xrea.com/up/ の 104.zip
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 08:59:21 ID:12ef3abb0] AutoHotKeyのPython版みたいなのみつけた。 AutoHotKeyのスクリプトの記述性の低さが嫌な人にはいいのかも。 keyhac ?(craftware)? sites.google.com/site/craftware/keyhac まあ、AutoHotKeyはDSL(ドメイン特化言語)で手軽さがあってそれでいてGUI持つくれるというのがいいけどね。 (まあ、PythonもGUIいけるけど)
421 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 10:22:40 ID:12ef3abb0] ちょっと質問です。OpenJaneで「お気に入り」に入れてあるスレを お気に入りからはずして「印」のみつける(お気に入りからはずすと何故か「印」がはずれてしまうため) というのを一発でやりたいと考えています。 メニューのコマンドを送ろうとしているのですが、ControlSendを使ってもキーが送られないようです。 以下のように単なるSendだと上手くいっているようなのですが、 ControlSendとSendの違いってなんなんでしょうか? ; OpenJane #IfWinActive, Jane ahk_class TMainWnd ; Ctrl+D to delete favorite without deleting SIRUSI ^d:: WinWait,Jane ahk_class TMainWnd Send, !tv Sleep, 100 Send, !tm ; ControlSend,,!tv!tm ; damepo return #IfWinActive
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 11:45:04 ID:iQp8Awzp0] Sendはフォーカスのあるところに送る ControlSendはフォーカスが無くても、というか対象を指定してキーを送る ウィンドウ指定+コントロールの指定なし、でいけるんじゃないの Styleだけど↓で動くよ ControlSend,, !tv!tm, ahk_class TMainWnd
423 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 11:48:35 ID:iQp8Awzp0] というか、非アクティブ窓に送るのがControlSendの主目的だし #IfWinactiveつかってるんだし、>>421 でうごくならそれでいいと思う keyhacはkeymapがあるし繭の代替みたいなかんじだぬ
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 12:50:26 ID:12ef3abb0] >>422-423 サンクス。 なるほど、アクティブのときに使うなら必要ないですね。 むしろ、フォーカスないときに送るAPIもあるのかと感心したw
425 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 16:10:47 ID:7PTN87iF0] どうしてもスマートな書き方が分からず困ってしまったので質問します。 Photoshop7.0を使っているのですが、そのPhotoshopでの作業で ズームイン・アウトの動作は、alt+マウスのホイールで行うんですけど それをホイールのみで行いたいんですが、いまいちうまく動作しません。 ; Photoshop #IfWinActive, ahk_class Photoshop wheelup::Send, {ALTDOWN}{wheelup} wheeldown::Send, {ALTDOWN}{wheeldown} #IfWinActive とりあえずこれで動くことは動くんですが、これだとaltキーが押されっぱなしで いったんaltキーを押さないと開放されないんです。 ホイールの動作を止めてから、0.5秒くらいでaltキーが都度開放されるようにしたいんですが どういう風に書けば良いんでしょうか。
426 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 17:30:08 ID:SMQKLnXdP] !{WheelUp}じゃ駄目なの?
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 17:40:17 ID:WedUAl7t0] うむ、自分も色々試したんだけど、ウチのCS3ではダメなんだよな !修飾だとズームさえしないし、Sleep,500 して Send {Alt Up} してもズームはするがAltが押しっぱ状態 色々なSendModeやhookにしたけどダメだった ただのズームで良ければ、Ctrl-やCtrl+送れば良いけど、 これだとポインタ位置のズームにならないから期待には沿えないんだろうな
428 名前:425 mailto:sage [2009/03/11(水) 17:44:19 ID:zQD6nmYr0] >>427 >ただのズームで良ければ、Ctrl-やCtrl+送れば良いけど、 >これだとポインタ位置のズームにならないから期待には沿えないんだろうな ははは。仰るとおりです。単なるズームならそれで良いんですけどね。 やっぱ難しいのかな…。 Photoshop7.0以前のホイール動作がしたいだけなんですけどねー。
429 名前:425 mailto:sage [2009/03/11(水) 17:51:27 ID:zQD6nmYr0] >>426 実際やってみると分かるんですが、 それでは「altキーを押しっぱなしでホイール動作」にはならないんですよね。 altとホイールを同時に入力、とみなされて、微妙にカククアした動作になるんですよ。 押しっぱなしというキー入力がないと、スムーズにズームしないんですよね。
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 18:10:32 ID:WedUAl7t0] あー、ウチではこれで動くようになったけど、かなりインチキくさいので7.0ではダメかも Sleep後のAltの送り方をイジれば何とかいけそうなんでは wheelup:: SendInput {Alt Down}{WheelUp} Sleep, 500 Send {Alt} Send {Alt Up} return
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 18:21:31 ID:iQp8Awzp0] > Sleep後のAltの送り方 タイマーでいいんじゃないかな。環境がないから何とも言えないけど。 wheelup:: wheeldown:: SendInput {Alt Down}{%A_ThisHotkey%} SetTimer, AltUp, 500 return AltUp: Send, {Alt} Send, {Alt Up} return
432 名前:425 mailto:sage [2009/03/11(水) 18:45:36 ID:zQD6nmYr0] >>430 おお!まさしく理想の動きになりました! Sleep後の動作の書き方が分からなくてつまづいてました…。 ありがとうございます! >>431 そちらも試してみましたが、なんかaltキーが常時連打されてるような動作になりました…。
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 18:51:43 ID:W+NxFur40] 解決したようだけど、押しっぱなしの原因は#HotkeyModifierTimeoutのあたりなのかな?
434 名前:431 mailto:sage [2009/03/11(水) 19:07:50 ID:iQp8Awzp0] > そちらも試してみましたが、なんかaltキーが常時連打されてるような動作になりました…。 うは、初歩的なミス > SetTimer, AltUp, 500 は↓で SetTimer, AltUp, -500 解決したならいいんだけど
435 名前:425 mailto:sage [2009/03/11(水) 19:34:30 ID:zQD6nmYr0] >>434 ありがとうございます! キチンとスムーズに動作してくれました。 AutoHotkeyの存在を知ったのが昨日なのでまだあまり把握しきれてないですが、 かなり勉強になったのでちょっとハマってみます。
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 21:02:29 ID:G1UR0H3q0] >>434 >負の値を指定した場合、その絶対値の時間が経過後に、一度だけサブルーチンが実行される。 勉強になった、d.。 ふぅ、無駄こいた(´;ω;`)ブワッ wheelup:: wheeldown:: Send, {Alt Down}{%A_ThisHotkey%} MouseGetPos, xMouse, yMouse settimer, IdleMouseMoved, 100 return IdleMouseMoved: MouseGetPos, xMouseNow, yMouseNow xMouseChange := ( xMouseNow - xMouse ) * ( xMouseNow - xMouse ) yMouseChange := ( yMouseNow - yMouse ) * ( yMouseNow - yMouse ) If (xMouseChange > 9) | (yMouseChange > 9) | (A_TimeIdle > 500){ send, {Alt Up} settimer, IdleMouseMoved, off } Return
437 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 21:11:08 ID:XeGc9YVz0] 作成した関数が 複数の値を返すことはできますか?
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 22:25:12 ID:NuVSrS420] >>437 引数の参照渡し(ByRef)を使ってみるとか。 #persistent SetTimer, timer return MouseGetScreenPos(ByRef x, ByRef y){ CoordMode, Mouse, Screen MouseGetPos, x, y CoordMode, Mouse, Relative } timer: MouseGetScreenPos(sx, sy) MouseGetPos, x, y tooltip, x%x%`ny%y%`n`nsx%sx%`nsy%sy% return
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 22:26:53 ID:RHpZI3IT0] windowsXPにAHK1.0.48.00をインストールしました 起動するにはAutoHotkey.exeをwクリックすればいいんですよね? どうも起動していないようです プロセスにも載っていません どうすれば使えるようになるのでしょうか? よろしくおねがします
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 22:41:17 ID:G1UR0H3q0] >>439 exeと同じところにAutoHotkey.iniを作ってメモ帳で編集。 a::a で保存。exeをダブルクリックするか、iniをexeにD&Dすればいい。
441 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 22:52:15 ID:RHpZI3IT0] >>440 ありがとうございます。無事動きました。 以前使っていた自作のスクリプトがなぜか駄目だったようです これが原因とは思っても見なかったので 初歩的なことを聞いてしまいました おかげで切り分けが出来きて解決しました
442 名前:名無しさん@お腹いっぱい。 [2009/03/12(木) 01:46:44 ID:F1m5qWie0] >>438 なるほど。参照渡しなら間違いないですね ありがとうございます。 別件の質問ですが a に test があり、かつb に hogeがあるときで 条件分岐をしたいのですが If a in test and b in hoge と書いたら上手く動きません 初歩的なことだと思いますが どうすればよいのでしょうか
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/12(木) 02:07:36 ID:1BiiCvek0] if InStr(a, "tesst", true) && InStr(b, "hoge", true) Caseを問わないなら括弧内の第3引数を省略または false にする
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/12(木) 02:21:15 ID:F1m5qWie0] >>443 ありがとうございます。
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/13(金) 13:49:22 ID:fNm1iUGy0] 無変換キーをシフトキーのかわりとして使いたいのですが 無変換キー+A をshift + A とするだけではなく ctrl + 無変換キー+A をctrl + shift + A や win + ctrl + 無変換キー+A をwin + ctrl + shift + A というふうに あたかもレジストリの編集により無変換キーをシフトキーとしたように動作させたいです remap を使っても思ったとおりの動作ができません
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/13(金) 14:01:43 ID:nMFGybhR0] 「思ったとおりの動作ができません」がどうせ間違ってるんだから、 途中まで試したコードを晒してみたら?
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/13(金) 15:12:04 ID:fNm1iUGy0] すみませんでした sc07B::shift だけでできました
448 名前:名無しさん@お腹いっぱい。 [2009/03/13(金) 15:47:42 ID:fNm1iUGy0] たびたびすみません リマップ lukewarm.s101.xrea.com/remap.html > リマップによって生成された入力では、フックを使用しているホットキー(「$^c」など)は反応しない。 この制限を解除する方法はありませんか?
449 名前:jbpfxyseplh mailto:jhhgov@qjokcp.com [2009/03/13(金) 15:47:58 ID:DVfGG20W0] uGaXvO <a href="gvatgngxmxho.com/ ">gvatgngxmxho</a>, [url=iyoeszfqayam.com/]iyoeszfqayam[/url], [link=ohsodtdhgqfa.com/]ohsodtdhgqfa[/link], oqdjndcqppwj.com/
450 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/13(金) 19:24:04 ID:xVfJVQvM0] モディファイアのリマップはScancodeMapいじるようにした方が 何かとすっきりさっぱりだと思うんだ。
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/13(金) 22:39:12 ID:nX9nzRDN0] >>450 そうですか。 ありがとうございます。
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/14(土) 21:34:52 ID:4icr6LvT0] fenrirの呼び出しキーをうまく設定できません ^a:: send,^b return こういう設定を書きました そのうえで、fenrirの呼び出しキーの設定の項目で ctrl + A を入力しました。 すると、左のctrlキーのときには意図したとおり ctrl + B が入力されたことになるのですが、 右のctrlキーのときには なし と表示されてしまいます。 パソコンはvistaを使っています どうすれば右のctrlキーを左のctrlキーのように動かせるのでしょうか
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 00:25:08 ID:lsWqS3cG0] >>452 なんか言ってることがよく分からんが、それfenrirを起動したくないってこと?
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 00:58:42 ID:SZZoZhnK0] >>453 いやそうじゃないんです 他のソフト(エディタとか)では 右のctrl + A できちんと ctrl + Bが動作するんですが fenrirに限ってはそのようには動かないんです 左のctrl + A ではfenrirでもきちんと ctrl + Bが動作するんですが あ、fenrirは最新バージョンを使っています どうもautohotkeyの内部で 右のctrlと左のctrlの処理が大きく異なっていると思うのですが よくわかりません
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 09:19:57 ID:AqdEGZ0E0] fenrir側の呼び出しキーの取得方法が特殊なんじゃなかろうか。 わざわざCtrl-Aを一旦Ctrl-Bにして呼び出す理由が分からないけど、 ただ前面にしたいなら、fenrirを二重起動するという方法もあると思う
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 09:46:43 ID:aN9r1MmC0] LCtrlとRCtrlと両方書いてもだめかぬ
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 09:54:41 ID:B8F8JwCv0] Gui, Add, Hotkey Gui, Show return ^A::MsgBox, Send`, "Ctrl + B" いったんAHK止めてからせっていすりゃいいんじゃねーの
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 10:14:36 ID:aN9r1MmC0] 試してみたら正常動作したけどfenrirが古かったから最新版にしてみたんだがやっぱり普通に動くな
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 13:07:53 ID:2+vykJE1P] もし {vkXXscXX} の形式だったら {vkXX} だけにしてみるとか
460 名前:452 mailto:sage [2009/03/15(日) 14:01:34 ID:dCql5Xe00] autohotkey のkeyhistoryを見てみました 左のctrl + b では 42 030 i d 10.25 B fenrir 42 030 i u 0.00 B 右のctrl + b では A2 01D i d 2.42 Ctrl fenrir A3 11D i u 0.00 Right Control 42 030 i d 0.00 B 42 030 i u 0.00 B A2 01D i u 0.02 Ctrl こうなりました そこで以下のように書いたら左のctrl + bと同様に動きました ^a:: send,{blind}b return >>457 のスクリプトではどちらのctrlも正常に動きます 上記のみなさんのご指摘を踏まえると、 私の環境が特異だということですかね いろいろと調べてみます ありがとうございました。
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 17:00:43 ID:OR65f9ys0] ホットキー用のキー足りねぇ→キーボード2台つなげばよくね と思い、ジャンクの安いキーボード買ってきた 2台目用はScrollLockでもして、それで1台目と区別すりゃいいなと思ってたんだが ScrollLockもCapsLockもNumLockも連動しやがる 1台目と2台目のキーボードの入力を判別する方法はないでしょうか? PS/2接続とUSB接続の2台なんですが
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 19:38:57 ID:BkAbLvKa0] 斜め上を行く発想だなw レスじゃなくてスマンが…
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 19:42:47 ID:eGMmt4nd0] ソフト名忘れたが、デバイスドライバレベルで区分けするフリーソフトがあるよ。 たしか作者は日本人
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 20:51:44 ID:5g2lI0+Z0] 俺はプログラマブルキーボード使ってる。 本来はキーマクロを割り当てて使うものだが、キーマクロのメモリ登録では、 アプリ毎に動作を切り替えられず、専用のツールを利用すれば対象アプリ毎の 設定も出来るが、あまり出来が良くないので、メモリにはF13〜F24や、 普通のキーボードでは入力しづらいショートカットキーを登録し、 AutoHotkeyで引っ掛けてアプリ毎の動作に書き替えてる。
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 21:39:38 ID:OR65f9ys0] >>463 情報ありがとう、それがみつかればできそうだ >>464 俺も最初プログラマブルキーボードか、ホットキーがいっぱいあるゲーミングキーボードとか考えたんだか 特殊なキーボードは値段が高くて選択肢も少ないので、なんとかならないかと思ったんだが プログラマブルってほどじゃなくても、全キーをWinキーあたりと同時押しができれば あとはAutoHotKeyで十分なんだけど ただWinキーを押しっぱなしで固定するだけじゃ、やっぱり2台とも連動して駄目だし ハード的に改造しようかと調べてもROMライター前提で変換基盤自作とか、素人には無理そうだし
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 00:59:49 ID:VkzQ2R4K0] setntptimeという時刻修正プログラムを実行後、ログの最後の4行を TrayTipかMsgBoxに表示するようにしたいのですが RunWait, C:\App\Internet\setntptime\setntptime.exe,,hide logfile = C:\App\Internet\setntptime\settimeLog.txt i = 0 Loop, read, %logfile% { i += 1 } FileReadLine, server, %logfile%, i-3 FileReadLine, oldtime, %logfile%, i-2 FileReadLine, fixtime, %logfile%, i-1 ;最終行は改行だけなので省略 MsgBox,, setntptime log, %server%`n%oldtime%`n%fixtime% return のように、2度手間になりますがログの行数を取得してからFileReadLineする 方法しか思い浮かびませんでした。 もう少しスマートにしたいんですが良い方法あったらご教授ください。
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 01:19:19 ID:pREBWc+h0] >>466 RunWait, C:\App\Internet\setntptime\setntptime.exe,,hide logfile = C:\App\Internet\setntptime\settimeLog.txt Loop, read, %logfile% { server=%oldtime% oldtime=%fixtime% fixtime=%dummy% dummy=%A_LoopReadLine% ;改行が入る } MsgBox,, setntptime log, %server%`n%oldtime%`n%fixtime% return こんなんじゃだめ?
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 01:24:58 ID:Q86YJixB0] すげぇ・・・なんというアクロバティック。これがこのスレの底力だな
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 01:50:46 ID:VkzQ2R4K0] >>467 うおー即レスありがとうございます ダミー咬まして・・・うーん頭こんがらかりそう 使わせていただきます。
470 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 13:48:31 ID:hCcdtXRQ0] >>419 遅レスですが、IKKI氏乙です。 何か年末に作って放置してたのがあったのであげてみる。 秀丸でAHK編集する人のための CompleteX 用設定 LIBフォルダの関数ライブラリを読んで単語補完辞書&ヒントを作成する。 www6.atwiki.jp/eamat/pub/MyScript/MyLibList.zip
471 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 15:39:39 ID:Lst9ESBRP] Runで引数を変数で与えたいんだが、 Run, %var1%, %var2% ってやっても作業ディレクトリがうまく与えられないみたいなんだけど 何が原因?
472 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 15:52:26 ID:Lst9ESBRP] ごめんなさい自己解決 制御文字が含まれてたっぽい
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 18:39:45 ID:gDeBu6wE0] よくあるw エクスプローラの引数とか特に 俺は行数増えるけど見通しよくするために↓みたくしてる dir = c:\hoge\hoge cmd = %var1%, %var2% Run, %cmd%, %dir%
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 19:02:16 ID:hImTYnxN0] >>470 乙です 一方、海の向こうではchmでいくんだろうか? GenDocs v2.0 - Create StdLib documentation easily! ttp://www.autohotkey.com/forum/topic41287.html といっても、前スレ GenDocs - utility for creating StdLib documentation ttp://www.autohotkey.com/forum/topic22548.html も含め投票数(反応)そのものも少ないみたいだし、このまま付けたり付けなかったりバラバラでいくのかな。。
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 19:03:05 ID:L7m3HeAn0] 作業ディレクトリを指定したら、実行ファイルってファイル名だけでいい気がした。 当たり前か・・・
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/17(火) 21:04:07 ID:lw7F/3Qx0] >>467 これ、発想がすばらしいなぁ。 AHK以外でも使えそうなアルゴリズムだ。ありがとう
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 00:30:37 ID:2PEehZZi0] >>470 ちょうど欲しいと思ってた CompleteX 辞書ww ありがとう、使わせてもらいます。
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 09:35:49 ID:OXmG24Mg0] スクリプト内でも関数ライブラリ使ってんの忘れてたorz 秀丸でAHK編集する人のための CompleteX 用設定 ファイルパス関数群 (Path.ahk)同梱版 www6.atwiki.jp/eamat/pub/MyScript/MyLibList_200090318.zip
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 14:37:20 ID:zm0v5CvW0] みんな宜しくよノシ
480 名前:名無しさん@お腹いっぱい。 [2009/03/18(水) 19:11:42 ID:wqUWRKfJ0] atokの変換リストを表示中に autohotkeyで操作をしたいのですが atokの変換リストを表示しているかどうかを 取得する方法が分かりません。 window spyを使っても使用しているエディタの情報だけを 取得してしまっているようです どうすればいいのでしょうか
481 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 21:24:09 ID:xJ1I3V720] IME.ahk でいいじゃん。とおもったけどリストが出ているかどうかは分からないのね。 で、原始的だが変換リストを出してマウス直下の窓を調べるほうほうでやった Pause:: MouseGetPos,,, hwnd WinGetClass, class, ahk_id %hwnd% Tooltip, %class% return ATOK2007なので"ATOK20Cand" だった。 で、いい加減だけど、指定の窓があったら(ウィンドウハンドルが0以外なら) 変換中とすればいいんじゃないかな Pause:: Tooltip, % WinExist("ahk_class ATOK20Cand") return これが出ているとき専用のキーバインドが欲しいなら #Ifが使える、Autohotkey_Lが向いてそうだ #If WinExist("ahk_class ATOK20Cand") a:: hoge b:: hige
482 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 21:26:05 ID:xJ1I3V720] あ、、、#IfWinExist でいいじゃん・・・orz
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 00:19:09 ID:DoWJYG5p0] >>481-482 おお!期待通りに動きました ありがとうございます!
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 09:46:28 ID:iKaTZieB0] 超初歩的質問なんですがデスクトップをダブルクリックしたのを検出するのってどうやるんでしょうか OSはVISTA32SP1です
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 17:37:19 ID:oBtBrUgR0] こんにちは。わたしも質問です。 テンキーをマクロ用のホットキーとして使用してるのですが、 NumLockキーを押すと、「NumLock On&AHK Suspend」 もう一度押すと、「NumLock Off&AHK 再開」 このトグル動作をさせたいのですが、どのように記述すればいいのでしょうか。 よろしくおねがいします。
486 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 17:53:19 ID:Ie0QoNxm0] SuspendじゃなくてPauseな気もする
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 18:03:04 ID:Ie0QoNxm0] >>484 カーソル下をahk_class Progmanか否かで判別し、あとは下記を参考でできるかな? ~CTRL:: if A_PriorHotkey <> %A_ThisHotkey%, return if A_TimeSincePriorHotkey > 400, return ;some action return
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 18:11:28 ID:Ie0QoNxm0] ああ、だめだ。あと下記も参考に 670 名前:665[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:: 等では途中に左クリック入れるとかしないとそのままではできない・・
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 18:41:45 ID:oBtBrUgR0] >>486 レスありがとうございます。 ~NumLock::pause でできました^^
490 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 20:49:30 ID:q1D8qFby0] へ〜、UpperDirOneみたいなのが楽につくれるなぁ・・・と思ったけど ~LButtonでフォルダ移動の場合、項目がとれる前に移動が完了ちゃって フォルダに移動した後にBackspace送っちゃって元通り・・・で意図したとおりに動かない 結局 ~ なしになったけどうまくいかんもんだねぇ SetTitleMatchMode, RegEx #IfWinActive, ahk_class CabinetWClass|ExplorerWClass LButton:: if (A_ThisHotkey==A_PriorHotkey && A_TimeSincePriorHotkey<300) { MouseGetPos,,,,classNN ControlGet, selected,List,Selected, SysListView321, A Send, % (classNN=="SysListView321" && !selected) ? "{BackSpace}" : "{LButton}" } else { Send, {LButton Down} KeyWait, LButton Send, {LButton Up} } return
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 20:54:15 ID:w27aWi9q0] >>488 ,489 ありがとう! 月曜まで家に帰れないから試せないけど、帰ったらやってみる!
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:19:19 ID:JP2qPQY00] 某スレで盛り上がってたので書いてみました。 カーソルをくるくる回すとスクロールします。 ttp://lukewarm.s101.xrea.com/up/file/105.zip
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:26:44 ID:g8LL/GxK0] >>492 どうやってAHKで再現しようか考えていたら・・・ ありがたく頂きます
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:28:23 ID:ft3ZieEm0] これは面白いw タッチパットのノートパソコンだとうまく利用できそう。
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:45:49 ID:daHpkZkf0] おお、すんばらし。 組み込むと色々応用が効きそうだ。
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 01:16:17 ID:e7LMny/o0] autohotkey.ini に includeで #Include kurukuruscroll.ahk と書いて使わせてもらったんだけど、includeする位置によって使えたり 使えなかったりするのはなんでだろう。 マニュアルのどこを読めばいいのか教えて欲しい。
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 05:54:27 ID:enEmkL2t0] >>492 一つに纏められて助かりました 認識率と反応も完璧だね
498 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 07:41:19 ID:QvNRDM9W0] >>496 ttp://lukewarm.s101.xrea.com/Scripts.html ここの一番下auto-executeですね。 ホットキーが書いてあるとこより前に組み込みます。 変数が重複しないよう気をつけましょう。
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 08:45:00 ID:e7LMny/o0] >>498 ありがとう!!! 各includeファイルのauto-executeセクションをautohotkey.iniのauto-executeセクションに移動したらうまく動いたー。 今までauto-executeセクションって知らなかった^^; *.ahkを includeするときって autohotkey.ini ------------------- AAA.ahkの auto-executeセクション BBB.ahkの auto-executeセクション return #Include AAA.ahk #Include BBB.ahk ;ホットキー定義開始 -------------------
500 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 09:41:42 ID:mEL9l3Hw0] ダブルクリック検出の件だが、何とかなったので張ってみる。コードのインデントに全角空白使ってるので注意。 ; IsDoubleClicked関数 ; ダブルクリックを判定する関数、L,R,M,X1,X2の各ボタンに対応 ; システムからダブルクリック時間、範囲を取得して判定、AutoHotkey_Lの#ifでの使用を想定 IsDoubleClicked(){ Static dcTime=0,LastTime,tx,ty,LastMouseKey=0,lx=-256,ly=-256,lr=0 if(!dcTime){ dcTime:=DllCall("GetDoubleClickTime") SysGet,tx,36 SysGet,ty,37 LastTime:=A_TickCount-dcTime*2 } if(A_TickCount=LastTime) Return lr NowMouseKey:=(GetKeyState("LButton","P") | GetKeyState("RButton","P")<<1 | GetKeyState("MButton","P")<<2 | GetKeyState("XButton1","P")<<3 | GetKeyState("XButton2","P")<<4) VarSetCapacity(Point,8) DllCall("GetCursorPos","uint",&point) if((LastMouseKey!=NowMouseKey)||((A_TickCount-LastTime)>dcTime) ||(abs((NumGet(Point,0)-lx))>tx)||(abs((NumGet(Point,4)-ly))>ty)){ lx:=NumGet(Point,0),ly:=NumGet(Point,4) LastTime:=A_TickCount,LastMouseKey:=NowMouseKey Return lr:=0 } else{ LastTime:=A_TickCount-dcTime Return lr:=1 } }
501 名前:500 mailto:sage [2009/03/21(土) 09:42:42 ID:mEL9l3Hw0] ; Lv_HitTest関数 ; リストビューでアイテム上にマウスがある時に種類を返す ; そもそもリストビュー上でない場合は何も返さず、 ; アイテム上にない場合は0を返す ; 参考:流行らせるページの MouseGesture.ahk 内 MG_LvHitTest() 関数 Lv_HitTest(){ MouseGetPos,,,hwnd,class,1 MouseGetPos,,,,chwnd,3 WinGet,pid,PID,ahk_id %hwnd% VarSetCapacity(point,8) DllCall("GetCursorPos","uint",&point) if(substr(class,1,13)=="SysListView32" || substr(class,1,9)=="TListView"){ p:=DllCall("kernel32.dll\GlobalAlloc","uint",0x40,"uint",8,"uint") NumPut(NumGet(point,0),p+0,0),NumPut(NumGet(point,4),p+0,4) DllCall("user32.dll\ScreenToClient","uint",chwnd,"uint",p) hp:=DllCall("kernel32.dll\OpenProcess","uint",0x001F0FFF,"uint",0,"uint",pid,"uint") pi:=DllCall("kernel32.dll\VirtualAllocEx","uint",hp,"uint",0,"uint",24,"uint",0x1000,"uint",0x4,"uint") DllCall("kernel32.dll\WriteProcessMemory","Int",hp,"uint",pi,"uint",p,"Int",8,"Int",0) SendMessage,0x1012,0,%pi%,,ahk_id %chwnd% DllCall("kernel32.dll\ReadProcessMemory","uint",hp,"uint",pi+8,"uintp",flag,"uint",4,"uint",0) DllCall("kernel32.dll\VirtualFreeEx", "uint",pi, "uint",0, "uint",0x8000) DllCall("psapi\CloseProcess","uint",hp) DllCall("kernel32.dll\GlobalFree","uint",p) flag:=flag & 15 return (flag<4) ? ((flag<2) ? 0 : "ItemIcon") : ((flag<8) ? "ItemLabel" : "ItemState") } }
502 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 09:43:29 ID:mEL9l3Hw0] ; IsDesktopDoubleClicked関数 ; デスクトップをダブルクリックした時にTrue IsDesktopDoubleClicked(){ Return IsMouseOverDesktop() && IsDoubleClicked() } ; IsMouseOverDesktop関数 ; マウスがデスクトップ上にある時にTrue ; bbLeanだとProgmanじゃうまくいかなかったので IsMouseOverDesktop(){ MouseGetPos,,,hwnd Return (hwnd==DllCall("GetDesktopWindow") ||hwnd==WinExist("ahk_class Progman")) }
503 名前:500 mailto:sage [2009/03/21(土) 09:44:06 ID:mEL9l3Hw0] ; 使い方 #ifじゃなくても何とかなるが、ダブルクリックじゃなかった時に ; 通常のクリックをするべきなので AutoHotkey_Lの#ifを推奨 #if IsDoubleClicked() && (WinActive("ahk_class CabinetWClass") || WinActive("ahk_class ExploreWClass")) && Lv_HitTest()==0 LButton::Send,{BS} #if IsDesktopDoubleClicked() LButton::Msgbox,デスクトップがダブルクリックされた #if 以上、長くなった&見にくくてすまんがこんな感じでできた。
504 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 09:50:33 ID:mEL9l3Hw0] ; おまけ:行頭の全角スペースとTabを相互変換するスクリプト #NoEnv #EscapeChar ' Gui,Font,,MS ゴシック Gui,Add,Text,,↓ここにコードを貼り付ける Gui,Add,Edit,w640 h480 vData Gui,Add,Button,gWsToTab,行頭の全角スペースをTabに変換 Gui,Add,Button,gTabToWs x+10,行頭のTabを全角スペースに変換 Gui,Show Return GuiClose: GuiEscape: ExitApp GuiDropFiles: if(A_EventInfo<=1) FileRead,Data,%A_GuiEvent% GuiControl,Text,Data,%Data% Return WsToTab: TabToWs: Gui,Submit,NoHide Output:="",w:=(A_ThisLabel="WsToTab" ? 1 : 0) Loop,Parse,Data,% chr(10) { chr:="",t:=A_LoopField While (SubStr(t,1,(w ? 2 : 1))==(w ? " " : chr(9))) t:=SubStr(t,(w ? 3 : 2)),chr.=(w ? chr(9) : " ") Output.=chr t chr(10) } GuiControl,Text,Data,%Output% Return
505 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 17:16:25 ID:5yWBri8L0] 横からすみません。 ググったらあんまりヒットしなかったので、以前貼られていた DoubleKey関数紹介しておきますね。 出展:www.donationcoder.com/Forums/bb/index.php?topic=5926.msg41894 DoubleKey(RunCommand, timeout){ if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout) Run, %RunCommand% } return ~LButton up::DoubleKey("hoge.ahk", 400) みたいに各ボタンごとに処理を書いたahkファイル(ここでは同ディレクトリ内のhoge.ahk) を別途用意する必要はありますが、これでも動作しまっする。
506 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 17:28:06 ID:QyANxbob0] >>492 のスクリプトを縦スクロールじゃなくて、横スクロールに するにはどうすればいいんでしょうか?
507 名前:500 mailto:sage [2009/03/21(土) 18:03:47 ID:mEL9l3Hw0] >>503 のIsDesktopDoubleClickedを修正。 こうしないとアイコンダブルクリックした時にまで発動してしまう。 IsDesktopDoubleClicked(){ Return IsMouseOverDesktop() && IsDoubleClicked() && Lv_HitTest()==0 } >>505 確かにそういう方法でも時間内に2回クリックした時に何かするってことはできるんだけど、 1回目と2回目のクリック位置が離れてる時にも発動したり、 ↑みたいにアイコンダブルクリック時にも発動しちゃったりして、 いわゆるダブルクリック系の挙動としてはちょっと弱いかなーって思って書いてみた。 あと意地でも2回目のクリックを乗っ取りたかったってのもある。 でも少しこだわりすぎたかなーとは思ってる… まぁ、自分で組み込んで使ってるし結果的には満足。 >>506 WheelUpとWheelDownってなってるところを 横スクロールできるキーに変えればいいんじゃないかな。
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 18:08:20 ID:H5O5lVNo0] >>505 ID:mEL9l3Hw0がどこまで厳密なモノを求めてるのかわからんのでスルーしていたのだが。 そもそも>505レベルでいいんならこんなに頑張ったりはしないと思う
509 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 18:09:14 ID:H5O5lVNo0] リロってなかった。蛇足スマソ
510 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 18:27:06 ID:HbFBHhgK0] ぶっちゃけ、あっちのフォーラム行けばいくらでもあるけどね…
511 名前:500 mailto:sage [2009/03/21(土) 18:27:27 ID:mEL9l3Hw0] >>500 の書き方だと勘違いされそうなので 一応書いておくけど、俺は>>484 ではないです。 >>490 を見て、UpperDirOneに相当する機能は 別のソフト使ってたの思い出したので、 何とかAHKだけで実現できないかなと思って、頑張ってみた。 …これこそ蛇足だったかな。
512 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 19:39:14 ID:5yWBri8L0] >>507 申し訳ありませんでした > 1回目と2回目のクリック位置が離れてる時にも発動したり、 > ↑みたいにアイコンダブルクリック時にも発動しちゃったりして そらそうですよね・・・深く考えずに書き込んだこと反省してROM専に戻ります。 あと IsMouseOverDesktop関数はいろいろ使えそうですね。頂きます&&乙であります。
513 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 20:03:23 ID:YAcqdaL20] >>461 超亀レスで失礼します。 見つけたので貼っておきますね。 試してませんが通常ののキーボードでも動作するようです。 USB接続のテンキーを、プログラマブルキーボード ttp://ioenc.net/magickeypad/
514 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:30:10 ID:GrExewU20] こんにちは MouseGesture2、2008/10/07版をVista SP1で使わせて貰ってます。 マウ筋の機能で「設定ホイール回転でアクティブ」という機能があるのですが (ArtTipsというソフトでは、SETTING>快適マウスホイール>快適マウスホイールを使用する>フォーカス移動を行う) これと同じ挙動をMouseGesture2で実現させるにはどのように記述すればうまく行きますか? あと、JaneDoe Viewなど一部のソフトでWinMinimizeを使って最小化すると デスクトップ左下にタイトルバーの小さくなったものが、残って最小化されてしまいます。 これを回避する方法を教えて下さい。
515 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:41:41 ID:scspGd4S0] 簡単なのはWheelUpとWheelDownのDefault(及び各々の条件)に WinActivate を記述する
516 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:46:37 ID:T0zgn4OC0] 流行らせるページのホイールリダイレクトでもいいんじゃね
517 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:56:01 ID:4c0Fopck0] アクティブにしつつスクロールするなら両方
518 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 12:23:38 ID:GrExewU20] >>515-517 親切に即レスありがとうございます。 >簡単なのはWheelUpとWheelDownのDefault(及び各々の条件)に >WinActivate >を記述する が一番挙動が近かったのですがマウ筋とArtTipsの機能は Xplorer2などの二画面ファイラーや小ウィンドウがあるようなソフトに対しても 各ウィンドウをホイールの回転でアクティブに出来るので、このような挙動を望んでいますが 無理な場合WinActivateでアクティブにするようにしたいと思います。 しかし、この場合ホイールUp、Dnでアクティブになったあと普通にスクロールが利かなくなってしまいますよね?
519 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 12:46:54 ID:ZBRd96Tp0] >>490 をファイル選択ダイアログでも効くようにした 注意) 全角スペース利用、誤爆が無いとは言えない ; UpperDirOne LButton:: if (A_ThisHotkey==A_PriorHotkey && A_TimeSincePriorHotkey<300) { MouseGetPos,,,,classNN if (classNN=="SysListView321") { ControlGetText, text, SysListView321, A if (text == "FolderView") { ControlGet, selected,List,Selected, SysListView321, A if (!selected) Send, {BackSpace} } } } Send, {LButton Down} KeyWait, LButton Send, {LButton Up} return
520 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 17:35:30 ID:Rn9QKfmc0] MouseGesture2の設定で動作割り当てのキー操作を発生させるのパラメーターに 無変換キーの2回押しを設定したくて{無変換}{無変換}とやってみたのですが 認識してくれません。無変換キーは何で登録すれば良いでしょうか?
521 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 17:37:47 ID:Biaw3oNa0] >>520 ttp://lukewarm.s101.xrea.com/KeyList.html
522 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 18:04:15 ID:Rn9QKfmc0] >>521 ありがとうございます。そのページは見落としていました。 早速、カーソルが画面左下角に接触で1秒遅らせて無変換を2回押しがしたくて動作に if(!MG_Timer(-1000)){ Send,{vk1Dsc07B}{vk1Dsc07B} } や if(!MG_Timer(-1000)){ Send,{vk1Dsc07B} MG_Wait(100) Send,{vk1Dsc07B} } など、やってみたのですがうまく動きません。 どなたかアドバイスお願い致します。
523 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 23:07:53 ID:gJvAxqMw0] 動作の確認音にSoundbeepを使ってたけど、パソコン変えたらビープが鳴らないw
524 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 09:06:05 ID:Y2hrPoG60] とりあえず転載、ID:GrExewU20 と ID:Rn9QKfmc0 はモリタポ用意して制作者の教えを乞え lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/123 > 123 名前:管理人 ★[] 投稿日:2009/03/23(月) 06:07:20 > 2chのAutoHotkeyスレにMouseGesture.ahkの質問が書かれていたのに、DION規制で書き込めなくて困る。 > 誰か親切な人があと555モリタポほど恵んでくれれば、p2で書き込めるのだが。 > find.2ch.net/moritapo/give.php?RK=93127982ff852cf03449c204be39fc07&AM=&CM= エノユ、「、熙ャ、ネ、ヲ、エ、カ、、、゙ しかしDION規制まじむかつく、Viewは何故か24時間以上起動させっぱだと●ログイン無効になるので いちいち再起動させなくちゃいけなくて面倒だ
525 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 09:53:24 ID:Edo9xp5W0] >>3 のとおりに、CapsLockをF13〜F24に割り当てようと思うんだけど、 Change Keyってどうやってこれ割り当てるの?? 似たようなレジストリ変更タイプのキーチェンジソフトいくつか探してみたが、 どれもF12までしか割り当てられないっぽい・・・
526 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:36:14 ID:WUKQO+dS0] >>522 Send,{vk1Dsc07B}{vk1Dsc07B} → Send,{vk1Dsc07B 2} MG_Wait(100) → Sleep,100 >>518 Jane Doe Style は「ウィンドウ(W)」→「最小化(M)」 があるのでそれを実行させればいいんじゃない? Send,!w Send,m それかJane Doe Styleのショートカットキーのカスタマイズで 最小化にキーを割り当ててそれをSendするとか。 アクティブにしてスクロールは アクティブした後にWheelUp(Down)を送ればいいじゃない。 あと、コンボボックスをアクティブにしようとすると コンボボックスが消えるのでアクティブにしないようにしとけば 概ね支障なく動くはず。
527 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:36:56 ID:WUKQO+dS0] << >>526 の続き >> ;WU_ の Default に↓の2行を追記する。 gosub, CursorUnderActivate Send,{WheelUp} ;WD_ の Default に↓を2行を追記する。 gosub, CursorUnderActivate Send,{WheelDown} ;MG_User.ahk をテキストエディタで開き、以下を「サブルーチン定義」内にコピペ ;マウスカーソル下をアクティブにする関数 CursorUnderActivate: MouseGetPos,,, m_id, m_control WinGetClass, m_class, ahk_id %m_id% ;マウスカーソル下がコンボボックス(ドロップダウンリスト)ならreturn If(RegExMatch(m_control, "ComboLBox\d+")) return ;マウスカーソル下が非アクティブならアクティブ化 IfWinNotActive, ahk_id %m_id% { SetWinDelay,-1 WinActivate SetWinDelay,100 } return ;これで支障が出るなら>>517 の方法がいいと思う。
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コマンドに変数展開使うだけだし
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 にしてもいいんじゃないかと思う