!extend:checked:vvvvv:1000:512と次スレを立てる際は1行目に記入してください
■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part23
http://potato.2ch.net/test/read.cgi/software/1470936221/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/
■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
探検
AutoHotkey スレッド part24 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ 997d-+Qhn)
2017/02/15(水) 18:04:32.01ID:kshCKhXn0302名無しさん@お腹いっぱい。 (ワッチョイ 0b01-93S+)
2017/04/19(水) 03:28:23.38ID:NqPXmlz00 もしやと思い管理者権限で走らせたら動作しました。
http://ahkwiki.net/BlockInput
このページには書いてないけどAHK使いには常識なんでしょうか?
ちなみに環境はWin10です。
http://ahkwiki.net/BlockInput
このページには書いてないけどAHK使いには常識なんでしょうか?
ちなみに環境はWin10です。
303名無しさん@お腹いっぱい。 (ワッチョイ 0bec-bkMj)
2017/04/19(水) 12:27:49.33ID:eKndVJ3d0 AHKに限らず、管理者権限を要求しないけど管理者権限起動しないと不具合のあるアプリは結構あるようですよ。
304名無しさん@お腹いっぱい。 (ワッチョイ 0b01-93S+)
2017/04/19(水) 16:32:59.64ID:NqPXmlz00 >>303
あまり深く考えず付き合うことにします。動いたからよしと。
あまり深く考えず付き合うことにします。動いたからよしと。
305名無しさん@お腹いっぱい。 (ワッチョイ 8956-3YOs)
2017/04/19(水) 18:32:35.56ID:FSuwMycm0 公式のドキュメントにはちゃんと記載があるよ。日本語のドキュメントは全然メンテされてないから、
出来れば公式の方を見た方がいい
出来れば公式の方を見た方がいい
306名無しさん@お腹いっぱい。 (ワッチョイ 0b01-93S+)
2017/04/19(水) 22:51:48.59ID:NqPXmlz00 英語で探せば解決すること多いですよね。情報量が断然。
今回は安易にここで聞いてしまいました。今後がんばります
今回は安易にここで聞いてしまいました。今後がんばります
307名無しさん@お腹いっぱい。 (ワッチョイ cfec-5GSV)
2017/04/20(木) 09:19:43.12ID:HeaoQ4hM0 英語読めないので
ほぼROMですが
ここでの情報は助かりますし、ヒントになります
ありがとうございます
ほぼROMですが
ここでの情報は助かりますし、ヒントになります
ありがとうございます
308名無しさん@お腹いっぱい。 (ワッチョイ 238e-4A5T)
2017/04/21(金) 09:19:01.64ID:YRNVrPJF0 新規環境にインストールしたときはとりあえず>>8の対策パッチを入れてるな
309名無しさん@お腹いっぱい。 (ワッチョイ 230f-QhA2)
2017/04/21(金) 10:31:38.58ID:DiD/cJtZ0 UI Accessはインストーラのオプションから任意で追加するようになったからテンプレの>>8は修正しないといかんね
310名無しさん@お腹いっぱい。 (ワッチョイ cfec-dz4t)
2017/04/21(金) 19:48:32.93ID:bzf8ojMU0 そう言えばRS1までのWindows10だと、レジストリからUACを無効にするとストア系のアプリが起動出来なかったけど、RS2からは起動出来るように修正されたね。
311名無しさん@お腹いっぱい。 (ワッチョイ 4377-mkSu)
2017/04/23(日) 12:18:00.71ID:hj5/SbKN0 Firefoxのブックマークウィンドウに表示されている項目を編集したいのですが、
Sendでキーを送っても期待通りに受け取って処理してくれずに、
未編集の項目が残ってしまうことがしばしばあります。
具体的には、「名前(N)」のテキストボックスにフォーカスがある状態で
Send +{Tab} ; テキストボックスのすぐ上のグリッドにフォーカス
Send {Down} ; 次の項目へ
Send !l^a^c ; 「URL(L)」のテキストボックスにフォーカスして内容をコピー
といったコードを書いてループで回しているのですが、特にメモリ負荷・CPU負荷が高いと、
Sendした通りの順序で動いてくれないことがよくあります。
たとえば、{Down} を2つ続けて受け取ってしまって1行飛ばしたり、
^a^c でテキストボックスではなくその上のグリッドを全選択・コピーしたり
(で、その状態で ^v を受け取って、グリッドの中身が丸々二重になったり)、
+{Tab} を2つ続けて受け取ってウィンドウ左側のツリー部分にフォーカスが行ったりします。
現在は勘に頼ってSleepを随所に入れているのですが、こういう操作をわざわざ
AHKで書いてループで回すのには当然理由がある(=対象の項目数が多い)わけで、
あまりに時間がかかるのも困りものです。
で、キー操作ではなく、ウィンドウ上のコントロールに対して直接メッセージを送りたいと思って
Window Spyで調べてみても、Windows以外のOSの版と共通のソースで書かれているせいか、
マウスカーソルをウインドウ上のどこに置いても、「Control Under Mouse Position:」の枠に
それらしきものが何も出てくれません。
…何かいいアイデアはないでしょうか?
訳あって、ブックマークをjsonファイルに書き出して外部のツールで編集する方法は使えません。
Sendでキーを送っても期待通りに受け取って処理してくれずに、
未編集の項目が残ってしまうことがしばしばあります。
具体的には、「名前(N)」のテキストボックスにフォーカスがある状態で
Send +{Tab} ; テキストボックスのすぐ上のグリッドにフォーカス
Send {Down} ; 次の項目へ
Send !l^a^c ; 「URL(L)」のテキストボックスにフォーカスして内容をコピー
といったコードを書いてループで回しているのですが、特にメモリ負荷・CPU負荷が高いと、
Sendした通りの順序で動いてくれないことがよくあります。
たとえば、{Down} を2つ続けて受け取ってしまって1行飛ばしたり、
^a^c でテキストボックスではなくその上のグリッドを全選択・コピーしたり
(で、その状態で ^v を受け取って、グリッドの中身が丸々二重になったり)、
+{Tab} を2つ続けて受け取ってウィンドウ左側のツリー部分にフォーカスが行ったりします。
現在は勘に頼ってSleepを随所に入れているのですが、こういう操作をわざわざ
AHKで書いてループで回すのには当然理由がある(=対象の項目数が多い)わけで、
あまりに時間がかかるのも困りものです。
で、キー操作ではなく、ウィンドウ上のコントロールに対して直接メッセージを送りたいと思って
Window Spyで調べてみても、Windows以外のOSの版と共通のソースで書かれているせいか、
マウスカーソルをウインドウ上のどこに置いても、「Control Under Mouse Position:」の枠に
それらしきものが何も出てくれません。
…何かいいアイデアはないでしょうか?
訳あって、ブックマークをjsonファイルに書き出して外部のツールで編集する方法は使えません。
312名無しさん@お腹いっぱい。 (ワッチョイ 3f6c-AhUp)
2017/04/25(火) 20:48:21.48ID:xtXfnML00 日本語OSで
capslockキーのリリースの検知(またはUp状態であることの確認)ってやる方法ない?
capslockキーのリリースの検知(またはUp状態であることの確認)ってやる方法ない?
313名無しさん@お腹いっぱい。 (ワッチョイ ef59-HDOw)
2017/04/25(火) 21:00:09.87ID:0atPQyx50 >>312
レジストリでF13〜F24のいずれかを割り当ててそれに対してAHKで検知すれば?
レジストリでF13〜F24のいずれかを割り当ててそれに対してAHKで検知すれば?
314名無しさん@お腹いっぱい。 (ワッチョイ 3f6c-AhUp)
2017/04/25(火) 21:11:30.38ID:xtXfnML00315名無しさん@お腹いっぱい。 (ワッチョイ ef59-HDOw)
2017/04/25(火) 21:16:03.72ID:0atPQyx50 じゃあ諦めるしかないね
日本語環境だとLock系キーの動作は不定
という仕様なので
日本語環境だとLock系キーの動作は不定
という仕様なので
316名無しさん@お腹いっぱい。 (ワッチョイ 3fc6-HDOw)
2017/04/25(火) 21:40:50.36ID:nrhzhqeR0 Windows To GoでOSごと持ち歩く
非日本語OSで環境構築しとけばそのままでいけるで
非日本語OSで環境構築しとけばそのままでいけるで
317名無しさん@お腹いっぱい。 (ワッチョイ cf01-+vjJ)
2017/04/26(水) 14:09:56.27ID:oxhcbNh/0 traytipでポップアップが出なくなった。
数日前からこの現象発生。
windows10 creators updateは未適用。
考えられる原因は何か有りますか?
数日前からこの現象発生。
windows10 creators updateは未適用。
考えられる原因は何か有りますか?
318名無しさん@お腹いっぱい。 (ワッチョイ a387-5GSV)
2017/04/26(水) 17:03:06.90ID:D3wTeHJK0 >>317
その前に環境を書こうね
その前に環境を書こうね
319名無しさん@お腹いっぱい。 (ワッチョイ 0b01-KYNw)
2017/04/27(木) 10:41:41.12ID:S2URduR/0320名無しさん@お腹いっぱい。 (ワッチョイ 0b01-KYNw)
2017/04/27(木) 10:43:16.98ID:S2URduR/0 trayTip,,てすと
sleep,3000
これが動作しないのです。
sleep,3000
これが動作しないのです。
321名無しさん@お腹いっぱい。 (ワッチョイ fb9c-b9Hp)
2017/04/27(木) 14:05:14.32ID:F2IX/dyC0 >>317
数日前に何があったか、思い当たることを羅列してみて
数日前に何があったか、思い当たることを羅列してみて
322名無しさん@お腹いっぱい。 (ワッチョイ 7187-XZJj)
2017/04/27(木) 15:59:00.68ID:uiEh8WS70323名無しさん@お腹いっぱい。 (ワッチョイ 0b01-KYNw)
2017/04/27(木) 20:58:59.60ID:S2URduR/0324名無しさん@お腹いっぱい。 (ワッチョイ 0b01-KYNw)
2017/04/27(木) 21:01:52.86ID:S2URduR/0 >>322
現行は1.1.25なので自分のはほぼ最新版だと思いますが・・・・・・
あるいは AHK V2 のことですか?
たぶんスクリプトの書き直し大量に発生しそうで躊躇してます。まだアルファ版だし。
現行は1.1.25なので自分のはほぼ最新版だと思いますが・・・・・・
あるいは AHK V2 のことですか?
たぶんスクリプトの書き直し大量に発生しそうで躊躇してます。まだアルファ版だし。
325名無しさん@お腹いっぱい。 (ワッチョイ 0b01-KYNw)
2017/04/27(木) 21:12:52.72ID:S2URduR/0 >>322
念のためv1.1.25.01にしましたが変わりませんでした。
念のためv1.1.25.01にしましたが変わりませんでした。
326名無しさん@お腹いっぱい。 (ワッチョイ 0bec-U1UV)
2017/04/27(木) 22:16:31.04ID:3kQGMVYf0 win10 Rs2アップデート済みでv1.1.24.01 ansi 32bitだけど、うちも出ないよ
327名無しさん@お腹いっぱい。 (ワッチョイ 0bec-U1UV)
2017/04/27(木) 22:25:43.18ID:3kQGMVYf0 あ、ごめん、Winaero Tweakerでバルーンチップ有効にしたら出た
328名無しさん@お腹いっぱい。 (オッペケ Sre5-psZV)
2017/04/28(金) 23:59:22.00ID:wu6/oOe4r すみません今まで出来てたと思っていた単純な計算が出来ない事に気づきました
Setformat, Float, 0.6
a := 36.0450850
b := 36.0450800
c := 0.000005
if((a-b) != c)
MsgBox, % (a-b) " is not equal 0.000005 ?",
ifEqual, c, % (a-b), MsgBox, こっちは合ってる,
if(abs(36.0450850-36.0450800) <> 0.000005)
MsgBox, ng1
if((0.000110-0.000105) != 0.000005)
MsgBox, ng2
if((0.110-0.105) <> 0.005000)
MsgBox, だめ
if((0.000010-0.000005) = 0.000005)
MsgBox, ok
=/==/!=/<>を試したが駄目でした
なんでこうなるんでしょうか
v1.1.25.01 32bit U32版A32版とも同じです
Setformat, Float, 0.6
a := 36.0450850
b := 36.0450800
c := 0.000005
if((a-b) != c)
MsgBox, % (a-b) " is not equal 0.000005 ?",
ifEqual, c, % (a-b), MsgBox, こっちは合ってる,
if(abs(36.0450850-36.0450800) <> 0.000005)
MsgBox, ng1
if((0.000110-0.000105) != 0.000005)
MsgBox, ng2
if((0.110-0.105) <> 0.005000)
MsgBox, だめ
if((0.000010-0.000005) = 0.000005)
MsgBox, ok
=/==/!=/<>を試したが駄目でした
なんでこうなるんでしょうか
v1.1.25.01 32bit U32版A32版とも同じです
329名無しさん@お腹いっぱい。 (ワッチョイ 0956-Hrtp)
2017/04/29(土) 07:02:23.20ID:z1NB2zPu0 一見同じに見えるけど、浮動小数点の演算には誤差があるからだよ
Setformat, Float, 0.20
こんな風にして、演算の結果実際に格納されてる値を確認すれば分かるはず
Setformat, Float, 0.20
こんな風にして、演算の結果実際に格納されてる値を確認すれば分かるはず
330名無しさん@お腹いっぱい。 (オッペケ Sre5-psZV)
2017/04/29(土) 09:31:27.54ID:aGGSeSqnr >>329
レス有り難うございます
setformat, float, 0.0e
MsgBox, % (0.110 - 0.105) > 5e-003
MsgBox, % (1e-001 - 1e-001) = 5e-003 ;え〜(;´д`)
MsgBox, % (0.110-0.105) > 0.005
;だめだ分からない...Setformatは見た目の桁数を揃えるだけで内部的には元の数字で計算してるってことなんでしょうか
MsgBox, % round(36.0450850-36.0450800, 6) = 0.000005
setformat, float, 0.6
MsgBox, % RegExMatch(36.0450850-36.0450800, "^0\.000005")
まだ納得できてませんが取り敢えずRoundするか文字列として比較することで解決しそうです
レス有り難うございます
setformat, float, 0.0e
MsgBox, % (0.110 - 0.105) > 5e-003
MsgBox, % (1e-001 - 1e-001) = 5e-003 ;え〜(;´д`)
MsgBox, % (0.110-0.105) > 0.005
;だめだ分からない...Setformatは見た目の桁数を揃えるだけで内部的には元の数字で計算してるってことなんでしょうか
MsgBox, % round(36.0450850-36.0450800, 6) = 0.000005
setformat, float, 0.6
MsgBox, % RegExMatch(36.0450850-36.0450800, "^0\.000005")
まだ納得できてませんが取り敢えずRoundするか文字列として比較することで解決しそうです
331名無しさん@お腹いっぱい。 (ワッチョイ 396c-Ahd3)
2017/04/29(土) 09:35:13.23ID:N+z0dulg0 d := (a - b)
MsgBox, % (d != c) ? "true" : "false"
MsgBox, % (d != c) ? "true" : "false"
332名無しさん@お腹いっぱい。 (ニククエ 0956-Hrtp)
2017/04/29(土) 13:26:39.25ID:z1NB2zPu0NIKU >>330
https://autohotkey.com/docs/commands/SetFormat.htm#Float
Float(Fast じゃない)方は、変数へ格納された時点で DecimalPlaces に丸められる
なんで >>331 は真になるけど、
((a - b) != c) これは偽になる
https://autohotkey.com/docs/commands/SetFormat.htm#Float
Float(Fast じゃない)方は、変数へ格納された時点で DecimalPlaces に丸められる
なんで >>331 は真になるけど、
((a - b) != c) これは偽になる
333名無しさん@お腹いっぱい。 (ニククエ 0956-Hrtp)
2017/04/29(土) 13:35:30.70ID:z1NB2zPu0NIKU あ、>>331 は非等値だから逆か。(d = c)が真になるって意味ね
334名無しさん@お腹いっぱい。 (ニククエ 0956-Hrtp)
2017/04/29(土) 13:39:38.79ID:z1NB2zPu0NIKU ×((a - b) != c) これは偽になる
〇((a - b) = c) これは偽になる
〇((a - b) = c) これは偽になる
335名無しさん@お腹いっぱい。 (ニククエ Sre5-psZV)
2017/04/29(土) 18:21:37.68ID:aGGSeSqnrNIKU >>331-334 どうもありがとうございます
> floatは変数に格納した時点でDecimalPlaces桁数に
これは知らなかった(小数値が+-*/された時点で、と思ってました)
なるほど...納得できたような出来てないような
Setformat, float, 0.6
a := 36.0450850
b := 36.0450800
c := 0.000005
d := (a-b)
MsgBox, % ((a-b) != c) "`n" (d != c) ;計算結果を変数に代入した方はちゃんとfalseになりますね
Setformat, float, 0.8
a := 36.04508500
b := 1 ;試しに整数でやってみたところ
c := 35.045085
d := (a-b)
MsgBox, % b-1 ;整数は桁揃えされないから「0」
MsgBox, % b-1.0 ; 0.00000000
MsgBox, % (a-b) ;35.04508500 ;aの桁数は変わってないが、どちらか片方が小数値なら桁揃えされる?
MsgBox, % ((a-b) != c) ”`n” (d != c) ;こっちは桁揃ってないのにちゃんとfalseになるんですよ
> floatは変数に格納した時点でDecimalPlaces桁数に
これは知らなかった(小数値が+-*/された時点で、と思ってました)
なるほど...納得できたような出来てないような
Setformat, float, 0.6
a := 36.0450850
b := 36.0450800
c := 0.000005
d := (a-b)
MsgBox, % ((a-b) != c) "`n" (d != c) ;計算結果を変数に代入した方はちゃんとfalseになりますね
Setformat, float, 0.8
a := 36.04508500
b := 1 ;試しに整数でやってみたところ
c := 35.045085
d := (a-b)
MsgBox, % b-1 ;整数は桁揃えされないから「0」
MsgBox, % b-1.0 ; 0.00000000
MsgBox, % (a-b) ;35.04508500 ;aの桁数は変わってないが、どちらか片方が小数値なら桁揃えされる?
MsgBox, % ((a-b) != c) ”`n” (d != c) ;こっちは桁揃ってないのにちゃんとfalseになるんですよ
336名無しさん@お腹いっぱい。 (ワッチョイ 0956-Hrtp) (ニククエ b987-PuY0)
2017/04/29(土) 21:59:24.43ID:r6kgVtY20NIKU Windows10 pro 64-bit
AutoHotkey Unicode 64-bit ファイルバージョン1.1.25.1
メモ帳を開いたら、タイマーを起動、ツールチップにタイマー作動!と表示し続け、 60秒毎にメモ帳にABCと入力を繰り返す。
メモ帳を閉じたら、タイマーを終了し、ツールチップを消し、 メッセージボックスでタイマー停止!と表示する。
WinWait, ahk_class Notepad
{ SetTimer, InputTimer, 60000
ToolTip, タイマー作動! }
Return
InputTimer:
IfWinExist, ahk_class Notepad
{ ToolTip, タイマー作動!
Send, ABC }
Else
{
WinWaitClose, ahk_class Notepad
{ ToolTip,
MsgBox, タイマー停止!
SetTimer, InputTimer, Off }
}
Return
上記で、目的の動作は概ね実現されるのですが、一つだけ気に入らないところがあります。
メモ帳を閉じた直後に、タイマー停止!のメッセージボックスが表示されないのです。
どうやら、メモ帳を閉じた後も、作動中のタイマーは直ぐには停止せず、 セットした60秒間が経過したタイミングでタイマーが終了し、メッセージボックスが表示されるようです。
メモ帳を閉じるタイミング、タイマーが終了するタイミングにかかわらず、 メモ帳を閉じた直後に、タイマー停止!のメッセージボックスを表示させる方法があればご教示ください。 よろしくお願いいたします。
AutoHotkey Unicode 64-bit ファイルバージョン1.1.25.1
メモ帳を開いたら、タイマーを起動、ツールチップにタイマー作動!と表示し続け、 60秒毎にメモ帳にABCと入力を繰り返す。
メモ帳を閉じたら、タイマーを終了し、ツールチップを消し、 メッセージボックスでタイマー停止!と表示する。
WinWait, ahk_class Notepad
{ SetTimer, InputTimer, 60000
ToolTip, タイマー作動! }
Return
InputTimer:
IfWinExist, ahk_class Notepad
{ ToolTip, タイマー作動!
Send, ABC }
Else
{
WinWaitClose, ahk_class Notepad
{ ToolTip,
MsgBox, タイマー停止!
SetTimer, InputTimer, Off }
}
Return
上記で、目的の動作は概ね実現されるのですが、一つだけ気に入らないところがあります。
メモ帳を閉じた直後に、タイマー停止!のメッセージボックスが表示されないのです。
どうやら、メモ帳を閉じた後も、作動中のタイマーは直ぐには停止せず、 セットした60秒間が経過したタイミングでタイマーが終了し、メッセージボックスが表示されるようです。
メモ帳を閉じるタイミング、タイマーが終了するタイミングにかかわらず、 メモ帳を閉じた直後に、タイマー停止!のメッセージボックスを表示させる方法があればご教示ください。 よろしくお願いいたします。
337名無しさん@お腹いっぱい。 (ニククエ 13c6-Ahd3)
2017/04/29(土) 23:23:53.88ID:zp4a0efb0NIKU コピペで動かないので動作検証はしないけど
・60秒ごとの入力監視タイマー と メモ帳終了監視タイマー を分ける
・終了監視はWinWait使うならタイマーは回さないで1タイムのみにする
・それか0.5〜1秒間隔タイマーでifWInNotExistですぐ抜けるを繰り返すものにする
・60秒ごとの入力監視タイマー と メモ帳終了監視タイマー を分ける
・終了監視はWinWait使うならタイマーは回さないで1タイムのみにする
・それか0.5〜1秒間隔タイマーでifWInNotExistですぐ抜けるを繰り返すものにする
338名無しさん@お腹いっぱい。 (ニククエ 0956-Hrtp)
2017/04/29(土) 23:59:37.57ID:z1NB2zPu0NIKU339名無しさん@お腹いっぱい。 (ワッチョイ b987-PuY0)
2017/04/30(日) 08:17:25.06ID:608QOK9p0 >>337
アドバイスありがとうございます。
別に終了監視タイマーを、IfWinNotExistで設定してみましたが、
やはり入力監視タイマーが終了しなければ作動しないようです。
引き続きよろしくお願いいたします。
アドバイスありがとうございます。
別に終了監視タイマーを、IfWinNotExistで設定してみましたが、
やはり入力監視タイマーが終了しなければ作動しないようです。
引き続きよろしくお願いいたします。
340名無しさん@お腹いっぱい。 (ワッチョイ 8bac-9s/1)
2017/04/30(日) 08:45:23.32ID:VC0AsQZa0 プログラミング詳しくないのでわからないんですけど
0.5秒や1秒短い間隔のタイマーって負荷すごかったりしないんですか? 処理による?
0.5秒や1秒短い間隔のタイマーって負荷すごかったりしないんですか? 処理による?
341名無しさん@お腹いっぱい。 (ワッチョイ 7187-XZJj)
2017/04/30(日) 09:07:53.16ID:b1zEeBw50 >>340
タイマー自体の負荷は気にしないでいい、問題は処理の中身
1000個のタイマーを1msで同時に回してもCPU使用率は0%
シングルスレッドだから当然といえば当然だが
Loop 1000
SetTimer, TEST%A_index%, 1
Return
TEST1:
TEST2:
〜中略〜
TEST1000:
Return
タイマー自体の負荷は気にしないでいい、問題は処理の中身
1000個のタイマーを1msで同時に回してもCPU使用率は0%
シングルスレッドだから当然といえば当然だが
Loop 1000
SetTimer, TEST%A_index%, 1
Return
TEST1:
TEST2:
〜中略〜
TEST1000:
Return
342名無しさん@お腹いっぱい。 (ワッチョイ 8bac-K0aK)
2017/04/30(日) 09:11:02.27ID:VC0AsQZa0 そうなんですね ありがとうございます
なんとなく忌避しちゃってたけど心置きなくタイマー作ってみようと思います
なんとなく忌避しちゃってたけど心置きなくタイマー作ってみようと思います
343名無しさん@お腹いっぱい。 (ワッチョイ 13c6-Ahd3)
2017/04/30(日) 10:08:45.09ID:90OcEDAQ0 >>339
うちでは動いてるのでやり方には問題ないはず
>337でも書いたが>336はSyntaxErrorで動かない
そういうソース貼って質問した後に
やったけどダメでしたって書き換えたソース貼らずに言われても
こちらとしてはソース見直せとしかアドバイスできないよ
あと質問とは直接関係ないので触れなかったけど
60秒毎タイマーというのは誤差が60秒あるという意味なので
1秒タイマー内で60カウント数えてからSendするほうが動作としては望ましい
(まあそうするとタイマーを分ける必要もなくなるんだけどね)
うちでは動いてるのでやり方には問題ないはず
>337でも書いたが>336はSyntaxErrorで動かない
そういうソース貼って質問した後に
やったけどダメでしたって書き換えたソース貼らずに言われても
こちらとしてはソース見直せとしかアドバイスできないよ
あと質問とは直接関係ないので触れなかったけど
60秒毎タイマーというのは誤差が60秒あるという意味なので
1秒タイマー内で60カウント数えてからSendするほうが動作としては望ましい
(まあそうするとタイマーを分ける必要もなくなるんだけどね)
344名無しさん@お腹いっぱい。 (ワッチョイ b987-PuY0)
2017/04/30(日) 10:57:21.94ID:608QOK9p0 >>343レスありがとうございます。336をそのままコピペすると動きませんね!申し訳ありませんでした。
2chの掲示板に投稿するときに、『改行が多すぎます!』と何度も警告されて全く受け付けてくれなかったたため、不要な部分をそぎ落としたのが悪かったみたいですね。IfWinNotExistで書き換えたスクリプトをそのままコピペします。ご添削のほどよろしくお願いいたします。
#InstallKeybdHook
#UseHook
#InstallMouseHook
#Persistent
WinWait, ahk_class Notepad
{
SetTimer, InputTimer, 60000
ToolTip, タイマー作動!
}
Return
InputTimer:
IfWinExist, ahk_class Notepad
{
ToolTip, タイマー作動!
Send, ABC
}
Else
{
SetTimer, ExitTimer, -1
SetTimer, InputTimer, Off
}
Return
ExitTimer:
IfWinNotExist, ahk_class Notepad
{
ToolTip,
MsgBox, タイマー停止!
}
Return
>>1秒タイマー内で60カウント数えてからSendするほうが動作としては望ましい ⇒具体的にはどのように記述するのでしょうか?
2chの掲示板に投稿するときに、『改行が多すぎます!』と何度も警告されて全く受け付けてくれなかったたため、不要な部分をそぎ落としたのが悪かったみたいですね。IfWinNotExistで書き換えたスクリプトをそのままコピペします。ご添削のほどよろしくお願いいたします。
#InstallKeybdHook
#UseHook
#InstallMouseHook
#Persistent
WinWait, ahk_class Notepad
{
SetTimer, InputTimer, 60000
ToolTip, タイマー作動!
}
Return
InputTimer:
IfWinExist, ahk_class Notepad
{
ToolTip, タイマー作動!
Send, ABC
}
Else
{
SetTimer, ExitTimer, -1
SetTimer, InputTimer, Off
}
Return
ExitTimer:
IfWinNotExist, ahk_class Notepad
{
ToolTip,
MsgBox, タイマー停止!
}
Return
>>1秒タイマー内で60カウント数えてからSendするほうが動作としては望ましい ⇒具体的にはどのように記述するのでしょうか?
345名無しさん@お腹いっぱい。 (ワッチョイ b987-PuY0)
2017/04/30(日) 11:54:38.51ID:608QOK9p0 344
補足です。
ExitTimerを1秒間隔で設定したところ、
InputTimerのサブルーチンが終了するまでの間、
メッセージボックスを残秒数分吐き続けてしまったため、
負の値にしてワンタイムのみにしてあります。
補足です。
ExitTimerを1秒間隔で設定したところ、
InputTimerのサブルーチンが終了するまでの間、
メッセージボックスを残秒数分吐き続けてしまったため、
負の値にしてワンタイムのみにしてあります。
346名無しさん@お腹いっぱい。 (ワッチョイ 13c6-Ahd3)
2017/04/30(日) 12:03:45.49ID:90OcEDAQ0 >>344
・ExitTimer はメモ帳の起動待ち直後 SetTimer,InputTimerの次行あたりで起動させる
(InputTimer内で起動したのではタイマーを分けた意味がない)
・ExitTimerの間隔指定がおかしい、-1(1タイムのみ) で ifWInNotExistだと初回 else終了でそれっきりになる
方法1 間隔は500〜1000msで繰り返し確認、タイマ内では待たずにifWInNotExistですぐ抜ける
方法2 -1で1回のみ起動にするならWinWaitCloseでタイマ内で終了待ちする
どっちでもいいけどどっちかに決める、混ぜたらどちらもまともに動作しない
・WinWaitの後に{ }はいらない、ifや関数で使う括りなので。
・あとInputTimer内で IfWinExistでSendしてるけど、これだとメモ帳がバックグラウンドのときに誤爆する
IfWinActiveの判定入れるか強制的にWinActivateするか(動くなら)ControlSendにした方がいい
> 1秒タイマー内で60カウント数えてからSend
・InputTimerを1秒間隔で起動、count=60
・InputTimer内でcount-- して 0(以下)になった時にSend
・ToolTip, タイマー作動! %count% とかやっとくと残り時間も分かってデバッグにも便利
・ExitTimer はメモ帳の起動待ち直後 SetTimer,InputTimerの次行あたりで起動させる
(InputTimer内で起動したのではタイマーを分けた意味がない)
・ExitTimerの間隔指定がおかしい、-1(1タイムのみ) で ifWInNotExistだと初回 else終了でそれっきりになる
方法1 間隔は500〜1000msで繰り返し確認、タイマ内では待たずにifWInNotExistですぐ抜ける
方法2 -1で1回のみ起動にするならWinWaitCloseでタイマ内で終了待ちする
どっちでもいいけどどっちかに決める、混ぜたらどちらもまともに動作しない
・WinWaitの後に{ }はいらない、ifや関数で使う括りなので。
・あとInputTimer内で IfWinExistでSendしてるけど、これだとメモ帳がバックグラウンドのときに誤爆する
IfWinActiveの判定入れるか強制的にWinActivateするか(動くなら)ControlSendにした方がいい
> 1秒タイマー内で60カウント数えてからSend
・InputTimerを1秒間隔で起動、count=60
・InputTimer内でcount-- して 0(以下)になった時にSend
・ToolTip, タイマー作動! %count% とかやっとくと残り時間も分かってデバッグにも便利
347名無しさん@お腹いっぱい。 (ワッチョイ 13c6-Ahd3)
2017/04/30(日) 13:28:00.93ID:90OcEDAQ0 >>345
ExitTimerは終了後にするべき作業を全て任せるためのものだよ
InputTimer と ExitTimer の停止も当然ExitTimer内でやる
でなきゃ60秒誤差を回避できないでしょ
ExitTimerは終了後にするべき作業を全て任せるためのものだよ
InputTimer と ExitTimer の停止も当然ExitTimer内でやる
でなきゃ60秒誤差を回避できないでしょ
348名無しさん@お腹いっぱい。 (ワッチョイ b987-PuY0)
2017/04/30(日) 23:10:29.99ID:608QOK9p0 345 アドバイスをもとに再度スクリプトを書き換えました。メモ帳を初めて起動したときは問題なく目的の動作をしているようですが、
いったんメモ帳を閉じてメッセージボックスのタイマー停止!を表示させた後に、再度メモ帳を起動させると、全く動作しません。
AHKスクリプトをリロードしてからメモ帳を開くと、また初回のみ動作します。まだどこかおかしいのでしょうか?
WinWait, ahk_class Notepad
SetTimer, InputTimer, 1000
Count=60
SetTimer, ExitTimer, 1000
ToolTip, タイマー作動!
Return
InputTimer:
IfWinActive, ahk_class Notepad
{
ToolTip, タイマー作動!%count% 秒後に入力
Count--
If Count=0
{
Send, ABC
Count=60
}
}
Return
ExitTimer:
IfWinNotExist, ahk_class Notepad
{
SetTimer, ExitTimer, Off
SetTimer, InputTimer, Off
ToolTip,
MsgBox, タイマー停止!
}
Return
いったんメモ帳を閉じてメッセージボックスのタイマー停止!を表示させた後に、再度メモ帳を起動させると、全く動作しません。
AHKスクリプトをリロードしてからメモ帳を開くと、また初回のみ動作します。まだどこかおかしいのでしょうか?
WinWait, ahk_class Notepad
SetTimer, InputTimer, 1000
Count=60
SetTimer, ExitTimer, 1000
ToolTip, タイマー作動!
Return
InputTimer:
IfWinActive, ahk_class Notepad
{
ToolTip, タイマー作動!%count% 秒後に入力
Count--
If Count=0
{
Send, ABC
Count=60
}
}
Return
ExitTimer:
IfWinNotExist, ahk_class Notepad
{
SetTimer, ExitTimer, Off
SetTimer, InputTimer, Off
ToolTip,
MsgBox, タイマー停止!
}
Return
349名無しさん@お腹いっぱい。 (ワッチョイ b987-PuY0)
2017/04/30(日) 23:17:22.73ID:608QOK9p0 348
試しにメモ帳再起動監視タイマー(RestartTimer)を増設してみたところ上手くいっているように思いますが、
なぜこれが必要なのでしょうか?
ExitTimer:
IfWinNotExist, ahk_class Notepad
{
SetTimer, ExitTimer, Off
SetTimer, InputTimer, Off
ToolTip,
MsgBox, タイマー停止!
SetTimer, RestartTimer, 1000
}
Return
RestartTimer:
WinWait, ahk_class Notepad
SetTimer, RestartTimer, Off
SetTimer, InputTimer, 1000
Count=60
SetTimer, ExitTimer, 1000
ToolTip, タイマー作動!
Return
試しにメモ帳再起動監視タイマー(RestartTimer)を増設してみたところ上手くいっているように思いますが、
なぜこれが必要なのでしょうか?
ExitTimer:
IfWinNotExist, ahk_class Notepad
{
SetTimer, ExitTimer, Off
SetTimer, InputTimer, Off
ToolTip,
MsgBox, タイマー停止!
SetTimer, RestartTimer, 1000
}
Return
RestartTimer:
WinWait, ahk_class Notepad
SetTimer, RestartTimer, Off
SetTimer, InputTimer, 1000
Count=60
SetTimer, ExitTimer, 1000
ToolTip, タイマー作動!
Return
350名無しさん@お腹いっぱい。 (ワッチョイ 13c6-Ahd3)
2017/04/30(日) 23:37:01.95ID:90OcEDAQ0 なぜと言われてもNotePad起動待ちのWinWaitを冒頭1回でしかやってないでしょ
基本的な部分なのでちゃんとwiki読んできたほうがいい
あと何度も言うけどTimer内でWinWaitで待つならワンタイム起動にしなさい
基本的な部分なのでちゃんとwiki読んできたほうがいい
あと何度も言うけどTimer内でWinWaitで待つならワンタイム起動にしなさい
351名無しさん@お腹いっぱい。 (ワッチョイ b987-PuY0)
2017/05/01(月) 00:32:05.61ID:0V0GtOjk0 >>350 何度もすみません。
メモ帳初回起動時にしか動作しない理由はわかりました。
348+349の記述に書き換えても、正常に動作していないということですか?
ExitTimerの部分を -1(ワンタイム)に訂正すれば問題なしでしょうか?
また、タイマ内ではIfWInExist(Active)やIfWInNotExistは使用してはいけないということですが、
タイマ外に記述しても全く反応しないのですが・・・
>>タイマ内では待たずにIfWInNotExistですぐ抜ける という意味がよくわかりません。
wikiも読み直してみますので、引き続きよろしくお願いします。
メモ帳初回起動時にしか動作しない理由はわかりました。
348+349の記述に書き換えても、正常に動作していないということですか?
ExitTimerの部分を -1(ワンタイム)に訂正すれば問題なしでしょうか?
また、タイマ内ではIfWInExist(Active)やIfWInNotExistは使用してはいけないということですが、
タイマ外に記述しても全く反応しないのですが・・・
>>タイマ内では待たずにIfWInNotExistですぐ抜ける という意味がよくわかりません。
wikiも読み直してみますので、引き続きよろしくお願いします。
352名無しさん@お腹いっぱい。 (ワッチョイ 0bf3-K5nj)
2017/05/01(月) 01:45:38.34ID:+5nnd5240353名無しさん@お腹いっぱい。 (ワッチョイWW 13c6-Gcp7)
2017/05/01(月) 02:14:42.84ID:KYVCJ0Be0 >>345
上三行それでいい
下四行全然ちがう
タイマー内で使用してはいけないともタイマ外に書けとも言ってないよ
何か全然通じてないみたいだがもしやwinwaitとifwinexistの違いが分かってない?
winwaitは対象ウィンドウが存在するまで待つ
ifwinexistは今現在対象ウィンドウが存在してるか調べる
1秒ごとにタイマー動かすならタイマールーチン内の処理は1秒未満で終わる内容にしないと
「1秒間隔で繰り返し実行」できないでしょ
→winwaitのような「待ち」の処理はNG
ifwinexistで存在チェックしelseなら即returnする
待たない=ルーチンからすぐ抜ける
ワンタイムタイマーの場合はその逆
一度しか実行されないのでreturnで抜けたらそれきりになってしまう
→ifwinexistで即抜けしたらそれ以降の確認ができない
なのでwinwaitで対象ウィンドウが存在するまで「待ってやる」
上三行それでいい
下四行全然ちがう
タイマー内で使用してはいけないともタイマ外に書けとも言ってないよ
何か全然通じてないみたいだがもしやwinwaitとifwinexistの違いが分かってない?
winwaitは対象ウィンドウが存在するまで待つ
ifwinexistは今現在対象ウィンドウが存在してるか調べる
1秒ごとにタイマー動かすならタイマールーチン内の処理は1秒未満で終わる内容にしないと
「1秒間隔で繰り返し実行」できないでしょ
→winwaitのような「待ち」の処理はNG
ifwinexistで存在チェックしelseなら即returnする
待たない=ルーチンからすぐ抜ける
ワンタイムタイマーの場合はその逆
一度しか実行されないのでreturnで抜けたらそれきりになってしまう
→ifwinexistで即抜けしたらそれ以降の確認ができない
なのでwinwaitで対象ウィンドウが存在するまで「待ってやる」
354名無しさん@お腹いっぱい。 (オイコラミネオ MM0b-gFgZ)
2017/05/01(月) 03:25:19.73ID:LZHpjIsmM タイマーで長時間監視させてるとOSの処理とかcpu負荷によって実際の時間とはズレが生じてくる
2017/05/01(月) 15:47:16.28ID:zUK3JZ+qd
【女神】Slot
💰💣👻
🍒🍒🎴
😜🍜🍜
Win!! 7 pts.(LA: 1.71, 1.69, 1.71)
357名無しさん@お腹いっぱい。 (ワッチョイ b987-PuY0)
2017/05/02(火) 07:21:37.29ID:jZspGgXG0 351 これでどうでしょうか?全く問題なく動作しています。ご意見ください。
WinWaitActive, ahk_class Notepad
SetTimer, InputTimer, 1000
Count=60
ToolTip, タイマー作動!
SetTimer, ExitTimer, -1
Return
InputTimer:
ToolTip, タイマー作動!%count% 秒後に入力
Count--
If Count=0
{
Send, ABC
Count=60
}
Return
ExitTimer:
WinWaitClose, ahk_class Notepad
SetTimer, InputTimer, Off
ToolTip,
MsgBox, タイマー停止!
SetTimer, RestartTimer, -1
Return
RestartTimer:
WinWaitActive, ahk_class Notepad
SetTimer, InputTimer, 1000
Count=60
ToolTip, タイマー作動!
SetTimer, ExitTimer, -1
Return
WinWaitActive, ahk_class Notepad
SetTimer, InputTimer, 1000
Count=60
ToolTip, タイマー作動!
SetTimer, ExitTimer, -1
Return
InputTimer:
ToolTip, タイマー作動!%count% 秒後に入力
Count--
If Count=0
{
Send, ABC
Count=60
}
Return
ExitTimer:
WinWaitClose, ahk_class Notepad
SetTimer, InputTimer, Off
ToolTip,
MsgBox, タイマー停止!
SetTimer, RestartTimer, -1
Return
RestartTimer:
WinWaitActive, ahk_class Notepad
SetTimer, InputTimer, 1000
Count=60
ToolTip, タイマー作動!
SetTimer, ExitTimer, -1
Return
358名無しさん@お腹いっぱい。 (ワッチョイ 13c6-Ahd3)
2017/05/02(火) 09:40:25.10ID:Z3jAVDE20 思考停止してるなあ
動くかどうかにしか興味ないならもうそれでいいよ
動くかどうかにしか興味ないならもうそれでいいよ
359名無しさん@お腹いっぱい。 (ワッチョイ 39ec-PuY0)
2017/05/02(火) 13:03:30.64ID:/3o9eW+p0 >>358
ご多用にもかかわらず、合い間を縫って掲示板をご確認くださりありがとうございます。
思考が停止していますか・・・
問題なく動いているので満足してしまえばよいのかもしれませんが、
せっかくですからもう少しAHK追求してみたいと思いますので、貴殿の優秀な頭脳をお貸しください。
余裕がおありであれば、もう少し具体的にダメだしをいただけるとうれしいのですが・・・
数日前からAHKを知った新参者が、貴殿のように理解を深めるためには、
wiki以外にどんな書物を読めばよいのかもご教示いただけると助かります。
引き続きよろしくお願いいたします。
ご多用にもかかわらず、合い間を縫って掲示板をご確認くださりありがとうございます。
思考が停止していますか・・・
問題なく動いているので満足してしまえばよいのかもしれませんが、
せっかくですからもう少しAHK追求してみたいと思いますので、貴殿の優秀な頭脳をお貸しください。
余裕がおありであれば、もう少し具体的にダメだしをいただけるとうれしいのですが・・・
数日前からAHKを知った新参者が、貴殿のように理解を深めるためには、
wiki以外にどんな書物を読めばよいのかもご教示いただけると助かります。
引き続きよろしくお願いいたします。
360名無しさん@お腹いっぱい。 (ワッチョイW 2987-3+xq)
2017/05/02(火) 14:42:10.23ID:sIGtYt8F0 すみません。前にも書かせていただいたんですが、
ホットストリングが一回で起動しません。一回目無反応で2回目にスクリプトが発動がされます。
どうやれば一回目から起動してくれるのでしょうか?
ホットストリングの部分のみを抜き出してそれのみのAutohotkey.ahkだと失敗しないように思うんですが、
#IfWinActiveでいっぱい仕切られたいつものAutohotkey.ahkのなかにおいたホットストリングだと
一回目失敗します。どうしてでしょうか?教えてください
ホットストリングが一回で起動しません。一回目無反応で2回目にスクリプトが発動がされます。
どうやれば一回目から起動してくれるのでしょうか?
ホットストリングの部分のみを抜き出してそれのみのAutohotkey.ahkだと失敗しないように思うんですが、
#IfWinActiveでいっぱい仕切られたいつものAutohotkey.ahkのなかにおいたホットストリングだと
一回目失敗します。どうしてでしょうか?教えてください
361名無しさん@お腹いっぱい。 (ワッチョイ 71f3-Ahd3)
2017/05/02(火) 15:09:31.72ID:z6v/KZl40362名無しさん@お腹いっぱい。 (ワッチョイ 0b7c-Ahd3)
2017/05/02(火) 15:53:46.56ID:gYhDstJX0363名無しさん@お腹いっぱい。 (ワッチョイ abd9-2CyC)
2017/05/02(火) 16:33:10.81ID:rrJHUz/00 >>362
嫌みを言ってるだけだろw
嫌みを言ってるだけだろw
364名無しさん@お腹いっぱい。 (ワッチョイ 9963-Ahd3)
2017/05/02(火) 16:40:37.44ID:NmO727YQ0 どうみてもストレートな嫌味での皮肉だなw
365名無しさん@お腹いっぱい。 (ワッチョイ 13c6-Ahd3)
2017/05/02(火) 16:51:22.50ID:Z3jAVDE20 コードそのものよりシーケンスの考え方を伝えたかったんだけど
>353総スルーで、完璧に動いてるのでこれでいいですか? て言われてしまうとね
まあ結局こっちの説明が下手すぎて伝わらなかったということなんだろう
コードの添削はしません
本人がよくわかってないまま修正するとまたバグが出てぐちゃぐちゃになるし
自分でどこを最適化したらよいか分かるようになってから自力でして下さい
>353総スルーで、完璧に動いてるのでこれでいいですか? て言われてしまうとね
まあ結局こっちの説明が下手すぎて伝わらなかったということなんだろう
コードの添削はしません
本人がよくわかってないまま修正するとまたバグが出てぐちゃぐちゃになるし
自分でどこを最適化したらよいか分かるようになってから自力でして下さい
366名無しさん@お腹いっぱい。 (ワッチョイ 39ec-PuY0)
2017/05/02(火) 18:53:40.69ID:/3o9eW+p0 359
>>365
353を総スルーしているつもりも、嫌みのつもりもないのですが・・・
『完璧に動いてるのでこれでいいですか?』というくだりも、
何らかの陰性感情を抱かせてしまったようですね。
手抜きをしているように映ってしまったということでしょうかね?
いずれにしても357の記述が不適切であるということは伝わってきました。
貴殿の気持ちがわかるまで、wikiを熟読して出直してきます。
ここまでお付き合いくださり、ありがとうございました。
>>365
353を総スルーしているつもりも、嫌みのつもりもないのですが・・・
『完璧に動いてるのでこれでいいですか?』というくだりも、
何らかの陰性感情を抱かせてしまったようですね。
手抜きをしているように映ってしまったということでしょうかね?
いずれにしても357の記述が不適切であるということは伝わってきました。
貴殿の気持ちがわかるまで、wikiを熟読して出直してきます。
ここまでお付き合いくださり、ありがとうございました。
367名無しさん@お腹いっぱい。 (ワッチョイ 096c-Ahd3)
2017/05/02(火) 19:12:14.89ID:v127Vr0k0 慇懃無礼というやつだな
368名無しさん@お腹いっぱい。 (ワッチョイW 133b-PXQB)
2017/05/03(水) 17:41:53.64ID:mGMZlHNu0 誰にもメリットないし NG しときゃ良いんだよ
369名無しさん@お腹いっぱい。 (ワッチョイ af87-7zcB)
2017/05/04(木) 16:48:49.62ID:EVEHliNj0 そんなことより>>360を解決してください。一回の入力じゃ無視されること多々あります
370名無しさん@お腹いっぱい。 (ワッチョイ d35d-Ogwz)
2017/05/04(木) 16:52:41.96ID:RS2hmNwi0371名無しさん@お腹いっぱい。 (ワッチョイ 676c-Ogwz)
2017/05/04(木) 16:55:27.54ID:H4uy8L700 >>369
ない
ない
372名無しさん@お腹いっぱい。 (ワッチョイ 8b8e-Ogwz)
2017/05/04(木) 17:17:11.97ID:jtmuQjaf0 >>369
とりあえずコード貼ってみたら?
とりあえずコード貼ってみたら?
373名無しさん@お腹いっぱい。 (ワッチョイW af87-QmZ/)
2017/05/04(木) 22:12:03.19ID:EVEHliNj0 とりあえず貼ります。
::kyouda::
FormatTime,imaTimeString,,yyMMdd
FormatTime,imajikan, L0x0409 T1,ddd
FormatTime,imaTime,Time,HH:mm
SendInput '%imaTimeString%%imajikan%%imaTime%
Return
でも記述がこの箇所のみでautohotkey.ahkとして起動しているとたぶん必ず一発で起動してくれるんですが、
普段つかってるこの箇所のほかにもいろんな記述があるautohotkey.ahkで動かすと、
イメージで5回に1回、初回のホットストリング打ち込みで無反応です。
kyouda{スペース} ってふつうに入力されるだけです。そのあとすぐ続けると2回目は必ず成功するイメージです。
2回連続失敗ってのは印象にないです。
なにか考えられるような要因ありますか?
GroupAdd, GameBindGroup, ahk_exe Overwatch.exe
#IfWinActive
#IfWinActive ;個別設定がでいっぱい
#IfWinNotActive, ahk_group GameBindGroup
#IfWinActive
#IfWinActive ;個別設定がでいっぱい
みたいな感じの構成で区分けています。
::kyouda::
FormatTime,imaTimeString,,yyMMdd
FormatTime,imajikan, L0x0409 T1,ddd
FormatTime,imaTime,Time,HH:mm
SendInput '%imaTimeString%%imajikan%%imaTime%
Return
でも記述がこの箇所のみでautohotkey.ahkとして起動しているとたぶん必ず一発で起動してくれるんですが、
普段つかってるこの箇所のほかにもいろんな記述があるautohotkey.ahkで動かすと、
イメージで5回に1回、初回のホットストリング打ち込みで無反応です。
kyouda{スペース} ってふつうに入力されるだけです。そのあとすぐ続けると2回目は必ず成功するイメージです。
2回連続失敗ってのは印象にないです。
なにか考えられるような要因ありますか?
GroupAdd, GameBindGroup, ahk_exe Overwatch.exe
#IfWinActive
#IfWinActive ;個別設定がでいっぱい
#IfWinNotActive, ahk_group GameBindGroup
#IfWinActive
#IfWinActive ;個別設定がでいっぱい
みたいな感じの構成で区分けています。
374名無しさん@お腹いっぱい。 (ワッチョイ e68e-Ogwz)
2017/05/04(木) 22:35:13.26ID:kC5yyJMz0 ならそのごちゃごちゃしてる他が干渉してるんでしょ
その肝心のごちゃごちゃ部分全部見ないとなんとも言えない
ログ見てどんな動作してるか確認してみないとね
とりあえずホットストリングをスクリプトの一番上に記述して同じ動作するか試してみ
その肝心のごちゃごちゃ部分全部見ないとなんとも言えない
ログ見てどんな動作してるか確認してみないとね
とりあえずホットストリングをスクリプトの一番上に記述して同じ動作するか試してみ
375名無しさん@お腹いっぱい。 (ワッチョイW af87-QmZ/)
2017/05/04(木) 22:49:24.04ID:EVEHliNj0 ですよね。ゴチャゴチャいっぱい書いてるうちのどこかが干渉してるんですかね。
autohotkey.ahkはいまみたら1980行でした。
ホットストリングの位置を前だったり後ろだったりいろいろ変えてみたんですが、やっぱりだめでした。
autohotkey.ahkはいまみたら1980行でした。
ホットストリングの位置を前だったり後ろだったりいろいろ変えてみたんですが、やっぱりだめでした。
376名無しさん@お腹いっぱい。 (ワッチョイ ab85-pbrx)
2017/05/04(木) 22:54:29.44ID:58DNMeaN0 それは1回ちょっと整理した方がいんじゃないか
377名無しさん@お腹いっぱい。 (ワッチョイ e68e-Ogwz)
2017/05/04(木) 22:55:27.87ID:kC5yyJMz0 スクリプトのログにちゃんと実行履歴があるなら
そのスクリプトを使用するアプリケーション側の相性や問題の可能性もある
俺もそこんとこ詳しくないからあまり言えないけど基本はまぁトライアンドエラーだし頑張りな
そのスクリプトを使用するアプリケーション側の相性や問題の可能性もある
俺もそこんとこ詳しくないからあまり言えないけど基本はまぁトライアンドエラーだし頑張りな
378名無しさん@お腹いっぱい。 (ワッチョイ ab87-HG4F)
2017/05/04(木) 22:59:15.73ID:xMZhJJeb0379名無しさん@お腹いっぱい。 (コードモ d326-KZhE)
2017/05/05(金) 20:50:08.16ID:Vpqe3LRZ00505 複数のスクリプトを常駐させておきたい場合は、*.ahkを引数にしてそれぞれ
起動して使うものなのでしょうか? それとも、AutoHotkey.ahk からそれぞれの
*.ahkを引数にして、子プロセスをフォークして使うものなのでしょうか?
最近使い始めたのですが、一般的にどのように使っているのか分からなかったもので。
起動して使うものなのでしょうか? それとも、AutoHotkey.ahk からそれぞれの
*.ahkを引数にして、子プロセスをフォークして使うものなのでしょうか?
最近使い始めたのですが、一般的にどのように使っているのか分からなかったもので。
380名無しさん@お腹いっぱい。 (ワッチョイW af87-QmZ/)
2017/05/05(金) 22:00:06.04ID:TRiKEWTN0 実行履歴があるのでそれをみる
使う対象のアプリ側との問題
自分で削って動作確認
一発でダメなのが判明するって性格のもんじゃないし、トライアンドエラーがめんどくさそう。
ホットストリングが発動しない確率が高いっていうかんじのものだから。
実行履歴にたしかに実行したスクリプトが載るけど、これみてどうしいいものやら
ありがとうございました。やってみます。
使う対象のアプリ側との問題
自分で削って動作確認
一発でダメなのが判明するって性格のもんじゃないし、トライアンドエラーがめんどくさそう。
ホットストリングが発動しない確率が高いっていうかんじのものだから。
実行履歴にたしかに実行したスクリプトが載るけど、これみてどうしいいものやら
ありがとうございました。やってみます。
381名無しさん@お腹いっぱい。 (ワッチョイ ab87-HG4F)
2017/05/05(金) 22:40:09.32ID:pP7Woi3/0382名無しさん (ワッチョイ cbf0-FFaT)
2017/05/05(金) 22:50:32.77ID:ZSng4Fyk0 >>380
コードの長いやつから、独立したahkファイルに移行させて#Includeで管理するとかすればいいんじゃない
自分もそれで知らん間に動かなくなってたスクリプトが復旧できたことがある
いまだに原因が分からんがw 動いたらそれ以上調べる気が起きなかった
コードの長いやつから、独立したahkファイルに移行させて#Includeで管理するとかすればいいんじゃない
自分もそれで知らん間に動かなくなってたスクリプトが復旧できたことがある
いまだに原因が分からんがw 動いたらそれ以上調べる気が起きなかった
383名無しさん@お腹いっぱい。 (ワッチョイ ee9c-lr4m)
2017/05/06(土) 01:18:07.92ID:4LDITw9p0 >>379
SetTimer使うのが普通だと思う。
SetTimer使うのが普通だと思う。
384名無しさん@お腹いっぱい。 (イルクン MMda-c5Hf)
2017/05/06(土) 09:35:50.00ID:J5De719LM >>379
autohotkey.ahk以外のスクリプトをどう起動するかって話なら
.ahkをautohotkey.exeに関連付けしてる人が多いんじゃないの
ポータブルに使いたいならbat作るなりautohotkey.ahk内の任意のタイミングで
runするなり好きにしたらいい
自分はエディタで編集中ahk実行マクロ作って試行してる
あと常時複数起動する前提ならプロセスとして分ける必要が本当にあるのか考えてみるべき
そうでないなら#includeでautohotkey.ahkにマージする
autohotkey.ahk以外のスクリプトをどう起動するかって話なら
.ahkをautohotkey.exeに関連付けしてる人が多いんじゃないの
ポータブルに使いたいならbat作るなりautohotkey.ahk内の任意のタイミングで
runするなり好きにしたらいい
自分はエディタで編集中ahk実行マクロ作って試行してる
あと常時複数起動する前提ならプロセスとして分ける必要が本当にあるのか考えてみるべき
そうでないなら#includeでautohotkey.ahkにマージする
385名無しさん@お腹いっぱい。 (ワッチョイW ee6c-eGF5)
2017/05/07(日) 02:45:07.91ID:/qUzlPjG0 アクティブなウィンドウを画面の四辺に退かせるようにしようと思ったんですが
右端に移動と下端に移動が反応しません
どう書けばいいんでしょうか?
#Right::
WinGetPos, X, Y, Width, Height
WinMove, A, , A_ScreenWidth-Width
return
右端に移動と下端に移動が反応しません
どう書けばいいんでしょうか?
#Right::
WinGetPos, X, Y, Width, Height
WinMove, A, , A_ScreenWidth-Width
return
386名無しさん@お腹いっぱい。 (ワッチョイ 26f3-m+zk)
2017/05/07(日) 03:14:11.06ID:9FhLouSj0 >>385
WinGetPosをもう一度じっくり見直し
WinGetPosをもう一度じっくり見直し
387名無しさん@お腹いっぱい。 (ワッチョイ ab3d-Ogwz)
2017/05/07(日) 04:10:21.20ID:Sp0KdGmO0 省略してはいけないものが省略されてる
388名無しさん@お腹いっぱい。 (ワッチョイ 42d1-KZhE)
2017/05/08(月) 15:48:03.40ID:sgEHR+K40 すみません教えてください。
Func( path ) {
EnvGet, home, HOME
Run, %path%
}
上記のような関数に対し、
Func( "%home%\aaaa.exe" )
と呼び出した場合、実際に実行ファイルがあったとしても
パスが見つからないと言われてしまいます。
%path% の中の %home% が展開できないのではないかと考えたのですが、
多重の % を展開する方法はありませんでしょうか?
Func( path ) {
EnvGet, home, HOME
Run, %path%
}
上記のような関数に対し、
Func( "%home%\aaaa.exe" )
と呼び出した場合、実際に実行ファイルがあったとしても
パスが見つからないと言われてしまいます。
%path% の中の %home% が展開できないのではないかと考えたのですが、
多重の % を展開する方法はありませんでしょうか?
389名無しさん@お腹いっぱい。 (ワッチョイ ab87-HG4F)
2017/05/08(月) 15:57:32.89ID:7swUnAyw0390名無しさん@お腹いっぱい。 (ワッチョイ 42d1-KZhE)
2017/05/08(月) 16:04:50.67ID:sgEHR+K40 >> 389
ありがとうございました。
ありがとうございました。
391名無しさん@お腹いっぱい。 (ワッチョイ e68e-Ogwz)
2017/05/08(月) 17:51:12.62ID:n+ysgQT20 https://autohotkey.com/boards/viewtopic.php?f=6&t=6399
これ、面白いな
これ、面白いな
392名無しさん@お腹いっぱい。 (ワッチョイ 2663-HG4F)
2017/05/09(火) 14:12:20.82ID:v0GmuPss0 AHKでやれよとおもったらAHKだったw
Vector 新着ソフトレビュー 「俺のキーボード」 - 「【BackSpace】+【Delete】で一行消し」などを行える“俺=作者”仕様のキーボード機能拡張ソフト
http://www.vector.co.jp/magazine/softnews/170509/n1705091.html
>【Win】+【A】で、アルファベットで打ってしまった文字を日本語で打ち直し
これはどういう実装なんだろうか
Vector 新着ソフトレビュー 「俺のキーボード」 - 「【BackSpace】+【Delete】で一行消し」などを行える“俺=作者”仕様のキーボード機能拡張ソフト
http://www.vector.co.jp/magazine/softnews/170509/n1705091.html
>【Win】+【A】で、アルファベットで打ってしまった文字を日本語で打ち直し
これはどういう実装なんだろうか
393名無しさん@お腹いっぱい。 (ワッチョイ 278e-Wm8h)
2017/05/09(火) 15:12:31.09ID:3+cE2t/J0 oi
misu
ってやつが
「おいミス」になるのかな
misu
ってやつが
「おいミス」になるのかな
394名無しさん@お腹いっぱい。 (ワッチョイ e68e-Iq6p)
2017/05/09(火) 15:19:44.20ID:ep1GBXYg0 単純にアルファベット選択して変換キー押した動作と同じっぽい
395名無しさん@お腹いっぱい。 (ワッチョイ ab40-Ogwz)
2017/05/09(火) 15:35:42.26ID:YHfNFChO0 要らねえな
396名無しさん@お腹いっぱい。 (ワッチョイ 42c6-Ogwz)
2017/05/09(火) 16:38:05.41ID:D6Yawi3g0 >>392
これLIB内の自動インクルード考慮しないでexe作っちゃってないか
IME_ON / IME_OFF の実態関数がないから機能しない
配布用exe作ったが本人はahkから実行してるから気づいてないってパターンぽい
まあスクリプトの方実行してもエラーになるけど
初期の頃のIME.ahkにしかない古い関数だから
さすがは俺環境ソフト
これLIB内の自動インクルード考慮しないでexe作っちゃってないか
IME_ON / IME_OFF の実態関数がないから機能しない
配布用exe作ったが本人はahkから実行してるから気づいてないってパターンぽい
まあスクリプトの方実行してもエラーになるけど
初期の頃のIME.ahkにしかない古い関数だから
さすがは俺環境ソフト
397名無しさん@お腹いっぱい。 (ワッチョイ b37d-Ogwz)
2017/05/09(火) 16:42:26.15ID:Zqe7Gozh0 作者ここの住人じゃないの
398名無しさん@お腹いっぱい。 (ワッチョイ 4f4d-03re)
2017/05/09(火) 16:51:39.12ID:TqQ3ywXr0 AutoHotkeyの認知度に貢献してくれれば本望だな
399名無しさん@お腹いっぱい。 (ワッチョイ 0287-Ogwz)
2017/05/09(火) 19:28:38.09ID:uUNwpeuV0 とりあえずアドレスを貼るのみで、当スレからは立ち去りますが、
もし興味ある方は読まれて下さい。
(万人にプラスになる知識)
《神・転生の存在の科学的証明》
http://message21.web.fc2.com/index.htm
もし興味ある方は読まれて下さい。
(万人にプラスになる知識)
《神・転生の存在の科学的証明》
http://message21.web.fc2.com/index.htm
400名無しさん@お腹いっぱい。 (ワッチョイ 26f3-m+zk)
2017/05/09(火) 23:40:11.32ID:PXpMId0P0 >>392
>【Win】+【A】で、アルファベットで打ってしまった文字を日本語で打ち直し
↑はクリップボード使うみたいだけど、過去スレにそんな趣旨のスクリプト書かれてたがそれは「input」コマンド使用してるね
AutoHotkey スレッド part16
http://anago.2ch.net/test/read.cgi/software/1367725658/164-165
>【Win】+【A】で、アルファベットで打ってしまった文字を日本語で打ち直し
↑はクリップボード使うみたいだけど、過去スレにそんな趣旨のスクリプト書かれてたがそれは「input」コマンド使用してるね
AutoHotkey スレッド part16
http://anago.2ch.net/test/read.cgi/software/1367725658/164-165
401名無しさん@お腹いっぱい。 (ワッチョイ ee9c-lr4m)
2017/05/09(火) 23:46:20.11ID:pWGqFUI10 +^left
^c
IMEオン
Sendでクリップボード出力
で大体似たようなことができる
^c
IMEオン
Sendでクリップボード出力
で大体似たようなことができる
402名無しさん@お腹いっぱい。 (ワッチョイ 43f3-SU9n)
2017/05/13(土) 03:30:17.50ID:Yj8xdb2h0 マウスを数秒間放置したらマウスカーソルを非表示にして、マウスを動かしたら
瞬時に表示されるようにするといったことはAHKで出来ますでしょうか?
もし可能ならばどんなコマンドを利用すればいいのかヒントだけでも頂けないでしょうか
瞬時に表示されるようにするといったことはAHKで出来ますでしょうか?
もし可能ならばどんなコマンドを利用すればいいのかヒントだけでも頂けないでしょうか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★7 [BFU★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 【サッカー】U-17W杯 日本代表、無念のベスト8敗退… チャンスは多く作ったが仕留め切れず オーストリアに0-1で敗戦 [冬月記者★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
