- 1 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:27:44.86 ID:h5sjW8CN0]
- ■配布元
www.autohotkey.com/ 本家Autohotkeyは事実上開発停止で、派生のAutoHotkey_L(AHKL)が主流。 新規利用者には日本語の扱いで不具合の無いAHKLのユニコード版の利用を推奨。 ■前スレ AutoHotkey スレッド part16 anago.2ch.net/test/read.cgi/software/1367725658/ ■日本語解説等 AutoHotkey Wik ahkwiki.net AutoHotkeyを流行らせるページ(ミラー) ahk.xrea.jp/ (不調時は hdd.s300.xrea.com/ahk/ ) AutoHotkeyJp(過去ログdatあり) sites.google.com/site/autohotkeyjp/ Autohotkey日本語ヘルプ(chmファイル) www6.atwiki.jp/eamat/ Autohotkey専用うpろだ ux.getuploader.com/autohotkeyl/ 簡易スクリプト掲示板 pastebin.com/ ■派生版 IronAhk (.NET製、クロスプラットフォーム) www.ironahk.net/ AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生) www.autohotkey.com/board/topic/39588-autohotkeydll/ テンプレ>>2-10
- 116 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 19:21:58.62 ID:9keEvpOM0]
- 会話噛み合ってないなぁwとは思ったがそんなキレんでも
あとIDというものをご存知か
- 117 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 19:32:49.20 ID:2yW1lBYX0]
- >>116
時々スレに書き込んでる人で会話にならないのがいる。 少し上にも特徴的なのが・・・。
- 118 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 19:40:59.11 ID:9keEvpOM0]
- !?オレもキレられるんだw
同ID相手にわざわざ >同一人物だと思うが とか言うからもしかしたら知らないのかなぁと思ったんだけど もし「仮に」、 >会話噛み合ってないなぁw の方に突っかかってオコなんだったら、それこそ国語が……
- 119 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 19:46:35.21 ID:o5+fta200]
- どっちもどっちにしか見えないけどな
付属してないって言われて、今ある場所を見つけてきたんだから 間違いを指摘するだけよりもよっぽど有意義だと思うよ
- 120 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 19:57:23.09 ID:2yW1lBYX0]
- >>118
ああ誤解させちゃったごめんなさいww ID:JduWIw5T0です。 名指しするのもアレだから曖昧に書いたのが失敗だった。 スレ汚し失礼しました。
- 121 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 20:25:48.06 ID:64SiAhDR0]
- アンカーミスが混乱をうんでる
- 122 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 20:29:25.85 ID:3Ouxq7Pu0]
- 誰も彼も混乱してら
- 123 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 20:41:04.23 ID:u9ftSiTp0]
- 蛇足が多すぎ
括弧の話題の方がまだ建設的だ
- 124 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 22:24:17.09 ID:2eN3Ej5Z0]
- >>125
ホラ 力抜けばそれだけ楽になるでしょ?
- 125 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 22:27:29.02 ID:/X1j4cqa0]
- >>111
普通はこう IfWinExist, , , , { } 邪道だけどこういう書き方ができなくもない(最後の , はIfWinExistとは関係ない) IfWinExist, , , , , { }
- 126 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 22:46:17.24 ID:aO9uH+Y50]
- >>125
なるほどサンキュー、勉強になるよ。 おやすみ(´・ω・`)
- 127 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/12(火) 18:46:02.31 ID:UAyBMDZq0]
- マウス(カーソル)の位置じゃなくて
カーソルの位置(?)を取得するにはどうすればいいんでしょうか? たとえばブラウザのアドレスバーに何かタイプしてENTERするとき カーソルがアドレスバーの位置にあればALT+ENTERにしたいです
- 128 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/12(火) 21:11:11.93 ID:Yc1HB9nl0]
- >>127
A_CaretX と A_CaretY かな ただし、Wiki に >一部のウィンドウではキャレット座標が実際の位置と異なるものを返す場合がある。 >FireFoxなど独自描画を行っているものはキャレット位置を取得できない事がある。 とあるので、使っているブラウザによってはダメかもしれない ahkwiki.net/Variables
- 129 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/12(火) 21:58:10.41 ID:UAyBMDZq0]
- ありがとうございます<(_ _)>
確かにFirefoxでは無理でした Chromeでも正確な値は取得できないみたいです
- 130 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/13(水) 10:15:27.62 ID:f+Nw+fu90]
- カーソル(キャレット)の位置より
アクティブな(≒その位置にカーソルがある)コントロールのクラス名で判断するのがいいんじゃないかね やったことないけど
- 131 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/13(水) 11:01:15.53 ID:Kqgc6YmM0]
- そのアイデアだと
日本語入力→変換→ENTER でもALT付きになるじゃないか
- 132 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/13(水) 12:39:11.95 ID:b8f6krUA0]
- うーん、firefoxを一度RAMディスクに書き出してから起動したいんですが書き出し処理の終了を待たずにfirefoxが起動してしまいます
run,RAMdisk.ffs_batch ;DropboxからRAMに書き出し。外部アプリケーション SetTitleMatchMode 2 DetectHiddenWindows On Process,WaitClose,FreeFileSync_x64.exe ←どうもこれをすっ飛ばして起動処理に入るようなんです Run,firefox起動処理 Process, Priority, %NewPID%, AboveNormal なにか間違ってますでしょうか
- 133 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/13(水) 12:39:30.36 ID:GKnPy8OAi]
- MouseGestureL.ahk の専用スレ立てたので、一応お知らせ。
【AHK】MouseGestureL.ahkを語るスレ【ジェスチャ】 anago.2ch.net/test/read.cgi/software/1384313234/
- 134 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/13(水) 14:29:55.78 ID:wCIurgL70]
- >>132
1行目でRunした後、2-4行目は一瞬だからFreeFileSync_x64.exeが起動する前に4行目が実行されてるんじゃない? 4行目の前に適当にSleep入れるか↓追加でどう? Process,Wait, FreeFileSync_x64.exe
- 135 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/13(水) 16:00:59.94 ID:b8f6krUA0]
- >>134
お、うまくいきましたありがとうございます
- 136 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/13(水) 16:49:13.23 ID:wCIurgL70]
- >>135
書き忘れてたけど、RunWaitでうまく処理終了が待てるならそっちの方がいいかも
- 137 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/14(木) 14:46:14.34 ID:70uZZmDc0]
- upボタンを連続して押して特定のアイテムを上に持って行こうとしましたができませんでした
ボタンを1回押したらlistviewのアイテムをクリックしないとupボタンが動作しましせん ボタンを押したあと選択箇所が移動しないのもその原因だと思うのですがよくわかりません どこを修正すればいいのでしょうか Gui, Add, ListView, r10, index|number loop, 10 { Random, rand, 1, 10 LV_Add(, A_Index, rand) } Gui, Add, Button, gUp, Up! Gui, Show return Up: Gui, Submit, NoHide below:=LV_GetNext(, "F"), above:=below- 1 LV_GetText(t1,below,2), LV_GetText(t2,above,2) LV_Modify(below,-Select, ,t2), LV_Modify(above,Select, ,t1) return
- 138 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/14(木) 19:17:27.10 ID:fSUAmxD/0]
- >>137
後もう少しで完成する、問題点は以下の通りがんばれ〜。 *関数なのでオプション名を "" で文字列にしないと変数参照になっている *オプション Focus が足りない *一番上になった場合何もしない処理が足りない LV_Modify(below,"-Select -Focus", ,t2), LV_Modify(above,"Select Focus", ,t1)
- 139 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 13:15:09.73 ID:HLAQQ9P90]
- 環境が変わってもIEを起動したいんですけど
%ProgramFiles%だとファイルが見つからないと言われます おとなしく絶対パス指定しないとダメなんでしょうか?
- 140 名前:名無しさん@お腹いっぱい。 [2013/11/15(金) 13:51:00.01 ID:PErdqdg50]
- >>139
Run, iexplore.exe これだけでOKだと思うけど
- 141 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 15:03:29.90 ID:HLAQQ9P90]
- >>140
マジデスカ
- 142 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 15:06:25.52 ID:HLAQQ9P90]
- マジデスタ
ありがとうございます助かりました
- 143 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 15:53:10.45 ID:ar/doy2G0]
- >>138
できました!感謝です!
- 144 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 16:44:40.43 ID:ZpjJqT760]
- 64bitOSに変えた?
俺も同じ状態になったからとりあえず %A_ProgramFiles% (x86) で代用してるわ "C:\Program Files (x86)"を直で指定する組み込み環境変数ってあるんかな
- 145 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 17:45:23.62 ID:ZlJjRCAZ0]
- ifexist,%systemroot%\syswow64
{ 64bitOSで走らせる処理 } else { 32bitOSで走らせる処理 } で分岐はできるぞ。 要するにsyswow64が存在するかどうかをチェックしてやればいいわけで これで64bit、32bitそれぞれに分かれてるプログラムの自動起動もできるようになる
- 146 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 18:14:46.33 ID:z0tVrYIF0]
- >>145
組み込み変数追加されてるぞ A_Is64bitOS (OSが64-bitなら「1」、32-bitなら「0」) ttp://ahkwiki.net/Variables
- 147 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 18:20:23.78 ID:ZlJjRCAZ0]
- なん、だと・・・
ありがたく使わせてもらいます。ありがとう!
- 148 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 20:57:10.67 ID:AqO+XN+s0]
- なんかのアプリで編集しようとしてnotepad.exeで開こうとしたら
サクラエディタに変更させるようなことはできないですか?
- 149 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 21:01:25.11 ID:ZlJjRCAZ0]
- www.crystal-creation.com/software/tool/system/auto-hot-key/setup/
このへんどぞー 困らないならahkファイルをそのまま関連付けて、Runコマンドでahkpassを指定して引数でahkファイル選択して云々とかでもいいとは思う
- 150 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 21:08:11.85 ID:fT/a9cih0]
- これはTerapadの方法だけど、こういうことをやりたいってことでしょ?
okwave.jp/qa/q3936777.html リンク先に書かれている tp.ini の中身を他のエディタ(サクラエディタ)のパスに書き換えれば サクラエディタが起動するようにも出来るんだけどね。 話はそれたけど、ahkで同じようなラッパーを作ってnotepad.exeと入れ替えれば出来るよ
- 151 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 21:16:40.99 ID:z0tVrYIF0]
- >>148
サクラエディタの関連付け変更すればいい
- 152 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/15(金) 23:37:40.72 ID:QdLf00QQ0]
- 今日から使い始めてまだ全然使いこなせてないが、
これしゅっごいね 世界が変わったわ
- 153 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/16(土) 04:09:07.76 ID:XVNmzA0x0]
- Windows 8.1にしたら
Send,!{Tab} とか Send,{Alt Down}{Tab}{Alt Up} なんかが効かなくなったんだけど使えてる人いる? 管理者権限で実行してもダメなんだけど
- 154 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/16(土) 04:15:11.74 ID:/DSb0fi40]
- >>153
解決したいなら環境ぐらい全部書こうや
- 155 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/16(土) 07:52:21.20 ID:XVNmzA0x0]
- >>154
いや8.1で使えてる人がいるかどうかだけ聞きたいんだ 他の人が使えてるならこっちの問題だからあれこれ試してみるけど、 8.1で非対応になっちゃったのなら時間の無駄だからね ちなみに他のキーストロークのSnedは正常動作している Alt絡みでもね
- 156 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/16(土) 08:55:12.96 ID:SGeYgS4w0]
- いやあのね、そうあからさまに自分だけ良ければいいって言われても…
これから8.1にしようとしてる人もいるだろうし他の人の参考にもなるんだから ちゃんと情報だそうや せめてAHKのバージョンくらい書くのが礼儀でしょ
- 157 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/16(土) 11:12:33.29 ID:XVNmzA0x0]
- もう面倒だから自分で調べたわ
8.1 というかWin8だとAlt+Tabは効かないらしい 解決策としてAutoHotkey_L作者が作った↓のスクリプトで AutoHotkey.exe自体にパッチを当てると使えるようになる www.autohotkey.com/board/topic/70449-enable-interaction-with-administrative-programs/ ってことで試したら確かに直ったよ 他にも管理者権限のウィンドウも操作出来たり、SendPlayが 使えるようになったりするらしい ただしAutoHotkey.exeはProgram FilesとかのOSが信頼する 場所に置かないと効果が出ない
- 158 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/16(土) 19:17:21.97 ID:/DSb0fi40]
- UACをOFFにすればいいだけじゃないか?
- 159 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/16(土) 21:36:52.37 ID:9zWik5h40]
- UACオフとかないわー
ひくわー
- 160 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 08:49:13.81 ID:O37TPfeO0]
- そりゃUAC OFFにすりゃAHK以外でも色んな問題が解決するわなw
自分がそれで良いと思うならそうすりゃ良いよ だが人には勧めんな
- 161 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 10:08:04.14 ID:37z1dVEm0]
- firewallとhipsで管理すりゃ
UACとかいらなくね
- 162 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 10:53:15.63 ID:spOsTE5/0]
- Windows8の問題っていうより、Vista以降の仕様じゃね
- 163 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 13:19:12.84 ID:nP8Zxfpa0]
- え?みんなUACとかどういう設定にしてる?
当たり前のようにオフにしてたわ
- 164 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 13:25:18.19 ID:6vjG/kgD0]
- AHK使う上でどうにもならなくてUACは切ることにした
>>157のパッチは初めて知ったけど、バージョン上がるごとにパッチあてるんじゃめんどいし このままOFFでいいかな
- 165 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 14:53:11.38 ID:kQ6OtSac0]
- NortonUACェ……
- 166 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 17:53:58.67 ID:dM2lh/9X0]
- UACって肝心のセキュリティー性能が低い上に弊害を多発させるからそのまま使う奴の気が知れない。
他のセキュリティーソフトの方が性能良い、弊害無いから普通はそっち使うよなw 自分はCOMODO(Firewall+HIPS フリーソフト)使用。
- 167 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 18:09:39.38 ID:k7PszIJ60]
- そもそも自分だけのPCの場合は邪魔だしな
でも家族で使うとか会社で使うなら切るべきものじゃない
- 168 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 19:09:25.72 ID:u1WcORIm0]
- まあ脱初心者したくらいでみんな通る道かもね>UAC OFF
- 169 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 19:56:40.55 ID:sFdMuGQe0]
- AHKに関連して語るならまだしも、On/Offに伴うセキュリティ的な話題とかならよそでやれ
- 170 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 21:33:44.99 ID:fhX8uY3m0]
- firewall と UAC は同列に話すようなもんじゃないが
- 171 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 21:38:08.02 ID:KDQ403jh0]
- そういえばUACを回避するパッチをlexikosがフォーラムに出していなかった?
- 172 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 21:39:24.65 ID:una8jQOX0]
- 話を元に戻そう
ポータブルユーザー向けに「相対パス起動バッチ」を作れるAHKを作ろうと思うが、需要あるかな? まぁ、まだ考えてる途中なんだけども
- 173 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 21:55:44.22 ID:k7PszIJ60]
- >>172
ニーズ狭いなオイ
- 174 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/17(日) 22:27:31.40 ID:OKOOTUfZ0]
- 狭いニッチを埋めるのこそAHKが適してると思うけどね
- 175 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 01:15:03.95 ID:q7SDJwhc0]
- ホットキー追加したら何時の間にか古いホットキーが動かなくなってたりするのは仕様なんだろうか
どっかで奪ってるのかなぁ
- 176 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 12:29:29.97 ID:Lu28XJXP0]
- >>172
自分も色々トラブった。例えばMouseGestureL.ahkでahk関連付けなしだと 1MouseGestureL.ahk をコンパイルしたMouseGesureL.exe ⇒ 当然駄目 2Autohotkey.exe 直下のAutohotkey.ini に#include MGL.ahk ⇒ 駄目 3Run "%A_ScriptDir%\MGL.ahk" ⇒ (行けると思ったけど)駄目 4結局、MGL.ahkのアイコンをAutohotkey.exe に食わせてしのいでる。 >>172 需要あるからインスコ・関連付けなしにどうにかできるやつ作ってくれ
- 177 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 15:05:38.93 ID:44Zvdgh/0]
- 意外と躓いてる人いるのかな?簡単にメモ書いとく
MouseGesture.bat ↓書いてること start ..\AutoHotkey_LPortable.exe MouseGestureL.ahk 実際のところこういう行を書いたbatがあれば使える batがあるフォルダの一つ上の階層のAutoHotkey_LPortable.exeにbatがあるトコと一緒のフォルダに入ってるMouseGestureL.ahkを送って起動する ポータブルAppsにAutoHotkey_LPortable.exeはある アップデートはApp\AutoHotKey_Lの中にAutoHotkey.exe、AutoHotkey64.exeがあって、バージョンアップは本家サイトからDLしたものを直に上書きすればok 64はリネームでおk これでbatを起動すれば関連付けもドライブレターも関係なしでahkがうごかせる
- 178 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 19:37:08.56 ID:m/oJB8p00]
- ポータブル環境でやる場合はいくつか方法がある。
どれが最適なのかは各自の環境で判断してほしい。 --exeから起動-- 使用したいスクリプトと同じフォルダ内にAutoHotkey.exeを同名にリネーム(MouseGestureL.ahkの場合) AutoHotkey.exe → MouseGestureL.exe(.ahkと同じ場所に保存) --RunでAutoHotkey.exe指定-- Run,"C:\〜省略〜\AutoHotkey.exe" "C:\〜省略〜\MouseGestureL\MouseGestureL.ahk" --バッチファイル(.bat)から起動-- テキストファイル(.txt)に以下のコマンドを書いて拡張子を変更(.bat) start "C:\〜省略〜\AutoHotkey.exe" "C:\〜省略〜\MouseGestureL\MouseGestureL.ahk"
- 179 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 19:45:23.43 ID:Xr6kemFF0]
- >>176-177
横からだけど、怒らず聞いて欲しい初心者っぽい疑問だけど、 MouseGestureL.ahkのフォルダにAutoHotkey.exeをコピーして、 そのexeを「MouseGestureL.exe」にリネームし、それを起動する。 これでも駄目ってこと?
- 180 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 19:47:13.21 ID:Xr6kemFF0]
- 先に書かれてしまった…(´・ω・`)ショボーン
- 181 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 20:10:59.26 ID:m/oJB8p00]
- 追加、おそらくこれで全部
--スクリプトの実行ファイル化-- **.ahk を ahk2exe.exeを使いスクリプトを実行ファイル化 --AutoHotkey.exeにドラッグ&ドロップ-- **.ahk を AutoHotkey.exeにドラッグ&ドロップ
- 182 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 20:12:35.00 ID:fX+rdGjS0]
- >>178
exeからの起動の例ってもしかして autohotkey.exeがリネームされていたらその名前.ahkを実行できるってこと? かなり便利な機能なのに知らなかった
- 183 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 22:02:23.25 ID:Xr6kemFF0]
- 相対パスで思い出したけど、AutoHotkey.exeフォルダ配下に
名前を「include」にしたフォルダを配置すると そこに置いた(関数などの)ahkファイルをインクルードする時に #Include を相対パス指定できるとかの特権はないの? やるとしたら、 #Include %A_AhkPath%\include\kansu.ahk これしかない?まあ、これでも文句はないけど。
- 184 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 22:14:01.45 ID:hRoSj7CU0]
- Lib
- 185 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/18(月) 22:49:31.47 ID:Xr6kemFF0]
- >>184
おう「Lib」とな。 しかも#Includeの記述さえ不要とは… 教えてくれてありがとう。
- 186 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/19(火) 08:25:04.45 ID:7L3k8gzn0]
- #Includeなしでいけるのは関数だけじゃなかったっけ?
なんにしろLibフォルダからの相対パス指定で#Includeはいけたハズ
- 187 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/19(火) 10:29:37.07 ID:Lh9KvNx10]
- 知りたいことがあったらまずwikiで該当項目見なさいよ
こんなに情報が充実しているフリーソフトなんて珍しいというのに
- 188 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/19(火) 12:30:41.05 ID:fM0m1mZj0]
- #include %A_ScriptDir%
#include ..\MyScript\hogehoge.ahk で相対指定できてるが
- 189 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/19(火) 12:45:15.59 ID:Rhk1Izc70]
- とりあえず魔法の言葉SetWorkingDir,%A_ScriptDir%をおぼえればいい
Menu,Tray,icon,%A_ScriptDir%..\..\..\Icon\Icon_169.ico あとこれはアイコンの場所指定なんだけども、この行を見てもらえれば相対パスはイケることがおわかりいただけると思う
- 190 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/19(火) 19:53:02.46 ID:wNIYddS70]
- 気になってたんだが
>>172の相対パス云々っていったい何をするためのパッチなん?
- 191 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/19(火) 20:51:04.25 ID:isr4byqx0]
- もしかしてスレ違いになるかもだけど、「..\」とか「\..」(の意味や書き方)がよく分かんない。
- 192 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/19(火) 20:57:04.18 ID:61RbzuhO0]
- >>191
PCのパス指定の基本なのでググって勉強してらっしゃい。 検索ワード:絶対パス 相対パス フルパス
- 193 名前:176 mailto:sage [2013/11/20(水) 23:07:21.26 ID:IViM/TQQ0]
- >>172
私のせいで変な方向に話がそれたとしたらごめんなさい。 >>177-182 解決しました.ありがとう
- 194 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/20(水) 23:19:56.96 ID:xBePS8Uv0]
- SHIFTキーを押されるまで処理を待つ方法なんてありますか?
大量のローカルログをOperaで表示させようとしています。 今まではローカルログをOperaで事前に一つづつ表示させておくスクリプトを AHKで書いていて、多機能マウスの戻るボタンで戻って表示させていたのですが、 ページ数が多すぎてだんだんと遅くなってくるようになってしまいました。 そこでスクリプトを開始した後は、SHIFTキーとCtrlキーが同時に押されている間は ログページを順番に表示させ、押されていない間は待つなんてことができるのでしたら、 やり方を教えて下さい。 今現在押されているキーなんて解る方法はありますか?
- 195 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/20(水) 23:38:23.77 ID:+i0au6Rz0]
- autohotkey_Lの一番新しいバージョンを使っています
こういうスクリプトを作ったらエラーになりました test() return test(){ Run, www.autohotkey.com } クラスが登録されていません、と出るのですがどこがおかしいのでしょう
- 196 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/20(水) 23:40:59.28 ID:OofHMdcO0]
- >>194
keywaitのオプションつかってエラーレベルで判定 もしくはgetkeystateでいけんじゃないかなー?
- 197 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/20(水) 23:42:33.55 ID:IpEjnz5u0]
- >>194
GetKeyState + Loop か SetTimer でキー監視したらいいんじゃない? やりたいことが決まったら該当しそうなコマンドがあるのか確認。 むしろ今後のためにも全て目を通した方がいい。 ttp://ahkwiki.net/Commands_Category
- 198 名前:195 mailto:sage [2013/11/20(水) 23:52:58.72 ID:+i0au6Rz0]
- ブラウザ側の設定を変更したらエラーメッセージが消えました
スレ汚し失礼しました
- 199 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/21(木) 11:19:28.43 ID:dWWNh+SH0]
- ネトゲのXGENCODEってマクロ・チート対策に引っかかるようになってしまった
マクロも使ってないしpause sprictしても落とされる もうやめるわ ネトゲを
- 200 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/21(木) 11:37:32.13 ID:o/8Ro1rc0]
- >>199
よく言った!それでこそ生粋のホモルーデンスだよ!
- 201 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/21(木) 12:50:41.93 ID:9zUhsSJq0]
- >>199
最近、ゲームでAutohotkeyを利用している動画が山ほどツベに載せられてるから どこもかしこも対策に動き出してるのかもしれん。
- 202 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/21(木) 14:30:35.51 ID:sABHiha50]
- autohotkeyのforumにゲーム用のカテゴリが設けられたぐらいだしね
- 203 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/21(木) 15:02:01.94 ID:HN7FYLf30]
- 格ゲーも規制されちゃうんかね・・・
キーボードゲーマーなんでHitbox配列作ったんだけどこれも規制されちゃうとこまるなぁ
- 204 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/21(木) 20:19:43.77 ID:V+B1gFkC0]
- PCで格ゲーって言うほど盛り上がってなさそうだけど
- 205 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/21(木) 22:10:38.53 ID:HN7FYLf30]
- 左右のボタンが押されてる時ニュートラルにするスクリプト便利なんよ
ヨガフレイムコマンドの精度あがるんよ
- 206 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/22(金) 10:15:08.40 ID:wWYPEutH0]
- 使えなくするなら代わりの物を教えてほしいよね
対策に引っかかる常駐ソフトをゲーム起動時に落とす為にAutohotkey使ってたのに、本末転倒 けどAutohotkeyの便利さがすごいからやめられない止まらない
- 207 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/23(土) 13:51:23.92 ID:gnR+5Fxb0]
- 対策されたゲームが、Autohotkeyのどの部分を見て判断しているのか知らないけど
仮にウィンドウクラスを見ているとしたら、Autohotkey.exeをバイナリエディタで書き換えれば回避出来るよ。 実際はそんな簡単な問題でもなさそうだけど。
- 208 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/23(土) 16:02:13.44 ID:MHBddyEo0]
- LLフックだろうね
- 209 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 21:56:38.57 ID:6MZ1sECB0]
- 連続したホットキーWheelDownの最後にだけ処理を実行するにはどうしたらいいんでしょうか?
WheelDown:: MsgBox, ホイールダウン ホイールをまとめて回転してしまうと何回も実行されてしまうのを防ぐため 50ms間ができたら実行というようなことをしたいです
- 210 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 22:03:42.69 ID:6l7gRGw60]
- settimer,ラベル,-50
かな
- 211 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 22:26:56.93 ID:6MZ1sECB0]
- >>210
ありがとうございます そういうのどうやったらパッと思いつくんですか? 賢いです頭良いです参りましたー
- 212 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 22:46:53.44 ID:GF2TaHiu0]
- >>209
SetTimerだと経過後実行なのでレスポンス悪くなる。 50msだと問題ないが間隔大きくする場合はこっちの方がいいかも。 TickCount = Return WheelDown:: ToolTip If A_TickCount - 500 > TickCount ToolTip OK Else ToolTip NO TickCount := A_TickCount Return
- 213 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 23:17:21.45 ID:6MZ1sECB0]
- >>212
ありがとうございます 賢いですー これはホイール回転の最初の1回目に実行する方法ですかね? >>209が分かりにくいですがホイールをまとめて回転させた最後に 1回だけ実行させるにはSetTimer方式しかないでしょうか? 勘違いでしたらすみません
- 214 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 23:23:38.83 ID:4heix6ya0]
- #IfWinActive ahk_class hoge はひとつしか登録できないんでしょうか?
複数のahk_classに同じものを登録したい場合まとめて設定できますか?
- 215 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 23:26:46.08 ID:6l7gRGw60]
- >>214
#IF winactive("ahk_exe hoge") && winactive("ahk_exe hige") みたいな
- 216 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/24(日) 23:30:57.46 ID:4heix6ya0]
- >>215
ありがとう 試してみます
- 217 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/25(月) 00:50:14.57 ID:dyr+O2fS0]
- >>209
参考になるか分からんけど。 AutoHotkeyを流行らせるページ → 使用例 → 何も操作をしていないときに実行 ahk.xrea.jp/Examples.html
- 218 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/25(月) 20:49:51.60 ID:4VOX6Bwt0]
- >>217
サンクスです! 勉強になります
- 219 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 00:48:35.56 ID:MOrY+w/n0]
- いままで日本語オフにしたいときに
IME_OFF("A") って入力してたんですが、バージョンアップかなにかの節目を境に 上のを書き込むと error : call to nonexistent function ってでてエラーがでてしまいます。 IME_Func.ahkはautohotkey.exeがあるフォルダにあります。 日本語オフをするときには今はどうやるのがスタンダードなのでしょうか? おしえてください。
- 220 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 01:03:11.13 ID:8MuF3GKU0]
- >>219
MouseGestureは専用スレでよろしく 誘導された事と再度質問を書こう。 【AHK】MouseGestureL.ahkを語るスレ【ジェスチャ】 ttp://anago.2ch.net/test/read.cgi/software/1384313234/
- 221 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 01:05:00.79 ID:8MuF3GKU0]
- と思ったらただのIMEスプリクトか失礼。
- 222 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 01:08:37.93 ID:IXvseLy+0]
- eamat @Cabinet - IME.ahk
www6.atwiki.jp/eamat/pages/18.html ime_func.ahkはわからないけれど ime.ahkならIME_SET(FALSE) でいいんじゃないかな
- 223 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 01:14:04.47 ID:8MuF3GKU0]
- >>219
error : call to nonexistent function エラー:存在しない関数の呼び出し 置く場所や記述ミスじゃない? %A_MyDocuments%\AutoHotkey\Lib\ {AutoHotkey.exeのあるディレクトリ}\Lib %A_ScriptDir%/Lib 8.1 ライブラリディレクトリ ttp://ahkwiki.net/Function
- 224 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 01:33:00.62 ID:tG5dZZAr0]
- #includeが通ってないぽいかな
あとIME_Func.ahkはかなり古い版なのでAHK_Lに対応してないかも >222の新版だとLibに入れとけば#includeなしでもいけると思う 使い方は IME_SET(1) : IME ON IME_SET(0) : IME OFF みたいな感じで www6.atwiki.jp/eamat/pages/17.html
- 225 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 02:23:57.01 ID:MOrY+w/n0]
- 219です。ありがとうございました。うまくいきました。
ただ二個のことしないと上手く行かなかったように思います。 ・LibフォルダにIME.ahkを入れる ・IME_SET(0)にする (IME_SET(FALSE) だと上手く行かなかった。) 222の保存の方法もあまり分からずテキストコピペしたりして試しましたが IMEオフはなんとかできたっぽいです。
- 226 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 17:11:52.08 ID:FrZA908G0]
- IME.ahkで現在変換中の状態かどうかを取得するにはどうすればいいですか?
IME窓(漢字の候補)が出てる状態でなく 「ファイル」みたいな一つしか候補がなくてIME窓が出ない単語でも 変換中かどうか取得できるでしょうか?
- 227 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 20:59:40.83 ID:IXvseLy+0]
- >>226
>>222の >IME 文字入力の状態を返す かな?
- 228 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 21:18:02.01 ID:FrZA908G0]
- >>227
ありがとう〜 試してみます
- 229 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 21:49:21.00 ID:FrZA908G0]
- メモ帳では正しく取得できるのですが
FirefoxやChromeでは常に戻り値ゼロになります Win7x64です何か改善策ないでしょうか
- 230 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 22:00:40.20 ID:hJltsLV50]
- >>7Q2
- 231 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 23:29:55.03 ID:tG5dZZAr0]
- >>229
(IMEの設定 秀丸の例) homepage3.nifty.com/kons/hidemaru/helpsite/hidemaru/html/070_Env_Edit_Ime.html ソフト側のIME入力方法が↑ここの「トゥルーインライン入力」のようになってると取得できない 「通常のインライン入力」か「システムライン入力」にしてやる必要があるが、 設定方法はソフト毎に違うしそもそも変更できるかもわからん、個別で確認してみてくれ MS-Officeの場合は手元の2007までは解除できた、それ以降のバージョンは持ってないのでわからん >※ MS-Office系で 入力窓のクラス名 を正しく取得するにはIMEのシームレス表示を > OFFにする必要がある > オプション-編集と日本語入力-編集中の文字列を文書に挿入モードで入力する > のチェックを外す
- 232 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/27(水) 23:56:42.75 ID:FrZA908G0]
- どうもありがとうー
- 233 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/29(金) 02:21:22.37 ID:lflsJ3W60]
- ちょっとなかなか調べても見つからないので聞きたいんですけど、タスクトレイアイコンをダブルクリックした時の挙動を変えるにはどうすればいいでしょう?
- 234 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/29(金) 02:42:42.07 ID:+F16pq690]
- Menu, TRAY, Default, MenuItemName
- 235 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/29(金) 02:44:47.57 ID:G8+3dUdT0]
- >>233
wiki内検索したらすぐ出たぞ?(タスクトレイアイコン ダブルクリック) ttp://ahkwiki.net/Menu
- 236 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 01:48:29.15 ID:nKfwT6LB0]
- 質問です
押す度に順に違うキーを送信したいのですが F1,F2,F3と来て元のF1に戻りません var = 0 PrintScreen:: if (var = 0) { Send, !^+{F1} } else if (var = 1) { Send, !^+{F2} } else { Send, !^+{F3} } var += 1 if (var > 2) var = 0 return どこを直せばいいでしょうか
- 237 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 02:02:37.90 ID:/CTVHw590]
- 〜
if (var > 2) var = 0 return
- 238 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 02:13:00.46 ID:nKfwT6LB0]
- ありがとうございます
次の行に書かないといけないんですね やっと理解しました
- 239 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 02:13:18.54 ID:QMrAE7z20]
- >>238
もう少しシンプルに書いた方が 可読性や保守性いいと思うが・・・。
- 240 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 02:33:07.58 ID:nKfwT6LB0]
- すいません
C言語書いてる癖が出てしまいました
- 241 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 08:10:52.81 ID:GnWsZW4n0]
- 謝る必要なんてないよ
AHKの構文仕様もあまりほめられたものではないしな
- 242 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 10:09:13.26 ID:JlLJ9omk0]
- 質問です。拡張1でコピー ダブルクリックで選択した文字を即検索は設定してます。
webページや2chブラウザで見る改変できない文字は、Wクリックすると想定通り動きます。 しかし、メモ帳やexcel等文字を入力改変できる状態で使用すると、 「vk1Dsc07B」が入力されてしまい、使い物になりません。 無変換キーを押すと問題なく出来る様にはなってるのですが、どこを修正したらいいでしょうか? #MaxThreadsPerHotkey,2 XButton1:: If(A_PriorHotkey = A_ThisHotkey) And (A_TimeSincePriorHotkey < 500){ Flag = 0 Send,vk1Dsc07B:: Backup := ClipboardAll Clipboard = Send,^c ClipWait,1 Run,https://www.google.co.jp/search?q=%Clipboard% Clipboard := Backup Return }Else{ Flag = 1 Sleep,50 If(Flag) Send,^c } Return
- 243 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 13:45:05.00 ID:kIvii5lj0]
- おそらくどっかからの丸コピコードで全然理解してないんだろうけど
vk1Dsc07B で検索して引っかかる箇所は一行だけなんだから、修正箇所は分かるでしょ わかってないのは修正内容の方だと思うが 無変換キー送信したい → Sendの特殊キーの項目を確認 ahkwiki.net/Send#.E7.89.B9.E6.AE.8A.E3.82.AD.E3.83.BC.E5.90.8D.E4.B8.80.E8.A6.A7 なんで無変換キー送信するのか → IME OFFが目的? → >219-225
- 244 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 21:38:09.30 ID:+aAc1ReT0]
- MsgBoxダイアログを指定した座標に作ることはできないでしょうか?
MsgBox作成後に移動しようと思いましたがウィンドウじゃないからなのかWinMoveで移動できませんでした・・・
- 245 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/30(土) 23:25:50.11 ID:QMrAE7z20]
- >>244
MsgBox表示中は現在のスレッドは一時停止される。 別スレッドで監視/移動 または GUIを自分で作ればいい。 F1:: SetTimer,Move MsgBox Return Move: WinWait,ahk_class #32770 WinMove,ahk_class #32770,,300,300 SetTimer,Move,OFF Return
- 246 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/01(日) 00:47:10.77 ID:rr/QNjsv0]
- >>245
そうなんですね 本当にありがとうございました
- 247 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/02(月) 20:27:22.61 ID:UoaosTTM0]
- WheelAccel.ahkの話はMGLスレよりこっちの方が適してると言われたのでこっちでもう一度質問。
WheelAccelの理想の動きはイメージで言うと下のグラフのような動きなんだけど (徐々に加速し、スクロールが停止するちょっと前から徐々に減速する様な感じ) homepage1.nifty.com/rikiya/images/software/117_4.gif 現実問題、WheelAccel.ahkの何処をどのように変えると実現します? それから、この中に含まれるWheelAccel.ahkが最新バージョン? mousegesturel.googlecode.com/files/Examples_52.zip
- 248 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/02(月) 23:30:06.75 ID:zqwxjKTK0]
- ソースコード付属のフリーソフトの改良方法を、フリーソフトを書いた言語のスレで
質問されても本当に困ってしまうわけですが。 その、WheepAccel.ahkと、MGLのソースコードを全部読んで返事してほしいということですか?
- 249 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/02(月) 23:48:48.95 ID:zqwxjKTK0]
- >>248
くそ、なんか後味悪い WA_Throttle()の中身弄ったらいけるんだろ スクロールが停止する前ってのがわけわからんけどな。 ホイールが停止するのを感知しろとでもいうのか、それともホイールが停止してからも スクロールのスピードを落としながら停止するまでスクロールしろってことか? 図でいうところのTはホイール操作としてどういう状況なのかがわからんわ
- 250 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/03(火) 00:01:29.39 ID:Joz+q56x0]
- WheelAccel.ahkの元になったWheelScroll.ahkを書いたものですが
Scroll.ahkの加速部はここの過去スレで誰かが張ったものを元に制作 Accel.ahkの加速部はIKK…もといmobitan氏が、やっぱりここの過去スレで 別の誰かが張ったものを元に乗せ換えた、という経緯だったと思います つまり加速に関しては各自欲しい物を適当にもってきてるという状態なので 第三の加速方法の実現方法についてはホイールの加速方法に詳しい方に理論指導ののち ご自分で入れ込むのがよろしいかと コード中の具体的な修正箇所はWA_Throttle()を呼び出してる行をコメントにして代わりの加速方法をいれこむか WA_Throttle() の中を丸ごとすげ替えるかすればOKです
- 251 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/03(火) 00:27:10.37 ID:5fVa01nj0]
- ロジクールの高速ホイールつかえばいいんじゃね
- 252 名前:247 mailto:sage [2013/12/03(火) 00:41:20.18 ID:gs5BzMAw0]
- >>250
サンキューでした。 どこまでやれるかガンバってみるわ。 >>248-249 気分悪くさせてしまったなら悪かった、謝るよ。 それから、あんまり火病ると体に良くないよ。
- 253 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/03(火) 07:06:26.67 ID:132GeGa70]
- 質問するだけしてレスついても反応なしのやつとか
どっかで拾ったソースの改良丸投げ依頼とかそんなの多いね
- 254 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/03(火) 13:14:49.66 ID:pS1lIgy+0]
- ● 分からない理由 ●
1. 過去ログを読まない。 2. 読んでても肝心な所が見えてない。 3. 検索能力が低い。 4. そもそも検索する気がない。 5. 類推という概念がない。 6. それ以前に普通に頭が悪い。 <わからない11大理由> 1.読まない …現行スレ、テンプレ、取説などを読まない。読む気などさらさらない。 2.調べない …過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3.試さない …めんどくさいなどの理由で実行しない。する気もない。 4.覚えない …人から聞いて、楽して得た答えは身に付かないから、すぐに忘れる。 5.説明できない …何に困っているのか、第三者に正確に伝わる文章が書けない。 6.理解力が足りない …理解力以前の問題で理解しようとしない。 7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。 8.感謝しない …教えてもらって当たり前。事がすんだらさようなら。 9.逆切れする …自分の思うようにならないと逆切れする。 10.開き直る …自分の思うようにならないと開き直る。 11.2ちゃんねるをお客様相談室だと思っている。
- 255 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/03(火) 13:15:22.52 ID:pS1lIgy+0]
- ★教えて君五大要素★
1 読まない (文盲) 2 調べない (能なし) 3 試さない (発想力欠如のアホ) 4 理解力が足りない (馬鹿) 5 人を利用することしか頭にない (死ね) YES → 【見つかった?】 ─ YES → じゃあ聞くな死ね / \ 【探した?】 NO → なら、ねぇよ \ NO → 死ね
- 256 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/03(火) 13:15:55.35 ID:pS1lIgy+0]
- ■回答できるレベルの人へお願い■
このスレは親切な人が多いと思うけど、もう日記に対する検証&レスは、 たとえ対処法をわかっている人がいても、レスは一切やめにしてくれないか? こいつがやってることは 「適当にコード作ってみたけど動かない。動かない原因を調べるのも面倒だし、 学習する気もない。どうせここに書けばおまえらが修正するだろうから誰か直して」 ってことだ。しかも、一度だけならまだしも、何度も繰り返している。 これまでに、このスレではこの手の質問者は居なかったと記憶する。 いつまでもこんなクズにつきあう必要はない。 汎用性のないコードでスレが汚されるのは、結果的に良質な情報が 埋もれる原因になって迷惑だし、横から見ていても参考にならないし、 なによりも見ていて不快でしかない。
- 257 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/04(水) 12:30:17.43 ID:9w4g5HVI0]
- そして誰もいなくなった
- 258 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/04(水) 15:06:16.01 ID:EiiyEWJU0]
- ID:pS1lIgy+0のことは個人感情でしかないんで気にしないでもいいんじゃよ
- 259 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/04(水) 19:00:32.22 ID:pdCI9Suq0]
- >>253
即使えるコピペコード期待→wkiの該当コマンドページ張られる or WinMessageとかDllCallとかWinApiとかポインタがどうとか理解外の答え帰ってきた怖い って感じなんだろう ただ、クレクレに見えるレスでもとっかかりがわからんだけの初心者さんもいて 説明ページへのリンク張ると頑張りだす人もいるので いきなり>254-255張って萎縮させるより、煽りながらもヒント出すツンデレスでやるほうがいいと思う 255は言動が明らかにおかしいチラウラ野郎用なので質問お断りみたいな流れでは張るべきじゃないね
- 260 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/04(水) 19:02:20.81 ID:pdCI9Suq0]
- ×255は
>256だった
- 261 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/04(水) 22:19:12.76 ID:JQh1NruY0]
- このコピペが必要になるとはな・・・
みたいな万が一の事態が起きた時の保険用にか
- 262 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/05(木) 17:28:40.83 ID:hVYR+JZI0]
- F1::
Hoge := A_TickCount - count tooltip, A_TickCount=%A_TickCount% count=%count% Hoge=%Hoge% count := A_TickCount return 一回目のF1押しでHogeが空になってしまいます static count=0 みたいにしたいのですがコンパイルエラーになります どうすればいいんでしょうか?
- 263 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/05(木) 18:40:18.50 ID:92FJxjTK0]
- >>262
エラーは起こっていないのでコンパイルエラーとは言わない 初回意図しない動作になるのは count の中身が指定されていないから Hoge := A_TickCount - count → Hoge := 1234 - (空) 式として成り立っていないので (空) が返される。 スクリプト起動時に実行されるAuto-executeセクションで count = 0 を指定すればいい。 15 スクリプトの起動とAuto-executeセクション ttp://ahkwiki.net/Scripts -------------------------------------- count = 0 F1:: Hoge := A_TickCount - count tooltip, A_TickCount=%A_TickCount% count=%count% Hoge=%Hoge% count := A_TickCount return
- 264 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/05(木) 19:06:11.77 ID:hVYR+JZI0]
- >>263
ありがとうございますm(_ _ )m なるほどAuto-executeセクションに書けばいいんですね ちなみに static count=0を書くと私の環境ではコンパイルできないのですがどうしてでしょうか・・・? [スクリプト仕様]のページを見ると スタティック変数の例↓のように書かれています AAA(){ static CalledTimes CalledTimes++ MsgBox,%CalledTimes%回目 }
- 265 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/05(木) 19:10:53.29 ID:S42OhYbw0]
- 関数内じゃないから
- 266 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/05(木) 19:18:06.88 ID:hVYR+JZI0]
- よく分かりましたm(_ _ )m
- 267 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/08(日) 00:09:08.12 ID:HwtBWHvTP]
- ..
- 268 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/11(水) 23:18:15.76 ID:VBfa8aHJ0]
- GUIのEditコントロールにテキストを追記したいのですが質問があります。
アドバイスもらえませんか。 Windows7 64bit, AHK_L v1.1.13.01 64bit Q1. GuiControlとControlSetTextの違いは? ControlSetText, Edit1, %text%, ahk_class AutoHotkeyGUI GuiControl, , Edit1, %text% Q2. 全部Getしてテキストつなげて再Setだと効率悪そうだけど直接追記の方法ある? ControlGetText, oldtext, Edit1, ahk_class AutoHotkeyGUI ControlSetText, Edit1, %oldtext%%addtext%, ahk_class AutoHotkeyGUI すんませんがお願いします。
- 269 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/12(木) 00:32:26.55 ID:jKLh4qEi0]
- >>268
>Q1. GuiControlとControlSetTextの違いは? Guiコマンドで作成したGUIに対しては細かい指定ができる GuiControl[Get] を使うのが普通。 ControlSetText > 指定したコントロール (GUI、メモ帳なのでもいい) GuiControl > Guiコマンドで作成したウィンドウ (細かい指定が可能) >Q2. 全部Getしてテキストつなげて再Setだと効率悪そうだけど直接追記の方法ある? GuiControlGet,Var,,ControlID GuiControl,,ControlID,%Var%追加テキスト
- 270 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/12(木) 00:57:34.13 ID:okQADZym0]
- >>269
ありがとう。助かった。明日試してみる
- 271 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/13(金) 04:18:22.59 ID:8uCBpJDm0]
- 処理Aを無限ループさせるスクリプトをGuiで制御させようとしているのですが
Pauseが上手く動作しません Gui,Add,Button,,Pause Gui,show Label1: 処理A Gosub,Label1 return ButtonPause: Pause,,Label1 return と言った感じに書いてるのですがGuiのPauseで停止は出来るのですが再開することが出来ません Gui側で停止と再開を制御するにはどのように記述したらいいのでしょうか
- 272 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/13(金) 06:07:46.79 ID:HWNZLtYL0]
- >>271
Wiki等説明に書いてあるが Pause はホットキーやホットストリング以外が停止する。 つまりGuiも一時停止しているのでボタンは反応しない、たまたま動いているが Pause 第2引数も間違っている。 ttp://ahkwiki.net/Pause ループ処理は Loop SetTimer を使うべき。 Gui,Add,Button,,Pause Gui,Show Var = 1 TEST = 1 SetTimer,Label1,100 Return Label1: ToolTip,% TEST++ Return ButtonPause: If Var = 1 { SetTimer,Label1,OFF Var = 0 }Else{ SetTimer,Label1,ON Var = 1 } Return
- 273 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/13(金) 07:20:03.85 ID:8uCBpJDm0]
- なるほど!いろいろと勘違いしてたようです。ありがとう
- 274 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/15(日) 11:46:18.17 ID:Sdf3K9wN0]
- 【AutoHotkey スレッド part16】のレス164
>IMEの状態を間違えて打った時に、入力文字の削除、IMEの切り替え、再入力をキー一発で行う というスクリプトを参考にしたAスクリプトと、 「文字入力操作に入ったらマウスアイコンを非表示/動かしたら表示する」、 というBスクリプトが有ります。 そのどちらでもコマンド「settimer」と「input」を使用してます。 これらをCというメインスクリプトで#Includeすると、Bスクリプトが動かなくなります。 原因はどちらでも「input」を使用してるせいだとは思いますが、 「input」以外に文字入力を感知するコマンドを見つけられませんでした。 「input」を代替するようなコマンドとか関数ありませんか?
- 275 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/15(日) 17:53:03.42 ID:oGoZjFg+0]
- >>274
ない 作れ。 原因が分かっているなら#Includeせずに競合しないように書き直せ。
- 276 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/16(月) 07:52:55.08 ID:+skMhsJJ0]
- アプリのスクリプト言語として組み込むような仕組みありますか?
- 277 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/16(月) 23:27:27.99 ID:k/O+MCiL0]
- >>276
意味わからなす
- 278 名前:名無しさん@お腹いっぱい。 [2013/12/16(月) 23:41:25.41 ID:g9ztIiRs0]
- >>276
アプリからAutohotkey呼び出せばいいだけじゃね?
- 279 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/17(火) 12:35:56.56 ID:HF79/rMZ0]
- 今プログラム起動の関数作ってるんですけど、引数受付けてくれないんで困ってます
;プログラム起動処理関数 ;存在するならウィンドウアクティブ ProcessRun(pass,option="",active =""){ SplitPath,pass,exe ;パスを分解してファイル名を取り出す IfExist,%pass% ;exeが存在するかチェック { Process,Exist,%exe% ;プロセスが存在するかチェック。 if (ErrorLevel <> 0){ if(active = 1) WinActivate,ahk_pid %ErrorLevel% }else{ Run,%pass%,,%option% } } } これに”A.exe Bファイル”をいれても動きません 半角スペースから後ろをトリムで切り取るとか出来ませんか?
- 280 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/17(火) 13:12:16.51 ID:kP0TsYoU0]
- >>279
RegExReplace() ttp://ahkwiki.net/RegExReplace 正規表現で出来るが、これでいいんじゃない? ProcessRun(pass,pass2="",option="",active="") 〜略〜 Run,%pass% %pass2%,,%option%
- 281 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 11:18:48.94 ID:s1lQxVjC0]
- #If hoge1 := WinExist("ahk_class MozillaWindowClass") or hoge2 := WinExist("ahk_class Chrome_WidgetWin_1")
F1:: Tooltip hoge1=%hoge1% hoge2=%hoge2% return どちらのウィンドウも起動している状態でF1を押すと hoge1が常に1 hoge2が常にカラになってしまうのはどうしてでしょうか?
- 282 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 12:28:18.59 ID:PbPhfpuw0]
- 論理和は式のどれかが真になった段階で真が確定する
→どれかが真になった段階で式の評価をやめるから
- 283 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 12:29:25.19 ID:jy55PCzK0]
- if文の or だの Andだのでつなげた条件は全部実行してから判定してるとは限らんよ
速度優先でTrueを見つけた時点で次の処理に行っちゃう場合が多いと思うけど (コンパイラによって判定順がお尻からだったり頭からだったりもする) 必ず通る前提で複数の変数に格納するのは非常に危険なのでやめたほうがいい
- 284 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 12:36:30.17 ID:s1lQxVjC0]
- >>282
本当にありがとうございます 条件を#If hoge1 := WinExist("ahk_class MozillaWindowClass")だけにすると hoge1がウィンドウハンドルになるのですが 2つ条件を指定するとhoge1が0か1になってしまう理由が分からないです・・・何故ですか?
- 285 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 15:09:03.48 ID:jy55PCzK0]
- >→どれかが真になった段階で式の評価をやめるから
理由書いてあるのに何故ですかって言われても
- 286 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 15:17:43.51 ID:evB3MxNe0]
- #If hoge1 or hoge2
になると思ってるんだろうけど hoge1 := (WinExist() or hoge2) になってるんじゃないの
- 287 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 15:18:37.09 ID:ExaGxbuH0]
- >>284
#If (hoge1 := WinExist("ahk_class MozillaWindowClass")) or (hoge2 := WinExist("ahk_class Chrome_WidgetWin_1"))
- 288 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 15:19:09.34 ID:ExaGxbuH0]
- おう、かぶった
- 289 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 17:38:30.18 ID:G/sv6NM00]
- AHKで
「”指定した特定のウインドウのみ”、マウスオーバーでアクティブにする」 というような設定はできないでしょうか?
- 290 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 17:43:51.70 ID:XPNnQ2CE0]
- >>289
できます。
- 291 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 19:31:27.95 ID:s1lQxVjC0]
- >>286 287
ありがとうございます! なるほど()が足りなかったんですね たとえ式が1個でも()カッコつけたほうがいいかもですね
- 292 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 22:05:54.36 ID:R1JvPCpk0]
- >>290
>>289はコードくれくれって言ってんだからさ
- 293 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/18(水) 23:20:31.47 ID:CCaGETPl0]
- 便乗したいんですねわかります
- 294 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/19(木) 08:03:06.37 ID:zJOFP78X0]
- >>292
なら書いてやれば?
- 295 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/20(金) 11:47:26.18 ID:mlxG5Hkg0]
- >>279です>>280ありがとうざいました。とりあえず、ファイル起動関数でウィンドウ即閉じ、再起動、アクティブ化できるようにしましたので拙いですがはっておきます
;プログラム起動処理関数 ;pass2には引数を指定 ;optionにはMIN、MAX、HIDE、active、close、reloadを指定できる ProcessRun(pass,pass2="",option=""){ SplitPath,pass,exe IfExist,%pass% { Process,Exist,%exe% if (ErrorLevel <> 0){ if(option = "active"){ WinActivate,ahk_pid %ErrorLevel% }else if(option = "reload"){ Process,Close,%exe% Process,WaitClose,%exe% Run,%pass% %pass2% } }else{ If (option = "close"){ Run,%pass% %pass2%,,,pid Process,Wait,%exe% WinWaitActive,ahk_pid %pid% WinClose,ahk_pid %pid% }else{ Run,%pass% %pass2%,,%option% Process,Wait,%exe% } } } }
- 296 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/21(土) 07:25:07.10 ID:58vBPubX0]
- windowの表示を並べたり重ねたりするショートカットが欲しいんですが、
どうすれば良いでしょうか?? win+b→win→win→AppsKeyの後に、 d・t・i・uのどれかと言う感じのsendはスマートじゃない気がするのですが、 別の方法で「元に戻す」が使える状態での操作って出来ますか?
- 297 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/21(土) 07:51:08.00 ID:xmhgxw/C0]
- objShell := ComObjCreate("Shell.Application")
Return F1::objShell.CascadeWindows F2::objShell.TileHorizontally F3::objShell.TileVertically F4::objShell.UndoMinimizeALL
- 298 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/21(土) 16:21:15.45 ID:Hds2OfjC0]
- >>295
ちょっと読みづらいから書きなおしてahkファイルにしてみる ux.getuploader.com/autohotkeyl/download/34/Processrun.ahk
- 299 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/22(日) 15:48:50.81 ID:GnUolT8w0]
- >>297
簡潔な回答をありがとうございます。 comに付いての知識があまりなく、使用した事も無かったので勉強になりました。 dllとcomの関係、バイナリ互換とwindows・linuxの違い、comの情報を得るのが若干ハードルが高く、 oleviewがVisual Studioで見当たらなくて、Windows Server 2003 Resource Kit Toolsを知ったり・・・ comとレジストリの関係も結構驚きました。
- 300 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/25(水) 21:38:33.77 ID:HVB25HKc0]
- USBTVチューナーに付属の視聴ソフトを起動すると、autohotkeyのホットキー設定がほとんど無効になってしまいます。
ふたたびautohotkeyのホットキー(スクリプト)を有効にするためには、 TV視聴ソフトを終了させるかもう一度autohotkey.ahkを読み込ませないといけません。 どのようにすればこのような不具合を回避できるでしょうか?おしえてください。 TV視聴ソフトは、DigiBestTVというソフトです。windows7 x64 です。autohotkey_Lはx84版のものです。 スクリプト内容が悪いのかと思い、中身を10行ぐらいのものに変えてみましたが結果は一緒でした。 DigiBestTVの設定項目も見ましたがキーバインドを操作するような項目はありませんでした。
- 301 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/25(水) 22:23:29.53 ID:K9GCSInG0]
- >>300
キーボードフック使ってる? 何がどう反応しないのか書いてないし スクリプト内容見なきゃ分からん。
- 302 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/25(水) 23:55:37.42 ID:SqymqE420]
- 多分管理者権限の問題だと思うけど。
そのソフトを起動中でもフォーカスを他の適当なウィンドウに当てたら ホットキー利いたりしない? その場合はahkを管理者権限で実行すれば解決。 管理者権限で起動するのがセキュリティ的に好ましくないahkファイルの場合は無理
- 303 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/26(木) 01:28:33.93 ID:zx6ulNJx0]
- >>301
ちょっとわかりませんが、 #InstallKeybdHookっていうのかな。使ってないです。 >>302 autohotkey.exeを右クリして管理者として実行をしてみましたが、変わりありませんでした。 フォーカスを他のウインドウにしても効果ありません。digibestTVが起動してるとahkのホットキーが無効化されます。 反応しないというのは、無変換+J や無変換+G にカーソルやbackspaceを割り当ててるのですが、 そのままJやGを入力してしまいます。しかし一方無変換+Kanaにランチャーを割り当ててるのですが そちらはちゃんと起動します。.ahkの内容を最小限にしても同じでした。
- 304 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/26(木) 01:46:39.67 ID:lsxYMpIS0]
- .ahkファイル上げれば優しいお兄さんたちがいたずら……じゃなかった手取り足取り教えてくれるよ
- 305 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/26(木) 02:14:19.72 ID:6ztpcYyA0]
- >>303
とりあえず >>301-302 で言われたこと試そう。 #UseHook または #InstallKeybdHook をAuto-executeセクションに書く OSの機能UAC(ユーザーアカウント制御)を無効にしてみる
- 306 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/26(木) 07:40:42.88 ID:D0aKtmKJ0]
- >>303
Dirt2というゲームをフルスクリーンにしたら 同じようになるので以前このスレを覗いたら hookは後から実行したほうが有効になるってここで見たので SettimerでDirt2のウィンドウ状態を監視し、 フルスクリーンになったらahkを再起起動するようにしてた。 恐らく、>>305の方法で解決出来そうな気はするけど
- 307 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/27(金) 19:54:53.43 ID:jkW/sj760]
- winxp sp3 autohotkey_L 32bit バージョン: 1.1.13.01です。
以下のようなWM_COMMAND使う関数作ったのですが、 メモ帳のようにデスクトップにウインドウ開くものは操作できるのに タスクトレイに常駐してるものが操作できません。 どうしてでしょうか? ahk_WM_COMMAND(ahk_win_title, ahk_win_class, ahk_cmd){ SetTitleMatchMode,3 WM_COMMAND = 0x111 WinGet, ahk_hwnd, ID, %ahk_win_title% ahk_class %ahk_win_class% detecthiddenwindows,ON postmessage, WM_COMMAND, ahk_cmd, 0, , ahk_id %ahk_hwnd% } ※インデントは全角空白です ちなみに、AutoIt3で作った同じ関数だと問題なくタスクトレイ常駐のものを操作できます。
- 308 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/27(金) 22:32:25.31 ID:Tm3zwQ4c0]
- detecthiddenwindows,ONを関数の外に出したらどうなる?
- 309 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 00:05:07.06 ID:07ed4QJF0]
- 303です。
#UseHook または #InstallKeybdHookをスクリプトの一番上においてみましたが変化ありませんでした。 UACは無効です。 スクリプトのautohotkey.ahkは #InstallKeybdHook sc07B & H:: Send,{Blind}{BS} sc07B & i:: Send,{Blind}{Up} sc07B & l:: Send,{Blind}{Right} sc07B & k:: Send,{Blind}{Down} sc07B & j::send,{left} これだけにしてもdigibestTVを起動するとうごきません。 4回に一回ぐらいちゃんとこのホットキーが動くという感じです。
- 310 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 00:47:08.71 ID:W6cSodtT0]
- >>309
>動かないでも4回に一回ぐらい動く どっちなんだよ・・・。 #InstallKeybdHook sc07B & H::MsgBox これで確実に動くなら Send の問題だろうな 押し下げ間隔変更してみよう。 SetKeyDelay,,100 ttp://ahkwiki.net/SetKeyDelay 一部のゲームやアプリケーションでは押下と押下解除までの間に一定時間が必要
- 311 名前:307 mailto:sage [2013/12/28(土) 01:13:27.92 ID:0Y0bNe0b0]
- >>308
アドバイスありがとう。 ご指摘の通りやってみましたが、タスクトレイのものは操作できませんでした。 また、 ahk_WM_COMMAND(ahk_win_title, ahk_win_class, ahk_cmd){ WM_COMMAND = 0x111 WinGet, ahk_hwnd, ID, %ahk_win_title% ahk_class %ahk_win_class% postmessage, WM_COMMAND, ahk_cmd, 0, , ahk_id %ahk_hwnd% } としてみたり、 postmessageをSendMessageに変えてみたりしても同じく駄目でした。 今のところ、AutoIt3で作ったWM_COMMANDスクリプトをRunする方法で補ってるので 早急に解決する必要はないのですが、何かスッキリしない…
- 312 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 02:50:53.27 ID:AUGVJyBJ0]
- >>311
APIのPostMessageをDllCallで呼んでみては?
- 313 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 03:46:11.48 ID:07ed4QJF0]
- >>310
それやってみました。確実に動きました。ミスはなかった。 SENDに問題あるのかな。 SetKeyDelay,,100 やってみたけど、効果なし。レスありがと。 >動かない。でも4回に一回ぐらい動く ってのはたとえば、sc07B & i:: Send,{Blind}{Up} あるじゃないですか? sc07B & i をそこそこのテンポで押し続けていくと、 3回 i ってのが入力されたあと一回だけ↑の方向キー入力があって、そのあとまたiだけが入力されるっていうかんじ。 ランダム。
- 314 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 04:12:42.21 ID:W6cSodtT0]
- >>313
押し下げ、押し上げを明示的に 押し下げ、押し上げ間隔変更 SendModeの種類変更 ttp://ahkwiki.net/SendMode #InstallMouseHook SetKeyDelay,100,100 sc07B & i::Send,{Up Down}{Up Up}
- 315 名前:名無しさん@お腹いっぱい。 [2013/12/28(土) 11:25:07.82 ID:Ppn9Obyz0]
- 面倒だけど、DOWNとUPの両方をフックして
別々にキー発行した方が確実だよ
- 316 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 13:16:32.74 ID:0Y0bNe0b0]
- >>312
貴重な意見ありがとう。 DllCallですか?自分にはハードル高過ぎです…第一、数ある"引数"に何を入れるのかが分からない。 PostMessage系は、「VBS+dynwrap.dll」の組み合わせ以来、 「postmessage, WM_COMMAND, ahk_cmd, 0, , ahk_id %ahk_hwnd%」 の形式しか知りません…しかも「WM_COMMAND」以外使ったことないし。
- 317 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 13:53:08.02 ID:AUGVJyBJ0]
- 簡単だよ、AHKのPostMessage使うのとほぼ同じ
>>311の例を置き換えるなら↓ DllCall("PostMessage", Ptr,ahk_hwnd, Ptr,0x111, Ptr,ahk_cmd, Ptr,0) ただしwParamには上位ワードにWM_COMMANDの詳細コード、下位ワードに コントロールのIDを、lParamにはコントロールのウィンドウハンドルを指定する のが本来の使い方なので、あなた関数はメニューのコマンド実行にしか使え ないと思う あとタスクトレイのアイコンからは通常WM_NOTIFYで通知を受けるので、いき なりWM_COMMANDを送っても無視するアプリは当然いると思う Spy++を使えるなら非表示化されている本体ウィンドウのメッセージを見ながら トレイアイコンを操作すれば分かると思うけど
- 318 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 15:04:01.24 ID:0Y0bNe0b0]
- >>317
分かりやすい説明をありがとう。 具体例を挙げてくれたお陰で、これとwikiの説明も合わせて読むことで 限定的ではありますが、何となく分かったような気がします。 (PostMessage + WM_COMMANDが使えれば満足なので) で、DllCall()でPostMessageした結果もこれまでと同じで タスクトレイにあるものは操作できませんでした。 あと今回は返値とErrorLevel確認してみましたが、何れも正常動作してる値でした。 気休め程度にセキュリティ系を監視無効にしてみましたが、結果は変わらず。 なかなか先が見えません…
- 319 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 15:06:38.39 ID:ZMFX8XS+0]
- ウインドウ指定間違ってるというオチ
- 320 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/28(土) 16:24:12.29 ID:0Y0bNe0b0]
- >>319
ありがとう。再確認したけど、流石にそれはないです。 同じタイトル、クラスならウインドウが表示されてれば操作可能なのです。(Process Explorerで確認) ちなみに、WM_COMMAND使うにあたって「タイトル」「クラス」「コマンド」は UWSC.exe + ChkCtlID.dllでChkCtlID.uwsというスクリプトを動かして取得しています。 (実際に操作して必要なデータが取得できるので、これだけの為にUWSC使ってます)
- 321 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/29(日) 19:22:03.91 ID:y3TxPQeB0]
- イロハのイみたいな質問で恐縮ですが…
ScrollLockがONの時だけキーリマップされるというスクリプトを作るにはどうすればいいでしょうか? ONでリマップ、OFFの時は本来のキーの機能が働く形にしたくて、リファレンス等を見よう見まねで やってる段階なのですが、こんな形になりました if GetKeyState("ScrollLock","P"){ a::b }else{ Sleep,100 } Return
- 322 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/29(日) 19:24:46.34 ID:y3TxPQeB0]
- すみません。長いと怒られたので連投という形に成りますがご容赦を…
上の形で動かすと、ScrollLockがONでもOFFでもAキーがBにリマップされてしまいます それと、Sleepを充てたのもちょっと違うような気が… そもそも、根本的に発想が間違っているのかもしれませんが、いいやり方をご教示下さい
- 323 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/29(日) 19:26:28.92 ID:PgaLHOAR0]
- #If GetKeyState("ScrollLock","T")
a::b
- 324 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/29(日) 19:28:09.75 ID:o+jg+Krd0]
- If(GetKeyState("NumLock","T") == 0)
たぶんトグル使えたと思うからそれを使ってみては? Numlock状態をタスクトレイに表示できるスクリプト組んでたからタイムリー
- 325 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/29(日) 19:52:06.71 ID:y3TxPQeB0]
- >>323-324
こんなに早く感謝!教えて頂いた方法で、希望の動作ができました ModeをTにしないといけなかったんですね #Ifの使い方も勉強になりました ありがとうございました
- 326 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/29(日) 20:58:57.82 ID:o+jg+Krd0]
- ウヒョースゲーpostmessageこれスゲー
- 327 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/30(月) 10:14:47.38 ID:Ut/Si46b0]
- >>326
ヤベーよな 使い出したら止められねえわ
- 328 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/12/31(火) 21:32:02.68 ID:CNKTZK//0]
- ちょっとスレ違いかもしれないんだけれど、
TillaGoto.ahk持ってる人誰かうpしてくれませんか? 公式とか他回ったけど出てこない…
- 329 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/01(水) 00:34:04.55 ID:BejZgA1u0]
- SciTE4AutoHotkey
- 330 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/02(木) 22:16:05.97 ID:B/Qu2U8M0]
- どなたかMacbookのBootcamp環境上でAHKを運用してるって方おりますでしょうか?
数年前から、Win機に変換・無変換・多ボタンマウスを修飾キーにしたワンショットモディファイア を組み込んだりRoundMenuを使ったりしています。今回、気が向いてMacbook Air+Bootcamp で同様の環境を作ろうとした所、「かな」キーがレジストリでリマップしようがAHKでリマップしようが 必ずトグル動作になってしまい扱いきれず困っています。「かな」キーを普通にモディファイアの修飾キー に出来ている方がいらっしゃったら対処法を教示頂けませんでしょうか?
- 331 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/03(金) 04:24:05.90 ID:qbDUwg9/P]
- ポンコツOS積んでるMacとか使うもんじゃないよ
- 332 名前:330 mailto:sage [2014/01/03(金) 15:31:57.17 ID:wDBjnsKG0]
- もぅ挫折しそう… つかAHKだけじゃ100%無理っぽいです
- 333 名前:名無しさん@お腹いっぱい。 [2014/01/03(金) 16:17:42.99 ID:uHGrc1HW0]
- というかキーボード規格の問題じゃねーのソレ
Fnキーとおなじようなもんで
- 334 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/03(金) 16:23:41.97 ID:uHGrc1HW0]
- あ、俺からも質問
postmessageでX-finder終了メッセージ送って常駐の一斉終了に組み込みたいんだけど、リソースハッカーで調べても見つからないんだよね プロセス強制終了だとiniに書き込まないから変更状態保存されないし どっかに情報ないかな
- 335 名前:330 mailto:sage [2014/01/03(金) 16:45:32.03 ID:wDBjnsKG0]
- うまくいった〜。
レジストリいじるのにChnageKey使ってたんだけど、SharpKeysに変えてみた。 変更元のキーもスキャンコードベースで指定出来るのが決め手だろうなと。 結局元コード弄る必要すらなかったです。 低レベルな悩みでお騒がせしました。
- 336 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/03(金) 16:45:54.69 ID:gA08nXNr0]
- >>334
その書き方だと何を終了させたいのかよく分かんないけど postmessage使う必要ある?
- 337 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/03(金) 17:38:53.12 ID:aSWb0+zd0]
- >>334
WinCloseするだけじゃないのか? ttp://ahkwiki.net/WinClose 駄目なら↓ PostMessage, 0x112, 0xF060,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE
- 338 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/03(金) 18:05:43.12 ID:uHGrc1HW0]
- あ、wincloseでいいか
ありがとう
- 339 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/03(金) 23:43:42.30 ID:6mi/YYM20]
- なんかプログラマー気取りのレスがおおいよなあ
お前らが使ってるのは言語じゃなくてスクリプトエンジンだから RPGツクールと一緒。
- 340 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 00:59:23.80 ID:PYXLNTj80]
- どうした、どこかトラウマを刺激するスイッチでも入ったのか?
- 341 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 02:07:25.03 ID:mtwYn+fq0]
- クレクレの教えて君の逆恨みかな?
元マーだけど、ここにはおそらく現職のマーや多言語扱える人間が複数常駐してるなと感じることはある だがマー気取りの痛い人というのは別段見たことがない
- 342 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 02:23:33.43 ID:AUsHohtA0]
- プログラマーの一人称って安定しないな
マーって……
- 343 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 10:43:33.81 ID:N66thuPZ0]
- いや一人称では無いだろ
- 344 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 11:08:43.98 ID:mtwYn+fq0]
- さすがに現役時代でも自分のことをマーと呼ぶ人には出会ったことないわw
- 345 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 17:30:38.37 ID:5QWAv4qg0]
- むしろム板とマ板がある2chだからじゃない?
- 346 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 19:56:46.04 ID:oRzkyRNu0]
- スクリプトを編集してreloadした時にでるエラーメッセージをぐぐったりして調べたいんですけど
クリップボードにコピーするかテキストに出す方法ってありますか?
- 347 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 20:14:17.76 ID:w5g57NbE0]
- >>346
WinGetTextを使った別のスクリプト呼び出すかWindow Spy使えば?
- 348 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 20:58:34.93 ID:iZ9IYWWx0]
- 単純に、crtl+cじゃ駄目なんだっけ?
- 349 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 21:10:03.42 ID:w5g57NbE0]
- >>348
こんな機能あったのかwサンクス
- 350 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/04(土) 21:29:26.58 ID:AjuKralY0]
- Windows標準の機能だけど意外と知ってる人いないよね
- 351 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/05(日) 01:54:21.50 ID:SqERt/fB0]
- いやそこは「レベル低すぎだろ」って突っ込んであげたほうがいい希ガス
こんなもんも知らないんじゃAHKなんて活かし様ないだろ
- 352 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/05(日) 03:01:54.64 ID:KGEDNDUc0]
- >>351
ハイハイ、よかったね。
- 353 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/05(日) 15:08:46.89 ID:b/yWfANK0]
- Ctrl+CでコピーしたらCtrl+Vでパスを貼り付けられるようにしてほしかった
- 354 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/05(日) 16:25:36.08 ID:tFFNLJlE0]
- >>353
出来るだろ?
- 355 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/05(日) 18:41:09.85 ID:b/yWfANK0]
- >>354
エクスプローラではできんかった VistaHomeBasic32bit
- 356 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/05(日) 18:59:56.66 ID:sZA4GYag0]
- AHK関係ないだろ
AHKを使ってってことなら余裕で実現可能だし
- 357 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/05(日) 19:02:03.05 ID:b/yWfANK0]
- そりゃそうだw
- 358 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/06(月) 02:57:17.10 ID:6M7KTWEQ0]
- Send,^{Home}
Send,{Ctrl down}{Home}{Ctrl up} この2行って違いあります? 前者だと誤動作することがあって後者に書き換えるとうまくいくことが度々あるんですが
- 359 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/06(月) 03:00:38.51 ID:sxo5qzGk0]
- 多分差はない。下ほうがうごくならそっちのほうがいいかも
ただもし他の処理とかち合ったらctrlが押しっぱなしになるかも・・・?
- 360 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/06(月) 03:29:08.93 ID:6M7KTWEQ0]
- >ただもし他の処理とかち合ったらctrlが押しっぱなしになるかも・・・?
試しに Sleep,1000 Send,^{Home} としてみたら安定動作しているみたいなので もしかしたら他のキーが一瞬押されているのかもしれません 処理に入る前にCtrl,Alt,Shift,Winあたりの押下状態を調べてUpされるのを待つなり警告出すなりしてみます ありがとうございます
- 361 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/06(月) 12:29:28.31 ID:0G6McRFW0]
- 文字コード関係で困って自己解決したので報告です
AutoHotKeys_L unicode 64bit 特殊文字を指定するためのコマンド ASC{ nnnn } について。 解説だとnnnnをユニコードで指定できるとなっていますが、実際はキーボード(IME)の言語に依存します。 日本語キーボードならShift_Jis番号として解釈されるます。 Send {ASC 220} は 日本語キーボード だと 「ワ」 USキーボード だと 「ウムラウトの大文字U」 ユニコード番号で指定するためにはこのスタイルで書けばいいみたいです Send {U+nnnn} * nは16進数のユニコード番号
- 362 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/07(火) 14:57:06.16 ID:HnLr3QxO0]
- 文字列「{a { b } c}」から先頭の「{」と末尾の「}」を取り除き、
「a { b } c」にしようと以下のようにしたのですが、 ret2で末尾の「}」が取り除けません。 Pattern指定のどこが間違っているのでしょうか。 Target := "{a { b } c}" Pattern := "^\{" ret1 := RegExReplace(Target, Pattern) msgbox, % ret1 Pattern := "$}" ret2 := RegExReplace(ret1, Pattern) msgbox, % ret2
- 363 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/07(火) 15:08:35.62 ID:LQVBB70R0]
- Pattern := "}$"
- 364 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/07(火) 15:42:37.93 ID:HnLr3QxO0]
- >>363
ありがとうございました。
- 365 名前:名無しさん@お腹いっぱい。 [2014/01/08(水) 22:14:01.50 ID:kARE6RtX0]
- エレコムのM-XG3Gを買ったんですが、専用ドライバーをインストールするとWheelLeftとWheelRightがAHKで拾えなくなります。
ドライバーをインストールしなければ拾えるんですけど、こういう場合、 ドライバーをインストールしたままチルト入力を拾うことってできないもんなんでしょうか? チルト系のスクリプト全部書き直しになると地獄です。
- 366 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/08(水) 22:37:43.84 ID:NA8co93/0]
- >>365
2.3 マウスにホットキーの割り当てをしても反応しない。 ttp://ahkwiki.net/Faqs 専用ドライバーの設定に対してAutoHotkeyで割り当て ドライバー(WheelLeft→他のキーに変更) ↓ 対象のキーにAutoHotkeyで割り当て
- 367 名前:名無しさん@お腹いっぱい。 [2014/01/08(水) 22:52:22.20 ID:kARE6RtX0]
- >>366
それしかないですかね? あいにくここのドライバF13以降の割り当てができないので なにがしかのキーボードのキー(or プラス修飾キー)を使うことになってしまうんですが。 エレコムのドライバが制御してるキー入力判定を読み取ることとtか無理ですかね?
- 368 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/08(水) 23:18:29.84 ID:NA8co93/0]
- >>367
ドライバツールの段階でAutoHotkeyで拾えない独自のWheel***になってるのでドライバをどうにかするしかない。 もしかしたらドライバの設定ファイルを直接いじればF13以降も出来るかもしれない。
- 369 名前:名無しさん@お腹いっぱい。 [2014/01/08(水) 23:43:56.71 ID:kARE6RtX0]
- >>368
そうですか。難しそうですね。 ドライバーのインストールフォルダの中にあったkeyboard.iniの中に マウスボタンに割り当てるキーボードのキー情報がありました。中にあったF12キーのスキャンコードをF13のスキャンコードに置き換えて マウスのチルトにF13を割り当ててAHKでF13を制御してみましたがいけました。どうもです。 しょうがないんでWheelleftとWheelrightは全部これで置き換えます。
- 370 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 12:38:55.17 ID:5Gf14WnP0]
- 今現在、SetTimerとWinActiveをループさせながら複数ウインドウの監視してるのですが、
この方法よりも「イベントフック専用APIを利用する」方が無駄のない方法だと知り https://sites.google.com/site/agkh6mze/howto/winevent 此処にあるサンプルを元にウインドウ出現の監視をしようと思っています。 しかし、今動かしてるスクリプトは当該ウインドウの終了(WinNotExist)も監視してるため WinNotExistに当たるイベントも取得したいのですがそれらしいのが見あたりません。 WinNotExistに当たる定数は何なんでしょうか? EVENT_OBJECT_DESTROY = 0x00008001 かな?と思い、 EVENT_SYSTEM_FOREGROUND = 0x00000003 の代わりに指定してみましたが、何か違うような…
- 371 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 18:56:09.10 ID:1hwoDp2F0]
- ウィンドウを最善面にしたらウィンドウタイトルバーの色を変える(ようは目立たせる)
というようなことをしたいです 特定のウィンドウタイトルバーの色を変えることはできますか?
- 372 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 19:18:49.36 ID:5Gf14WnP0]
- 370です。前の疑問がまだ解決してないんですけど、もう一つ質問させて下さい。(欲張ってすいません)
SetTimerの第3引数に優先度を指定できますが、特に指定しなければデフォルトの0になると思うんですけど、 その場合のスレッド起動の順番はどういう順番になるのでしょうか? メイン.ahk ┃ ┣━ サブ_1.ahk(メイン.ahkにインクルード) ┃ ┗━ サブ_2.ahk(メイン.ahkにインクルード) スレッド起動の順番は、[メイン.ahk]→[サブ_1.ahk]→[サブ_2.ahk]ですか? また、任意に優先順位を決める場合、数字か大きい順に高いと判断して良いのですか? メイン.ahk(SetTimer, hage, 1000, 3) ┃ ┣━ サブ_1.ahk(メイン.ahkにインクルード SetTimer, turu, 1000, 1) ┃ ┗━ サブ_2.ahk(メイン.ahkにインクルード SetTimer, bozu, 500, 2) 優先順位高い順に(スレッド起動の順番)、[メイン.ahk]→[サブ_2.ahk]→[サブ_1.ahk]と思っていいのでしょうか?
- 373 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 19:25:24.39 ID:5Gf14WnP0]
- >>371
ux.getuploader.com/autohotkeyl/download/33/AltKGM12.zip これは枠を強調表示するみたい・・・試してないので詳細不明なんです。
- 374 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 19:30:37.83 ID:CVWfPYOb0]
- >>371
AutoHotkeyウィンドウなら Gui,Flash それ以外はOSのAPI関数 FlashWindowEx 目的のコマンドが無い場合はAPI関数を調べる癖付けるとイイよ。 ttp://www.autohotkey.com/board/topic/92043-problems-with-flashwindowex/
- 375 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 20:23:13.35 ID:CVWfPYOb0]
- >>370
無いものはないんじゃない? >>372 例えがおかしい、スレッドはインクルードや.ahkは関係ないスクリプトは上の行から順に開始される。 現在のスレッドより優先度が低い場合、割り込みは行われず、操作は無視される。 ttp://ahkwiki.net/Threads ■通常(優0) > → 実行中、 …:割り込み終了待ち > 元スレッド →→→→→→……………………………………→→→→ > ★割込 ↑再開 > 割り込みスレ →→→→…………→→→→→→END > ◆割込 ↑再開 > 更に割り込み →→→END ■元スレッドの優先順位が高い場合割込無視される待機もしない > 元スレッド(優2) →→→→→→→→→→→→→→→→→→→→END > ★割込無視 > 割り込みスレ(優1) ×待機もしない > ◆割込無視 > 更に割り込み(優1) ×待機もしない
- 376 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 21:16:51.01 ID:5Gf14WnP0]
- >>375
レスどうもです。 >>370の件は、地道にSetTimerとWinActiveをループさせときます。 あと、よく見たら、>>372の上の図で抜けがありました(すみません) 正確には、それぞれのahkでSetTimerでループ(?)しています。 メイン.ahk(SetTimer, hage, 1000) ┃ ┣━ サブ_1.ahk(メイン.ahkにインクルード SetTimer, turu, 1000) ┃ ┗━ サブ_2.ahk(メイン.ahkにインクルード SetTimer, bozu, 500) この場合、どの順序でSetTimerが働くかは読み込まれた順 (メイン.ahkでインクルードを記述した順)で決まるってことなんですね。 また、下の図の優先度云々の件は、割り込みに関係するのであって順番ではないんですね。 お手数お掛けしました。ありがとうございました。
- 377 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 21:19:34.41 ID:1hwoDp2F0]
- >>373-374
本当にありがとうございます 試してみます
- 378 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/09(木) 21:21:07.33 ID:5Gf14WnP0]
- >>376訂正
X >>370の件は、地道にSetTimerとWinActiveをループさせときます。 ○ >>370の件は、地道にSetTimerとWinActive及びWinNotExistをループさせときます。
- 379 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/10(金) 07:00:36.49 ID:NhKU6AoL0]
- こんなメモリーから読み取るBOT作られりゃ、そりゃゲーム会社も対策するわ。
Bot made in Autohotkey beats SSFIV AE 2012 on hardest difficulty www.youtube.com/watch?v=daqBboLaMKk Autohotkey自体の寿命が縮まらなければいいのだが。
- 380 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/10(金) 21:29:28.71 ID:5Jklg+MO0]
- AHKからVBS(WSH)使う時はScriptControlで出きるけんど、VBSからAHK使う方法手有るのん?
試してないけんど、AutoHotkey.dllっちゅうのでできるんかいの? それから、下のスクリプトのコメントで書いてるように AHK側→VBS側へ変数の中身を渡せないんだけんど、何か方法ないっすか? VBS側でAutoItX3.dllなんか使ってクリップボード介すしかない? obj := ComObjCreate("ScriptControl") obj.Language := "VBScript" ;~ moji := "12345" ;←AHK側で指定してVBS側へ変数の中身を渡す事ができない script = ( moji = "あいうえお" '←ここで直接書く他無い? MsgBox moji ) obj.ExecuteStatement(script)
- 381 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 11:06:35.83 ID:0NPVogb40]
- これホントだとしたら日本ってつくづくガラパコスだよね
img104.imageshack.us/img104/3740/stolevf2.jpg 日本国内だと UWSC > AHK >> AutoIt っぽいけど…
- 382 名前:380 mailto:sage [2014/01/11(土) 12:14:03.24 ID:L93ysrB90]
- 結局こんな感じで・・・・・ちょっとだけスッキリしますた(´・ω・`)
AHKにも文字列を入れた変数を展開先で実行してくれる機能有れば良いのにぃぃぃぃぃ script_before = ( moji = "あいうえお" title_string = "VBSを動かす - WshShell.Popup" ) script_VBS := Exec_VBS(script_before, "d") Exec_VBS(script_VBS) 次レスへ...
- 383 名前:380 mailto:sage [2014/01/11(土) 12:15:03.39 ID:L93ysrB90]
- >>382のつづき
;"d":「データ取得モード」でVBSが動くように完全な文字列を取得(戻り値有り) ;モード無指定(実質"c"指定):「実行モード」となり、上で取得した文字列を実行する(戻り値無し) Exec_VBS(tmp_script, mode = "c") { if (mode == "c") { obj := ComObjCreate("ScriptControl") obj.Language := "VBScript" obj.ExecuteStatement(tmp_script) return } script = ( '↑ ここの空白行は、引数の文字列と結合する時の「改行」代わりになるので【必須】 MsgBox moji, 3+32, "VBSを動かす - MsgBox" Set WshShell = CreateObject("WScript.Shell") WshShell.Popup "12345", , title_string, 4+64 ) if (mode == "d") { return (tmp_script . script) } }
- 384 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 13:11:55.87 ID:L93ysrB90]
- >>381
オレの場合、実用scriptの数で言うと VBS(WSH) + AutoItX3.dll > AutoIt > AutoHotKey > UWSC ファイル/フォルダ扱う処理ならVBS(WSH)がこん中で一番扱いな、個人的に UWSCはほぼ使わんから知らん
- 385 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 13:18:25.44 ID:DkUM7X060]
- 海外ではAHK出る前からある程度AutoItが普及してたんじゃない?
日本内でのAHKの認知度が上がったのはリファレンス訳して流行らせようとした人の功績だし 日本の場合ジワジワ浸透よりマニア推しの働きかけのほうが影響出てるように思う
- 386 名前:名無しさん@お腹いっぱい。 [2014/01/11(土) 13:31:33.31 ID:ezMuEju20]
- 基本的に日本語のリファレンスが充実してる言語しか日本じゃ流行らんし
- 387 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 17:49:30.45 ID:RzNhSytD0]
- >>381
gazo.shitao.info/r/i/20140111174750_000.png ぐるぐrトレンドですまんが、AutoitがじわじわAutoHotkeyに迫られてる気がするぞ。 お国で違うようなので、突っ込んで調査したい人は各自でグリグリやってくれ。
- 388 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 18:09:22.23 ID:xrpAHSIh0]
- さきほどここでAutoItを知って、いまAutoIt調べまくってた
キーリマップはAHKが強いみたいだからUWSCの代替になるのかと勘案してるんだが 専用スレは落ちて久しいみたいだな
- 389 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 19:26:16.84 ID:eIcYw4Wm0]
- Chromeバージョンアップでマウスホイールでタブ切り替え
ControlSend,,^{PgDn}, ahk_id %Win% ControlSend,,^{Tab}, ahk_id %Win% が効かなくなったんですか代替策ないですかね?
- 390 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 19:43:25.75 ID:ZCvYVkOb0]
- >>389
最新版(バージョン 31.0.1650.63 m)で普通に反応するが・・・。 環境と問題のスクリプトぐらい書こう。
- 391 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 20:26:07.39 ID:eIcYw4Wm0]
- すみません
Win7 x64とAHKL x64 最新です WheelDown:: MouseGetPos,,,Win ControlSend, , +^{Tab}, ahk_id %Win% ちゃんと非アクティブ時にも動きますか? こちらもアクティブ時は動きますが非アクティブ時に機能しなくなりました
- 392 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 21:20:41.28 ID:ZCvYVkOb0]
- +^{Tab} → ^{Tab} → {Ctrl Down}{Tab}{Ctrl Up}
Return がないのでSend以降の行までいっている可能性あり --------------------------------------------- ; SetKeyDelay,,100 ;反応しない場合 WheelDown:: MouseGetPos,,,Win ControlSend, , {Ctrl Down}{Tab}{Ctrl Up}, ahk_id %Win% ; ControlSend, ahk_parent, {Ctrl Down}{Tab}{Ctrl Up}, ahk_id %Win% ;FireFox用 Sleep 90 Return
- 393 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 21:47:05.49 ID:ElkyttuT0]
- つまりautoitの日本語訳作れば大逆転なの
- 394 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 21:50:17.80 ID:eIcYw4Wm0]
- >>392
サンクスです! 試したんですがそれだと非アクティブ時もアクティブ時も両方機能しなくなりました・・・ SoundBeepを入れてちゃんとスレッドが実行されていることは確認済みです ですが ControlSend, ahk_parent,, {Ctrl Down}{Tab}{Ctrl Up}, ahk_id %Win% にするとアクティブ時のみ機能します しかし相変わらず非アクティブ時に動きません
- 395 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 22:03:44.75 ID:ZCvYVkOb0]
- >>394
ユーザーアカウント制御 (UAC)をOFF フック使う #UseHook 間隔調整 SetKeyDelay,***,*** ahk_parent 有り無しで試す
- 396 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 22:25:56.03 ID:L93ysrB90]
- >>393
AutoItのリファレンス(chmヘルプ)の中見れば分かると思うが 膨大な項目数の割りに一つ一つの説明が簡潔だから 英語が不得意でも全然分かりやすいと思うぞ それに、ボタン一発でサンプルの動作確認もできる親切設計だ もし日本語訳リファレンス有るんならオレも欲しい
- 397 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 23:03:50.10 ID:Rzl8ngLT0]
- >>396
blog.livedoor.jp/blackcode/archives/1224220.html で日本語訳chmファイル配布してるけどver.3.3.6.1のままなのが少し残念
- 398 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/11(土) 23:07:18.92 ID:benG0tTg0]
- スレ立ててそっちでやれよ
- 399 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/12(日) 02:13:21.88 ID:HTX3Hu0i0]
- >>395
サンクスです ですが何故か非アクティブ時だけどうしても効きません
- 400 名前:名無しさん@お腹いっぱい。 [2014/01/12(日) 04:20:51.54 ID:N0XLrLft0]
- はじめまして。
NumLockキーを押し間違えるので NumLock::return と書いたのですが、そのあと、本当に必要な時のために #NumLock::Send {NumLock} と書いても動作しません。 どこをどう間違えているのでしょうか?
- 401 名前:名無しさん@お腹いっぱい。 [2014/01/12(日) 04:23:19.43 ID:N0XLrLft0]
- 追記。Windows XP 32bitです。
- 402 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/12(日) 05:44:25.72 ID:7kMoVYjO0]
- >>400
Lock系のキーへのキー割り当ては上手く行かない。 ttp://ahkwiki.net/Trouble#LockTrouble ---------以下代案-------- #If !(GetKeyState("LWin","P") or GetKeyState("RWin","P")) *NumLock::Return #If
- 403 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/12(日) 21:44:58.99 ID:eJUQGLfo0]
- Execute string in AHK - Support - AutoHotkey Community
www.autohotkey.com/board/topic/51532-execute-string-in-ahk/ ここ↑をヒントに文字列を実行する関数作ってみた 所詮素人が作ったものなんで突っ込み所有ると思うので、手直し必要なら教えてちょ(´・ω・`) Exec_Strings("MsgBox,2,title_test,test test test") Exec_Strings("WinClose,無題 - メモ帳 ahk_class Notepad") Exec_Strings("gosub,label_sub") Exec_Strings(cmd_strings){ Array := StrSplit(cmd_strings, ",") call_func := % "func_" Array[1] cmd_strings := RegExReplace(cmd_strings, Array[1]",") if (InStr(Array[1], "MsgBox")) { %call_func%(Array[2], Array[3], Array[4], Array[5]) }else if (InStr(Array[1], "WinClose")) { %call_func%(Array[2], Array[3], Array[4], Array[5], Array[6]) }else if (InStr(Array[1], "gosub")) { %call_func%(Array[2]) } } 次レスへ続く
- 404 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/12(日) 21:45:38.86 ID:eJUQGLfo0]
- >>403の続き
func_MsgBox(a, b, c, d) { MsgBox, % a, %b%, %c%, %d% } func_WinClose(a, b, c, d, e) { WinClose, % a, %b%, %c%, %d%, %e% } func_gosub(a) { gosub, % a } label_sub: MsgBox, sub_sub_sub return
- 405 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/12(日) 21:54:15.08 ID:eJUQGLfo0]
- >>403
Exec_Strings()関数内の「cmd_strings := 〜」の行は不要ですた
- 406 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 13:13:27.29 ID:oE7uW8Qb0]
- 関数も文字列として送れるようにした
とりあえずこんな感じだけど個人的には満足しとります(リマップ用スクリプトが見た目スッキリした) Exec_Strings("kansu_1(""hoge hage"")", "f") Exec_Strings("kansu_2(""Auto"",""HotKey"")", "f") Exec_Strings(cmd_strings, function = ""){ if (function = "f") { ;引数functionが「f」なら、cmd_stringsは関数と判断する Array := StrSplit(cmd_strings, "(") Pattern := "^""|""|\)$" tmp_Arg := RegExReplace(Array[2], Pattern) }else{ Array := StrSplit(cmd_strings, ",") call_func := % "func_" Array[1] } if (InStr(Array[1], "kansu_1")) { kansu_1(tmp_Arg) }else if (InStr(Array[1], "kansu_2")) { arg := StrSplit(tmp_Arg, ",") kansu_2(arg[1], arg[2]) } } kansu_1(hikisu){ MsgBox, % hikisu } kansu_2(hikisu_1, hikisu_2){ MsgBox, % hikisu_1 hikisu_2 } スレ汚しスマンかった(´・ω・`)
- 407 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 15:32:09.11 ID:ExwEl34b0]
- >>406
関数を追加するたびに else if を増やしていくのは面倒くさそう InStr() で1つずつ調べるより IsFunc() で関数の存在と引数の個数を調べて 分岐するほうが楽じゃないかな 後、MsgBox や WinClose みたいに単体で動作するやつは新規スクリプトに 書き出してそれを実行するほうが好み 引数の個数で分岐する必要が無いし、エラーが発生しても元のスクリプトが 止まらなくてすむ
- 408 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 15:38:03.02 ID:qvRdmS//0]
- 関数とラベルチェック作るとするじゃん?
if (islabel(check)) gosub % check else if(isfunc(check)) この行どうしよう? else Send % check return
- 409 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 16:03:58.58 ID:ExwEl34b0]
- やるとしたらこんな感じかな
arg1, arg2, ... は適切に設定されているとして n := IsFunc(check) if(n) { if(n==1) %check%() else if(n==2) %check%(arg1) else if(n==3) %check%(arg1, arg2) else if(n==4) %check%(arg1, arg2, arg3) 以下、予想される最大数の n まで }
- 410 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 19:57:19.56 ID:oE7uW8Qb0]
- >>407,>>408
アドバイスありがとう。お陰でかなり洗練されたけど、突っ込み所有れば容赦なく言ってちょ Exec_Strings(cmd_strings, function = ""){ if (function = "f") { ;引数functionが「f」なら、cmd_stringsは関数と判断する Array := StrSplit(cmd_strings, "(") Pattern := "^""|""|\)$" call_func := % Array[1] tmp_Arg := RegExReplace(Array[2], Pattern) n := IsFunc(call_func) if (n) { arg := StrSplit(tmp_Arg, ",") if (n = 1) { %call_func%() }else if (n = 2) { %call_func%(tmp_Arg) }else if (n = 3) { %call_func%(arg[1], arg[2]) ;中略 }else if (n = 9) { %call_func%(arg[1], 〜, arg[8]) } } ;--------------------------------------------------------------------- 次レスへ続く
- 411 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 19:59:10.16 ID:oE7uW8Qb0]
- >>410の続き
;--------------------------------------------------------------------- }else{ Array := StrSplit(cmd_strings, ",") call_func := % "func_" Array[1] if (islabel(Array[2])) { gosub, % Array[2] }else{ %call_func%(Array[2], 〜, Array[9]) } } } またまた、スレ汚しスマンです(´・ω・`)
- 412 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 20:15:02.55 ID:oE7uW8Qb0]
- 突っ込まれる前に一つ分かってることを言っとくと、
Exec_Strings("MsgBox,2,title_test,test") Exec_Strings("MsgBox,test") 上のは問題ないけど、下のだと表示が空になるのでまだまだですわ(´・ω・`) 後はコツコツと時間かけて手直ししていきますです では、おやすみなさい・・・・・(´・ω・`)
- 413 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/13(月) 23:19:06.64 ID:z3Qnnmrd0]
- 可変長引数使ったほうがシンプルだよ
- 414 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/15(水) 23:32:21.59 ID:V21fvvgZ0]
- ID:oE7uW8Qb0です
>>413 可変長引数の件はかなり役に立ったよ、ありがとう >>412の件は、func_MsgBox()関数内で第2引数以下に値が有るか無いかで どっちのMsgBox使うか判断するようにしますた 他にも手直しが必要なところを見つけたよ・・・まだまだ先が長いな(´・ω・`)
- 415 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/16(木) 00:15:37.30 ID:stEVobho0]
- 似たようなのでini に記述されたコマンドを実行するようなマクロスクリプト作ってたわ
ahkそのものがテキストベーススクリプタだから激しく車輪の再開発なんだけどね
- 416 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/16(木) 00:59:56.08 ID:GI4VDAks0]
- autohotkeyにreplがあればいいのに
- 417 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/17(金) 14:26:10.08 ID:zcQzHuv90]
- Tてアスキーコードじゃ84じゃん。
そんで小文字のtは116。 でも、どっかのブログの記事だと Send,^+tと Send,^Tは同じになっちゃうとか??受けるアプリによるの?? おかしくね? ^+t はコントロールとシフトを押しながらt(116)となることを通常、 想定するよな? ^+tは内部でコントロール押しながらT(84)となっているの? 初心者な意見ですみません。
- 418 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/18(土) 17:05:43.11 ID:nVmuDu3q0]
- 文字コードだけでなく、スキャンコード, VKey とか色々とあるんよ
とりあえずSendやその周辺のマニュアル読むべし
- 419 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/19(日) 13:05:34.00 ID:dvav9W940]
- 降順にループしたいんだけど、こんな方法しかない?
array := Object() array[1] := "one" array[2] := "two" array[3] := "three" c := 0, n := 0 for Value in array { c := array.Maxindex() - n n ++ MsgBox, % array[c] } とか Loop, % array.Maxindex() { c := array.Maxindex() - n n ++ MsgBox, % array[c] }
- 420 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/19(日) 13:19:11.21 ID:dvav9W940]
- >>419
訂正です。 実際はforループでValueの値も使いたいので、こっちので良い(スマートな)方法有ったら教えて下さい。
- 421 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/19(日) 13:59:26.29 ID:dvav9W940]
- 連投すいません・・・>>420の「Valueの値も使いたいので・・・」件は取り消します。
Valueは昇順で処理する場合必要なのであって、降順には不要でした。
- 422 名前:419 mailto:sage [2014/01/19(日) 18:14:49.09 ID:dvav9W940]
- 結局以下のようにして落ち着きました。
降順ループの場合、forだと変数Valueが無駄になるので loopの方がメモリーを無駄遣いしなくて良いのかな・・・なんて思いました。 Loop, % array.Maxindex() { c := array.Maxindex() - (A_Index - 1) MsgBox, % array[c] }
- 423 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/20(月) 00:24:14.42 ID:hAigsbcH0]
- オブジェクト内の要素カウントするのはコストかかるんで、
ループ前にローカル変数増やして対処するのが常套手段だけど、 AHKはどうかなぁ
- 424 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/20(月) 04:48:58.02 ID:qibQGH8z0]
- i := array.Maxindex() + 1
while --i MsgBox, % array[i] とか i := array.Maxindex() Loop { MsgBox, % array[i] } until !--i とかは?
- 425 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/20(月) 20:53:51.90 ID:k+hq/v/Y0]
- >>423-424
ありがd 知らなかったこと色々勉強した・・・ レスが長くなるとアレなんで簡単に書くと 先ずは、「--i」は(記述されたその行で?)演算後の値になること。(「i--」は次に「i」が使われる時点で演算後の値になる) 上段・・・「while 式」は、式「--i」の評価結果が 0 の時点でループ終了すること。 下段・・・「until 式」は、式「!--i」の評価結果が真(true、つまり 0 以外)になるまでループが続行されること。(この場合、「!」が肝) 今回は、後々のメンテナンスで分かりやすい「while」ループを使うことにしました。
- 426 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/20(月) 20:55:45.08 ID:k+hq/v/Y0]
- 連続だけど、質問。
今まさにWindowsがシャットダウンされようとしてるのは以下の方法で検知できるんだけど、 If A_ExitReason = ShutDown サスペンドやハイバネートを検知するにはどうしたらいいんでしょうか? AHKからサスペンドやハイバネートさせれば、検知など不要なんだけど、 方法如何に関わらず、検知させたいんです。
- 427 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/20(月) 20:59:22.22 ID:k+hq/v/Y0]
- あ、windowsXP 32bitでAHK_L(1.1.13.01)です。
- 428 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/20(月) 21:31:05.63 ID:hAigsbcH0]
- >>426
WM_POWERBROADCAST AutoHotkey スレッド part6 pc11.2ch.net/test/read.cgi/software/1219130051/971 AutoHotkey スレッド part7 pc12.2ch.net/test/read.cgi/software/1230694774/817,822,898,899,902-904
- 429 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/20(月) 22:07:16.10 ID:k+hq/v/Y0]
- >>428
ありがd よく読んで活用します。 しかし、過去スレのpart6と7に有ったのか・・・ 一応過去スレ読んどかないと、と思ってpart16・15・・・と遡りながら時間かけて読んできたけど、まだpart11の途中だったよ。
- 430 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 05:43:22.73 ID:VqxOnmgt0]
- 専ブラのJaneStyleで動画が見つからなかった時に
ダイアログを自動で閉じるようにしたいんだけど無反応でうまくいきません どこか間違ってますか? SetTitleMatchMode,2 #Persistent SetTimer AutoClose,500 return AutoClose: IfWinExist, StreamingPlayer3 ahk_class #32770 { ControlClick OK, StreamingPlayer3 ahk_class #32770 } return
- 431 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 15:08:07.41 ID:aYUiPLva0]
- AutohotkeyL x64 unicode版で動くeucへのURIエンコードスクリプトってありますでしょうか。
UTFへの変換やShiftJIS版でのものなら見つかるのですが、上記の条件だと見当たりません。
- 432 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 15:36:30.37 ID:oaSK6Z880]
- マウスカーソルがリンク、入力モード、矢印のどれかであるかを判断する方法はあるでしょうか?
- 433 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 16:00:45.35 ID:KTV70fcA0]
- >>432
MouseGestureLの関数丸パクリでこんなのは? Loop { If MG_GetCursor() = 65567 Tooltip, リンク Else If MG_GetCursor() = 65541 Tooltip, 入力モード Else If MG_GetCursor() = 65539 Tooltip, 矢印 Else Tooltip, その他 Sleep,500 } Return MG_GetCursor() { VarSetCapacity(infCur, 16+A_PtrSize, 0) NumPut(16+A_PtrSize, infCur, 0, "UInt") DllCall("GetCursorInfo", "Ptr",&infCur) hCursor := NumGet(infCur, 8, "Ptr") return hCursor }
- 434 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 18:45:16.66 ID:MOe0YTzR0]
- リマップ/ホットキー用スクリプト書くとき、
キー毎にまとめて書くのとアプリ毎にまとめて書くのと どっちの方が見やすく、管理しやすいでしょうか。 …というか、どっちがオススメですか。ご意見お聞かせ下さい。
- 435 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 18:54:25.99 ID:OEZwiZLo0]
- >>430
問題が起きたなら単純に機能をばらして確認すればいい、この場合、監視 + ダイアログをクリック ダイアログをクリックするスクリプトを先に完成させよう。 >>432 A_Cursor Wiki等情報サイトでまずは検索 ttp://ahkwiki.net/Variables#A_Cursor
- 436 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 19:49:21.45 ID:sJJjom+00]
- うーん、地味に組み込み変数に今押してる修飾キーを除いた物理キーってのがないんだのう
A_thishotkeyだと#とか^とか*とか downとか upとか余計なのついてくるし、トリムコマンドで整形するしかないのん?
- 437 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 20:51:49.47 ID:W82wCj4o0]
- かなキーに変換キーを割り当てたいだけなのに、
うまいこと設定できない。 日本語キー周りはレジストリ書き換えするしかないのか。
- 438 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 21:02:49.49 ID:5mH6o05+0]
- やったことないが、Wikiでは半角/全角・CapsLock・かなは動作不定となっている以上、
AHKで弄るのはよろしくないんじゃね
- 439 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 21:32:37.32 ID:+JdT8cDl0]
- >>434
俺はアプリ毎 アプリを使わなくなった時にまとめて消せるのが楽 >>437 vkF2sc070:: Send, {vk1Csc079} return で動かね?
- 440 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 21:45:03.49 ID:OEZwiZLo0]
- >>434
こんな感じで管理するといいかも。 ;---共通設定---- F1:: ToolTip 通常 Return ;--アプリ別設定-- #If WinActive("電卓") F1:: ToolTip 電卓 Return #If #If WinActive("無題 - メモ帳") F1:: ToolTip メモ帳 Return #If
- 441 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 22:57:09.64 ID:MOe0YTzR0]
- >>439-440
なるほどーアプリ毎にまとめた方が良いみたいですね。 自分もその方向で行きたいと思います。 ありがとうございました、。
- 442 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/01/21(火) 22:58:28.83 ID:kPbnp8kO0]
- もし良いアイディアがあれば教えてもらいたいのですが、
Windows8のタッチキーボードをトリガーに、AHKを使えたりしますか? 最近DELL Venue8を購入、Win8使ったことある人ならわかるだろうけど、タッチキーボードに左側にテンキー右側に日本語フリックのキーボードがあって、 それをテンキーよろしく8,2,4,6を上下左右のカーソル化や、「あ」をタッチしたら○○する というアクションを起こさせたいんです。 (イメージはゲームボーイのように縦に持って、両手親指で操作)
|

|