AutoHotkey スレッド part22at SOFTWARE
AutoHotkey スレッド part22 - 暇つぶし2ch100:名無しさん@お腹いっぱい。
16/03/10 15:55:04.82 iVAjnSKp0.net
>>97
・処理が終わるまで別のフォルダに書き出して処理終わった後に移動
・リネーム後のファイルに_tmpとか文字列付け加えるとか、更新日時チェックするなりして、FileMoveの前にifでそのファイルは飛ばす。

101:名無しさん@お腹いっぱい。
16/03/10 16:00:53.55 vdFwjSMf0.net
一旦変数か配列にまとめて、Loop, ParseやForで処理とか

102:名無しさん@お腹いっぱい。
16/03/10 16:01:01.79 2cSCStd50.net
抽出条件*.*でリネーム規則も書かないでそんなこと聞かれても困るんだけど
FIleMoveの前に判定入れてリネーム規則に沿ったファイル(リネーム済み)は除外
*.*での抽出やめてリネーム後ファイルが引っかからないようなフィルタにする
リネーム時に別フォルダに移動してって全部なくなったら元に戻す
とかじゃね

103:名無しさん@お腹いっぱい。
16/03/10 16:37:18.17 1V0oPMoT0.net
URLリンク(ux.getuploader.com)
以前うpった長押し左クリック関数を今更修正してみた
関数名とかファイル名は変えてないから大丈夫のはず 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


104:名無しさん@お腹いっぱい。
16/03/11 05:36:36.95 QjtwVNGk0.net
>>97
別フォルダにリネームして移動
その後、元のフォルダーは空になってるので削除、新しいフォルダをリネーム

105:名無しさん@お腹いっぱい。
16/03/11 13:25:05.02 XLrQvSIx0.net
c:\hoge\*.*を全部リネームなら、フォルダ名をhoge→hageに変更したあとに、
FileMoveでc:\hage\*.*→c:\hoge\*.*にリネームが一番負荷少ないそうな気がする

106:名無しさん@お腹いっぱい。
16/03/11 13:41:44.21 nIeVcQM30.net
たまに他のソフトとかを閉じた後に反応しなくなることがあるのですが
そういう症状ってありますか?
どこかをクリックすると治るのですが、ちょっと気になります

107:名無しさん@お腹いっぱい。
16/03/11 13:49:41.07 PwwlERGH0.net
移動させる方法は他にフォルダが存在したりFileMoveに失敗があるケースまで考えると少し不安もあるな
一旦ユニークな文字列を先頭に付けたりするほうが堅実に思える
2回リネームするのはだいぶ遅くなりそうではあるけど

108:名無しさん@お腹いっぱい。
16/03/11 13:50:20.85 7KfHe1040.net
>>104
ありません

109:名無しさん@お腹いっぱい。
16/03/11 14:06:04.92 o3firoFF0.net
PC性能が足りてない場合、押し込みと離すが早すぎるスクリプト使ってるとブッキング起こしてバグることがある。Sleepつかってディレイ挟むと治る

110:名無しさん@お腹いっぱい。
16/03/15 19:24:55.84 9d3765aW0.net
落ちそうなのでカキコ

111:名無しさん@お腹いっぱい。
16/03/16 13:41:07.03 MJj+U7Ue0.net
スクリプトのファイルをショートカットで交代させることはできるのでしょうか?
例えば、KANAキーを押したら、スクリプトファイルが入れ替わって、
別の設定を使いたいんです。
その別の設定でキーをほとんど無効化してキーロックしたいんです。

112:名無しさん@お腹いっぱい。
16/03/16 14:14:02.76 1H7LiLiJ0.net
>>109
reloadとかスクリプトの読み込みコマンドがあるから、それを上手に使うと出来るかもね

113:名無しさん@お腹いっぱい。
16/03/16 14:21:33.54 rN0OT8Ir0.net
>>109
切替専用スクリプト.ahk用意して、KANA押すごとに別のahkを交互に立ち上げ&終了するのは?
ってか、無効化したいだけなら、無効化したい部分を全部#ifの下に入れちゃえばいいようなきもするけど

114:名無しさん@お腹いっぱい。
16/03/16 14:22:34.90 nekfqUOq0.net
KANA押下で別スクリプトRunして自分はExitApp
1スクリプト内でやるならHotkeyで再設定するかフラグ立てて#ifで切替え
まあ工夫すれば可能

115:名無しさん@お腹いっぱい。
16/03/16 14:28:31.13 rN0OT8Ir0.net
内容、めっちゃかぶったw

116:名無しさん@お腹いっぱい。
16/03/16 14:35:19.91 MJj+U7Ue0.net
#ifで試してみます。
みなさんありがとうございます。

117:名無しさん@お腹いっぱい。
16/03/16 14:49:13.62 lO2nfz5r0.net
基本的に切り替える前提であるなら#IFでホットキー区切ったほうが一括管理できて便利だね

118:名無しさん@お腹いっぱい。
16/03/16 15:58:38.14 1H7LiLiJ0.net
#ifって、入れ子に出来るんだっけ?
やったことないからなあ

119:名無しさん@お腹いっぱい。
16/03/16 16:09:53.96 1H7LiLiJ0.net
簡単に作ってみたよ。これで動く。Escで切り替え
a.ahk内では
Esc::
Run, c:\DATA\b.ahk
ExitApp
return
a::
MsgBox This is a.ahk
return

b.ahk内では
Esc::
Run, c:\DATA\a.ahk
ExitApp
return
a::
MsgBox This is b.ahk
return

120:名無しさん@お腹いっぱい。
16/03/16 16:17:41.27 MJj+U7Ue0.net
#If
a::Return
return
↑こんな感じで書くと思うんですけど、KANAが1回押されている間は有効で、
もう一度押すと無効にする。
というのは、どう書けばよいのでしょうか?

121:名無しさん@お腹いっぱい。
16/03/16 17:52:21.25 nekfqUOq0.net
KANAのホットキーに0/1切替えのトグルフラグを設置しておく

#If flg
a::Return
#if

122:名無しさん@お腹いっぱい。
16/03/16 18:29:56.18 MJj+U7Ue0.net
>>119
すいません……。お手数おかけします。
調べたのですが、flag = 1とかflag = 0というのをKANAキーにトグルキー
として割り当てるということですよね。
その方法のヒントをもらえると助かります。

123:名無しさん@お腹いっぱい。
16/03/16 18:37:55.90 AtyMLRR20.net
今1だったら0にして、0だったら1にするだけ

124:名無しさん@お腹いっぱい。
16/03/16 19:37:52.78 MJj+U7Ue0.net
>>121
コードの書き方がわからないんです。すいません。
プログラミングはAuto Hot Keyを勉強し始めたところで。

125:名無しさん@お腹いっぱい。
16/03/16 21:08:37.45 nekfqUOq0.net
ほい
URLリンク(ahkwiki.net)
URLリンク(ahkwiki.net)

126:名無しさん@お腹いっぱい。
16/03/16 21:40:04.94 R2Kl2zkr0.net
>>122
参考までに聞きたいんだけど、なぜ切り替えたいと思ったの?

127:名無しさん@お腹いっぱい。
16/03/17 07:01:11.69 QwJl1oMR0.net
flg:=1-flg
なんだけど、wikiの スクリプト仕様 と 式 のところを一通り読むといいと思うよ

128:名無しさん@お腹いっぱい。
16/03/17 11:56:29.51 eZstRDfk0.net
みなさんありがとうございます。
勉強してみて、どうしてもできなかったらまた質問します!
>>124
わたしはRealforceの30gを使っています。
キーボードに手を置いて思考しながら文字を打つので、
たまに誤入力が起こって困るので、キーロックしたいんです。
あと、デスクが小さくて資料を置くスペースがないので、
キーボードの上に資料を置いたときに誤入力してほしくないんです。

129:名無しさん@お腹いっぱい。
16/03/17 12:04:22.08 3w8ZWAij0.net
横からだけど、「flg:=1-flg」この書き方知らなかった。flg:=-1*flgみたいに1と-1のやり方は使ってたけど。
勉強になった。

130:名無しさん@お腹いっぱい。
16/03/17 12:19:40.35 LtS5AhFa0.net
>キーボードに手を置いて思考しながら文字を打つ
これっていつでも打てる状態をキープしながらものを考えたいつーことじゃないのかね
思い立ったら即打てる状態を殺してしまうのはかえってストレスになりそうな
後半2行についてはWin+Lで画面ロックかけずディスプレイ表示はそのままにしたいなら意義もあるが
解除キーはESC連打とかのほうが無難じゃね
カナキーとか一番誤爆で押されやすい位置にあるし

131:名無しさん@お腹いっぱい。
16/03/17 14:22:45.06 eZstRDfk0.net
>>125
wiki読んだのですが、ちんぷんかんぷんです。
この項目って、もしかしたらC言語っていうやつを知ってないと
わからないのではないですか?
何を勉強したらわかるようになりますか?

132:名無しさん@お腹いっぱい。
16/03/17 14:35:18.14 tUvAqFN90.net
>>129
Exampleを試しに弄ってみたりしながら勉強するしかないでしょ
ちなみに俺はC言語なんて一切知らない
どうしてもifが分からないなら>>117の方法でやってみれば?

133:名無しさん@お腹いっぱい。
16/03/17 14:36:09.78 3O96dJSs0.net
ここはゼロから始めるプログラム教室ではないので

134:名無しさん@お腹いっぱい。
16/03/17 14:38:23.78 hbwuQH2E0.net
>>125
なるほどなー、変数が1ならば0になって0ならば1になるわけか。勉強になりますた
flg := flg ? 0 : 1
の書き方しか知らんかった

135:名無しさん@お腹いっぱい。
16/03/17 14:48:57.04 eZstRDfk0.net
wikiの「キーを押す度に機能を切り替え」という箇所を
参考にしてみます。

136:名無しさん@お腹いっぱい。
16/03/17 14:50:15.12 3O96dJSs0.net
!flg

137:名無しさん@お腹いっぱい。
16/03/17 14:56:06.09 i7EFhNTh0.net
#IFは理解するのには解説がついてるアップローダのNewOSMにはお世話になった
まぁ、わかってきた今ではムダも多い処理方法だと思うけど

138:名無しさん@お腹いっぱい。
16/03/17 15:01:16.12 3w1ZKVjj0.net
あ、自分はこんなやり方してたけどマズイかな…マズイなら変更しないと
flag := ! flag

139:名無しさん@お腹いっぱい。
16/03/17 15:03:14.72 3w1ZKVjj0.net
リロードし忘れ
>>134
お、同じだ…ってことはこのままでも問題無いって事か

140:名無しさん@お腹いっぱい。
16/03/17 15:21:59.44 eZstRDfk0.net
vkF2sc070::
flg:=1-flg
#If flg
a::Return
#if
↑こういう感じですよね? flagはKANAキーでオンオフされてると
思うんですが、キーロックされない。

141:名無しさん@お腹いっぱい。
16/03/17 15:52:41.31 LtS5AhFa0.net
ホットキーの説明
1行にまとめるか、2行以上に分けるならReturnが必要
URLリンク(ahkwiki.net)

142:名無しさん@お腹いっぱい。
16/03/17 15:54:53.74 3O96dJSs0.net
flg:=1-flg
このやり方はflgが空だと成り立たない
初期値をちゃんと入れてやらないとダメ

143:名無しさん@お腹いっぱい。
16/03/17 15:57:04.35 i7EFhNTh0.net
視認性とメンテナンス性を考えたらちゃんと条件にそってスイッチは:=0と:=1を入れておいたほうが間違いがない気もする
デバッグする必要もないほど簡単なら問題はないけど

144:名無しさん@お腹いっぱい。
16/03/17 15:58:23.50 t0DzPy8P0.net
flg := flg ? 0 : 1 あたりが初期化不要かつ一番スマートだとは思うが
素人さんが使うには意味不明すぎだろうし
行数かけても最初は分かりやすく if else 使ったほうがいいんちゃう
あと基礎知識入ってない状態で逆引きでやろうと思っても上手く行かないよ
イントロダクションから一通りちゃんと読むべし
急がばまわれって奴だ

145:名無しさん@お腹いっぱい。
16/03/17 16:07:11.99 d1hmzgUa0.net
IMEの切り替えもそうだけど、トグルって不便だよ。
ONにするキーとOFFにするキーの2つの方が便利。

146:名無しさん@お腹いっぱい。
16/03/17 16:36:13.72 i7EFhNTh0.net
もしくは状況監視でSETTIMERを裏で走らせておくのもアリかな。
例えば指定のウィンドがアクティブになったら問答無用でIMEをOFFにするとかは監視の便利さよね

147:名無しさん@お腹いっぱい。
16/03/17 16:45:48.06 3w8ZWAij0.net
flg := flg ? 0 : 1
これって三項演算子とか言うやつだっけ?いぜん、ここで見かけてなんとなくしか理解してないけど

148:名無しさん@お腹いっぱい。
16/03/17 16:51:57.36 I5N1l3cO0.net
f := f ? 0 : 1
f := f ? false : true
書き方で実効速度が変わるんだな

149:名無しさん@お腹いっぱい。
16/03/18 12:24:47.35 YsqdbD0Y0.net
flg := 1
If (flg = 1)
{
a::Return
}
else
{
a::a
}
このように書くとリロードしてくれないのですが、なぜでしょうか?

150:名無しさん@お腹いっぱい。
16/03/18 13:00:39.45 YjocE1l00.net
・a::のホットキーが2つある
・ホットキーはifで分岐できない。ifで条件指定してもflgの値に関係なくa::のホットキーは有効になっている
・そもそも「Reload」の命令が無いのにリロードしてくれるわけがない

151:名無しさん@お腹いっぱい。
16/03/18 13:03:21.07 4bCS0bv70.net
画面を表示したまま、全キーボードのロックと解除をやりたいというお題だよね?
全部のキーに対して1つ1つスクリプトを書くしか無いのかな?

152:名無しさん@お腹いっぱい。
16/03/18 14:00:31.50 99zENsUL0.net
ロックと解除ってのがよく分からんけど、スクリプトオンの時はaがスイッチとして
#IF (flg<>1)
a::
flg := flg ? 0 : 1
Return
flgが1じゃない時に動かすスクリプトを羅列
#IF (flg==1)
a::
flg := flg ? 0 : 1
Return
flgが1のとき時に動かすスクリプトを羅列
でいいんとちゃう?

153:名無しさん@お腹いっぱい。
16/03/18 15:05:45.73 1lzbZ0hT0.net
>>147 (=キーロック君?)
>>138があなたが欲しい答に一番近いと思うが…
>>140で指摘があるように、>>138のスクリプトの一番上にフラグ初期化用の、
flg := 0
return
を書かないとうまく動かないと思う
あと、オレ環かもしれないが、「vkF2sc070」→「sc070」としないと動かなかった
もう一つ先に言っとくけど、
「カタカナ/ひらがな」キーは特殊なので>>4のQ1の通りやっとかないと上手い事行かない場合が出てくると思う
→ キーロックした後に「カタカナ/ひらがな」キーが何かの拍子で長押しされるとロックした筈のキーが入力されてしまう
だから、「カタカナ/ひらがな」キーを変更するのが嫌なら「ScrollLock」など使わないキーに割り当てる方が良いんじゃないか?
例)
F13 up:: ;「カタカナ/ひらがな」キーを「F13」に変更した場合
flg:=1-flg
return
とか、
ScrollLock up::
flg:=1-flg
return
(´・ω・`).。oO(今度は「109キー羅列するの面倒くさいから、羅列しない簡単な方法教えて」とか言ってくるのかな?)
( ´ω`).。oO(自分もその方法知りたいけどねwww)

154:名無しさん@お腹いっぱい。
16/03/18 15:36:22.74 99zENsUL0.net
特殊なキーは虱潰しに全ての可能性を潰すと安定する
半角/全角なら
vkF3sc029::
vkF4sc029::
sc029::
send,{a}
Return
のようにね
vk1Csc079::
sc079::
と書いておいたほうが無難。
Scroll Lockキー使いたいならトグルを利用するのもあり。
#IF (getkeystate("Scrolllock","T") == 1)

155:名無しさん@お腹いっぱい。
16/03/18 15:43:31.94 99zENsUL0.net
それか、もし複数PCにまたがって設定させるなら
A_UserNameを活用するとうまくいく

156:名無しさん@お腹いっぱい。
16/03/18 16:33:46.04 5bRXptMI0.net
正解からだいぶ離れたな
とりあえずID:99zENsUL0 は色々教えたいのはわかるが現状でアップアップしてる初心者さんに
望んでるものと違う事例やプラスアルファの情報出してもこんがらがるだけだから少し自重しよう
>>147
if使えつったのはa:: じゃなくてカナのホットキー部のほうね
vkF2sc070::
sc070::     ; おまじない
vkF2::      ; おまじない
  ; if でflgが1かどうか判定し 1なら flg=0 / そうでないなら flg=1 にセット
return ; ← 必須
#if部分以降は>138そのままでよし

157:名無しさん@お腹いっぱい。
16/03/18 17:34:00.77 Dic6Ty9l0.net
Input が使えそうな気がする

158:名無しさん@お腹いっぱい。
16/03/18 18:25:56.08 4bCS0bv70.net
なるほど。
無変換+L でキーにロックがかかり、1時間経過かESCで解除だとこんな感じか。
vk1Dsc07B & L::
input,kb,t3600,{Esc}
return

159:名無しさん@お腹いっぱい。
16/03/18 19:07:54.20 YsqdbD0Y0.net
こういうことですかね?
flg = 0
Return
If (flg = 1)
vkF2sc070::
sc070::
vkF2::
flg:=1-flg
Return
If (flg = 0)
vkF2sc070::
sc070::
vkF2::
flg:=1-flg
Return
#If flg
a::Return
#if
でも「The script was not reloaded; the old version will remain in effect」
ってエラーが出るんですけどなぜでしょう。
やっぱりこのコードは間違ってますか?

160:名無しさん@お腹いっぱい。
16/03/18 19:20:38.19 pPzz1Csf0.net
>>157
無理してif使おうとするよりも、>>117の方法で2つのスクリプト切り替えた方が簡単なんじゃない?

161:名無しさん@お腹いっぱい。
16/03/18 19:29:14.09 5bRXptMI0.net
>>157
ぜんぜん違う
>148も言ってるがホットキーの外にifは書けない
wiki見なおしてifと#ifの違いをまず確認
そもそも同じ内容を if (fig=1) と if (flg=0) に分けて書く必要がないでしょ
あてずっぽうしないでちゃんとコードの意味を考えないとどんどん答え遠くなってるぞ

162:名無しさん@お腹いっぱい。
16/03/18 19:46:46.94 YsqdbD0Y0.net
>>158
117さんのでできると思いますし、それに156さんのでキーロックできました。
でも、せっかくみなさんに教えてもらったので、IFを使ったので成功できる
ようがんばってみます。

163:名無しさん@お腹いっぱい。
16/03/18 20:14:37.02 pPzz1Csf0.net
いや俺もまだまだ初心者でいつもサンプルを見ながら四苦八苦してコード書くから思うんだけど
こんだけ丁寧にアドバイスされてるのに、その結果>>157みたいにますます遠のいてるようでは
いつまで経っても無理だと思うよ
「117のでできると思うし」というならまずはそれをやってみろと言う話なんだわ
それが出来てからifを使って1つのスクリプトにまとめるもよし
それをせずにいきなり最終型を目指すなと
>>142の後半3


164:行が真に的を射てる 急がば回れというやつだよ



165:名無しさん@お腹いっぱい。
16/03/18 20:15:05.35 oFB9CK9F0.net
うん、じゃあ後は1人で好きなだけがんばってくれ
正直if文すら書けない人の面倒みるの無理だから

166:名無しさん@お腹いっぱい。
16/03/18 20:39:39.85 selYfsyT0.net
まずよく初心者が躓くのがAutoExecuteセクションなんだよな
ホットキーラベルが出てきた時点でAutoExecuteセクションは終了してしまうから
明示的に飛ばない限りはスクリプトが分断されるよ
URLリンク(sites.google.com)
この項目って結構後ろの方に書いてあるからなのか、見逃しちゃう人多いんだよね
一番最初に覚えなきゃならない仕様だと思うんだけどね

167:名無しさん@お腹いっぱい。
16/03/18 20:46:20.64 4bCS0bv70.net
>>160
やりたかったことがキーロックだったのなら、inputを使った一行で実現できたんでしょ。
if文を使ってアルファベットキーだけでも20個以上の定義を書くつもり?

168:名無しさん@お腹いっぱい。
16/03/18 21:28:14.16 euAEntaL0.net
フラグとBlockInputでいいんじゃねぇの?
>>28に注意しないといけないけど

169:名無しさん@お腹いっぱい。
16/03/18 21:31:08.99 YsqdbD0Y0.net
>>164
if文にしてKANAでflagのオンオフ切り替えて、KANA以外の
すべてのキーを書いて、Returnで無効化してやろうと思ってました(笑)。
でも、>>156さんの綺麗なコードですべて解決しました。
このコードをこれから使っていきます。
1つのキーにオンオフを割り当てないでも、やってみてこれで充分便利でした。
ファイルを切り替えるのもいいかと最初は思ったのですが、ファイル起動が
もたついたら嫌だと思って、保留してました。
今日またwikiを熟読してみます。
ちょっと安易にみなさんに質問しすぎてしまったので、あとは自助努力でやってみます。
感謝です(^^)

170:名無しさん@お腹いっぱい。
16/03/18 21:39:28.23 qhVwSaQs0.net
一方俺はワイヤレスキーボードの電源スイッチをOFFにした

171:名無しさん@お腹いっぱい。
16/03/18 21:54:49.43 B2x0ylga0.net
ワイヤレスキーボードなら、電源オンオフ簡単に出来るし省エネにもなるから
俺も使わないときはしょっちゅうオフにしてるけどな

172:名無しさん@お腹いっぱい。
16/03/18 22:21:16.23 5bRXptMI0.net
しかし東プレは頑なにワイアレスリアフォを出さないのであった

173:名無しさん@お腹いっぱい。
16/03/18 22:21:48.99 pPzz1Csf0.net
結局丸写しか
こういうやつは一生理解しないだろうな

174:名無しさん@お腹いっぱい。
16/03/18 22:51:48.98 F348bzpM0.net
このスレが伸びてる時は大抵クソ初心者に自称玄人が説教してる時

175:名無しさん@お腹いっぱい。
16/03/19 00:46:05.50 EPGQF0AH0.net
flg := 0
return
vkF2sc070::
sc070::
vkF2::
if (flg := flg ? 0 : 1)
return
#If flg
a::Return
#if
こうですね。やっとできました……。
これで上下左右キーだけアンロックされないバージョンを作ってみます。
今度は>>152さんの言ってることを理解しようと思います。

176:名無しさん@お腹いっぱい。
16/03/19 00:54:21.57 Tzf99ocq0.net
まだ間違ってる

177:名無しさん@お腹いっぱい。
16/03/19 01:10:52.20 b5zOwDIa0.net
三項演算子使うならifいらないし
ていうか意味調べずコピペしてるだろ
あと>152の下2行をカナキーに置換えてやるつもりなら無理だぞ
キーそのものがトグルじゃないと無理

178:名無しさん@お腹いっぱい。
16/03/19 01:28:39.97 EPGQF0AH0.net
今度、本屋でC++の参考書買ってきますわ……。
プログラミングについてわからないことが多すぎて
小手先だけじゃどうにもこうにも。

179:名無しさん@お腹いっぱい。
16/03/19 01:35:37.24 wIcRo6ZX0.net
AHKを使うのにC++の知識なんて全く要らないだろ

180:名無しさん@お腹いっぱい。
16/03/19 01:49:14.98 n07MT38R0.net
一時的に一部を除く大量のキーを無効/有効にするスクリプト
kes := ”a b c d e f g (略) ”
SetTitleMatchMode, RegEx
Hotkes, IfWinActive, ahk_class (hoge|hage) ;発動条件
If (flg) {
Loop, Parse, keys, %a_space%
Hotkeys, %A_LoopField%, MyLabel, B0
}else {
Loop, Parse, keys, %a_space%
Hotkeys, %A_LoopField%, off
}
return
MyLabel:return
昔書いたの思い出しながら書いるからどっか抜けてるかも。
1キーごとにラベルつくってやるより効率いいと思うんだけどどうだろう?
>172がやりたいことと違ってたらごめんよ

181:名無しさん@お腹いっぱい。
16/03/19 01:51:11.15 n07MT38R0.net
あ、hotkeysじゃねーや。sいらないね

182:名無しさん@お腹いっぱい。
16/03/19 06:48:43.99 zIvN0rdu0.net
>>175
C++じゃなくて、まずC言語を勉強しろ
お前にC++は無理

183:名無しさん@お腹いっぱい。
16/03/19 06:55:53.97 y6LnmPmF0.net
いやwikiを読破するだけでいいと思うんだが
足りなきゃ解説サイトはいくらでもあるし

184:名無しさん@お腹いっぱい。
16/03/19 07:19:05.54 HADPkBQ30.net
甘やかすなと怒られそうだけど、
>>156
のスクリプトの後にこれを書けばカーソルキーだけは効く
*Left::Send,{Blind}{Left}
*Right::Send,{Blind}{Right}
*Up::Send,{Blind}{Up}
*Down::Send,{Blind}{Down}

185:名無しさん@お腹いっぱい。
16/03/19 10:12:09.67 HADPkBQ30.net
あと、ロック状態かどうか一目でわかるように画面表示するのも良いね。
vk1Dsc07B & L::
SplashImage,5:,B FS10 FM15 W150 X0 Y0,Escで解除,キーボードロック
input,kb,t3600,{Esc}
SplashImage,5:off
return

186:名無しさん@お腹いっぱい。
16/03/19 11:34:26.19 wIcRo6ZX0.net
>>180
ほんそれ
少なくとも今話題になってるifの使い方だけならwiki読むだけで十分理解できる

187:名無しさん@お腹いっぱい。
16/03/19 12:48:15.38 Tzf99ocq0.net
いやあ、プログラムの素養0で最初にAHK、しかもwikiだけ見て理解しろってのは無理でしょう
簡単なバッチファイル読んだり書いたりするぐらいから始めるのがいいんじゃないかな

188:名無しさん@お腹いっぱい。
16/03/19 13:23:28.04 A3IpSxIY0.net
プログラムの素養0だがAHKは自力で何とかしたなあ
厳密に言えばその前にUWSCを使ってた(というか今も併用してる)けど、順番が逆でも難易度は変わらんだろう

189:名無しさん@お腹いっぱい。
16/03/19 13:54:45.39 eT8L9V2w0.net
俺もプログラミングとか全く知らんしまだまだ初心者けどAHKのifの使い方くらいは
wikiやその他説明サイト見て理解できたよ

190:名無しさん@お腹いっぱい。
16/03/19 14:58:49.31 OUvJ39tF0.net
要領がいい人にはそうでない人の気持ちはわからない

191:名無しさん@お腹いっぱい。
16/03/19 15:32:09.72 SB2OmaaR0.net
でも、AHKのifは、他言語のifと比べると、かなりカオスだぞ
式 変数 文字列 ってAHKとしての概念をはっきり知っておかないと、説明文を読んでもぱっとしないし
意外なところではまったりする
(これは全然関係ないけど)if行の後に ,コマンド てのも何故かうまく動かないし...
ifだけじゃなく、いろいろと癖がありすぎて、最初に覚える言語には向かないとは思うよ

192:名無しさん@お腹いっぱい。
16/03/19 15:54:13.09 XJZwseMV0.net
IFの意味を考えろってとこからだな。
もしこうなら選択肢A、そうでないなら選択肢B
こういう意味

193:名無しさん@お腹いっぱい。
16/03/19 16:12:18.85 OUvJ39tF0.net
AHKは上から順にコマンドが実行されていって末尾で終わるというスクリプトの基本と
ホットキーなんてものが混在してるのが非常にわかりにくい
だからAutoExcuteセクションがよくわかないなんていう普通じゃ考えにくいことになる

194:名無しさん@お腹いっぱい。
16/03/19 17:15:51.86 H3XXM6JI0.net
wikiが駄目なら流行らせるページミラーを読めばいい
少なくとも基本はこっちで覚えた

195:名無しさん@お腹いっぱい。
16/03/19 17:46:57.15 XJZwseMV0.net
ていうか、トライアンドエラー以外に上達の道なんかない

196:名無しさん@お腹いっぱい。
16/03/19 17:53:52.18 H3XXM6JI0.net
まぁ1回


197:設定できたら以後触らなくなるからすぐ忘れるんですけどね



198:名無しさん@お腹いっぱい。
16/03/19 18:00:34.54 WPhF98gL0.net
思い出したように昔書いたのを見て、いやこれはこうした方がいいな…
ってのがループするから困る

199:名無しさん@お腹いっぱい。
16/03/19 19:55:34.96 UuvGKmeu0.net
数年前に書いたコードを見返すと「こりゃひでーな」ってなる

200:名無しさん@お腹いっぱい。
16/03/19 20:11:48.28 L4baFzGg0.net
あらゆる言語のあるあるだな

201:名無しさん@お腹いっぱい。
16/03/20 00:46:56.07 TFKvDMeE0.net
文字列に含まれる半角カナを全角カナに直すことってできますか?
エクセルでいうJIS関数みたいなことをさせたいんですけど
AHKでそういう関数みたいのってありませんか?

202:名無しさん@お腹いっぱい。
16/03/20 00:52:51.76 G0iIE5470.net
わざわざAHKでやらなくても・・・

203:名無しさん@お腹いっぱい。
16/03/20 03:19:03.51 ihRKH60F0.net
文字コード駆使して変換するものを適当に書いてみたら
1文字ずつReplaceするのと変わらない行数になったw

204:名無しさん@お腹いっぱい。
16/03/20 05:12:24.60 0aTQ06K30.net
起動中のアプリの、フルパスだけでなくて起動引数も含めて取得したいのですが
どうやったらいいのでしょうか?
SystemExplorerってアプリだと取得してるので他のアプリからも分かるぽいのですが

205:名無しさん@お腹いっぱい。
16/03/20 08:24:48.10 r5KfapDl0.net
ここ見てがんばるか、AHKらしくSystemExplorerの操作
URLリンク(dixq.net)

206:名無しさん@お腹いっぱい。
16/03/20 11:36:02.14 Eexh+kms0.net
>>197-200
nkfをahkから使えばできる

207:名無しさん@お腹いっぱい。
16/03/20 11:37:30.12 T+9yld7V0.net
>>200
ここの Path2_GetCommandLine()
URLリンク(www6.atwiki.jp)

208:名無しさん@お腹いっぱい。
16/03/20 14:45:21.73 NWgc4lAW0.net
>>197
ExcelがインストールされていればCOMコンポーネントからワークシート関数が使える
xls:=ComObjCreate("Excel.Application")
msgbox, % xls.WorksheetFunction.dbcs("アイウエオ")."アイウエオ"
最初、jisでやったら名前が不明と怒られたのでここを見た
URLリンク(msdn.microsoft.com)
実際にシート上で使える関数と微妙に違っている模様

209:名無しさん@お腹いっぱい。
16/03/20 15:01:11.95 Zbhzzasz0.net
>>197
過去スレに例がある
AutoHotkey スレッド part18
スレリンク(software板:974番)

210:名無しさん@お腹いっぱい。
16/03/20 17:08:36.32 TFKvDMeE0.net
>>204
関数使うたびにエクセル起動するの? 遅そう……と思ったら普通に高速でした!
他の関数使いたい場合にも応用できそうでありがとうございます!
>>205
こういうの探してました! ありがとうございました!

211:名無しさん@お腹いっぱい。
16/03/20 21:27:11.49 Gb5RFFSl0.net
>>205を参考に作った
カナカナ(STR) {
HAN = アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー
ZEN = アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッー
Loop, Parse, HAN
HAN%A_Index% := A_LoopField
Loop, Parse, ZEN
ZEN%A_Index% := A_LoopField
Loop, 56
STR := RegExReplace(STR, HAN%A_Index%, ZEN%A_Index%)
While RegExMatch(STR, "([カ-トハ-ホ])" Chr(0xFF9E), $)
STR := RegExReplace(STR, $, Chr(Asc($1) + 1))
While RegExMatch(STR, "([ハ-ホ])" Chr(0xFF9F), $)
STR := RegExReplace(STR, $, Chr(Asc($1) + 2))
STR := RegExReplace(STR, "ウ" Chr(0xFF9E), "ヴ")
Return, STR
}

212:名無しさん@お腹いっぱい。
16/03/22 15:19:19.67 qvcTqhPh0.net
やってないけど、文字コードが○~×(半角)の間ならその文字コードに△△を足すって方法はスマートな感じするけどどうなの

213:名無しさん@お腹いっぱい。
16/03/22 15:49:08.41 CKd98cly0.net
それが上手くいくのって英数だけじゃないの調べてないけど

214:名無しさん@お腹いっぱい。
16/03/22 16:20:51.14 TNEW3DF30.net
>>209
じゃあめんどくさいけど、カンマとかで区切ればいい。207でうまくいくのか確認してないけどね

215:名無しさん@お腹いっぱい。
16/03/22 17:39:44.77 1QJixAQO0.net
>>201
すみませんCは全く分からず
SystemExplorerの操作で実際やってるのですがキー操作向けには作られてないので思った動作は難しいです
>>203
まさにその通りの関数があったとは
すごいスクリプトですね
どうもありがとうございます

216:名無しさん@お腹いっぱい。
16/03/22 17:44:49.85 vcP6ld570.net
ここ見てがんばれ
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)

217:名無しさん@お腹いっぱい。
16/03/22 18:21:03.94 fVO9mXek0.net
>>208-210
なんなのこいつら

218:名無しさん@お腹いっぱい。
16/03/23 02:43:29.42 VPUeXaUm0.net
GUI上のボタンからスクリプトのReloadをした際に、A_GuiControlで押したボタン名を取得する事は出来ますでしょうか?。
If A_GuiControl = 空になってしまいます。
よろしくお願いします。

219:名無しさん@お腹いっぱい。
16/03/23 02:49:11.21 QKM54NdH0.net
GuiAddするときにちゃんと「V」オプション指定してる?

220:名無しさん@お腹いっぱい。
16/03/23 03:12:16.47 i2dr6pgr0.net
そりゃリロードしたら変数はリセットされちゃうでしょうよ
Reloadの前にIniWriteなり何なりで、A_GuiControlの内容を別ファイルに記録しておけばいいのでは

221:名無しさん@お腹いっぱい。
16/03/23 03:26:45.63 VPUeXaUm0.net
キタ━━━(゚∀゚)━━━ !!!!!
IniWriteの事、すっかり忘れていました!。
お二方、どうも有難うございました。

222:名無しさん@お腹いっぱい。
16/03/23 17:25:02.48 eyQqj2N+0.net
管理者権限で実行しているスクリプトから Run すると
同じく管理者権限で起動してしまいますが
標準ユーザーとして実行するにはどうしたらいいでしょうか?

223:名無しさん@お腹いっぱい。
16/03/23 18:39:44.59 fgpidqLg0.net
ショートカット作ってプロパティから設定できないっけ
見当違いのこと言ってたらすまん

224:名無しさん@お腹いっぱい。
16/03/23 19:08:54.11 aTWSa9JA0.net
>>218 とりあえず「管理者権限から降格」でぐぐってみました。
ここ↓の142行目からの LaunchAsNormalUser という関数がそれです。
URLリンク(mxr.mozilla.org)
C++のコードですが、やってることはDLLの呼び出しだけなので、
そのままAHKの文法で書き換えるだけでいいかと。
(試してないのでうまくいかなかったらごめん。)

225:名無しさん@お腹いっぱい。
16/03/23 19:11:42.05 aTWSa9JA0.net
>>219 管理者に昇格することはできる。
そのときにパスワードの入力を省略する方法もいろんなところに書いてある。
でも、>>218氏がやりたいのは逆に管理者から一般ユーザに降格する方法。
AHKのRunAsを使うには本人のパスワードが必要なようだし…。

226:名無しさん@お腹いっぱい。
16/03/23 21:24:15.47 Sr1EwHB20.net
ホットキーの記述なしに、
各アプリケーションのIME制御ってさすがにできませんよね?
アプリが起動していたらIME.ONとか。

227:名無しさん@お腹いっぱい。
16/03/23 21:32:58.80 pfGSq4k60.net
>>222
ネット検索すれば、IME制御の関数が見つかると思う。
そういうのを使わなくても、IMEのキー設定で、IMEオン用のキーとIMEオフ用のキーを作っておけば簡単。

228:名無しさん@お腹いっぱい。
16/03/23 21:35:59.44 pfGSq4k60.net
あ、SetTimerでアプリ監視とかって意味かな

229:名無しさん@お腹いっぱい。
16/03/23 21:46:09.29 Sr1EwHB20.net
>>223
自動判断でということですね。
キーは一切押したくない。

230:名無しさん@お腹いっぱい。
16/03/23 21:49:17.13 QKM54NdH0.net
自動判断の部分の記述さえできればSetTimerで可能だよ
IME ON/OFFは関数化されてるし

231:名無しさん@お腹いっぱい。
16/03/23 21:51:16.35 pfGSq4k60.net
現在アクティブのアプリが何かを監視していて、切り替わったらIMEのオンかオフかを決める
って感じかな。

232:名無しさん@お腹いっぱい。
16/03/23 21:51:31.67 ZFC0xz/70.net
オートホットキーなんて名前だけどもはやホットキーはおまけみたいなもんだから

233:名無しさん@お腹いっぱい。
16/03/24 01:58:50.76 q+Idkx1u0.net
>>7のQ4のようなことしてないけれど、
SetTimerが動かない理由ってなにかありますか?

234:名無しさん@お腹いっぱい。
16/03/24 03:07:12.27 zSQTPRsK0.net
#Persistentがない

235:名無しさん@お腹いっぱい。
16/03/24 03:15:38.48 q+Idkx1u0.net
>>320
ホットキー使ってるからいらないはず。
でも一応、#Persistentを書いたけど、それでも動かない。
新規ファイルでやるとなぜか動く。
メインのファイルに何かいけないことが書いてあるのだろうか? 謎だ。

236:名無しさん@お腹いっぱい。
16/03/24 04:43:43.21 q+Idkx1u0.net
>>230
ありがと。いろいろいじってたらよくわからんが、
解決した。

237:名無しさん@お腹いっぱい。
16/03/24 05:04:31.10 wutbBlHO0.net
>>231
なんぼホットキー使ってるからつっても、ホットキーとホットキーの間にSetTimer書いても動かねーと思うべ

238:名無しさん@お腹いっぱい。
16/03/24 05:07:19.56 wutbBlHO0.net
あらら・・・ページ更新も忘れて超エスパーしてレスしたんだが解決し単価よw

239:名無しさん@お腹いっぱい。
16/03/25 23:39:29.28 C11k0qYy0.net
スクリプトの処理時間を計測する特別な変数みたいなコマンドってあります?。

240:名無しさん@お腹いっぱい。
16/03/26 00:00:52.28 TLzFlnOp0.net
A_tickcount

241:名無しさん@お腹いっぱい。
16/03/26 00:24:44.31 HDBhPAo80.net
Wikiによると、 OSが起動してからの経過時間(ミリ秒)とありますね。
つまりA_tickcountをスクリプトの先頭と最後尾に配置して経過時間を調べるって事ですかね?。
どうも有難うございました。

242:名無しさん@お腹いっぱい。
16/03/26 00:41:17.83 HDBhPAo80.net
稚拙な知識でコード作成してみましたが、以下で問題ないでしょうか?。
よろしくお願いします。
Start = %A_tickcount%
Sleep 1000
End = %A_tickcount%
Time := (End) - (Start)
msgbox, Start %Start%`nEnd %End%`n経過時間 %Time%

243:名無しさん@お腹いっぱい。
16/03/26 01:13:21.07 TLzFlnOp0.net
うん

244:名無しさん@お腹いっぱい。
16/03/26 18:03:11.12 tJ2bRysD0.net
>>238
大まかには問題ない、以下代案
代入を統一 = と :=
終了を明示する return
括弧が不要
引数で式を使う ***, % ***
Start := A_tickcount
Sleep 1000
End := A_tickcount
; Time := End - Start
msgbox, % "Start " Start "`nEnd " End "`n経過時間 " End - Start
return

245:名無しさん@お腹いっぱい。
16/03/26 19:16:21.07 RClxZs9L0.net
おお、こんな書き方があるんですね。
どうもありがとうございました。

246:名無しさん@お腹いっぱい。
16/03/26 21:40:11.35 LpskoY3c0.net
括弧のこと以外は完全に蛇足

247:名無しさん@お腹いっぱい。
16/03/26 22:53:28.67 N8wyJ7WW0.net
アプリAが起動したら、SetTimerが発動。
このようなことは可能でしょうか?

248:名無しさん@お腹いっぱい。
16/03/26 23:26:56.44 YzA2jQzw0.net
>>243
AutoExecuteセクションでそのプロセスの存在を待つか、そのSettimerを発動するためのSettimerを回しておくとか。
Process,exist
ウィンドウを持つプロセスならWinWaitでも行けると思うけど

249:名無しさん@お腹いっぱい。
16/03/26 23:40:56.03 N8wyJ7WW0.net
>>244
ありがとうございます。やってみます。

250:名無しさん@お腹いっぱい。
16/03/27 02:36:16.80 KGNQGCmc0.net
質問させてください。。
everythingというソフトウェアをalt + e同時押しで
起動、終了させたく以下の様なスクリプトを書きました
ウィンドウがアクティブ時のWinCloseが旨く効かず
altキーのみ押された挙動となります
どのように修正したら良いでしょうか?
!e::
IfWinNotExist, ahk_class Everything
{
Run, %ProgramFiles%\Everything\Everything.exe
return
}
IfWinExist, ahk_class Everything ; toggle minimize/restore
{
IfWinNotActive ; restores window
WinActivate
Else
WinClose ; close window
return
}

251:名無しさん@お腹いっぱい。
16/03/27 04:22:19.23 8QGfr4Yw0.net
WinTitle指定には大文字小文字の区別がある

252:名無しさん@お腹いっぱい。
16/03/27 07:04:38.24 VO67dCDF0.net
ウインドウマッチングで失敗してるならeverythingが増殖するはず(多重起動不可を除く)
少なくとも altキーのみ押された挙動にはならないから !e:: の行があやしい
いちばんあやしいのは>>246

253:名無しさん@お腹いっぱい。
16/03/27 07:18:50.84 KRuN/Dr50.net
余計なツッコミだろうけど、Alt+Eを普通に使えないと不便だと思う。
多くのアプリで編集(E)があるだろうから。

254:名無しさん@お腹いっぱい。
16/03/27 07:32:06.00 Lb5ublp10.net
!e::
IfWinNotExist , AHK_class EVERYTHING
{
Run , %ProgramFiles%\Everything
}Else
{
IfWinNotActive
{
WinActivate
}Else
{
WinClose
}
}
Return

255:名無しさん@お腹いっぱい。
16/03/27 10:54:12.36 PFnoKFuL0.net
ahk_class EVERYTHING にしたら効いた
>247が正解
動作が怪しい時はTooTipやMsgBox仕込んでどこまで正常に動いてるか確認すること
この例だと 1しか効いてないのがわかる
!e::
IfWinNotExist, ahk_class Everything
{
ToolTip,1
Run, %ProgramFiles%\Everything\Everything.exe
return
}
IfWinExist, ahk_class Everything ; toggle minimize/restore
{
ToolTip,2
IfWinNotActive ; restores window
{
ToolTip,3
WinActivate
}
Else
{
ToolTip,4
WinClose ; close window
}
return
}

256:名無しさん@お腹いっぱい。
16/03/27 10:56:00.34 O99Sp5hT0.net
>>250
Everythingスレ荒らしに行ってんじゃねえよクズが

257:246
16/03/27 13:56:28.06 KGNQGCmc0.net
247 ~ 251
大文字小文字区別判定でおかしくなってたみたいです
tooltipで動作確認は超便利ですね
ありがとうございました!

258:名無しさん@お腹いっぱい。
16/03/28 08:33:16.42 Sx1vfncL0.net
SetTimerでスクリプトのReloadってできないのですか?
なんどやってもReloadしてくれません。

259:名無しさん@お腹いっぱい。
16/03/28 09:18:52.04 5qh6XI4t0.net
>>254
できるよ。
そのSetTimerがちゃんと実行できているかどうかをToolTipとか使って調べてみたら。

260:名無しさん@お腹いっぱい。
16/03/28 09:31:48.10 Sx1vfncL0.net
>>255
書き方が悪いのかもしれないから、またやってみます。

261:名無しさん@お腹いっぱい。
16/03/28 09:47:55.50 RFwXpUaN0.net
例によってAutoexecuteセクションの位置がおかしいかreturn抜けあたりじゃね
Autoexecuteセクションは#includeより前に書かないとだめよ

262:名無しさん@お腹いっぱい。
16/03/28 12:32:08.15 2FbHTmk70.net
デタラメ言うな

263:名無しさん@お腹いっぱい。
16/03/28 12:37:22.26 3RllZ81O0.net
そうなの?

264:名無しさん@お腹いっぱい。
16/03/28 12:39:30.00 5qh6XI4t0.net
includeしているファイル内にホットキー定義があるかどうか

265:名無しさん@お腹いっぱい。
16/03/28 12:59:35.44 RcQkC1Zu0.net
#includeはケースバイケースで先頭に置いたりサブルーチンを全部別ファイルにして#includeしたりするな俺は。

266:名無しさん@お腹いっぱい。
16/03/28 13:27:31.14 RFwXpUaN0.net
ああすまん、include内にホットキーとreturnが含まれてなければ動作的にはOKなのか
自分は別ファイル内にAutoexecute持ってくのは気持ち悪いから
先頭でGosubしてAutoexecuteの記述はそっちに書いてるわ
gosub,init
gosub,main
return
#include hoge.ahk
init:

return
main:

rerurn

267:名無しさん@お腹いっぱい。
16/03/28 14:37:45.53 3RllZ81O0.net
別ファイルの利点ってのは、関数扱いで使い回しが出来ることだからね。

268:名無しさん@お腹いっぱい。
16/03/28 15:14:49.21 NFxzzhnt0.net
autiexecuteの最中に関数群差し込むってのもそれはそれで気持ち悪い気が

269:名無しさん@お腹いっぱい。
16/03/28 15:53:11.74 i/fnTwGY0.net
includeで気をつけるべきなのは原則上のほうが優先ってことじゃないかな
MGL参照すればわかるが、autiexecuteの区切りとして最後に飛ぶラベルとGotoで結べばラベル無視できるけど、まぁ一般的ではない気がするね

270:名無しさん@お腹いっぱい。
16/03/28 18:55:31.85 VGSQj41n0.net
Includeするahkは末尾に名前だけのラベル作って、
必要最低限の記述の後Gotoでそのラベルに飛ぶ書式にしといたほうが無難

271:名無しさん@お腹いっぱい。
16/03/28 20:00:38.38 yKSnKUQO0.net
ClipboardHistory.ahk、スゲー進化してるな。
サンクス。

272:名無しさん@お腹いっぱい。
16/03/28 20:59:51.77 Sx1vfncL0.net
Chromeが立ち上がった時に、IMEを自動でオンするスクリプトを
以下に書いたのですが、
#Persistent
WinWaitActive,ahk_class Chrome_WidgetWin_1
SetTimer,OnTimer,-5000
Return
OnTimer:
Send,{vkF3sc029}
Return
^0::Reload
ただ、1度Chromeを閉じてしまうと、手動でスクリプトをReload
しないと、今度Chromeを立ち上げた時にIMEがオンになりません。
そこで「Chromeが存在している状態から存在しなくなった時に
SetTimerで3秒後に1度だけスクリプトをReloadする」
ということをしたいです。
IfWinNotExistとかいろいろやってはみているものの、
うまくいかないので、アドバイスお願いします_(._.)_

273:名無しさん@お腹いっぱい。
16/03/28 21:59:14.79 pq4FtCeH0.net
IMEオンってFirefoxだとスタイルシートで出来る事なんだがchromeは出来ないのか?
input, textarea {
ime-mode: active !important;
}
input[type=password] {
ime-mode: inactive !important;
}

274:名無しさん@お腹いっぱい。
16/03/28 22:05:02.26 kXbzxxoI0.net
こういうのはTimerじゃなくてSleep使った方が単純でわかりやすいよ
それと なぜ1度閉じるとだめか=別の窓じゃだめか よく考えるといい
この用途ならReloadなんか使わなくてもできるはず

275:名無しさん@お腹いっぱい。
16/03/28 22:05:35.81 Sx1vfncL0.net
>>269
去年からChromeでime-modeが廃止されたみたいです。
なので困ってまして。

276:名無しさん@お腹いっぱい。
16/03/28 22:07:17.04 pq4FtCeH0.net
そりゃ失敬

277:名無しさん@お腹いっぱい。
16/03/28 22:13:31.63 CV6K4rTd0.net
#Persistent
settimer,IMEON,100
IMEON:
WinWaitExist,ahk_class Chrome_WidgetWin_1
sleep,5000
Send,{vkF3sc029}
Return

278:名無しさん@お腹いっぱい。
16/03/28 22:19:23.72 Sx1vfncL0.net
>>273
エラーが出て読み込めないのはわたしだけでしょうか?

279:名無しさん@お腹いっぱい。
16/03/28 22:21:35.38 PQptxJDa0.net
Timer:
if memocho
{
 IfWinNotExist, ahk_class Notepad
 {
  memocho = 0
 }
} else {
 IfWinExist, ahk_class Notepad
 {
  memocho = 1
  SoundBeep
 }
}
Return

280:名無しさん@お腹いっぱい。
16/03/28 22:39:54.65 Sx1vfncL0.net
>>275
なるほど。でもわたしの環境だと読み込めない……。
困りました。

281:名無しさん@お腹いっぱい。
16/03/28 22:46:28.90 PQptxJDa0.net
これコピペしたって意味ないんだから自分で打ちなさい

282:名無しさん@お腹いっぱい。
16/03/28 22:48:36.39 CV6K4rTd0.net
>>274
WinWaitExistなんて存在してなかったわ
すまん

283:名無しさん@お腹いっぱい。
16/03/28 22:48:39.59 RFwXpUaN0.net
>>268
WinWait使うならSetTimerいらない
WinWaitで待つ
IME ONする
WinWaitCloseを待つ



284:sleepで3秒待つ relooad SetTimerでWinWaitReload使わず ifWinExistで変化がなければすぐ抜ける 変化があったら起動待ちフェーズと終了待ちフェーズでそれぞれ処理 とかやるほうがスマートとは思うがフラグ処理とかいるのでちょっと面倒くさいかもしれない



285:名無しさん@お腹いっぱい。
16/03/28 22:50:09.28 FvCAM9dT0.net
Chromeのショートカットのリンク先を
Run, Chromeのパス
タイマーでIMEの状態を監視しつつ
Chrome閉じたらスクリプトも終了するようなahkにすればよくね?

286:名無しさん@お腹いっぱい。
16/03/28 22:52:58.91 RFwXpUaN0.net
ああすまん
特定窓対応じゃなく複数窓開いてるなら
WinWaitじゃなくてProcess, WaitCloseで

287:名無しさん@お腹いっぱい。
16/03/28 23:02:20.64 Qv/Ong0e0.net
>>281
書き込む前にちょっと落ち着こうか

288:名無しさん@お腹いっぱい。
16/03/28 23:16:47.68 Sx1vfncL0.net
>>268に続けて、
#Persistent
IfWinNotExist, ahk_class Chrome_WidgetWin_1
SetTimer,Timer,5000
Return
Timer:
Reload
Return
こう書いたのですが、これが動かなかったんですよね。
考えとしては、Chromeが存在していなければ、5秒置きに
Reloadを繰り返しておけ。
あんまりいい考えとも思えないし、そもそも動かないし、トホホです。

289:名無しさん@お腹いっぱい。
16/03/28 23:27:46.19 Sx1vfncL0.net
>>281
WinWaitとかProcessとか試したんですけど、
SetTimer使わないと自動化できなかったんですよね。

290:名無しさん@お腹いっぱい。
16/03/28 23:46:51.83 qonJwbJL0.net
Loop {
WinWait
WinWaitClose
}

291:名無しさん@お腹いっぱい。
16/03/29 00:01:32.55 y82IS0Ws0.net
英語フォーラムにあったやつ
#Persistent
Gui +LastFound
hWnd := WinExist()
DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )
Return
ShellMessage( wParam,lParam ) {
If ( wParam = 1 ) ; HSHELL_WINDOWCREATED := 1
{
WinGetClass, class, ahk_id %lParam%
If ( class = "Chrome_WidgetWin_1" )
{
WinWaitActive, ahk_id %lParam%,, 10
Sleep, 5000
Send, {vkF3sc029}
}
}
}

292:名無しさん@お腹いっぱい。
16/03/29 00:07:34.39 Ayw62dRO0.net
元のリンクぐらい貼れよ

293:名無しさん@お腹いっぱい。
16/03/29 06:06:18.49 ii7qf14q0.net
自分で使うだけなら、IMEをオンにしてからChromeを立ち上げるというホットキーを作るわ。

294:名無しさん@お腹いっぱい。
16/03/29 06:10:37.52 ii7qf14q0.net
実際の順番は、Chromeを起動してからちょっと待ってIMEをオンにするホットキーのスクリプトになるかな。

295:名無しさん@お腹いっぱい。
16/03/29 07:19:33.62 ii7qf14q0.net
とりあえず実験してみたけど、IMEのオンオフって、入力フォーカスが文字入力の場所でないと効かないね。
Send,^l
してアドレス入力欄に移動してからオンにしてるけど、皆のスクリプトを見る限り、そんな必要が無いみたいね。
うちの環境だけなのかな。

296:名無しさん@お腹いっぱい。
16/03/29 07:22:50.52 dVKczT4p0.net
{vkF3sc029}で IME-ON という記述に違和感
GetKeyStateのトグルモード結果をToolTipで表示して違和感が正しい事を確認
使う命令は微妙に違うけど基本的には>>285の流れでいけるよ

297:名無しさん@お腹いっぱい。
16/03/29 16:09:57.73 qDIVNOUn0.net
ClipboardHistory.ahk頂きました
ものすごい高機能ですな…使いこなしとソース読み込み頑張るわ
他のコピペアプリ使ってるんだが完全に不要になった

298:名無しさん@お腹いっぱい。
16/03/29 16:47:51.81 +wB2tbML0.net
旧版の知識のまま止まってる浦島太郎の俺は
cliparray:=array()←この関数って何ぞ?で解析終了ギブアップしたのであった。
複数行サンプルの書き方スゲー参考になった。
作者さん乙

299:名無しさん@お腹いっぱい。
16/03/29 18:19:37.64 UwKPcGtV0.net
マウスのホイールリダイレクトみたいにマウスカーソルが指している場所の直下のコントロール


300:やペインにマウス操作やキー押下を送りたい時の雛形みたいなものないかな



301:名無しさん@お腹いっぱい。
16/03/29 18:35:33.03 nU8rz71n0.net
ホイールリダイレクトの雛形と同じように
MouseGetposで直下のahk_idとclass取ってSendするだけやで

302:名無しさん@お腹いっぱい。
16/03/30 13:14:01.86 S6qfhMC50.net
microsoft edgeで加速スクロールが使えない問題
WheelScroll2.ahkで無視リスト、除外に
Windows.UI.Core.CoreWindowを記述してみたけど
edgeがスクロールできない。
どうすればいいか おしえて

303:名無しさん@お腹いっぱい。
16/03/30 14:49:42.70 BE1lR/im0.net
非アクティブウィンドウ下にホイールリダイレクト同じようにLクリック送ってやろうと思ったのだけど動きません。なんででしょう?
PostMessage, 0x0201, 0x0001, 0, %targetCtl%, ahk_id %targetWin%
そもそもホイールリダイレクトのウィンドウメッセージの0x115ってどこからやってきたのかがわからなくて気持ち悪いのでだれか解説お願いしたいです。

304:名無しさん@お腹いっぱい。
16/03/30 15:00:23.21 SfJN/UGt0.net
>>297
List of Windows Messages
URLリンク(autohotkey.com)
WheelScroll.ahkにはコメントでメッセージ名称書いてあると思うけど
WheelScroll2.ahkはどういう記述になってるん? ググったが出てこない
うちはwin10環境じゃないので確認できないけど
MGLプラグインの AccelScroll.ahkの説明書きによると
Win10のModern UIでは SendMessageでのWM_MOUSEWHELLが効かないらしい
ので直接 SendInput,{WheelUp} とかしてやればいいっぽい
URLリンク(ux.getuploader.com) 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


305:名無しさん@お腹いっぱい。
16/03/30 15:26:02.29 BE1lR/im0.net
>>298
こんなリストが有ったのか、ありがとうございますいろいろ試してみます。

306:名無しさん@お腹いっぱい。
16/03/30 17:11:47.04 S6qfhMC50.net
>>298
ありがとう。マウスジェスチャーの方に
ApplicationFrameHost.exe SendInput,{WheelUp}を登録
したらedgeでもスクロールできました。
WheelScroll2.ahkは自分で2を付けたみたい。
edgeで加速スクロール使いたくなったらまた考えます。

307:名無しさん@お腹いっぱい。
16/03/30 17:48:42.21 SfJN/UGt0.net
おっと296と297は別人か
同じ人が試行錯誤してるのかと思って混ぜて返してしまった
まあ解決したようでなにより

308:300
16/03/30 21:41:48.39 S6qfhMC50.net
すまん、先走ってもうた。
autohotkeyのバージョンは1.0.48
ApplicationFrameHost.exe SendInput,{WheelUp}を登録したら
WheelScrollの方が無効になって
他のアプリはホイール加速しなくなった。
ばばば、autohotkeyを1.1にしていろいろ試す。
ごめんな。

309:名無しさん@お腹いっぱい。
16/04/02 12:10:07.17 l9eUwUlL0.net
whileやtimer以外で監視って出来ない?
イベント検知に可能性を感じるんだけど

310:名無しさん@お腹いっぱい。
16/04/02 12:15:35.40 w4F++Yzu0.net
OnMessageを使えばあるいは

311:名無しさん@お腹いっぱい。
16/04/02 13:20:55.98 qP8kjA2L0.net
操作しても動かない場合処理を切り替えるって方法取りたいけど、これはPrintScreen送って処理通してみてもう一度PrintScreenとって比較して確認とってからって方法を思いついたけど、CLIPBoardAllコマンドでクリッボード復旧できるのかな。
この方式だとPrintScreenがクリップボードを埋めそうな予感しかしない

312:名無しさん@お腹いっぱい。
16/04/04 02:54:23.51 UbadJwpx0.net
Ctrl+Alt+Delを押した時に出てくるウィンドウのクラスは取得出来ますかね?
スクリプトを常駐させても、キー操作を受け付けない様なんです。

313:名無しさん@お腹いっぱい。
16/04/04 07:28:14.16 SgK7NExq0.net
できたらマルウェア仕込み放題だな

314:名無しさん@お腹いっぱい。
16/04/04 07:49:46.57 nFFLulYZ0.net
UICも操作できないんだよな
これに気づくまでに時間かかった

315:名無しさん@お腹いっぱい。
16/04/04 17:40:49.63 UbadJwpx0.net
操作出来ないのは仕様なんですね
ありがとうございました

316:名無しさん@お腹いっぱい。
16/04/04 17:47:00.15 SgK7NExq0.net
AHKというよりOSの仕様だからね

317:名無しさん@お腹いっぱい。
16/04/04 17:49:22.74 44TOzFpT0.net
Fallout4でマウスのボタンが足りなくなったのでLCtrlを長押しでしゃがみ
素早く離すとジャンプっていうキーバインドを作ろうとしてるんですけどどうもうまく行きません。
ジャンプはできるんですけどctrl長押しでしゃがみません。だれか教えて下さい
LCtrl::
wait := A_TickCount + 300
While getkeystate,("LCtrl","P")
{
If (wait < A_TickCount){
sendinput,{LCtrl down}
sleep,30
sendinput,{LCtrl up}
CtrlF := CtrlF ? 0 : 1
break
}
}
return
Lctrl up::
If(CtrlF == 0){
sendinput,{space down}
sleep,30
sendinput,{space up}
}
return

318:名無しさん@お腹いっぱい。
16/04/04 18:13:49.73 rxB0yrY20.net
>>311
URLリンク(ahkwiki.net)
1つのキーに3種類以上の動作割り当て
これを読んでも分からなかったら諦めてNagaかG600を買った方がいい

319:名無しさん@お腹いっぱい。
16/04/04 20:07:16.08 44TOzFpT0.net
あ、できた。なんとかなりましたありがとうございます

320:名無しさん@お腹いっぱい。
16/04/04 20:14:24.64 M+cinTUX0.net
IE以外にAHKからCOM(よくわかってない)で細かく操作できるブラウザってありますか?
firefoxもchromeもCOMを実装?していないから操作できないと聞いたのですが
excelとかoutlookみたいなMS純正のアプリしかCOMで操作はできないんでしょうか?

321:名無しさん@お腹いっぱい。
16/04/04 21:07:34.38 vTr+BiX/0.net
キーを押したら「マウスカーソル直下のコントロールにフォーカスを合わせる」だけのホットキーを作りたいんだけど
いくらwikiや説明読んでもできなかった

322:名無しさん@お腹いっぱい。
16/04/04 21:13:33.77 7ONyvti30.net
まんま MouseGetposでマウス直下のahk_idとコントロール拾って
ControlFocusでフォーカス合わせるだけやで

323:名無しさん@お腹いっぱい。
16/04/08 00:47:09.78 EKByDIkU0.net
アイコンのクリックでautohotkeyの操作を発動させたいのですが
どうやればいいですか?

324:名無しさん@お腹いっぱい。
16/04/08 01:05:26.74 yWc2sHUm0.net
何のアイコンだよ
ここエスパースレじゃないんだぞ

325:名無しさん@お腹いっぱい。
16/04/08 01:36:02.49 EKByDIkU0.net
たとえばwindowsキー+aにある操作を設定したとします
その操作を動作させるショートカットアイコンを作成したいのです

326:名無しさん@お腹いっぱい。
16/04/08 01:52:46.46 yWc2sHUm0.net
拡張子.ahkをAutoHotkey.exeに関連付ければいいだけじゃないの
インストーラーからセットアップすれば自動的に関連付けされる

327:名無しさん@お腹いっぱい。
16/04/08 05:12:39.84 Nq2ssQvt0.net
Ahk2Exe.exe で実行ファイルを作ればいい。

328:名無しさん@お腹いっぱい。
16/04/08 05:55:25.17 EKByDIkU0.net
ahkファイルに実行コードを直接書いて
ファイルを実行したら出来ました
ありがとうございました

329:名無しさん@お腹いっぱい。
16/04/08 12:14:20.86 Wn6ztqGj0.net
WinSet, Attribute, Value, WinTitle, WinText, ExcludeTitle, ExcludeText
のExcludeTitleに、複数の文字をセットしたいのです
たとえば、AAAという文字あるいはBBBという文字がタイトルにある場合は除外する、としたいのですが
どうしたらいいのでしょうか?
下記を読んで、
WinSet, Attribute, Value, WinTitle, WinText,AAA BBB, ExcludeText
としてもダメでした(半角スペース1つでAAAとBBBを分けた)
URLリンク(sites.google.com)
複数の条件の同時指定
「%title% ahk_class %class% ahk_pid %pid% 」のように半角スペースもしくはTab文字で区切って条件を列挙することで、
ウィンドウタイトルやahk_class、ahk_pid、ahk_groupの条件を組み合わせて指定することができる。
ウィンドウタイトルの条件を指定する場合は、必ず一番最初に記述する。スペースが二つ以上連続していると、
最後のひとつ以外は直前の条件の一部であるとみなされる。

330:名無しさん@お腹いっぱい。
16/04/08 13:29:57.46 IXGbdv3W0.net
>>323
WinGetでタイトルを空、あり得ない文字列でexcludeして全部get
その中から対象のタイトルをgetして
if(!RegExMatch(title, ”i)aaa|bbb”))

331:名無しさん@お腹いっぱい。
16/04/08 13:48:40.35 ZF5Shq120.net
>>323
TitleMatchModeをRegExにして正規表現で

332:名無しさん@お腹いっぱい。
16/04/08 14:55:21.37 frQAZs6U0.net
TitleMatchModeとかRegExとか以前に
>WinSet, Attribute, Value, WinTitle, WinText,AAA BBB, ExcludeText
Attribute, Value, WinTitle, WinText, , ExcludeText の部分の記述どうしてんの?
Attribute, Valueこのままじゃ何したいのかわからないし
WinTitle, WinText, , ExcludeTextの部分は指定するなら任意文字列に置き換える、しないなら空欄にしないと
AAA BBBとかじゃなく実際に記述して動かなかったコード貼ってみ

333:名無しさん@お腹いっぱい。
16/04/08 15:18:14.64 ZF5Shq120.net
そういう難癖は必要ないです

334:名無しさん@お腹いっぱい。
16/04/08 16:51:39.35 Wn6ztqGj0.net
>>324-325
お返事ありがとうございました
TitleMatchModeをRegExにすると全体に影響が出そうなので、WinGetの方法を使って出来ました
WinSetに限らず、ウインドウ指定は簡単なAnd、Orが出来るとほんと便利なんですけどねえ

335:名無しさん@お腹いっぱい。
16/04/08 19:45:20.13 lG8+WqBh0.net
ahkの常駐負荷を無駄に挙げないために気をつけるべきことってある?
例えば無駄なコメントが何百行もあったり、使われない関数が何百行も書いてあることは常駐負荷を上げる?

336:名無しさん@お腹いっぱい。
16/04/08 20:20:13.96 XSwW54JU0.net
ライブラリフォルダが関数とinclude以外でも使えたら便利なのになー
画像音声とか全部1箇所にぶちこんでしまいたい

337:名無しさん@お腹いっぱい。
16/04/09 10:49:30.30 Ky8URhR70.net
スクリプト起動時にサーバ内のiniファイルを参照しにいって
ローカルのものよりアップデートされたものがあればダウンロードする、という動作をさせたいんですけど
スマートなやりかたってありますか?
今は起動時に毎回URLDownloadToFileでダウンロードさせてるんですけど
このせいで1,2秒処理が遅くなるのが気になってます

338:名無しさん@お腹いっぱい。
16/04/09 15:17:06.04 xvD4kJEP0.net
>>329
基本的にタイマー監視の場合はフラグ変数を作っておいて1回ソレを通ったら1を入れて<>1になるまでは他の処理をくぐらさない
Loopはできるだけ使わない
でも使わない訳にはいかない場面も出てくるので0にはできない。出来る限り数行で済む単純な処理にしておく
終了条件を工夫するなどして対処
負荷がかかってるかどうかをチェックするなら>>238のようにA_tickcountを使ってスクリプトの処理の速度を測る、なんてのもあり
If分岐に時間はかからないけどIFを書き連ねるのではなくelseIfでわけれるところはそうする。
逆に早過ぎると実キー上げた瞬間他のキーが割り込んできてへんな入力に成るケースも有るからsleepを使って調節する
(基本的にSleep,30くらいまでは人間の押し下げ入力速度を超えてるから安全のはず)
sleep中は割り込むのでCriticalのonoffを使って処理を後回しにする(チョット危険)
Threadpriorityを設定し、他の割り込みを禁止する。(タイマーが死ぬ可能性があるのでそのへんも調節が必要)
判定には完全一致が望ましい。そうでないなら正規表現でやりたい。前方一致、部分一致は処理が重い
俺が気�


339:ツけてるのはこの辺



340:名無しさん@お腹いっぱい。
16/04/09 15:19:15.03 xvD4kJEP0.net
>>331
多分無理じゃないかな。AHKにはオンラインに働きかけるものが無い気がス
postmessageでイケルのかな?俺が知りたいくらいだ

341:名無しさん@お腹いっぱい。
16/04/09 15:22:20.44 KQwtWrCN0.net
パスの場所をネットワーク上に設定すればええんちゃうけ

342:名無しさん@お腹いっぱい。
16/04/09 16:40:01.89 J/bmPjI40.net
>>331
更新が頻繁でないなら、
別スクリプトなりwgetなりであらかじめ定期的にダウンロードしておくとか

343:名無しさん@お腹いっぱい。
16/04/10 01:03:13.05 0QdVwTsO0.net
ちょっと自分には難しいみたいなので
別スクリプトに分けてダウンロードさせようと思います
ありがとうございます

344:名無しさん@お腹いっぱい。
16/04/10 14:33:27.34 ru58JOSQ0.net
指定した全てのファイルが存在した場合のみ分岐したいのですが、どうもうまくいきません。
IfExist,~だと単一のファイルのみですが、
If FileExist(hoge.txt) || FileExist(hage.txt)~だと1つ当てはまればとなります。
in付けてみたりしましたが出来ませんでした。
現在は複数行に書いていますが、1行でこなす事ができれば良いなと思っています。
よろしくお願いします。

345:名無しさん@お腹いっぱい。
16/04/10 14:41:59.22 w5ze1jve0.net
&&

346:名無しさん@お腹いっぱい。
16/04/10 14:48:30.75 zGj8HAHR0.net
>>337
>指定した全てのファイルが存在した場合のみ
つまり、Aファイル "かつ" Bファイル "かつ" ... って意味だよね?
>>337の 「||」は "または" だからそういう結果になるよ
だから "かつ" を使わないと駄目じゃないかな

347:名無しさん@お腹いっぱい。
16/04/10 15:00:53.95 ru58JOSQ0.net
>>338
いつもお世話になります。
無事やりたい事が出来ました。有難うございました。
>>339
勉強になりました、どうもありg等ございました

348:名無しさん@お腹いっぱい。
16/04/10 17:18:14.36 I2cNzMgf0.net
XPじゃないとウインドウの半透明化はできないのかね。

349:名無しさん@お腹いっぱい。
16/04/10 20:51:51.94 EY0TYWdD0.net
XPではできたのか否か それが問題だ

350:名無しさん@お腹いっぱい。
16/04/10 21:04:50.77 AC0YjwzN0.net
WinSet,Trans のことだったら7でも8でもできてるが

351:名無しさん@お腹いっぱい。
16/04/10 21:09:25.48 a4ABGFJF0.net
というかヘルプにXPまでしか出来ないってある
そのことでしょ

352:名無しさん@お腹いっぱい。
16/04/10 22:04:13.30 AC0YjwzN0.net
あれはXP以前では無理って意味かと
win98とかもサポートしてたからね

353:名無しさん@お腹いっぱい。
16/04/11 14:18:29.97 lKtuNK3o0.net
Windows10にて
AHKスクリプトを管理者権限で実行している場合、そのスクリプトからRunコマンドで起動した
アプリケーションまで勝手に管理者権限で実行されてしまうのですが、スクリプトは管理者権限で
実行しつつ、Runコマンドで起動するアプリケーションは標準権限で実行する方法はありませんか?

354:名無しさん@お腹いっぱい。
16/04/11 16:27:09.34 Lt8jQ+2w0.net
Gラベルを設定したGui Textをダブルクリックすると勝手にクリップボードにコピーされるのは仕様なの?

355:名無しさん@お腹いっぱい。
16/04/11 17:31:02.98 sOebE2HR0.net
>>346
Windowsのrunasコマンドを trustlevel:0x20000 で使うとか

356:名無しさん@お腹いっぱい。
16/04/11 17:58:31.97 AFOtyAPD0.net
>>346
コマンドプロンプト [runas]:
別ユーザの権限でプログラムを実行する。
別のユーザ権限を使ってプログラムやコマンドの実行が可能。
Run, RunAs /trustlevel:0x20000 cmd,, Hide

357:346
16/04/11 20:06:16.75 lKtuNK3o0.net
>>348-349
レスありがとうございます。
起動したいアプリケーションはGoogle Chromeだったのですが
下記のようにしてコマンドプロンプトから呼び出すとChromeがエラーを吐いて上手くいきませんでした
Run, RunAs /trustlevel:0x20000 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
とりあえず苦肉の策で、常用してるランチャーソフト側でChromeにショートカットキーを割り当てて
AHKからはそのショートカットキーをSendする方法で対処することにしました
ありがとうございました

358:名無しさん@お腹いっぱい。
16/04/13 11:34:29.57 fqNTMoCN0.net
Blocksleep(Time){
Critical % Time
sleep % Time
}
需要あるか分からんけどスリープコマンドで割り込まれるのいい加減嫌になってきたので割り込めないスリープ関数作ってみた。

Blocksleep(1000)
これで1秒割り込めない。
普通のスリープと使い分けてね

359:名無しさん@お腹いっぱい。
16/04/13 14:57:54.23 /JppMDMK0.net
今日から使い始めたのですが、
「y」→0.1秒後に「!bot」
と書かせる方法がわかりません
0.1秒の時間を空けさせるにはどう書いたらいいのですか?
^k::send,y{Shift}+1bst{enter}
win7 64bit
AutoHotkey Current version v1.1.23.05 March 27 2016

360:名無しさん@お腹いっぱい。
16/04/13 15:06:45.16 RiUplLJw0.net
send
sleep
send
return

361:352
16/04/13 15:33:10.72 6cxpXCUf0.net
>>353
いけますた
ありがたやありがたや

362:名無しさん@お腹いっぱい。
16/04/16 15:58:17.06 /5QWoiei0.net
ざっくりした質問で申し訳ないんだけど
AHKでコンソールアプリって作れる?
ahkファイルに関数とか作っておいて
コマンドプロンプトで関数名や引数を入力して実行
結果をダイアログとかでなくコマンドプロンプトに表示
みたいな

363:名無しさん@お腹いっぱい。
16/04/16 16:51:36.83 JUVjpRtr0.net
バッチファイルなりpsなり使う方がいいよ

364:名無しさん@お腹いっぱい。
16/04/16 17:15:40.40 7PMREnU40.net
デフォルトで標準入出力サポートしてないからかなり面倒になると思う

365:名無しさん@お腹いっぱい。
16/04/16 19:33:21.77 JCzL4Y900.net
標準出力はFileAppend使えばできるんじゃね

366:名無しさん@お腹いっぱい。
16/04/16 21:26:02.41 mkAl0B840.net
AHKで入力ダイアログも出力ダイアログもあるんだから
AHKで全部作り上げたほうが楽じゃねか
ファイル出力も入力も出来るんだし、AHKからDOSのバッチファイルも
引数付きで実行できるしな

367:名無しさん@お腹いっぱい。
16/04/16 21:33:01.07 mkAl0B840.net
そういや、AHKってスクリプトをコンパイル出来たな
やったことないが、確かコンパイルしたらコマンドラインから実行できなかったか
引数付きって出来たかな

368:名無しさん@お腹いっぱい。
16/04/16 21:40:15.83 /1HWM5Rh0.net
コンパイルなんてしなくても因数付きで実行できると思うけど
関連付けしてたらね

369:名無しさん@お腹いっぱい。
16/04/16 22:12:05.09 7PMREnU40.net
以前/ErrorStdOutでハマったことあるがAHKの標準出力は >や|でリダイレクトしてやらんと見えないのよ
今試してみたらFileAppendでも同じだった
あと関連付けでの Start実行ではリダイレクトしてやっても無理だった
NG: c:\>autohotkey.exe test.ahk
OK: c:\>autohotkey.exe test.ahk |more
NG: c:\>start test.ahk |more
---test.ahk ---
FileAppend,StdOutTest,*
return
-------
スクリプト内ではどうしようもないっぽいので実行時に毎回気をつけてやるかバッチファイル書くか
あまり使い勝手はよくなさそう

>>359
それやりたくないからプロンプトでって聞いてるんだと思うよ
ダイアログでの入出力は更に使い勝手落ちるし

370:名無しさん@お腹いっぱい。
16/04/16 22:34:02.81 JUVjpRtr0.net
>>361
引数はひきすうって読むんだよ

371:名無しさん@お腹いっぱい。
16/04/16 23:18:17.72 TxQZI3GY0.net
ワラタ

372:名無しさん@お腹いっぱい。
16/04/16 23:25:06.15 JCzL4Y900.net
オレも中学生の頃プログラミングのリファレンス見ていんすうだと思ってたなw
確か紛らわしいからひきすうって読むんじゃなかったっけ

373:名無しさん@お腹いっぱい。
16/04/16 23:34:48.21 31J1gwd+0.net
匹数

374:名無しさん@お腹いっぱい。
16/04/16 23:37:19.79 2E/j6QHl0.net
湯桶読みとかまぁ知らんわな

375:名無しさん@お腹いっぱい。
16/04/16 23:41:29.86 /vWH7x6P0.net
>>365
由来は知らんけど確かに混同しがちだろうな

376:名無しさん@お腹いっぱい。
16/04/17 01:07:14.33 +BRXUIjB0.net
コントロール1に入力した文字を処理してコントロール2に表示
みたいなguiでコンソールっぽいことするのはだめなん?

377:名無しさん@お腹いっぱい。
16/04/17 01:46:44.60 yhpav3Yb0.net
>>363
ぼーとしてたら間違えた
thx

378:名無しさん@お腹いっぱい。
16/04/17 02:52:24.78 fVxaYaSx0.net
>>370
nice ぼーと

379:名無しさん@お腹いっぱい。
16/04/17 07:43:42.06 bLFfVVhX0.net
>>367
湯桶読み
URLリンク(ja.wikipedia.org)
引数
例に出ててワロタ

380:名無しさん@お腹いっぱい。
16/04/17 08:13:11.98 uXXKXrtn0.net
こういう事は出来るみたいだね
eval使えばもう少し柔軟な表現できるんだけど
;使い方 AutoHotkey.exe ○○.ahk kansu 引数|more
arg1= %1%
arg2= %2%
FileAppend, % Func(arg1).(arg2), *
return
kansu(a)
{
return a a a
}

381:名無しさん@お腹いっぱい。
16/04/17 12:17:17.20 tf1RbuOD0.net
eval is evil

382:355
16/04/17 15:50:43.25 Zn3f3BQx0.net
レスくれた人ありがとう
この前初めてコンソールアプリ触ったら意外に使い勝手良くて
自分が作るGUIのセンスのなさや表示の見づらさに辟易してたのもあって
できるなら全部コマンドプロンプトでいいじゃんって思ったんです
でも標準出力?入力?なにそれ?って所からスタートしたから早々に詰まって
ググって見てもAHKでコマンドプロンプト使ってる人いないしで
質問しました
おとなしく自分のGUI見直すとこから始めます

383:名無しさん@お腹いっぱい。
16/04/17 16:43:41.56 ute1Fp7l0.net
タスクマネージャで実行させるには引数つけられないんでahkでtaskname.batファイルに
start hoge.ahk ”taskname”
みたいにfileappendしてタスク毎に同名のiniも一緒に作って実行時にそれ読み込ませて実行させてる
URLリンク(i.imgur.com)

384:名無しさん@お腹いっぱい。
16/04/17 17:37:01.62 WRsITdvu0.net
タスクトレイのAHKのアイコンを右クリック

キーボードの「R」を押して「Reload this script」を実行
を自動でやりたいんですけど、
右クリックしてメニューが出たところで止まります
どうしたらいいですか?

#+a:: ;リロードスクリプト
sleep,400
MouseMove, Width 1345, 878
sleep,200
MouseClick,Right
sleep,200
send,r
sleep,200
send,{Esc}
Return

385:名無しさん@お腹いっぱい。
16/04/17 17:38:49.83 y1RdSscX0.net
reload

386:名無しさん@お腹いっぱい。
16/04/17 17:54:48.19 jc6BNSj40.net
>>377
ちなみに
#SingleInstance force
と書いとけばそのスクリプトを再実行するだけでも自動的にリロードされるよ
何かと便利なのでこれもお勧め

387:名無しさん@お腹いっぱい。
16/04/17 18:16:30.66 A+u2h1Fo0.net
>>377
#+a:: Reload

388:名無しさん@お腹いっぱい。
16/04/17 18:34:15.22 0T+N7bXZ0.net
動作仕様としてAHKが自身で出してるメニューはスプリクト上からは操作できない
今回の案件は上で答えられてるようにReloadで済むけどね

389:名無しさん@お腹いっぱい。
16/04/17 18:48:59.73 WRsITdvu0.net
>>381
> 動作仕様としてAHKが自身で出してるメニューはスプリクト上からは操作できない
そういうことなんですね
「#+a:: Reload」でできるようになりました
どうもありがとうございました

390:名無しさん@お腹いっぱい。
16/04/17 23:56:52.37 oOde9Fdw0.net
とあるゲームがアクティブだと、ALT+F4以外のキーボード操作を受け付けません。
この場合、#InstallKeybdHookと#UseHook以外にする事はありますでしょうか?。

391:名無しさん@お腹いっぱい。
16/04/17 23:57:44.51 yhpav3Yb0.net
管理者権限で実行

392:名無しさん@お腹いっぱい。
16/04/18 00:05:43.39 25zUIaIF0.net
有難うございます、スクリプトを管理者権限で実行でも駄目でした。

393:名無しさん@お腹いっぱい。
16/04/18 00:12:35.45 NJe+j61z0.net
>>385
キーを押してから離すまでの遅延時間を50msくらい入れてみる

394:名無しさん@お腹いっぱい。
16/04/18 00:20:04.79 25zUIaIF0.net
有難うございます、こんあ感じでも駄目でした。
Send, {ESC Down}
Sleep 100
Send, {ESC Up}

395:名無しさん@お腹いっぱい。
16/04/18 00:28:09.52 NJe+j61z0.net
>>387
力になれずスンマセン
ネトゲだとインゲームセキュリティとかで弾かれてる可能性もあるのかな
Alt+F4だけは効くというのが良く分からないけど

396:名無しさん@お腹いっぱい。
16/04/18 00:36:31.08 25zUIaIF0.net
いえ、とんでも御座いません。
これから更に試行錯誤してみます。

397:名無しさん@お腹いっぱい。
16/04/18 07:42:58.36 iE14UpRH0.net
とんでもない→とんでも御座いません
せつない→せつ御座いません
いない→い御座いません
ってことだとおもってるんかね

398:名無しさん@お腹いっぱい。
16/04/18 08:53:27.04 3Tv3ZyTy0.net
普通に使われるぞ(日本語として正しいかどうかとは別)
せつない・いないと比べるほうがおかしい

399:名無しさん@お腹いっぱい。
16/04/18 09:17:57.27 cdjg5ejA0.net
日本語として間違ってるからこその指摘じゃねーの
なんで「とんでもない」を「とんでも」と「ない」に勝手に区切ってるんだ

400:名無しさん@お腹いっぱい。
16/04/18 09:30:35.21 ULGmakls0.net
とんでもある

401:名無しさん@お腹いっぱい。
16/04/18 09:32:47.31 XAh57NYj0.net
正しい日本語だとかそんなものはどうでもいいだろう
大事なのは心よ

402:名無しさん@お腹いっぱい。
16/04/18 10:14:08.20 Pwix+R8S0.net
>>390
邪魔だよおまえ

403:名無しさん@お腹いっぱい。
16/04/18 11:19:39.78 YWcPt2UO0.net
せつ御座いません と い御座いません の読みがわからんのだが
意味の通らない例と比べられてもさっぱりピンとこんな
言葉ってのは生き物だし誤用でもそれが広まればそっちも正しくなるもんよ

404:名無しさん@お腹いっぱい。
16/04/18 12:54:32.04 +CaoJkTz0.net
言葉は生き物って、大抵誤用する側が言うんだよなwww
素直にこれから気をつけるねって言えないのは何でなんだろうwww

405:名無しさん@お腹いっぱい。
16/04/18 12:58:51.14 r4n3rPbV0.net
気をつけて直すような件じゃないぞ
社会ならむしろ使えたほうがいい

406:名無しさん@お腹いっぱい。
16/04/18 14:04:18.69 5H+iqmTf0.net
理系にはくそどうでもいい話題

407:名無しさん@お腹いっぱい。
16/04/18 14:06:05.23 YWcPt2UO0.net
ん?
とんでもございません は自分では使ったことはないが人が使ってるのを見て違和感感じたこともない
ググったら敬語の指針としてすでに政府公認らしい
URLリンク(manners.kihon.jp)
こういう状況踏まえずスレチな上意味不明な例まで上げてドヤ顔で指摘するのは恥ずかしすぎる
反面教師として素直にこれから気をつけようと思いましたまる
これでいい?

408:名無しさん@お腹いっぱい。
16/04/18 14:12:33.75 ehQoEY7M0.net
>>400
マジKYだな

409:名無しさん@お腹いっぱい。
16/04/18 15:20:31.89 2IR5OfY30.net
>>400
そのページを読んでもまだ意味不明な例ってのはどうかと思うわ
俺もとんでもございませんで違和感ないけどな

410:名無しさん@お腹いっぱい。
16/04/18 15:28:12.00 5EI+Gt9B0.net
「とんでもない」=「とんでもありません」→「とんでもございません」
「せつありません」「いありません」は無い
「とうでものうございます」よりも「とんでもございません」のほうが現代人好みだということでしょ

411:名無しさん@お腹いっぱい。
16/04/18 15:29:34.98 5EI+Gt9B0.net
「とうでものうございます」じゃなくて
「とんでものうございます」でした

412:名無しさん@お腹いっぱい。
16/04/18 15:44:29.28 q13oD9WJ0.net
そんなことはどうでもいいから
Ctrl+Cで一回押した場合はコピー、0,4秒以内に2回押したらペーストになるのおしえろください

413:名無しさん@お腹いっぱい。
16/04/18 15:52:25.51 7bZVy9660.net
>>405
URLリンク(ahkwiki.net)

414:名無しさん@お腹いっぱい。
16/04/18 16:49:44.17 KcTgLnC20.net
昔有った「InfoTip Extension」というツールチップを改造してテキスト内容などを
ツールチップに表示するエクスプローラ拡張をイメージして作ったんですが、
一々中ボタンを押さないでマウスオーバーで表示するにはどうすればいいんでしょうか?
MouseGetPosではマウス直下のファイルパスが取得出来ないので何か方法あればいいんですが…
winapiとか使うんでしょうか?だとしたら、諦めてこのままで行きます(´・ω・`)
・ファイル上1秒程度マウス停止でインフォチップ表示 → ファイルから離れると非表示
こんな感じでテキスト内容だけ見られればいいんです
以下、作ったスクリプトです…ファイル上で中クリックで表示 → 非表示はもう一度中クリック
win7標準エクスプローラです
改行多いと怒られたので分割します

415:名無しさん@お腹いっぱい。
16/04/18 16:50:34.81 KcTgLnC20.net
>>407の続き
#UseHook on
#If DirectUIHWND_is_under_mouse()
MButton::
 text := ""
 line := 0
 Clip_Backup := ClipboardAll
 Clipboard =
 
 MouseGetPos, OutputVarX, OutputVarY
 MouseClick, L, %OutputVarX%, %OutputVarY%
 Send, ^c
 ClipWait, 2
 filepath := Clipboard
 Clipboard := Clip_Backup
 
 Loop, Read, %filepath%
 {
  text := text . "`n" . A_LoopReadLine
  line++
  if (line = 15) {
   break
  }
 }
 
 ToolTip, %text%
 KeyWait, MButton, D
 KeyWait, MButton
 ToolTip,
Return
#If
#UseHook Off

416:名無しさん@お腹いっぱい。
16/04/18 16:51:18.67 KcTgLnC20.net
>>408の続き
DirectUIHWND_is_under_mouse() {
 MouseGetPos, , , , classNN
 if RegExMatch(classNN, "DirectUIHWND") {
  return 1
 } else {
  return 0
 }
}

417:名無しさん@お腹いっぱい。
16/04/18 17:43:08.12 pvQIhtXt0.net
アドレスバー見ればいいんじゃないかな

418:名無しさん@お腹いっぱい。
16/04/18 18:13:36.47 pvQIhtXt0.net
ごめんなさい
UWSCのPOSACCとごっちゃになってました
>>410は忘れて下さい

419:名無しさん@お腹いっぱい。
16/04/18 18:40:01.88 qZmPG4A+0.net
1秒マウス停止してたらクリック送ってmousegetposとかやりようはあるけど
エクスプローラに勝手にクリック送り続けるのは誤動作率高すぎていやん
左クリックと同時にタイマーセットして1秒後マウス動いてなかったらツールチップ
ツールチップ消すのも別タイマーでマウス見張って、って感じでどう?

420:405
16/04/18 19:05:24.42 CxkCxmyR0.net
お手上げじゃ
#UseHook
^v::
KeyWait,v,D T1 ;対象キーが1秒押されるのを待つ
If(ErrorLevel)
{
send,^c ;1度押しでコピー
Return
}
send,^v ;2度押しでペースト
KeyWait,f
Return

421:405
16/04/18 19:07:40.59 CxkCxmyR0.net
さーせん上のレスはミスってたのでやり直し

#UseHook
^v::
KeyWait,v,D T1 ;対象キーが1秒押されるのを待つ
If(ErrorLevel)
{
send,^c ;1度押しでコピー
Return
}
send,^v ;2度押しでペースト
KeyWait,v
Return

422:名無しさん@お腹いっぱい。
16/04/18 19:21:17.13 qZmPG4A+0.net
keywait,
keywait,,d

423:名無しさん@お腹いっぱい。
16/04/18 19:45:17.86 KcTgLnC20.net
>>410-412
レスありがとうございます
>>412
>左クリックと同時に ~
左クリックはトリガーってことですかね?
今は自分のタイミングでファイル上で中クリックし、同時にツールチップ表示させています
理想はマウスオーバーで表示なので出来るだけマウスのクリックは避けたいんです
やっぱりahkで用意されているコマンドだけでは難しいですかね
それから、ツールチップを消すのは「マウス見張って」のキーワードからイメージがわきました
「中クリックした位置を覚えておき、ツールチップ表示中その位置から一定以上マウスが動いたら消す」
のような形にしたいと思います

424:名無しさん@お腹いっぱい。
16/04/18 19:50:31.89 w9BiNRa/0.net
>>414
サンプルコードの通りに記述して、長押しの場合もCtrl+Cを割り当てとけ

425:名無しさん@お腹いっぱい。
16/04/19 16:14:23.04 PJ2ql0zw0.net
ゲームでキーリマップしたいんだけどちゃんとフラグ変数読んでくれてない感じがする。
たとえば@押したらconsolemode:=1にして、もう一度@押したらIFで分岐してconsolemode:=0ってしたいだけなんだけど
@::
IF(consolemode<>1)
consolemode:=1
else
consolemode:=0
return
たったこれだけの動作が不安定に成る。
これって根本的な解決法って無いです?

426:名無しさん@お腹いっぱい。
16/04/19 16:42:52.12 j3oZFU/t0.net
>>418
どんなゲームでどんな不安定なのか肝心なところ書いてほしいのだが・・・。
IF(consolemode<>1)←全角
フックを使う
キーリピート止める
ゲームのキー設定@と競合の可能性
$@::
consolemode := !consolemode
Tooltip % consolemode
KeyWait @
return

427:名無しさん@お腹いっぱい。
16/04/19 16:43:45.08 QhI8ZZFX0.net
)全角
が原因じゃないなら、それが正しく動作しない理由はない

428:名無しさん@お腹いっぱい。
16/04/19 17:16:12.12 k4bc8DzV0.net
全角よく気付いたなw

429:名無しさん@お腹いっぱい。
16/04/20 21:41:54.29 mmRLBb9f0.net
こんな事をしたいのですが、上手くいきません。
何か方法はありますでしょうか。
IfExist, hage.exe
{
#NoTrayIcon
msgbox, NoTrayIcon On
} else {
msgbox, NoTrayIcon Off
}
return
~esc::exitapp

430:名無しさん@お腹いっぱい。
16/04/20 22:34:08.11 EWonAWx00.net
#のつくコマンドはAutoExecuteセクション用
後から動的にIcon隠すなら Menu, TRAY, NoIcon
ていうかヘルプ嫁
URLリンク(ahkwiki.net)

431:名無しさん@お腹いっぱい。
16/04/20 22:41:29.15 lRgJHXuz0.net
>#のつくコマンドはAutoExecuteセクション用
この説明はだめだろ
>>422だってこれだけ見ればちゃんとAutoExecuteセクション内に書かれてるぞ

432:名無しさん@お腹いっぱい。
16/04/20 23:11:12.71 mmRLBb9f0.net
AutoExecuteセクション用のコマンドを動的に変更するのは無理みたいですね
ありがとうございました

433:名無しさん@お腹いっぱい。
16/04/20 23:30:04.56 XLdMKwSn0.net
>>425
お前本当に423読んだのか?
トレイアイコンの表示/非表示切り替えできるって書いてあるんだけど

434:名無しさん@お腹いっぱい。
16/04/20 23:34:34.67 +RmXoXuO0.net
>>423-425
>#のつくコマンドはAutoExecuteセクション用
一括りにするのは間違え
*初期設定を変える
*以降の設定を変える
*そこに他のスクリプトファイル読み込む ← #Include
*どこに書かれていても読み込まれて設定を変える ← #NoTrayIcon

435:名無しさん@お腹いっぱい。
16/04/21 00:02:32.88 xfh4KNPt0.net
すみません、AutoExecuteセクション用のコードをFileAppend後、#Includeで対応出来ました。
お騒がせしました。

436:名無しさん@お腹いっぱい。
16/04/21 00:45:28.57 mlE+4+Rg0.net
まあ、、本人がいいなら・・・

437:名無しさん@お腹いっぱい。
16/04/21 00:51:57.12 rq0f2+He0.net
ディレクティブの基礎知識
URLリンク(sites.google.com)

438:名無しさん@お腹いっぱい。
16/04/23 20:13:32.01 ACVxd0PO0.net
マウスの中ボタン押すとALT(おしっぱ)+TAB 左クリックでおしっぱ解除をしたいんですが、やり方を教えてください

439:名無しさん@お腹いっぱい。
16/04/23 20:28:47.92 ACVxd0PO0.net
できました
お手数おかけして申し訳ありませんでした

440:名無しさん@お腹いっぱい。
16/04/24 17:02:17.65 vFWFfoc80.net
スクリプトとかプログラミングとか無縁の暮らしだしまだAHK使い出して日が浅いから単純なことしかできないけどこれすごくおもしろいw

441:名無しさん@お腹いっぱい。
16/04/24 17:15:56.64 ijZ9ziH90.net
ループ中にGotoでサブラベルに飛んだ場合、Breakしなくてもそのループは止まるんですか?

442:名無しさん@お腹いっぱい。
16/04/24 18:57:02.53 Xz6Wl1O70.net
>>434
そういうのはみな、自分で小さいスクリプト作って試しながら上達していくんだよ
初心者ならそうしたほうが早く上達する

443:名無しさん@お腹いっぱい。
16/04/24 19:07:33.00 M2YNKjD10.net
ループが止まるという言い方はあまり正しくないが
Gotoならループ抜けてそのまま、Gosubなら戻ってくるが

444:名無しさん@お腹いっぱい。
16/04/24 20:08:47.97 sKmSINkb0.net
goto先がループ内なら抜けない

445:名無しさん@お腹いっぱい。
16/04/24 20:15:44.36 P//d9xWZ0.net
>>435
そうですよね、申し訳ありません。
と言う訳で簡単なスクリプト作成して確認してみました。
@::
Loop {
SoundPlay, *64
IfWinExist, スタート メニュー
Goto, exit
Sleep 500
}
exit:
msgbox, 終了
return
~esc::exitapp
>>436
GotoでLoop抜けられました。有難うございます。
>>437
それは知らなかったです。有難うございます。

446:名無しさん@お腹いっぱい。
16/04/24 21:44:30.97 Xz6Wl1O70.net
>>438
breakもcontinueも裏でやってることはgotoと同じなんだよ
ラベルが明示されてないだけでね
LoopやForなんかも裏では足し算とIfとGotoでやってるだけ
って、AHKでForはちょっと特殊だけどねえ

447:名無しさん@お腹いっぱい。
16/04/24 22:00:29.91 P//d9xWZ0.net
なるほど。
それとContinueの事知りませんでした。
これ使えそうですね、有難うございます。

448:名無しさん@お腹いっぱい。
16/04/24 23:04:14.80 wOcWWwUQ0.net
Logicool の ワイヤレスキーボードのK270かK275使ってる人いませんかね?
このキーボードのメマルチメディアキーはsetpointでカスタマイズできるらしいですけど
どこまでいじれるかがよくわからないです F13以降のファンクションキーを割り当てたりできますかね
それができたらautohotkeyでかなり好きなことできそうなんですが

449:名無しさん@お腹いっぱい。
16/04/24 23:44:23.48 L0wfW/KX0.net
>>441
スレチ
Logicoolスレで聞け

450:名無しさん@お腹いっぱい。
16/04/24 23:47:19.69 M2YNKjD10.net
>>441
以前ロジマウス使ってた頃は拡張ツールのuberOptionsを入れてたけど
ググったら設定ファイルいじると直接変えられるっぽい?
URLリンク(ils.neue.cc)
URLリンク(logimouse.x0.com)
【Logicool】ロジクールマウス177匹目【Logitech】 [無断転載禁止]©2ch.net
スレリンク(hard板)

451:名無しさん@お腹いっぱい。
16/04/25 05:05:24.27 MG/hWjqu0.net
>>441
SetPoint使用せずとも仮想キーコード自体は元々用意されてはいるし
AHKでも対応するホットキーラベルがあるんんだけど
sleepキーだけはうちの環境じゃ取得も制御もできない
media_play_pause::
volume_mute::
volume_down::
volume_up::
browser_home::
launch_mail::
sleep::
launch_app2::
msgbox, % a_thishotkey
SetPoint使うならSleepキーにファンクションキーなどを割り当てられるだろうが他のキーに対してもuser.xmlの編集必須になるから
標準ドライバ+AHKが楽ではある
AHKで制御可能なら関係ないけど誤爆防止にSleepキーはコンパネで無効するなどしたほうがいいかもね
因みに、user.xmlの中でLParamがあるけどAHKでF12::F13とかにしてキーストローク割り当てると
キー名以外の動作に必要な項目がちゃんと埋まるのでLParamわからなくてもそれで取得可能
まぁ、>>443のリンクにまとめてあるようだからそっち見るほうが速いかもだけどね

452:名無しさん@お腹いっぱい。
16/04/25 05:13:31.90 QBX3lEQX0.net
ggrksレベルのスレチ話題いつまで引っ張る気だよ

453:名無しさん@お腹いっぱい。
16/04/25 12:00:16.45 MHMbwPhf0.net
AHKと組み合わせて使う前提だって言ってるのにスレチスレチ言うのもどうかと思うけど
○○というソフトをAHKで制御したいって話題でソフト側の設定関係に話題波及することなんてしょっちゅうでしょ
質問者が質問繰り返して居座ってるわけでもなし
F13~F20リマップ術についてはテンプレにも入ってるし
テンキーやプログラマブルキー制御の話題も過去普通にあったし

454:名無しさん@お腹いっぱい。
16/04/25 12:10:36.10 EpZgSY9G0.net
頭コチコチのやつがいるんだよ

455:名無しさん@お腹いっぱい。
16/04/25 12:19:35.91 qa5nqKdU0.net
setpoint関係はここの過去ログにいろいろ載ってたはず

456:名無しさん@お腹いっぱい。
16/04/25 14:22:24.63 Xls9QsnX0.net
スクリプトに関しては必要最低限のことくらい自分で調べてから質問しろというスタンスのスレなのに
全く関係ないSetpointに関しては検索してすぐ分かるレベルのことを手取り足取り説明する池沼

457:名無しさん@お腹いっぱい。
16/04/25 14:33:40.07 MHMbwPhf0.net
必要最低限のことが自分で調べられない人にはwikiの説明ページ貼ってやって読んでから来いと指導するじゃろ
複数のお節介焼きが説教混じりにダメ出しレスつけて伸びてる例なんかいくらでも
同じことよ

458:名無しさん@お腹いっぱい。
16/04/25 14:44:16.11 nWiqixDL0.net
Razer SynapseでF13以降のファンクションキーを割り当てたりできますかね
それができたらautohotkeyでかなり好きなことできそうなんですが

459:名無しさん@お腹いっぱい。
16/04/25 15:38:42.70 4+v3FtSq0.net
AHKでF12::F13等にしてキーストローク割当すれば設定ファイルでDisplayName補完するだけですむ
ってのはスレチでもないしググってもすんなり出てこない有用な情報じゃね

460:名無しさん@お腹いっぱい。
16/04/25 15:47:45.84 FVnMyGM10.net
てゆーかまともに答えてるのが2人の段階でいつまで引っ張るとか短気にもほどがある
その後のgdgdは自治レスで伸びてるだけで質問内容関係ないしな

461:名無しさん@お腹いっぱい。
16/04/25 17:00:51


462:.83 ID:BhG7u98X0.net



463:名無しさん@お腹いっぱい。
16/04/25 18:35:15.25 UZB6hdm+0.net
ゴミクソ陰気ジャップ

464:441
16/04/25 20:37:48.78 stUc2tYm0.net
441ですけど参考になりました。キーボード買ってみていじってみます。どうもでした。

465:名無しさん@お腹いっぱい。
16/04/25 21:45:33.96 NTzQQi1R0.net
まず迷惑かけたこと謝罪しろよカス

466:名無しさん@お腹いっぱい。
16/04/25 23:05:17.83 ewGYY6qP0.net
すみませんでした

467:名無しさん@お腹いっぱい。
16/04/25 23:10:58.83 yUEtuAKu0.net
たいへん申し訳ありませんでした

468:名無しさん@お腹いっぱい。
16/04/25 23:32:00.04 r8tlX5GW0.net
かたじけのうござる

469:名無しさん@お腹いっぱい。
16/04/26 00:04:42.14 4X2gYM0f0.net
Razer SynapseでF13以降のファンクションキーを割り当てたりできますか?
それができたらautohotkeyでかなり好きなことできそうなんですが

470:名無しさん@お腹いっぱい。
16/04/26 00:37:18.64 iihFte++0.net
こういう連中はスクリプトの話になると綺麗にいなくなるんだよな

471:名無しさん@お腹いっぱい。
16/04/26 00:53:18.46 XpdI/m/T0.net
すみません
ahk2exeでコンパイルした実行ファイルに、Version名やカンパニー名を追加するにはどうすれば良いですか?

472:名無しさん@お腹いっぱい。
16/04/26 01:41:14.05 iihFte++0.net
resourcehacker

473:名無しさん@お腹いっぱい。
16/04/26 01:50:30.55 XpdI/m/T0.net
分かりました、今まで通りResource Hackerを使う事にします。

474:名無しさん@お腹いっぱい。
16/04/27 12:31:45.24 ul/3SMZq0.net
ウインドウがA,B,Cとあって(実際はほかにも)、上からA,B,Cの順に並べたいのです
そのために、
WinSet,Topを使って、C,B,Aの順にセットしていますが、
これをすると、一瞬、C,Bも画面にフラッシュのように見えてしまいます
これが結構うっとうしいのです。大事なのはBとCの順番です
Aを消したときにBが見えて、Bを消したときにCが残ると
何かいい方法はありませんか
A,B,Cともに最大化しているウインドウです

475:名無しさん@お腹いっぱい。
16/04/27 13:19:26.90 PVLAxROg0.net
一時的にAを最前面表示にすればいいのでは?

476:名無しさん@お腹いっぱい。
16/04/27 13:22:52.23 ul/3SMZq0.net
AをAlwaysOnTop にしてからWinSet,Topで、CBAってやってAのAlwaysOnTopを解除ってことですね
なるほど、やってみるかな

477:名無しさん@お腹いっぱい。
16/04/27 15:54:01.71 0TVM0cVq0.net
target := ”C,B,A”
Loop, Parse, target, `,
WinActivate, %a_loopfield%
必要ならWinWaitActiveやSleepやSetWinDelayで調整

478:名無しさん@お腹いっぱい。
16/04/27 16:46:54.76 Hsdcdn2a0.net
順番変えたいだけでアクティブにはしたくないからWinSet,Topなんじゃないの

479:466
16/04/28 09:48:56.07 L495uZH40.net
>>467
報告遅れましたが、うまく行きました。ありがとうございました

480:名無しさん@お腹いっぱい。
16/04/28 14:57:30.02 8q0tmqBH0.net
SetBatchLines, -1にするとバッチ処理に失敗するンゴねぇ
でもバッチ処理が高速化されるから何とかしたいンゴねぇ

481:名無しさん@お腹いっぱい。
16/04/28 15:05:29.66 fVvqwdWt0.net
無理すんな
Delay入れるのは大事だぞ

482:名無しさん@お腹いっぱい。
16/04/28 20:09:08.25 YrrdUk030.net
作業を効率化するためにスクリプト書き始めたはずが
スクリプトいじってる時間が長くて作業が進まない

483:名無しさん@お腹いっぱい。
16/04/28 20:25:34.35 HJAGvL0f0.net
あるある有りすぎるw

484:名無しさん@お腹いっぱい。
16/04/28 21:10:56.44 nLp35CQm0.net
>>474
あるある
それからあるゲーム用に操作を効率良くするためのマクロを作ってたら、色んなマクロを考えること自体が楽しくて
思い通りの操作ができるようになったら満足して別のゲームやり始めたり

485:名無しさん@お腹いっぱい。
16/04/30 11:00:10.61 5sTSlUiB0.net
ThinkPadx240 windows10(64bit)を使っています。
URLリンク(ahkscript.org)
から
Unicode(64bit)のもの(AutoHotkey112305_x64.zip)を落として、解凍して、
AutoHotkey.exe を実行すると、
-----
Script file not found.
C:\Users\dicem\OneDrive\Documents\AutoHotkey.ahk
-----
というエラーメッセージがでます。
どうしたらいいですか?
なお、この前に、よくわからずに
URLリンク(www.autohotkey.com) からインストーラー版をインストールしてしまい、アンインストールしたのですが、
関係ありますか?
よろしくお願いします。

486:名無しさん@お腹いっぱい。
16/04/30 11:35:18.57 R9njOZjl0.net
このエラーは無視していいレベルのエラー。

487:名無しさん@お腹いっぱい。
16/04/30 12:03:35.34 g+4E12In0.net
>>477
このソフトは自分が書いたスクリプトを実行するためのものなので
単体で起動しても何も起こらない
実行するためのスクリプトないよ、と言われてるので
C:\Users\dicem\OneDrive\Documents に AutoHotkey.ahkというファイルを作って
コード記述してから起動する

488:名無しさん@お腹いっぱい。
16/04/30 12:34:58.52 Sf6pGmGW0.net
自分はUWSCから入ったから、最初は混乱したわ
「AutoHotkey.exeを起動すると、親切なインターフェースが立ちあがるのでスクリプトを選択して実行」
とかじゃないからな

489:名無しさん@お腹いっぱい。
16/04/30 22:56:49.69 s1dRMw+f0.net
まぁUWSCもAHKもそれぞれいいツールだよ
俺はAHKのほうが馴染んだ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch