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
2 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:35:15.19 ID:h5sjW8CN0] ■重要事項 オリジナルである、本家 "AutoHotKey" の開発は終了している。 現在は、そこからフォークした "AutoHotkey_L" が主流。 スクリプトについては、それが本家AHKで動くものであるか、Lであるのかに注意。 AutoHotkey_L (内部Unicode、64bitバイナリ、オブジェクト指向、COM対応など) www.autohotkey.net/~Lexikos/AutoHotkey_L/ オリジナルのAHKとの変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。 →www.autohotkey.net/~Lexikos/AutoHotkey_L/docs/ →sites.google.com/site/autohotkeyjp/reference/AutoHotkey_L/index ※ 新規利用者にはAHKLを推奨するが、移行に際してすくなからずの改修が必要となる。 特に、旧流行らせるページの配布物(MouseGesture等)の多くはそのままでは動作しない。 安定利用できている環境を崩して移行するかどうかは各人の判断による。 MouseGestureについては有志の方がAHKL対応版を配布しているのでそれを利用するのもありです。 hp.vector.co.jp/authors/VA018351/mglahk.html code.google.com/p/mousegesturel/ ※ACC.ahkとCOM.ahkはフォーラムのリンク先にファイルが存在しません。 >>1 のAutohotkey専用うpろだにうpされています。 ■質問に際して OSの種類(XP/Vista/7)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。 また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。 2chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、 レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。
3 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:35:56.32 ID:h5sjW8CN0] ■過去スレ @pc7.2ch.net/test/read.cgi/software/1098531338/ Attp://pc7.2ch.net/test/read.cgi/software/1129836713/ Bttp://pc11.2ch.net/test/read.cgi/software/1157043396/ Cttp://pc11.2ch.net/test/read.cgi/software/1184556627/ Dttp://pc11.2ch.net/test/read.cgi/software/1201502896/ Ettp://pc11.2ch.net/test/read.cgi/software/1219130051/ Fttp://pc12.2ch.net/test/read.cgi/software/1230694774/ Gttp://pc12.2ch.net/test/read.cgi/software/1243005818/ pc12.2ch.net/test/read.cgi/software/1253888736/ Ittp://pc12.2ch.net/test/read.cgi/software/1265518996/ Jttp://hibari.2ch.net/test/read.cgi/software/1280482227/ Kttp://hibari.2ch.net/test/read.cgi/software/1296446228/ Lttp://anago.2ch.net/test/read.cgi/software/1317156599/ Manago.2ch.net/test/read.cgi/software/1333372506/ Nanago.2ch.net/test/read.cgi/software/1349735581/ Oanago.2ch.net/test/read.cgi/software/1367725658/ 以下FAQ等 ■実行環境 Q1:スクリプトに書いた日本語が文字化けしちゃうんだけど... A1:スクリプトファイルを「UTF-8」の「BOM」付きで保存する。(AHKLの場合) Q2:初めて使うけどどれを使えばいいの? A2:AHKLのユニコード版を推奨。 旧流行らせるページの配布物をそのまま使う場合は本家をそのまま利用する事。 64ビットOSでAHKL32ビット版の使用は制約が多いので、64ビット版を強く推奨。
4 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:37:03.49 ID:h5sjW8CN0] ■ リマップ・ホットキー割り当て Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。 OS側がキーUp/Down情報を正しく返してこないのでAHKのみで対処は無理です。 レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。 例) ChangeKeyを使って[ひらがな]を[F13]にする AutoHotkeyで任意のキーをF13にリマップする(例えばF12をF13にリマップし、スクリプトを実行)。 F12::F13 Changekeyを起動する。( www.forest.impress.co.jp/lib/sys/hardcust/keyboard/changekey.html ) 「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。 F12を押すとスキャンコード(0x0064はF13)が表示されるので覚えておき「終了」をクリック。 「ひらがな」キーをクリックすると「【ひらがな】キーをどのキーに変更しますか?」という ウィンドウが表示されるので右上の「Scan code」をクリック。 覚えておいたスキャンコード(0064)を入力し、「OK」ボタンをクリック。 「登録」をクリックし、Windowsを再起動する。 Q2:「^1::Esc」とリマップ定義したけど [Ctrl]+[1] を押したらスタートメニューが出ちゃうけどどうすればいいの? A2:リマップは修飾キー(Ctrl,Shift,Alt,Win)の押下状態を引き継いでキー発行するので、[Ctrl]+[Esc] がキー送信されるため。 これを避けるには、「Send」コマンドを利用して明示的に修飾キーなしのキーを発行をすればよい。 ^1::Send, {Esc} Q3:[Shift], [Ctrl], [Alt], [Win]以外を修飾キーとしてキー割り当てしたいよ A3:コンビネーションキーの機能で実現ができる。 例) 無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたい場合は以下のように記述する。 sc07B & I::Send, {Blind}{Up} sc07B & K::Send, {Blind}{Down} sc07B & J::Send, {Blind}{Left} sc07B & L::Send, {Blind}{Right}
5 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:37:50.27 ID:h5sjW8CN0] Q4:「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による) A4:多分自分自身のキーを送って無限ループになっている。 例) 「a::Send, a 」 先頭に $ を付ければ回避できる(NT系のみ)。 例) 「$a::Send, a」 #UseHookで全部にキーボードフックを適応する方法でも可。 Q5:キーリマップを使うとキー押下中に連打するけど、マウスボタンの場合は連打しない… A5:マウスはキーリピートしないので、Loopなどを使って自前でリピートさせてください。 Q6:ジョイスティックのリマップがうまくいきません!!助けて A6:ジョイスティックではリマップできない。「Send」コマンドでキー発行する必要がある。 × Joy1::Esc ○ Joy1::Send, {Esc} Q7:ジョイスティックの上下左右に割り当てたいけど、JoyLeft,JoyUpってホットキーは無いの? A7:無い。AHKのジョイスティックサポートはかなり貧弱なのでプログラマブルにやる必要がある。 Q8:ジョイスティックのボタン1とボタン2の入れ替えなどはどうやってやるの? A8:AutoHotkeyではできない。
6 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:38:23.76 ID:h5sjW8CN0] Q9:[Ctrl][Shift][Alt]が押されっぱなしになる時がある。これってAHKのせい? A9:AHKが原因の場合とそうでないときがある ○AHKが原因の場合 AHKには、以下のような修飾キー付きのホットキーで修飾キー無しでキーを発効する場合、 一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構がある。 しかしこのように発効するキーストロークが多い場合は、Sendコマンドが完了する前に 物理キーが押下解除されてしまっている場合がある。この齟齬が押しっぱなしの原因となる。 例) ^W::Send, {w 30} これを回避するためには、以下の方法をとればよい: ・キー押下状態を常に監視するキーボードフックを導入する(#InstallKeybdHook) ・キー発効のコマンドを SendInput, SendPlay にする(SendModeで一括指定でもよい) ・上記二つが出来ない場合は、SetKeyDelay, 0 等としてキー発効をなるべく早く行うか、 #HotkeyModifierTimeout で修飾キー押下のタイムアウト値を長めに設定をする。 なお、他のキー発効を行うツール(クリップボードユーティリティやマウスジェスチャツールなど)が、 発効する修飾キーが原因となる場合もあるが、フックの導入でほぼ解決出来ると思われる。 ○AHK以外が原因の場合: 環境により異なるので何とも言えないが、以下のような環境の場合発生する事が報告されている。 ・ Logicool(Logitec)のマウスユーティリティSetPoint(verによっては問題ない事もあるとか) ・VirtualPC, WMWare, 窓使いの憂鬱 等のキーボードフィルタドライバを用いるアプリケーションを使っている ■ IME関連 Q1:IMEのOn/Offの切り替えや、状態を得るにはどうすればいいの? A1:www6.atwiki.jp/eamat/pages/17.html の「IME.ahk」を使いましょう。
7 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:38:58.31 ID:h5sjW8CN0] Q2:IMEが現在文字を入力している、または変換中であるかどうかを得ることはできる? A2:↑のIME.ahkで一部可能(IEやFirefox,MS-Wordのようにインライン化しているアプリでは無理) ■ その他 Q1:「a=abc」と「a:="abc"」って違いがある? / 「If a=1」と「If (a=1)」って違いがある? A1:意味としては違いは無い。単体では、コマンド形式(共に前者)の方が「式」形式(同後者)より*少し*速い。 複数条件の場合、IfのネストよりはAND(&&)条件で「式」を並べた方が速い。 が、バッチでかなりの回数(数万↑〜)回したりする場合以外は、体感出来るほどの差はない。 Q2:テキストエディタでキーワードの色づけなどをしたいんだけど。 A2:「{AutoHotkeyのフォルダ}\Extras\Editor」に各種エディタの定義ファイル及びキーワード一覧あり Q3:GUI作るのめんどくせ〜〜 A3:公式( ttp://www.autohotkey.com/download/ )から SmartGUI Creator をDLして使うと楽。 Q4:AHKってマルチスレッドじゃないの? タイマーやMsgBox, WinWait, KeyWaitを使ってるけど思った通りに動かない。 A4:「擬似マルチスレッド」です。最後に割り込んだスレッドが終わるまで元スレッドは動きません。 MsgBox、WinWait、KeyWait、Process,WaitClose などをタイマーで複数動かす時は注意。 > 要は処理系統が複数同時に走らないってこと。図にするとこんな感じ。 > → 実行中、 …:割り込み終了待ち > 元スレッド →→→→→→……………………………………→→→→ > ★割込 ↑再開 > 割り込みスレ →→→→…………→→→→→→END > ◆割込 ↑再開 > 更に割り込み →→→END ※ AutoHotkey_H(AutoHotkey.dll)を利用すると真のマルチスレッドが利用可。
8 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 18:39:51.27 ID:h5sjW8CN0] Q5:AHK、AHKLx86、AHKLx64の共存は出来る? A5:それぞれを違うフォルダ(ディレクトリ)にインストールすれば共存できます。 但し、インストーラーを使って最後にインストールしたAutohotkey(Normal or x86 or x64) に対してahkファイルの関連付けが行われますので、レジストリエディタ(Regedit.exe)や FileTypesMan等のツールを使って関連付を変更してください。 ahkファイルをAHK Normal、ahlファイルをAHKLx86、ah6ファイルをAHKLx64といったように 別々の拡張子に関連付けが可能です。 それぞれに関連付けしたファイルに対してドラッグアンドドロップを有効にするにはレジストリの [HKEY_CLASSES_ROOT\ファイルタイプの名前\ShellEx\DropHandler] の (規定) のデータを {86C86720-42A0-1069-A2E8-08002B30309D} にする。
9 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 21:13:02.87 ID:LgZDMlJy0] 前スレが終了しそうなのと、別の話題で盛り上がってるようなので新スレに質問を書きます。 別に急ぎませんので、前スレが終わってからお願いします。 ダイアログウインドウのボタンにMouseMoveしたいと思ってます。 条件として、デフォルトボタンかフォーカスがあるボタンへです。 そこで「ControlGetFocus」や「ControlGetPos」を使おうと思ったのですが、 「ControlGetFocus」はボタンにフォーカスがあればclass名は取得できますが、 ボタンの位置は取得できませんし、ボタンにフォーカスがなければ何も取得できません。 「ControlGetPos」はボタンのclass名が分からないとボタンの位置が取得できません。 何か良い方法無いでしょうか? そもそもデフォルトボタンって取得できマスかね?
10 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/02(土) 23:36:23.30 ID:LgZDMlJy0] >>1 スレ立て乙でした。 ごめんなさい、言い忘れてました。
11 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/03(日) 09:58:21.06 ID:r/31SuUG0] ダイアログの確認ボタンてフォーカス当たってる場合が殆どかと思ってたけど違うのもあるんか デフォルトボタンの取得方法はわからんが ・「OK」「はい」「再試行」「続行」あたりで適当にあたりつけて取得してみる (Control指定はClassNNの代わりにラベルテキスト文字も使える) ・WinGet ControlListでZオーダーの一番若いButtonコントロールを探しだす ・特殊なダイアログは諦めて個別に決め打ちで対応させる あたりかな
12 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/03(日) 16:30:12.75 ID:5F74xtIW0] >>11 レスありがとうございます。 それと、前スレまだ終わってないのに答えていただき恐縮です。 なるほどー、色々とやり方有るんですね、勉強になります。 リファレンス改めてよく読むと、タイトルなどの除外指定も有るようで、 autohotkeyってかなーり奥が深いんですね。 逆にその分自分にとっては複雑&難解になってしまう訳ですが・・・
13 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 10:48:38.05 ID:WpkoLKWY0] あのー、pert16終了寸前に質問したものです。 そこでお断りしたようにもう一度質問書かせていただきます。(コピペします) AutoHotkey スレッド part16 anago.2ch.net/test/read.cgi/software/1367725658/999-1000 >999 :名無しさん@お腹いっぱい。[sage]:2013/11/04(月) 10:35:59.65 ID:WpkoLKWY0 > MGL使ってるんだけど、pluginのscript内で「menu, tray, icon, 〜」したiconを > MGL本体のtray iconとは別に独立したtray iconとして表示させる事出来ます? > (プロセスがMGLの一つに対し、tray iconを二つにする、という意味) > 今の状態だと、MGL本体のtray iconがpluginのscriptで > 記述したiconに変わってしまうので宜しくないんですよ。 これ↑お願いします。
14 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 10:53:08.52 ID:zPNC5Eqx0] アイコン2つは多分できないんじゃないかな プラグイン側のアイコン変更を切るんじゃ駄目なの?
15 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 11:16:08.93 ID:WpkoLKWY0] >>14 ありがと、そーかー無理みたいですか。 実は、icon二つ表示したい理由言い忘れたんで書こうとしたら レスついてたので情報後出しっぽくてあれだけど、 それぞれのiconをindicator代わりにしたかったんですよ。 無理してpluginにするより、独立して起動させるのが無難…と言うより、それしかないか。
16 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 13:15:20.52 ID:yGBFVwB30] やりかたとしては ahkを2つ走らせる、お互いのプロセスを監視する、監視でどちらかが消えたら自分も終わらせる とする感じくらいしか思い浮かばない
17 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 14:06:10.94 ID:XXUXbFXe0] ↓ここにある タスクトレイに最小化でahk機能に頼らないタスクトレイアイコン作成のサンプルがある ただし古いソースなのでANSI版のみ、unicde & x64版でそのままでは動かない ahk.xrea.jp/myscripts/index.html
18 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 16:02:15.53 ID:WpkoLKWY0] >>16-17 レスありがと。 色んなツール(機能)をMGL一本に集中出来れば最高だったんですけど、そう簡単には行きませんね。
19 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 17:13:01.04 ID:eIOqTGVv0] >>18 プラグインから別の場所にあるahkをRunすれば起動は同期できる pluginsフォルダにサブフォルダ作って入れとくとかね
20 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 18:57:43.59 ID:WpkoLKWY0] >>19 ありがとう。 >>19 含め>>16-17 あの…とても言いにくいので黙ってたんですけど、 自分がやりたかったのは、ただ単に、"複数ツールの常駐をMGL一本の常駐で賄うこと"だったんです。 でも、>>13 での質問と>>15 での理由説明、更に>>18 でいい加減なレスと、皆様に誤解を生ませてしまいました。 大変申し訳ありませんでした。 あと各々の貴重なレスは今後の参考にさせていただきます。
21 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 21:32:20.79 ID:XXUXbFXe0] 要はinclude でまとめたいってことだろうがMGLが組み込み対応になってるかとか知らんし面倒な予感しかしないね MGLで質問です ↓ 住民が詳しすぎるレス ↓ すいませんわかんないんで諦めます ここんとここんなんが多い気がする ahk全般の汎用解答してもMGLでの応用方法がわからんので結局解決に至れないし MGL使用者同士で噛み砕いてのレスの応酬されるのも正直ね スレ消費早くないからいいじゃんてのも違うと思う で提案なんだが重複スレのほうをMGL専用として活用してはどうか AutoHotkey スレッド part17 anago.2ch.net/test/read.cgi/software/1383489925/ 前スレには詳しいMGL使いもいたから解答はつくだろうし 質問者も変にこっちで難解レスもらうよりいいでしょ
22 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/04(月) 21:37:50.81 ID:QszsJMvd0] あっちこっち視るのが増えるだけで面倒だし、こっちだけでいいよ 何故そんなに分けたがるのかわからん フォーラム形式なら分けたほうがいいってのは分かるけど
23 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 00:07:56.81 ID:aAuEnmE40] MGLのプラグインいじり回すのはAHKの勉強にもなるんでこっちでいいとおもうな 俺は現にMGLにincludeで機能増やしていってるタイプで、そのほうが機能のコンフリクトとか気にしなくていいもの ただそのためにMGLをAHKファイルとして理解していく必要はあるけど、わかってくるとなかなか楽しいもんよ
24 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 01:10:26.70 ID:MjDHj0bL0] んまあ、確かにAHKのスレで、MGL専門の話を繰り広げるってのは、perlのスレでperlで書かれた 特定のソフトウェアの設定・改良について話が行われているような違和感を覚えるのは確か。 本筋としては、MGLの話題はAHKのスレではスレチだからよそのスレにどうぞ。ってことになるんだろう けど、よそのスレでMGLのAHKスクリプトの話をしてもろくに理解もしてもらえないだろう。 それならこのスレでMGLの話をしてもいいんじゃないかな。 AHKを使ってる人もわざわざここ以外のスレを覗きに行くのは面倒だと思うしね。 って、長文書いたけどさ、自治なんて面倒だし適当でいいんでない?
25 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 01:18:05.29 ID:UyI0Jkoe0] >23みたいにMGLは入口でahkに興味出た、スプリクト覚えたいて姿勢の人ならいいと思うけど 殆どの人間はカスタマイズがちょっと難解なマウスユーティリティてな認識で使ってるっぽくない? ここはahkで作ったツールの使い方を聞くスレではないと思うし、このままズルズルサポート拠点にされるのは嫌だな あっちこっち見るの大変ていうけど、MGL使ってない人間からしたらそもそもが見る必要ないレスなわけだし
26 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 14:43:49.77 ID:wJKxtgjw0] autohotkeyのスクリプトがかなり長くなってしまったので適度に分割しようと思うのですが、 そうするとこれまで一つのスクリプトでやっていたことを複数のスクリプト間で行わなくてはなりません そこで a.ahkからb.ahkにデータを渡して データを処理したb.ahkがa.ahkに処理済のデータを返す こういうことを考えたのですがFileAppendでテキストに書き出してやりとりをする以外に何かいい手はありますか?
27 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 14:47:32.14 ID:1WSJIIB30] 管理するだけならそれこそincludeでいいんじゃないだろうか
28 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 15:26:01.71 ID:vtjmO1MN0] 「AutoHotkeyを流行らせるページ」でDLした、「システムモニタ用関数群」 ahk.xrea.jp/myscripts/SystemMonitor.zip の「sample.ahk」 というスクリプトを元に進行状況を表すプログレスバー作ってるのですが、 プログレスバーに反映しないデータがあり、ここで行き詰まっています。 どうしたら反映するんでしょうか? また、できればこれを関数化したいとも思ってるのですが、 頭が混乱して右往左往しています。 とりあえず、次レスにtestスクリプト晒しますので、 ご協力お願いいたします。
29 名前:26 mailto:sage [2013/11/05(火) 15:27:23.88 ID:wJKxtgjw0] 説明不足ですみません はい#includeは使ってきました ですがそれを多用するよりもできるだけincludeを使わない方法で保守管理しやすくする方法はないかと思ったのです
30 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 15:29:07.87 ID:vtjmO1MN0] col=200 ;barの表示場所左位置 Color=0000ff ;texstとbarの色 BG=000000 ;背景色(透明色) Gui,Color,%BG%,%Color% Gui,Font,C%Color% S36,ms gothic Gui,Margin,2,2 Gui,+LastFound +0x02000000 -0x0CC00000 -Border +ToolWindow +AlwaysOnTop Gui,Add,Text,x0 y200,進行 %count%`% Gui,Add,Progress,x%col% yp+0 BackGround%BG% C%Color% vMyProgress w900 h48 Control,ExStyle,0x00000000,msctls_progress321 WinSet,TransColor,%BG% 180 ;透明度 Gui,Show SetTimer,DrawPerf,1000 DrawPerf: if count > 100 count := 0 count += 10 GuiControl,,MyProgress,%count% ;barの変化を反映させる(?) return フォントが巨大だったり、色が気味悪いとか色々とありますが、test中なのでご勘弁を・・・
31 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 15:32:51.85 ID:vtjmO1MN0] 肝心なこと書き忘れました。 >Gui,Add,Text,x0 y200,進行 %count%`% の%count%が空っぽで何も表示されません。 「MyProgress」は反映してるのに私には理解できませんでした。
32 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 17:21:07.60 ID:XisEoPDs0] >>31 %count% が空で表示されないのは Gui,Add,Text の時点では count に値が設定されていないから。 count を変更してもテキストに反映されないのは DrawPerf: の中でテキストを更新する処理を行っていないから。 後者を修正するには例えば次のようにすればよい ・Gui,Add,Text において v オプションで変数を割り当てる(例:vProgressText) ・GuiControl,,MyProgress,%count% の行の直前か直後に次の行を入れる GuiControl,,ProgressText,%count%`%
33 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 18:38:03.85 ID:TUF3n1lj0] WinSet,Top,,ahk_id %w% これが動作しません・・・(Bottomのほうは動作するのですが) ヘルプには「システムの設定によっては動作しない。」と書いてありますが 動作するように出来るのでしょうか? Win7 x64 AHKL 最新
34 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 18:42:13.58 ID:vtjmO1MN0] >>32 ありがとうございます。 Gui,Add,Text,x0 y200,進行 %count%`% の行を ↓ Gui,Add,Text,x0 y200 w200 vProgressText GuiControl,,MyProgress,%count% の行を ↓ GuiControl,,ProgressText,進行 %count%`% と変更して希望どうり、進行状況の%表示がされるようになりました。 これで関数化に向けて落ち着いて考えられそうです。
35 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 18:47:53.60 ID:vtjmO1MN0] >>34 の訂正です。(ああ、未だ頭が混乱してるかも) 中段の GuiControl,,MyProgress,%count% の行を ↓ GuiControl,,ProgressText,進行 %count%`% これは、 GuiControl,,MyProgress,%count% 行の下に GuiControl,,ProgressText,進行 %count%`% 行を追加 が正しいです。 お騒がせしました。
36 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 18:52:49.57 ID:A12X5On40] >>33 AlwaysOnTop ON/OFFすればいい 困ったときは公式ドキュメントも確認しよう。 ttp://l.autohotkey.net/docs/commands/WinSet.htm
37 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 20:59:21.34 ID:Ad7w0w9P0] テンキー0の横の . ←点を変えたくてwindow spyで見て vk6Esc053にしてみたんですが変わらないみたいで間違ってますか?
38 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 21:02:19.78 ID:aAuEnmE40] Numpaddot:: を使えばいい。てかAHKのキー一覧がググれば出てくるんでそれを参考にするといい
39 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 21:04:17.15 ID:Ad7w0w9P0] >>38 ありがとう一覧探してみます
40 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/05(火) 21:14:23.69 ID:TUF3n1lj0] >>36 ありがとうございます! AHK凄い36さん凄い
41 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/06(水) 08:14:11.61 ID:luw6m4wR0] >>29 関数でどうよ 関数ライブラリ機能使えば楽よー
42 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/06(水) 12:13:21.65 ID:RSrnMLVy0] 素朴な疑問。 MouseGestureL使ってる人、これexe化してる?ahkそのまま? それと、exe化して使う場合のメリット/デメリット ahkそのままでのメリット/デメリット どんなのがある?
43 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/06(水) 12:16:36.07 ID:eG5fQhI30] ahkのままでつかってる。 ahkのままだとahk本体が必要 exeにすると本体不要 でもメンテとかだとahkファイルのままのほうがいいし、ahk本体も持ち運べるからそんなに重要じゃない。引数わたしとか関連付けて走らせなきゃいけないけれど exeは関連付けとか引数渡しとかそういう手間がない。全く拡張せず、完全にツールとしてしまうならexeのほうがお手軽
44 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 08:21:35.59 ID:49NZfEsm0] exe化しても、設定変えるごとに再exe化が必要になるから 実質使い物にならんよ
45 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 08:28:24.18 ID:XVY/Bs2E0] ahkを知らない他人が使う場合にexe化して渡してる 自分が自分のPCでしか使わない場合はahkのまま使ってる
46 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 11:07:39.26 ID:EvraCXzB0] >>44 iniファイルの読み書きできるし、パラメーター的な設定変更なら再EXE化の必要はないよ
47 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 12:02:55.09 ID:fZozRp2a0] exeで渡したらahkに出コンパイル可能?
48 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 12:15:07.05 ID:VCo37QmK0] デコンパイル不可のオプションつけてなければ戻せる。 コメントやインデントルールまで再現してくれたかは覚えてないが 自分で使う場合も常駐ahkに組み込むもの以外はわりとexe化してるな、設定はini読み コマンドラインで動かすものはahkのままだとパラメータの受け渡しが面倒だし GUI作ったものは普通のツールアプリと変わらんのでexe化したほうがランチャー起動も楽
49 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 12:19:40.73 ID:MheHlEV90] ようは人によるってことよね AHKをランチャにして使ってる場合AHK上から子AHKファイルを読み出すときはRun,%A_AhkPath%とか使えばいいわけで、他のランチャからならexe化してたほうが楽
50 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 13:17:49.37 ID:yJQH34AN0] ループ中にキーを押されたらスレッドから即座に抜けるようにしたいんですけど可能でしょうか? スレッド内に判定を書くとそこまで待たなければならないため 別のスレッドを割り込ませてExitやExitAppをやってみたんですけど Exitは元のスレッドに戻るだけ、ExitAppはスクリプトの常駐自体も解除されてしまうためうまくいきませんでした
51 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 13:35:05.71 ID:TY9PY+/s0] Continuetu 使ったら?
52 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 14:12:39.84 ID:yJQH34AN0] >>51 今やってみましたがContinuetuを別のスレッドで単独で記述するとコンパイルエラーで弾かれるみたいです
53 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 14:14:04.78 ID:o/nlozLH0] Whileで書いて、Getkeystateが1でない間にするとか
54 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 14:39:51.46 ID:yJQH34AN0] >>53 whileも判定は即座にやるわけではないので変わらないと思います ちなみに現在のコードは #1:: Loop{ 処理1 GetKeyState, state, Esc if state = D break 処理2 } return で、処理1,2が長いためifで判定するまでキーを押したまま待つ状況です
55 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 14:56:49.64 ID:MheHlEV90] If (Getkeystate("Esc","P")) = 1 break
56 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 15:16:18.72 ID:dXbI1xB40] 知らないから適当なこと書くけど、AutoHotkey.dllならフレッドを途中で終了させるのも可能なんじゃないかな?
57 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 15:24:23.75 ID:yJQH34AN0] >>55 記述を変更してみましたが表面上の動作は同じみたいです >>56 これからバイトなので帰ってきたら調べてみます
58 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 15:24:25.64 ID:gc30trcW0] フレッド君は志半ばにしてこの世を去るか……
59 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 15:28:45.08 ID:dXbI1xB40] なんというタイポ、これは恥ずかしい
60 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/07(木) 17:23:34.91 ID:VCo37QmK0] 処理1、2の内容が分からんので何とも言えんが WinWait,WinTitle, WinText, 10 とかやってるなら Loop 10 { if GetKeyState("ESC") { アボート処理 Break } WinWait,WinTitle, WinText, 0.1 } Until ErrorLevel=0 みたいに数行にばらして処理時間を細切れにするとか
61 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/08(金) 19:34:43.04 ID:8yijMNAQ0] >>46 仕組みを理解してないようだな 設定は全てMG_Config.ahkに書き出されてそれをincludeする方法だから 設定変えたら再exe化が必要になるのだよ
62 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/08(金) 21:28:16.46 ID:UWFJxr4P0] そんな頻繁に内容書き換えるんならわざわざコンパイルせんでも。 MouseGesture.ahkの導入ページに書いてある、 AutoHotKey.exeをリネームして、同名、同ディレクトリのahkファイルを読み込むようにする方法じゃあかんの?
63 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/08(金) 22:03:29.05 ID:pMVDeGc+0] >>42 のexe化の話ってMouseGestureL.ahk"だけ"exe化する話じゃなかったのか? 全てのahkファイルをexe化するなんて発想はなかったよ、>>61 みたいに。
64 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/08(金) 22:11:06.66 ID:pMVDeGc+0] >>63 あ、俺勘違いしてた。 >>61 ホントすまんかった、適当なこと言って。
65 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 10:54:54.01 ID:r70LfzOH0] ttp://l.autohotkey.net/docs/misc/Threads.htm ここを読むとGUIイベント(GUIのサブルーチンラベル)でも新しいスレッドが発生するらしいけど そのスレッドの割り込み優先度を設定する方法ってある? それともGUIを呼び出したスレッドの優先度が引き継がれるのかね
66 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 16:15:40.19 ID:JduWIw5T0] menu, tray, add, menu&1, menu_1 menu, tray, add, menu&2, menu_2 menu1とmenu2を一つのサブメニュー(submenu)内に入れようと あれこれやってやっとエラー無く起動したコードがこれなんだけど やりたいこととは違う。 Menu, &submenu, add, menu_1 Menu, tray, add, &menu1, :&submenu Menu, &submenu, add, menu_2 Menu, tray, add, menu&2, :&submenu 何がおかしい?どこを直せば良い?
67 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 16:23:33.45 ID:Dskn8qlD0] もしAが起動したらBを閉じて、起動していなければBを開く Process,Exist,A.exe If ErrorLevel<>0 Process,Close,B.exe else Run,..\..\B.exe じゃダメなの?難しい
68 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 17:01:13.15 ID:JduWIw5T0] >>67 こういうことしたい? Process,Exist,notepad.exe If ErrorLevel=0 Process,Exist,wordpad.exe if ErrorLevel=0 Run,wordpad.exe else Process,Exist,wordpad.exe If ErrorLevel<>0 Process,Close,wordpad.exe
69 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 17:09:52.81 ID:JduWIw5T0] >>68 ちなみに Process,Exist,notepad.exe If ErrorLevel<>0 Process,Exist,wordpad.exe If ErrorLevel<>0 Process,Close,wordpad.exe else Process,Exist,wordpad.exe if ErrorLevel=0 Run,wordpad.exe だと notepad.exe が起動中にも関わらずwordpad.exe が起動してしまうね、何故か。
70 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 17:41:23.45 ID:PcXU61XN0] >>66 やりたいことがよくわからんがこういうこと? Menu, &submenu, add, menu_1 Menu, &submenu, add, menu_2 Menu, tray, add, &submenu, :&submenu あと>68-69 慣れないうちはif〜else使う時は全部 { }で囲ったほうがいいよ >>67 IfとElseどっちが上手く行ってないんだかわからんが、後者だとすると相対パスが怪しい >Run,..\..\B.exe A_WorkingDirはどうなってる? 条件分岐なしで起動してちゃんと開けるか確認してみ
71 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 18:42:45.05 ID:JduWIw5T0] >>70 どうもありがとう。 >>66 でも書いてるけど、単純に >menu1とmenu2を一つのサブメニュー(submenu)内に入れようと なので、 Menu, &submenu, add, menu&1, menu_1 Menu, &submenu, add, menu&2, menu_2 Menu, tray, add, &submenu, :&submenu これでサブメニュー化成功したよ。 それから、質問分かり難くてすまぬ。 >>68-69 の件、{}で括り忘れてた。 ご指摘ありがとう。
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 19:13:31.67 ID:VKMWxPBd0] >>65 Thread を書けばいい ttp://ahkwiki.net/Thread
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 19:15:14.32 ID:Dskn8qlD0] >>68-70 ありがとう 初めてで何もわからない状態だったから助かった #Persistent SetTimer,OnTimer,2000 return OnTimer: Process,Exist,A.exe If ErrorLevel=0 Process,Exist,B.exe if ErrorLevel=0 Run,..\..\B.exe else Process,Exist,A.exe If ErrorLevel<>0 Process,Exist,B.exe If ErrorLevel<>0 Process,Close,B.exe return で思い通りに動作した 勝手に定期的に実行してくれるわけじゃないのね 色々自動化出来る気がしてきたから頑張ってみる
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 19:31:54.21 ID:JduWIw5T0] >>73 >>71 で >慣れないうちはif〜else使う時は全部 { }で囲ったほうがいいよ と指摘されてるように(自分が^^) If 〜 { 処理1 処理2 } else { 処理3 } な感じにしないと思うような結果が得られない場合があるから注意した方が良いよ
75 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 20:21:05.43 ID:JAsitH9B0] If 〜 { 処理 } と If 〜 { 処理 } だと行数が減る分 下の方がわずかに読み込みが早かったりするのかな
76 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 21:09:58.17 ID:JduWIw5T0] >>75 ご指摘ありがとう。 今までは、そういう風にするとエラー出るんで長ったらしく記述してたよ。 んで、改めて他作者スクリプトを良く見てみると、( )付いてるか否かの違いに気付いた。 ということで、 If ( 〜 ){ 処理1 }else if ( 〜 ){ 処理2 }else{ 処理3 } こう記述すと効率が良いってことかな?
77 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 21:12:38.72 ID:VKMWxPBd0] ____ / \ / ⌒ ⌒ \ 何言ってんだこいつ / (●) (●) \ | 、" ゙)(__人__)" ) ___________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | | | / , \n|| | | | | | / / r. ( こ) | | | | | | ⌒ ーnnn |\ (⊆ソ .|_|___________|  ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 22:11:16.50 ID:2JOYU1ck0] 変数名もできるだけ短くした方がいいぞ
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 22:25:51.34 ID:PcXU61XN0] AHKは昔 if (式) が使えなかった 進化の仮定で (式)が加わり、)で明示的に式の終わりを指定できるようになったため 改行前の{ も有効になった。 今でも()なしifやLoopなんかは改行しないとエラーになるものもある 改行するしないはプログラム上はCRLFの2バイト挿入されるだけで速度にはほとんど影響ない むしろ↓のようにスペースやコメント文字を入れするほうがバイト数的には増えてることもある if (Expression) { ; ○○の時は△△する 単純に自分が視認しやすい方でよいと思う
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 22:45:52.08 ID:JAsitH9B0] >>79 わざわざ直す必要はないみたいだね ありがとう
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 22:45:53.05 ID:/kjb4T9e0] そんなことより>>68 とか、最初のifがfalseだったとき次どこいくと思ってんのかな
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 23:14:04.13 ID:E6QyIEbp0] 式は{}使えっていつも言ってんだろー!!
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 23:29:53.31 ID:s8rJVbwc0] >>81 インデントがスペース一個で、しかも専ブラで見ると、インデント不明すぎるなw せめて2スペでないと流し読みするから構文ミス見逃すわ よく気付いたな…
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/09(土) 23:58:17.17 ID:JduWIw5T0] >>68 なんだけど、弁解じゃないけど一応 >>68 は元々以下の感じでインデントしてたのを貼り付けた。 (下のは全角スペースで疑似インデント) Process,Exist,notepad.exe If ErrorLevel=0 Process,Exist,wordpad.exe if ErrorLevel=0 Run,wordpad.exe else Process,Exist,wordpad.exe If ErrorLevel<>0 Process,Close,wordpad.exe で、これは>>70 で指摘された通り、{ }で括り忘れてるので間違ってることは認識してる。(>>69 についても同じ) いい加減うざいよね、スマン。
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 09:14:56.06 ID:uDdR3jCo0] いやそれはわかってる スペース一個じゃインデントしてても見づらいよって話 自分は4タブ(タブ押しでスペース4個分インデント)だが 2タブ、4タブあたりの人が多いんじゃないかね
86 名前:名無しさん@お腹いっぱい。 [2013/11/10(日) 09:15:50.43 ID:OuL0Jpyr0] AHKで設定したホットキーが、Window7では正常に動作したのにWindows8では 機能しないことがあります。たとえば、タスクマネージャーがアクティブなとき、 Win+F1を押すと、AHKで設定したものではなく、「Windows ヘルプとサポート」 が立ち上がり、Win+zなどの設定もまったく機能しません。どうしてなんでしょう?
87 名前:名無しさん@お腹いっぱい。 [2013/11/10(日) 09:47:44.93 ID:OuL0Jpyr0] スクリプトを管理者として実行する必要があるんですね。分かりました。
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 10:33:04.15 ID:iru0aH2t0] >>72 サブルーチンに入ってからThread, Priority,n指定しても割り込まれるだけじゃないかと思ってた Thread, Interrupt, Duration [, LineCount]と併用するのね。ありがとー >>87 Windows8だとそんなめんどくさいことになってるのか・・・
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 13:21:21.09 ID:ahi6Vsgq0] ブロックでくくるのは1行だろうとやってるな どういう式なのか視認しやすいから
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 14:01:05.86 ID:CJr4mQyO0] このスレは行頭に半角空白とタブ付いてると、 それが削除されるからコード見ずらくなるよな。 書き込むだけなら全角使っても良いけど コピペして使う方は一手間いるから、そこがなあ。 全板、全スレそうなのかな?
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 14:19:25.55 ID:QQRdwQ7U0] スレというかhtmlの表示ルールがそうなんでないかと AAもそれ前提に作られてるから専ブラの表示も合わせてあるのが多い
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 17:04:51.43 ID:/7GhoBz90] > 変数名もできるだけ短くした方がいいぞ て本当? 処理がわずかでも早くなる? 今まで気ままに付けてた 日曜プログラマーにマジレスお願いします
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 17:07:11.02 ID:CJr4mQyO0] ところで、AutoHotkeyに付属してるSciTE4AutoHotkeyで TABキー1回押しで半角空白4個挿入するにはどうすんの? それこそスクリプト書けって言われるのが落ち?
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 17:20:58.92 ID:Wsob4QVh0] 簡単やから書いちまえ IME関数でIME状態記録して半角にしてからsend,でスペース4回、その後IMEの状態をもとの書式形態に戻せばいいだけだから
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 17:22:41.51 ID:tboc7JFs0] janedoe view使いだけど、別にTABだろうとスペースだろうと ポップアップ表示させればインデント正確に表示されるから気にしてないな
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 17:27:13.63 ID:Q7AykSK80] >>94 確かにそれは>>93 の希望の動作だけど、>>93 の求める動作はきっとそれとは違うw
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 20:25:57.27 ID:CJr4mQyO0] >>94 どうもです。ヒントまで書いてくれて。 エディタ側に設定する所ないなら、そういうスクリプト書くしか無さそうだね。 >>96 エディタ側の設定で出来ればベストなんだけどね。
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 21:08:11.30 ID:SvuwF5o10] >>92 コメントも極力書かないようにな
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 21:28:11.23 ID:SKyuhMaS0] >>97 そのエディタを使ったことは無いけど、ソースコード編集用エディタでタブをスペースに 置き換える機能がないということは考え難いので、探せば設定項目があると思う 軽く調べた感じでは use.tabs が怪しい
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 21:48:36.67 ID:OuL0Jpyr0] >>87 Windows8では、あるプログラムを「管理者が起動する」のと、 「管理者が管理者として起動する」のでは違うんだそうです。
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 21:51:26.75 ID:OuL0Jpyr0] Windows7でもこの違いはあったようですが、 デフォールトの設定で問題が生じなかったので、 気に留めたことがありませんでした。
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 22:54:35.79 ID:CJr4mQyO0] >>99 わざわざ調べてくれてありがとう。 webサイトの方に細かいこと書かれてたので、それ参考にいじってみるよ。 なんか、『質問する前に調べろよ、ドアホ』ってみんなから言われそうだけど、勘弁してくれ。
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/10(日) 23:00:18.49 ID:rKrXT9cD0] 次から気をつけるならいいよ
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 01:17:57.60 ID:igGN+y/w0] >>92 振り回されすぎ >>98 振り回しすぎ
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 01:53:19.76 ID:j8vopFcs0] 大昔のリソースが潤沢じゃなかった時代は、実際にそういうことやってメモリ稼いだりとかはあったが 今は見やすさ重視で書くヨロシ 見難いコード書いたせいでバグ誘発したり、メンテナンスに掛かる時間のほうがよほど無駄 カッコのつけ方は一貫性あればいいと思うが 一行で省略できる場合でも、個人的には常につけるべきだと思っている あとで処理を付け足したりしたくなった場合の変更に臨機応変に対応できるのと 変更した時にカッコの付け忘れでのバグ防止、ブロックを明確にするなど メリットのほうが大きいと考える
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 01:57:09.28 ID:rT6KkNEF0] てーかきれいなGUIとか昨日過多とか裏でわけわかんないもの走らせない限りは他のexeに比べて圧倒的に軽いんだからあんま気にすることでもないと思う
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 01:58:48.44 ID:j8vopFcs0] あと、今更ってカンジだけどよく言われるのが、 コメントがなくても分かるコードを書け。とか コメントを信じるな。とか コメントに書いてあることが仕様変更に追従してない場合もあるからな 綺麗なコードはコメントなくても文章のように読める・・・はず
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 15:28:26.33 ID:0W7UPHuM0] 一行で省略できる場合でもカッコ使ったほうがいいんですね 真似してみます If(ahk){ xxx } と If(ahk) { xxx } はどちらがメジャー?
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 15:35:26.31 ID:uNURXBw20] 俺上使ってる まぁ、そんなことよりsakuraエディタにAHK色変えプロファイルをインストールすべき
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 16:15:54.62 ID:aO9uH+Y50] >>109 んなの、[AutoHotkeyフォルダ]\Extras\Editors\[各種エディタ] 内のキーワードファイルからキーワード移植すれば良いだろ? ...\Extras\Editors\EmEditor\ahk.esy 辺りが移植しやすいんじゃないか? 正規表現使いたい場合は自分で作成するしかないかもしれないけどね。
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 16:31:40.73 ID:aO9uH+Y50] 例えば、If WinExist( … )とかじゃなく IfWinExist, … の場合は、{ } はどうしたらいい?
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 16:44:46.44 ID:2yW1lBYX0] >>110 情報古すぎ、AutoHotkey_Lにはキーワードファイルは付いていません。 そんなことよりいつまで括弧の話題引っ張る気だよ 書き方なんて個人の好みでやればいいだけだろ。
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 18:31:12.20 ID:aO9uH+Y50] >>109 >>112 捜したら有ったぞ。 直リンはしないからね。 ahkwiki.net/Tools
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 18:43:42.47 ID:2yW1lBYX0] >>113 付属していませんと指摘したんだが。 同一人物だと思うが国語が残念な人、もう少し文章よく読んだら?
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/11/11(月) 19:07:56.38 ID:5hyh3Jpc0] wikiにこういうのあったのか Mery用に使わせてもらうわさんきゅー
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] >>7 Q2
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を上下左右のカーソル化や、「あ」をタッチしたら○○する というアクションを起こさせたいんです。 (イメージはゲームボーイのように縦に持って、両手親指で操作)