AutoHotkey スレッド part15at SOFTWARE
AutoHotkey スレッド part15 - 暇つぶし2ch62:名無しさん@お腹いっぱい。
12/10/21 18:06:57.50 nYBSf3er0
IE9はマルチプロセスなんでタイトル文字で指定した方がいいんでない?

SetTitleMatchMode, 2
WinActivate, Windows Internet Explorer ahk_exe iexplore.exe

63:名無しさん@お腹いっぱい。
12/10/21 18:41:46.87 a492Rb0y0
1000ms間隔で30回、それぞれの指定位置で右クリックするマクロを組んだのですが
このマクロの実行中に手動で途中で中断させる方法はありますか?

64:名無しさん@お腹いっぱい。
12/10/21 18:55:36.20 6LWHVHkO0
>>63
a::Reload

65:名無しさん@お腹いっぱい。
12/10/21 21:04:45.65 9tWC3ZH30
>>62
タイトル指定でいけました。
ありがとうございます。

そういえばプロセス一個だけの場合でも
プロセス指定では無理でした。不思議


66:名無しさん@お腹いっぱい。
12/10/21 21:39:50.50 lNbSWKtw0
>>63
ホットキーでマクロ開始するタイプなら>>64
macro.ahkを実行すると開始するタイプなら
スクリプトの後ろにa::ExitAppを追加
他のスクリプトも混在してるからReloadやExitAppは困るなら
MouseClick処理前にフラグを確認するようにして
フラグを立てるためのホットキーを設定してやる
これなら中断したところから再開とかもできる

67:名無しさん@お腹いっぱい。
12/10/21 22:54:39.36 /ipUcWyp0
複数のスクリプトを常駐中に、任意のスクリプトのみを終了させる事は出来ますか?

68:名無しさん@お腹いっぱい。
12/10/21 23:17:22.77 PdCw1M4n0
「スクリプトのパス ahk_class AutoHotkey」がメイン窓なんで、
WinMenuSelectItem や WM_COMMANDで終了メニュー選ぶんだり、
PIDで強制終了するなりすればいい

69:名無しさん@お腹いっぱい。
12/10/22 01:02:57.74 LCMhxr5y0
了解しました。がんばってみます

70:名無しさん@お腹いっぱい。
12/10/23 12:37:17.16 h1z/eHQI0
>>64,66
お返事遅くなりましたが親切にありがとうございます


71:名無しさん@お腹いっぱい。
12/10/23 13:50:32.43 +xYjZMPD0
お尋ねします。
一つのスクリプト内に幾つかの設定があり、その一部がエラーだった場合
そのエラーを無視して起動させる事は出来ますでしょうか?

72:名無しさん@お腹いっぱい。
12/10/23 20:07:40.48 HyDv+1vv0
ちょっと漠然としすぎじゃないかな

73:名無しさん@お腹いっぱい。
12/10/24 07:26:28.45 jF6YYXc50
>>71 組み込み変数 ErrorLevel で分岐することはできる。
文法エラーは修正しないと,エラーメッセージが出続ける。

74:名無しさん@お腹いっぱい。
12/10/24 11:01:36.68 IHBdJcWp0
正規表現中の「"」をエスケープする方法はあるでしょうか?

`"としても\"としてもエラーになってしまいました。

"`"" → ×
"\"" → ×

75:名無しさん@お腹いっぱい。
12/10/24 13:15:22.36 /If6D4Dn0
"""" → ○
じゃなかったかな
"abc"defg" → "abc""defg"
って感じ

76:名無しさん@お腹いっぱい。
12/10/24 21:02:53.91 QJQ7XNkk0
これ?

a = abc"def
dbl = "
msgbox, % regexmatch(a, "c" . dbl . "d")

77:名無しさん@お腹いっぱい。
12/10/24 21:10:14.08 QJQ7XNkk0
それかこれ?
a = abc"def
msgbox, % regexmatch(a, "c" . chr(34) . "d")

78:名無しさん@お腹いっぱい。
12/10/25 18:51:03.17 YtSW1qmd0
URLDownloadToFileにPOST形式は指定できないようですが、何か裏ワザとかあったりするでしょうか?

79:名無しさん@お腹いっぱい。
12/10/25 19:02:18.72 7L0ePVrn0
フォーラムに通信関連のライブラリがあった気がす

80:名無しさん@お腹いっぱい。
12/10/25 22:24:48.18 8MeQqsoA0
同じソフトウェアのウインドウだけを
全画面にタイル状に並べるスクリプトあるじゃないですか。
あれすると今見てるウインドウが一番右(一番うしろ)にいってしまいます。
あれを今見てるウインドウを一番左に(左上、or左に)並べるようにできませんか?

このスクリプトです。
TileMove()
{
WinGet, activeWindowID, ID, A
WinGetPos, x, y, w, h, ahk_id %activeWindowID%
SysGet, monitorCount, MonitorCount
Loop, %monitorCount%
{
SysGet, m, MonitorWorkArea, %a_index%
if (mLeft <= x && x <= mRight && mTop <= y && y <= mBottom)
{
WinGetClass, activeWindowClass, ahk_id %activeWindowID%
WinGet, id, list, ahk_class %activeWindowClass%
Loop, %id%
{
w := (mRight - mLeft) / 2
h := (id > 2) ? (mBottom - mTop) / 2 : mBottom - mTop
x := (Mod(a_index, 2) == 1) ? mLeft : mLeft + w
y := (a_index <= 2) ? mTop : mTop + h

StringTrimRight, this_id, id%a_index%, 0
WinActivate, ahk_id %this_id%
WinWaitActive, ahk_id %this_id%
WinMove, ahk_id %this_id%,,%x%, %y%, %w%, %h%
}
break

81:名無しさん@お腹いっぱい。
12/10/25 22:59:30.65 sC+z2xpV0
やれやれだな

82: 忍法帖【Lv=40,xxxPT】(1+0:8) 【東電 68.9 %】
12/10/25 23:01:12.58 PzKg9++xP
マウススクロールの↑をloopで指定回数行うのにsleep以外で間隔指定できませんか?

あと、Edit This Scriptでメモ帳を別のエディタに変えたい場合はレジストリ?

83:名無しさん@お腹いっぱい。
12/10/25 23:12:19.71 /Ly6Bf/p0
>>82
言うようにレジストリ
とは言え個人的には編集用のホットキー用意しておく方が便利
#a::run, "c:\program files\someone\editor.exe" "ahkscript.ahk"

84:名無しさん@お腹いっぱい。
12/10/26 00:12:50.02 zhQcHivP0
>>82
>マウススクロールの↑
ホイールのこと言ってるなら Send,{WheelUp 10} とか

エディタのレジストリキーは以下
HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command

85:名無しさん@お腹いっぱい。
12/10/26 00:15:59.23 zhQcHivP0
すまん回数指定かつ間隔指定か
ならSendで送る前にSetKeyDelayを指定しておく

86: 忍法帖【Lv=40,xxxPT】(1+0:8) 【東電 61.0 %】
12/10/26 01:22:09.81 WinEKDC+P
>>83
それだと別に起動しておかないといけないですね。

>>84
関連付けできましたー。

>>85
簡単に・・・
SetKeyDelay,xxx
loop xxx {
Send, {WheelUp}
}

SetMouseDelay,xxx
loop xxx {
MouseClick,WheelUp
}

両方試しましたが1回しかカウントされず多分一瞬で終わっているみたいですね。
前スレにあったsleepでやるしかないのか。。。

87:名無しさん@お腹いっぱい。
12/10/26 01:40:47.37 QQQnF1yf0
なぜsleepが嫌なのか

88:名無しさん@お腹いっぱい。
12/10/26 01:53:21.06 2v3pU1Bn0
マニュアルやヘルプみたの?setkeydelayの使い方が誤っている。

89:名無しさん@お腹いっぱい。
12/10/26 08:03:20.24 zhQcHivP0
いや一番肝心な数値の部分をxxxで伏せられたらわからんし

0.5秒間隔でホイール10個送るなら
SetKeyDelay,500
Send,{WheelUp 10}

SetMouseDelay,500
MouseClick ,WheelUp,,,10

90: 忍法帖【Lv=40,xxxPT】(1+0:8) 【東電 74.9 %】
12/10/26 16:58:14.06 WinEKDC+P
キーならいいけど、マウスはうまく動かないですね。
別の方法を探してみるしか無いかな。

>>87
中断がうまくできないので。
SetKeyDelayの場合、loop中に再度実行するとloopが再開するので。

>>88
Example(s)
SetKeyDelay, 0
使用例にあったのでそのまま使いました。

>>89
間隔50ms~5sでloopが100~1000回とかまちまちなので。


91:名無しさん@お腹いっぱい。
12/10/26 20:55:18.81 zhQcHivP0
だからそういう条件は先に言えと、後出しは遠回りでムダになるっしょ
中断させたいならloop内でbleakさせりゃいいんじゃね

92:名無しさん@お腹いっぱい。
12/10/26 21:03:51.59 gBrlXe8X0
Pだからな、無理もない

93:名無しさん@お腹いっぱい。
12/10/26 21:45:55.19 eZgzgEBn0
やりたい処理の全体像がいまいちつかめないので断言はできないけど、
Sleepがいやな理由が中断・再開がうまくいかないってことなら解決法ありそうだけどな

94:名無しさん@お腹いっぱい。
12/10/26 22:24:19.50 OkyiV06r0
Win 8 にしたら Send, {Alt Down}{Tab} で擬似 AltTab ができなくなってしまった。

95:名無しさん@お腹いっぱい。
12/10/26 22:29:29.36 PSmHapYr0
できなかったという一言感想だけ言うよりどうしたら改善したとか
原因はおそらくこれとかいう情報もあった方がいいのでは
そこまで日記的だと本当にWin8が原因なのかも分からない

96:名無しさん@お腹いっぱい。
12/10/27 11:30:18.93 uDsL5QVN0
win8でautohotkeyがうまく動かないというのは
autohotkey forumにあまり情報がないかと
どうなんだろうね

97:名無しさん@お腹いっぱい。
12/10/27 19:23:24.43 zXqWWw1p0
>>94きっかけで作り始めたんですけど
x::AltTabMenu でスイッチャ起動してクリックで決定したあと

(スレリンク(operatex板:850番)代行)

98:校倉木造 ◆AZEkURA/hI
12/10/27 19:24:40.31 zXqWWw1p0
>>97 続き

Altがおしっぱになってるらしく一回Altを押さないと正常に戻りません
#IfWinActive ahk_class TaskSwitcherWndで
スイッチャがあるときにUpとかを決定(Lクリック)に連動させて入力しても
ある時に~という設定だからなのか動きません
どうにかして決定後に自動的にAltを解除できませんかね?

99:名無しさん@お腹いっぱい。
12/10/27 21:05:15.95 rWPm+UU00
FileDelete, コマンドでお聞きします。
複数行にならず、一行だけで指定したファイルを連続して削除する事は可能ですか?

100:名無しさん@お腹いっぱい。
12/10/27 21:26:27.92 xnXiHDio0
自分で複数指定できる関数作ればいいじゃない

101:名無しさん@お腹いっぱい。
12/10/28 00:23:01.78 TgOAbVyh0
なんか最近、同一人物なんか知らんが
意図のわからない質問が増えてるな

102:名無しさん@お腹いっぱい。
12/10/28 00:56:41.94 /+4sRrQx0
質問内容が曖昧なのと、なんか限定的な条件がついてるよね
やりたいことと、なぜその条件が必要なのか書けば解決法出てきそうなんだけどね

103:94
12/10/28 11:39:18.61 n/plubYp0
結局 AHK フォーラムで聞いてみた。Win8 標準ホットキーの少なくとも一部 (Alt-Tab など) は外部ツールから起動できないらしい。
URLリンク(www.autohotkey.com)

104:名無しさん@お腹いっぱい。
12/10/28 12:54:38.19 hk7vik+e0
>>103
なるほど
"Our. Top. Men!" の意味は全然汲み取れないんだが今取り組んでるから多分治るよって事か

105:941
12/10/28 14:19:21.10 n/plubYp0
>>104 「俺たちの!! スーパー!! ヒーロー!!」ってくらいの意味で、
Lexicos をはじめとする AHK デベロッパーが何とかしてくれるはずという期待が
Don't worry 以降に、そして Though 以降にこの問題が遷延する可能性をいってます。
ここらへんは全部ポストした人の憶測なので、確かな情報としては >>103 のみ

106:名無しさん@お腹いっぱい。
12/10/28 16:22:52.45 HBCQ+2I40
指定したウインドウを、90度180度と回転させる事って出来ますか?

107:名無しさん@お腹いっぱい。
12/10/28 18:12:11.05 cCpsD4eX0
何のために?理由によっては別の方法がある

108:名無しさん@お腹いっぱい。
12/10/28 18:16:39.46 TgOAbVyh0
タブレット的に使いたいってことなんだろうけど、ウィンドウ単位では無理
ディスプレイ全体だったらGPUが対応していればいける

109:名無しさん@お腹いっぱい。
12/10/28 18:24:05.57 HBCQ+2I40
正にタブレットみたいな使用法です。
でもそう都合よくはいきませんよね。
ありがとうございました。

110:名無しさん@お腹いっぱい。
12/10/29 13:43:21.08 WP4veEYEP
>>101-102
1から10まで書いてくれないと答えられないから全部書いて欲しいよな。

111:名無しさん@お腹いっぱい。
12/10/29 13:57:38.48 9JeZFFTq0
Windows8のメトロUI?ってAutoHotKeyって動作するんですかね…

スマフォ系でAutoHotKeyが使えれば、その端末即買いですよ

112:名無しさん@お腹いっぱい。
12/10/29 17:25:19.34 MtmxPhvx0
Autohotkeyからrunで呼び出したバッチファイルのウインドウを、非表示にさせることは出来ますか?

113:名無しさん@お腹いっぱい。
12/10/29 18:14:45.59 TP0zE+WP0
Run, hoge.bat , , Hide

>>110
つまらない、15点

114:名無しさん@お腹いっぱい。
12/10/29 18:20:46.86 MtmxPhvx0
助かりました有難うございます

115:名無しさん@お腹いっぱい。
12/10/29 19:19:21.75 5nBzfWZL0
>>110
別に書かなきゃ答えないだけだから好きにしろよ

116:名無しさん@お腹いっぱい。
12/10/30 13:01:41.39 dU/tE5XU0
UWSCのスクリプトをAutoHotkey用に変換する方法教えろ

117:名無しさん@お腹いっぱい。
12/10/30 14:05:18.90 Pb3euaEE0
まずUWSCのドキュメントとAHKのドキュメントを用意してください。
次に、変換したいスクリプトを開きます。
あとは簡単。
ドキュメントを参照しながら同じ結果が得られるように
AHKのスクリプトファイルにコマンドを入力していけば、変換完了です。

118:名無しさん@お腹いっぱい。
12/10/30 14:27:11.08 BDB9HMBv0
wasd操作のゲームがあるんですが、eで右上(dw)、qで左上(aw)、shiftで左下(as)、spaceで右下(ds)に方向を割り当てて8キーにしたいんですけど1つのキーに2コキーを当てることは出来るんでしょうか?

119:名無しさん@お腹いっぱい。
12/10/30 15:28:35.09 VJ8k022K0
そのゲームで動作するかは知らんが普通に2キーSendしてみれば

120:名無しさん@お腹いっぱい。
12/10/30 15:50:00.90 BDB9HMBv0
文章として入力されてしまうようでできませんでした
素直に諦めます

121:97-98
12/10/31 03:14:53.96 k6OEMr050
アク禁喰らってダメだったので質問しなおします

マウスボタンににF1を割り当てて
F1::AltTabMenu でタスクスイッチャを作ったはいいんですが
アイコンを左クリックで決定してタスクをアクティブにしたら
どうやらAltがおしっぱになっているらしく、他の操作に支障が出ます
タスクを決定したときに自動でALTを押され、解除されるようなのはできないでしょうか?

122:名無しさん@お腹いっぱい。
12/10/31 10:56:17.32 +nSJU9nv0
F1 up::AltTabMenu

123:名無しさん@お腹いっぱい。
12/10/31 16:56:54.45 e3fL720f0
ヒドゥンな指定プロセスにコマンドを送信したい場合ってどうすればいいのでしょうか?

124:名無しさん@お腹いっぱい。
12/10/31 17:31:50.36 e3fL720f0
Autohotkeyjpに以下のサンプルがありますが
コマンドプロンプトを起動状態でも送信されません。
何故でしょうか?
SetTitleMatchMode, 2
ControlSend, , abc, cmd.exe

125:名無しさん@お腹いっぱい。
12/10/31 18:01:55.26 Ty+Z6p1v0
>>124
試してみたらそれで普通に送信できたよ
コマンドプロンプトのタイトルにcmd.exeが含まれてないとか何かあるんじゃない

126:名無しさん@お腹いっぱい。
12/10/31 18:36:39.85 NptaHGpU0
DetectHiddenWindows, On

127:名無しさん@お腹いっぱい。
12/10/31 18:49:56.01 e3fL720f0
>>125
すみません、確認不足でした。
再起動したら送信されました。
>>126
ありがとう

128:名無しさん@お腹いっぱい。
12/10/31 22:50:01.67 k6OEMr050
>>122
ありがとうございます 
その1行で大丈夫なんですか?

129:名無しさん@お腹いっぱい。
12/11/01 00:01:18.82 8VTyHPOV0
よくわかんないけど
公式まで行って、win8固有の問題って言われたんなら Lexicosとかが対応してくれるまでは
無理なんじゃなかろうか

130:名無しさん@お腹いっぱい。
12/11/01 14:46:01.44 41V8YK7C0
>>122
動作的には変化ないんですけどどうなんでしょう?

131:名無しさん@お腹いっぱい。
12/11/01 16:03:08.94 qg4/zr/Z0
>>121
Win8で動くかどうか確認してないけど、これは?

F1::AltTabMenu

#IfWinExist ahk_class TaskSwitcherWnd
~!Lbutton::
WinWaitClose, ahk_class TaskSwitcherWnd
send, {alt up}
return

132:名無しさん@お腹いっぱい。
12/11/01 18:31:00.63 W4bVhOOu0
ちゃんと設定してもそのとおり動かないホットキーがあるのは仕様なんでしょうか?
wとsにPgUp、PgDnを割り当ててるんですけどSキーを押してもPgDnが認識されません
他にも.キーにCtrl++(拡大)ショートカットを割り当ててるんですけどこれも機能しません

133:名無しさん@お腹いっぱい。
12/11/01 18:47:21.16 VFeSPN1iO
ちゃんと出来てると思ってても出来てないか割り当ててるというソフトの設定の問題か他のソフトが干渉してるかどれかだな
.ahkと対象のソフト名、あと出来ればタスクマネージャのスクショうp

134:名無しさん@お腹いっぱい。
12/11/01 19:31:04.06 44QIZGaQ0
>>131
ありがとうございます できました
自分はwin8について発言した方とは別人なのでその辺は大丈夫です
いろいろ紛らわしくなってしまいましたね・・・ありがとうございました

135:名無しさん@お腹いっぱい。
12/11/01 19:41:11.52 W4bVhOOu0
>>133
zipにかためたところでふと気になって再起動したら普通に動きました。すみませんありがとうございます

136:名無しさん@お腹いっぱい。
12/11/01 22:33:47.97 8rB03r/Q0
zipにかためたとはいったい

137:名無しさん@お腹いっぱい。
12/11/01 22:37:09.39 W4bVhOOu0
ahkとかうpれって言われたんでその参考にとahk他をzipで固めたところで自己解決しちゃったので・・・

138:名無しさん@お腹いっぱい。
12/11/02 09:52:06.09 Jz5iL64J0
教えて欲しいのですが・・・
settimerが動作してからの経過時間って取得できますか?

139:名無しさん@お腹いっぱい。
12/11/02 13:29:44.63 i5iPBsj/0
直接該当する変数は無いけど
OS起動時からの時間が格納されるA_TickCountや
操作を行っていなかった時間を格納するA_TimeIdle等の
組み込み変数を利用して時間経過を知ることは出来ます。

140:名無しさん@お腹いっぱい。
12/11/02 21:18:29.83 NrZnPsCl0
デュアルモニタかどうかを判断して、そこから処理を分岐したいのですが出来ますでしょうか?

141:名無しさん@お腹いっぱい。
12/11/02 21:37:10.54 lsrd4N8t0
SysGet

142:名無しさん@お腹いっぱい。
12/11/03 03:21:37.30 GoRxSQJ30
Loop
{
  IfWinNotActive,TestWindow
  {
   WinClose,TestWindow
   MsgBox,%A_Index% 回ループしました
   Break
  }
}
Return

windがアクティブじゃなくなったら消すのを書いてみたら
CPU負荷+10% 1秒間 6.5万回ループ って結果にw負荷ぱないw
テスト用にMsgBox書いといて良かった・・・そのままだったら
Sleep 書き忘れてたの気づかなかったなw

143:名無しさん@お腹いっぱい。
12/11/03 04:45:46.22 gBv/+3ni0
そういう用途にはタイマーを使いましょう

144:名無しさん@お腹いっぱい。
12/11/03 11:03:17.71 GoRxSQJ30
>>143
ありがとうございます。
そんなコマンドあったのね、見落としてました。

常態しているScriptに「SetTimer」書いて
指定間隔でサブルーチン実行させられるのか。

Gui,Add,Text,,Test
SetTimer,WindClose,100
Gui,Show,,TestWindow
Return

WindClose:
IfWinNotActive,TestWindow
{
 WinClose,TestWindow
 SetTimer,WindClose,Off
}
Return

145:名無しさん@お腹いっぱい。
12/11/04 13:53:00.37 hj3+5O9I0
Sleepを使った、長い実行時間のホットキーがあるのですが、
実行中に何か(不特定)のキーが押されたら実行を中断させたいです。
簡単に実現する方法はないでしょうか?

146:名無しさん@お腹いっぱい。
12/11/04 14:28:29.64 BCl3mh9U0
>64

147:名無しさん@お腹いっぱい。
12/11/04 19:08:29.88 hj3+5O9I0
>>146
ありがとうございます。
ですが、どのキーを押しても中断するようにしたいのです。

結局、各sleepのあとでA_PriorKeyをチェックすることにしました。

148:名無しさん@お腹いっぱい。
12/11/04 21:35:51.91 95/g4WZV0
Lのインストーラー版のダウンロードサイズとハッシュどなたか貼ってください。

今朝落とした時は2MBのが落ちてきて、
以前落としていたものとハッシュが違い以前のは壊れてるのかと思ってましたが、
今落とすと5MBのものが落ちてきます。
どれが正しいのかわかりませんorz

149:148
12/11/04 21:41:11.92 95/g4WZV0
あ、すいません。
5MBは、2つ落としたファイルを選択したものをプロパティで見たもので、誤りでした。

ハッシュお願いします。m(_ _)m

150:名無しさん@お腹いっぱい。
12/11/05 04:36:45.20 sN74e5Hq0
以下のスクリプトは、フルパス指定したスクリプトを決め打ちで終了出来るのですが
フルパスでないと有効になりません。
これを相対パスで対応出来るようになりますでしょうか?

fullScriptPath = E:\test.ahk ; edit with your full script path

DetectHiddenWindows, On
WinClose, %fullScriptPath% ahk_class AutoHotkey

151:名無しさん@お腹いっぱい。
12/11/05 04:43:34.14 sN74e5Hq0
以下のスクリプトで対応出来ました。スレ汚し申し訳ないです。
DetectHiddenWindows On ; Allows a script's hidden main window to be detected.
SetTitleMatchMode 2 ; Avoids the need to specify the full path of the file below.
WinClose Script's File Name.ahk - AutoHotkey ; Update this to reflect the script's name (case sensitive).

152:名無しさん@お腹いっぱい。
12/11/05 10:40:57.10 YIWyFipC0
>>149
Name             SHA1                           Bytes
-----------------------------------------------------------------------------
AutoHotkey_L_Install.exe 3837a2587a8c875ce553220819382f002c7acdfb 2,617,740
-----------------------------------------------------------------------------
Total 1 Files 2,617,740 Bytes

153:148
12/11/06 10:03:08.02 EVhAGQsX0
>>152
ありがとうございますm(_ _)m

154:名無しさん@お腹いっぱい。
12/11/06 17:29:55.93 T7KwxkzT0
AHK_Lに移行してから /ErrorStdOutオプションでの標準出力が取れなくなっちゃった
仕様変更とか書き方ルールが変わったのかな?

以下↓err.batとsyntaxerr.ahk をAutohotkey.exeのあるフォルダにコピーしてerr.bat実行で
---- syntaxerr.ahk -------------
#ErrorStdOut ; (なくてもいいはずだけど一応)
sand,{Space}
---- syntaxerr.ahk ここまで----
------ err.bat ----
AutoHotkey.exe /ErrorStdOut syntaxerr.ahk |more
pause
------ err.bat ここまで ----


本家最終(1.0.48.05)だと↓みたいなメッセージ出てくるんだけどL版だと何も表示されない
D:\AutoHotkey\bin\syntaxerr.ahk (2) : ==> This line does not contain a recognized action.
Specifically: sand,{Space}

Lは最新(1.1.8.1 A32,U32,U64) と 1.1.00.00 A32(たまたまHDに残ってた)を
XP 32bit / 7 64bit でそれぞれ試してみたけど状況に変化なし

エディタからエラー箇所へのタグジャンプできなくなって捗らないわー
詳細や対処法ご存知の方いたら情報お願いします

155:名無しさん@お腹いっぱい。
12/11/07 02:16:28.90 MGzUTcLn0
Sendでもキーのリマップでも反応しないアプリがあるのですが
物理的にキーを押した状態と同じ動作をさせる事は出来ますか?

156:名無しさん@お腹いっぱい。
12/11/07 11:18:09.47 SCf8twza0
DCALLなどを利用して、Windowsのファイルアクセスシステムコールをコールバックして、指定のアプリケーションのファイルアクセス履歴を取得することなんて可能でしょうか?

157:名無しさん@お腹いっぱい。
12/11/07 13:25:15.25 jN1c/W8Y0
>>155
用意されているキーの送信手法をもっと試す
send
sendiraw
sendivent
sendinput
sendplay

158:名無しさん@お腹いっぱい。
12/11/07 13:26:19.20 jN1c/W8Y0
タイポした。sendiraw→sendraw sendivent→sendevent

159:名無しさん@お腹いっぱい。
12/11/07 18:23:33.60 5qc9rM8j0
AutoHotkey v1.1.09
URLリンク(www.autohotkey.com)

アーカイブ版の方は中身が古いままだな。まぁ、すぐにアップロードされるだろう
インストーラの方はOK

160:名無しさん@お腹いっぱい。
12/11/07 21:06:28.74 yRHwHF3O0
変更点は?

161:名無しさん@お腹いっぱい。
12/11/07 21:20:33.60 Ko2mm9dS0
公式のChangelog見ればええがな

162:名無しさん@お腹いっぱい。
12/11/08 00:37:03.24 rgGBF4JU0
>Removed undocumented AutoIt v2 commands.
これが何なのかわからないなあ

163:名無しさん@お腹いっぱい。
12/11/08 18:59:43.51 b/YWXq430
すみません、初心者で使いこなせずアンインストールしようと思ったのですが
コントロールパネルからアンインストールしようとおもっても
installer.ahkというスクリプトを読み込むだけでアンインストール処理を行ってくれません。
中身も読んでみたのですが、サンプルスクリプトが書いてあるだけで特にそういった処理に使えるものもないようで…
申し訳ありませんが、助けていただければ幸いです。よろしくお願いします。

164:名無しさん@お腹いっぱい。
12/11/08 20:32:14.82 UtVH/cET0
Autohotkey.exeがahkファイルに関連付けされているだけなのでフォルダごと削除しても問題ないかと。
プログラムと機能(Win7)にインストール情報が残っているならCCleanerとか使えば消せる。

165:名無しさん@お腹いっぱい。
12/11/08 21:28:28.75 b/YWXq430
>>164
親切にありがとうございます。
インストーラーからなのでおそらく残るとおもわれるのでCCleanerを使用したいと思います。
本当にありがとう、感謝します。
あと上のレスsage忘れです。ごめんなさい。

166:名無しさん@お腹いっぱい。
12/11/08 22:50:16.62 ImcVfX870
嫌かもしれんが一度インストーラ使ってインスコして、すぐにアンインスコすればいいじゃないかな

167:名無しさん@お腹いっぱい。
12/11/09 15:43:08.73 0mUvxv2e0
同じ種類のウインドウをタイル状に並べるスクリプトを使っているのですが、
タイルが完成したあとアクティブになるウインドウが一番最後(右あるいは下)の
ウインドウになってしまいます。
左上のウインドウ(タイルスクリプトを実行するまえにアクティブだったウインドウ)
を最後にアクティブにするにはどうすればできるでしょうか?
おしえてください。

TileMove()
{
WinGet, activeWindowID, ID, A
WinGetPos, x, y, w, h, ahk_id %activeWindowID%
SysGet, monitorCount, MonitorCount
Loop, %monitorCount%
{
SysGet, m, MonitorWorkArea, %a_index%
if (mLeft <= x && x <= mRight && mTop <= y && y <= mBottom)
{
WinGetClass, activeWindowClass, ahk_id %activeWindowID%
WinGet, id, list, ahk_class %activeWindowClass%
Loop, %id%
{
w := (mRight - mLeft) / 2
h := (id > 2) ? (mBottom - mTop) / 2 : mBottom - mTop
x := (Mod(a_index, 2) == 1) ? mLeft : mLeft + w
y := (a_index <= 2) ? mTop : mTop + h

StringTrimRight, this_id, id%a_index%, 0
WinActivate, ahk_id %this_id%
WinWaitActive, ahk_id %this_id%
WinMove, ahk_id %this_id%,,%x%, %y%, %w%, %h%
}
break

168:名無しさん@お腹いっぱい。
12/11/09 16:07:14.88 rs20Th0j0
最後に(Breakの直前に)
WinActivate, ahk_id %activeWindowID%

169:名無しさん@お腹いっぱい。
12/11/09 16:11:41.46 rs20Th0j0
× 最後に(Breakの直前に)
○ 最後に(Breakの次行に } があると思うのでその次の行に)

170:名無しさん@お腹いっぱい。
12/11/09 18:33:51.96 Z/Aldddw0
一旦全部最小化して
ターゲットのwindow群だけ元に戻して
左右に並べて表示させる方法もあるのでは。

171:名無しさん@お腹いっぱい。
12/11/09 20:46:04.25 0mUvxv2e0
>>169
ありがとうございました。成功しました。
その文字列をもしかして入れるのでは?とおもって一回試してみたのですが
失敗していました。なるほど入れる場所が間違ってたのか。
breakとその文字列の間に } を2個入った形で成功しました。
よかった。

172:名無しさん@お腹いっぱい。
12/11/09 23:28:09.45 QcS3i+Un0
脳波読み取るスクリプトの書き方教えてください

173:名無しさん@お腹いっぱい。
12/11/09 23:57:48.99 FlT/CH2g0
まず脳波読み取るデバイスを用意します

174:名無しさん@お腹いっぱい。
12/11/10 01:01:59.11 62yasgv00
autohotkeyをemacsでdebugしたいのですがどうすればいいのでしょう?
"autohotkey emacs debug"で検索してもそれらしい情報が見つかりませんでした

175:名無しさん@お腹いっぱい。
12/11/10 01:47:13.83 C4KvyvBt0
「emacs DBGp」ならかなりヒットしたけど

176:170
12/11/10 08:07:53.79 rxSHjNny0
MGLのヘルプを作っている者です。
>>167 さんへ
スクリプトを
下のように改変して公表してよろしいでしょうか

WinGet, activeWindowID, ID, A
Send,#m
WinGetClass, activeWindowClass, ahk_id %activeWindowID%
WinGet, id, list, ahk_class %activeWindowClass%
WinRestore,A
Sleep,100
Loop, %id%
{
StringTrimRight, this_id, id%a_index%, 0
WinActivate, ahk_id %this_id%
WinWaitActive, ahk_id %this_id%
}
Run,C:\~\TileVertically.vbs
/*
↓↓↓TileVertically.vbs↓↓↓
Set Win = WScript.CreateObject("Shell.Application")
Win.TileVertically
*/

177:名無しさん@お腹いっぱい。
12/11/10 11:51:38.60 62yasgv00
>>175
ありがとうございます。見てみます。

178:名無しさん@お腹いっぱい。
12/11/10 16:32:29.06 Fr6roE8F0
皆様のお知恵を拝借したいのですがよろしいでしょうか?
一回押し、二回押し、長押しで それぞれ違う挙動を一つのキーにさせたいのですが、
下記の書いてみたスクリプトで一つ問題が解決できなくて困っております。
二度押しする際に一度押しの挙動を飛ばしたいのですが何か良い知恵有りますでしょうか?

キー入力 → 一定時間待機して、待機時間内に再度押せば「二度押し」
それ以外なら「一度押し」か「長押し」の判定にさせればいけそうなのですが。

a::
if (A_PriorHotkey = A_ThisHotkey) and (A_TimeSincePriorHotkey < 400);同HotKey二度押し&400m秒以内なら
{
MsgBox ,2回押し(仮
Return
}
KeyWait,A,t0.3;指定した秒数が経過した場合error「1」、それ以外は「0」
If(errorlevel == 0)
{
MsgBox ,1回押し(仮
Return
}
MsgBox ,長押し(仮
KeyWait,a
Return

179:名無しさん@お腹いっぱい。
12/11/10 16:59:45.66 gAHuX+SL0
IfMsgBox, No,の後に複数行の処理をしたい場合
どの様な記述をすればいいでしょうか?

180:名無しさん@お腹いっぱい。
12/11/10 17:13:35.25 x0GbFo060
LoopとFileMoveで簡易的なファイルの振り分け処理をしたいのですが重複ファイルの扱いで困ってます。
今は一律でファイル名の最後に(0)を付けてるのですが、
どうも中身が同じのが多くなってきたような気がするので…
ahk単体でやるのではなくdiffあたりにファイルを投げた方がいいでしょうか?

181:名無しさん@お腹いっぱい。
12/11/10 17:18:40.24 gAHuX+SL0
179
すみません、自己解決しました。
Gosub,で飛べるんですね。

182:名無しさん@お腹いっぱい。
12/11/10 17:21:24.09 BVo7ZGOI0
>>181
普通にブロックでよくない?
msgbox, 4,, test
ifmsgbox, No
{
msgbox,No
msgbox,No
}
else
{
msgbox,Yes
msgbox,Yes
}
return

183:名無しさん@お腹いっぱい。
12/11/10 17:27:24.79 gAHuX+SL0
>>182
おおこれは!有難うございます。

184:名無しさん@お腹いっぱい。
12/11/10 18:19:28.96 aPyD/jjE0
>>178
うちの環境では使えないキーがあったりしてアレだけど、一応参考までに

;a::
F8:: ;aでは何故か上手くいかなかったのでF8に
Critical
;Input, user, T0.3, a
Input, user, T0.3, {F8}
If (RegExReplace(ErrorLevel, "i)^EndKey:(.+)", "$1") != A_ThisHotkey)
MsgBox, Single
Else
{
KeyWait,% A_ThisHotkey, T0.3
If (ErrorLevel)
MsgBox, Hold
Else
MsgBox, Double
}
Return

185:名無しさん@お腹いっぱい。
12/11/10 19:19:51.75 Fr6roE8F0
>>184
早速返答が! ありがとうございます。
こちらの環境では正常に動きました。
欲を言えば、長押しの挙動がちょっと違うので
これから改善策考えてみます。
悶々としていた部分なので助かりました。

186:名無しさん@お腹いっぱい。
12/11/10 20:08:38.98 aPyD/jjE0
>>180
ハッシュを取得可能なライブラリがあるので使ってみては

[AHK_L] Crypt - ahk cryptography class (Encryption, Hashing)
URLリンク(www.autohotkey.com)

187:名無しさん@お腹いっぱい。
12/11/10 20:43:13.84 Fr6roE8F0
>>184
無事に目的の挙動になりましたのでご報告いたします。
改めてお礼を申し上げます。 ありがとうございました。

a::
Critical
KeyWait,a,t0.3
If(errorlevel)
{
MsgBox, Hold
Return
}
Input, user, T0.3, {a}
If (RegExReplace(ErrorLevel, "i)^EndKey:(.+)", "$1") != A_ThisHotkey)
MsgBox, Single
Else
MsgBox, Double
Return

188:名無しさん@お腹いっぱい。
12/11/10 22:08:45.29 zYtGu6Zp0
>>187
杞憂かもしれないが "Critical" 中にボタンの押し下げ状態にすると、
キーリピート分が大量に溜まってしまうんじゃないか?
"Critical"が解除された時に、それらが雪崩れ込んでくる気がする。

189:名無しさん@お腹いっぱい。
12/11/10 22:22:49.28 x0GbFo060
>>186
こんないいものがあるとは…
ありがとうございました

190:名無しさん@お腹いっぱい。
12/11/10 23:39:43.28 aPyD/jjE0
>>188
指摘ありがとう。推測された通り雪崩れ込んでた。
ということで400msのウェイトを入れて修正してみたけど、用途によっては問題があるかもしれない

>>187
×Critical
○If ((A_PriorHotkey = A_ThisHotkey) and (A_TimeSincePriorHotkey < 400))
  Return
以下略

191:名無しさん@お腹いっぱい。
12/11/14 01:24:17.95 EEeEteHA0
URLリンク(www.autohotkey.com)
このライブラリでSQLiteを使い
c:\TestDB.sqlite3というファイル名で処理内容を保存できると思ったのですがうまくいきません
(URLリンク(www.dbonline.jp)を参考にしました)

SetWorkingDir %A_ScriptDir%
#Include <DBA>

global initialSQL := "SELECT * FROM Test"
global databaseType := "SQLite"
global currentDB := null ; current db connection

connectionStrings := "c:\TestDB.sqlite3"
db := DBA.DataBaseFactory.OpenDataBase("SQLite", connectionString)
db.Query("CREATE TABLE Test (Name, Fname, Phone, Room, PRIMARY KEY(Name ASC, FName ASC));")
;Table Layout: Name, Fname, Phone, Room
record := {}
record.Name := "Hans"
record.Fname := "Meier"
record.Phone := "93737337"
record.Room := "wtf is room!? :D"

db.Insert(record, "Test")
db.Query(".exit")
SQLite_CloseDB(db)
return

もしかしてexeとdllでは処理が違い上のautohotkeyの処理ではデータベース保存不可能、ということなのですか?

192:名無しさん@お腹いっぱい。
12/11/14 14:36:20.15 hPiJbPSa0
エラーの種類が分らないので憶測で

(1)db.Query(".exit") が意味不明
(2)ライブラリは正しい場所に置いているか

(1)を消してダメなら(2)。とりあえず、AHKをインストールしたフォルダに、アーカイブを解凍して出てきたLibフォルダをそのままコピーしてみて

それから一応だけど、SQLite_CloseDB()を直接呼ぶのではなく、db.Close()を呼んだ方がいいよ

193:名無しさん@お腹いっぱい。
12/11/14 21:39:56.74 iXIxzSqD0
Windows7とかだと標準ユーザはCドライブのルート直下にファイル作れないけど
その辺大丈夫?

194:名無しさん@お腹いっぱい。
12/11/14 22:22:38.43 l8KTzvQc0
ふむ。問題なく動くけどな。
.exit は対話コンソールツールの終了コマンドなんでDLL版で使っても意味ないかと(戻り値が0)
SQL発行エラーで何も起きてないっぽいけど

#Include <DBA>
db := DBA.DataBaseFactory.OpenDataBase("SQLite", "hoge.sqlite")
db.Query("CREATE OR REPLACE TABLE hoge (id INTEGER PRIMARY KEY, name TEXT)")
db.Query("DELETE FROM hoge")
Loop, 5
 db.Query("INSERT INTO hoge (name)VALUES('inserted by stmt@" A_Index "')")
 && db.Insert({name: "inserted by API@" A_Index}, "hoge")
For each, row In db.Query("SELECT * FROM hoge").Rows
 str .= row.id A_Tab row.name "`n"
MsgBox, % str


ん~、トランザクションの掛け方とエラーハンドリングがよくわからん

195:名無しさん@お腹いっぱい。
12/11/15 14:53:09.20 79z6C8EZ0
ウインドウタイトルの変更は出来ましたが
ウインドウクラスの変更は出来ますか?

196:名無しさん@お腹いっぱい。
12/11/16 01:28:23.95 HucuW6F40
クラス名なのか振る舞いを含めたクラスなのか、いずれにしても無理だけど

197:名無しさん@お腹いっぱい。
12/11/16 20:55:39.24 Fvy4xWJX0
ControlSendでErrorLevel見ても成功しているのに反応しないから悩んでたら
>>22
に書いてあったahk_parent追加で成功。
AutoHotkeyJpに書いていなかったので時間かかった・・・

198:名無しさん@お腹いっぱい。
12/11/17 16:43:38.98 r0IUfgiy0
難い・・・挫折した。

199:名無しさん@お腹いっぱい。
12/11/17 18:01:47.37 He1G7EHI0
Gui,Add,Edit(テキスト入力欄)で右クリック(ポップアップメニュー)をMenuコマンドで任意に作ったメニュー表示or追加できないでしょうか?
Disabledにすればできるのですが文章を選択常態にしたいので他の解決策がないものかと、無い場合は右クリック以外の方法でやってみます。

Menu,MenuName,Add,コピー,AAA
Gui,Add,Edit,ReadOnly,TEST
Gui,Show
Return

GuiContextMenu:
Menu,MenuName,Show
Return

AAA:
MsgBox,OK
Return

200:名無しさん@お腹いっぱい。
12/11/19 01:39:01.90 lXa7O5950
>>199 こんなんじゃだめ?
#WinActivateForce
Menu,MenuName,Add,コピー,AAA
Gui,Add,Edit,ReadOnly,TEST
Gui,Show
Return

$RButton::
MouseGetPos, , , OutputVarWin, OutputVarControl
WinGetTitle, Title, ahk_id %OutputVarWin%
If (OutputVarControl = "Edit1") && (Title = A_ScriptName)
{
WinActivate, ahk_id %OutputVarWin%
Menu,MenuName,Show
}
Else
Send, {RButton}
Return

AAA:
MsgBox,OK
Return

201:名無しさん@お腹いっぱい。
12/11/19 09:42:48.16 5QI0L26l0
Send,{RButton}
Sleep,500
Send,O

というコードで、Sleep部分を
「コンテキストメニューが出現するまで待つ」という条件に書き換えるコードを教えて下さい。
時間決め打ちだとレスポンスが悪い上に高負荷時に誤動作してしまうことがあります。

なお、挙動が変わってしまうので1行目をAppKeyで代用することはできません。

202:名無しさん@お腹いっぱい。
12/11/19 12:18:37.83 LtgNA1Rv0
アプリによっては動作しない。普通のコンテキストメニュー用

Send, {RButton}
WinWait, ahk_class #32768,, 3

203:名無しさん@お腹いっぱい。
12/11/19 18:59:32.44 v8RY4Jux0
>>200
なるほどーこうすればいけますね。
非常に参考になりましたありがとうございます。

204:名無しさん@お腹いっぱい。
12/11/19 20:40:52.91 biSIg5Ye0
>>202
ありがとうございます。
もし動かなくてもSpyでクラス調べればいけそうですね。

205:名無しさん@お腹いっぱい。
12/11/19 21:23:54.64 /z50lnam0
ストアアプリのIMEを制御したいのですがIME.ahkを使ってもうまく動きません。
IME 開発のガイドラインとチェック リスト (Windows ストア アプリ) (Windows)
URLリンク(msdn.microsoft.com)
これを見るとtsfというものを使っているようなのですが、なんとかできないものでしょうか。

206:名無しさん@お腹いっぱい。
12/11/20 21:47:55.76 i6pcY5mn0
autohotkeyjpにあったIniReadのサンプル何ですが
IniRead, OutputVar, C:\Temp\myfile.ini, section2, key
MsgBox, The value is %OutputVar%.

仮にsection2のキーが1だった場合と、2だった場合で分岐したいのですが
どの様なスクリプトを書けば良いのでしょうか?

207:名無しさん@お腹いっぱい。
12/11/20 22:39:48.19 Va912D/l0
ごく普通にIfで分岐するだけじゃないの?

208:名無しさん@お腹いっぱい。
12/11/20 23:49:03.95 Ncev6A/K0
AutoHotkeyってほんと簡単でいいですね
.bat書くよりこっちの方が分かりやすい

209:名無しさん@お腹いっぱい。
12/11/21 02:49:21.96 ZznyVFkd0
>>207
どんな感じで書けばいいのか教えて頂けませんか?

210:名無しさん@お腹いっぱい。
12/11/21 03:39:58.65 KTAf6xvH0
>>209
基本的なことから分かってないようだから
AutoHotkeyJpのリファレンスの項目全部読んでらっしゃいな
あなたの疑問もばっちり書いてあります。
URLリンク(sites.google.com)

211:名無しさん@お腹いっぱい。
12/11/21 08:24:43.90 /xm36B6T0
テキストエディタでvimのヴィジュアルモードみたいに「解除するまで選択状態」となるようにできませんか?
具体的には、Shiftキーを押すと次にShiftキーを押すまでShiftキーを押しっぱなしにしてる扱いにしたいです

vista 32bit

212:名無しさん@お腹いっぱい。
12/11/21 09:21:09.06 UDlUOiXq0
Shift押し下げ押し上げをトグルキーにすればいいんじゃないの

213:名無しさん@お腹いっぱい。
12/11/21 13:50:37.96 4KsmhzTu0
>>205
IME.ahkはImm32のAPIしか使ってないので TSFだと機能しないです

214:名無しさん@お腹いっぱい。
12/11/21 15:20:43.93 /xm36B6T0
>>212
なるほど
それでいってみます。サンクスです

215:名無しさん@お腹いっぱい。
12/11/21 16:51:07.98 n3ipOOyIT
俺も最初にリファレンス全てを適当に読み流して覚えた。
そうすることで自分がやりたいことに必要な関数やコマンドが
ある程度判るようになってくる。

>>206
if OutputVar = 1
msgbox, %OutputVar%
else if OutputVar = 2
msgbox, %OutputVar%

>>211
$shift::
if !shifttoggle {
keywait, shift, L
send, {shift down}
} else {
keywait, shift, L
send, {shift up}
}
shifttoggle := !shifttoggle
return

216:名無しさん@お腹いっぱい。
12/11/21 17:59:20.30 rRf0qB5OP
SMPlayerという動画プレイヤーソフトの動画表示ウインドウ内でクリックしたかどうかを
識別して、#IfWinActiveで条件分岐したいのですが、うまくいきません。

プレイヤーの外枠にカーソルを合わせて情報所得を試みると、正常に取れました。
しかし、中央の動画が表示されている部分だと取得できなくなります。

この動画プレーヤは、Qtというプラットフォーム共通化ソフトでコンパイルしているらしく、
動画内だと、ahk_classも、ControlGetPosも、ウインドウタイトルも全く抜き取ることが出来ません。

Qt
URLリンク(qt.digia.com)

動画表示ウインドウ内のクリック時にSMPlayerかどうかを識別するには、
どのような方法が考えられるでしょうか。

217:名無しさん@お腹いっぱい。
12/11/21 19:24:11.33 c/Qr6/NT0
前スレの>>127に出てたv2のWinGet/Set周りが仕様変更が分かったので投下

v1の書き方
WinGet, OutputVar, List, ahk_class Hoge

v2の書き方
OutputVar := WinGetList("ahk_class Hoge")

みたいな感じでWinGet/Setのサブコマンドが廃止されてそれぞれ別の関数になった

ちなみにOutputVarはObjectなので
for key, value in OutputVar {}
でループ回せる

218:名無しさん@お腹いっぱい。
12/11/21 19:26:49.26 veHMdPg70
>>216
ClassNNで分岐すりゃいいんでないの

#If SMPlayerActive() && MovieWindowClicked()
LButton::MsgBox Clicked!
#If
SMPlayerActive() {
Return WinActive("ahk_exe smplayer.exe")
}
MovieWindowClicked() {
MouseGetPos,,,, ctrl
;ソフトウェアのバージョンや環境によって QWidget(数字←ここ) が変わるかも
Return (RegExMatch(ctrl, "i)QWidget(9|10)") || RegExMatch(ctrl, "i)MPlayer - The Movie Player\d?"))
}

非アクティブからアクティブに切り替えるときのクリックには対応させてないので、あしからず

219:名無しさん@お腹いっぱい。
12/11/21 19:52:59.81 rRf0qB5OP
>>218
バッチリ動きました!ありがとうございます。
再生が終了して暗転してる状態でも、きちんと識別できました。

個人的な問題は、メインで使ってるスクリプトがAHK初代なので、
常用スクリプトに統合できず・・・新版AHK_Lに移行する決心が付きました。

220:名無しさん@お腹いっぱい。
12/11/21 22:53:46.28 /fouNWHI0
>>217
横レスだが助かる情報だ

221:206
12/11/21 23:10:22.27 ZznyVFkd0
皆さん有難うございます。
特に>>215さん、バッチリ動作しました。
本当に有難う、感謝しています。

222:名無しさん@お腹いっぱい。
12/11/22 23:38:44.45 njqydt+V0
>>213
そうなのですかわかりました

223:名無しさん@お腹いっぱい。
12/11/23 01:11:20.36 jZODSSYO0
ブラウザでウェブページを見ているとき、
フォーカスがあるリンクのurlを取得することはできますか?
autohotkeyでページそのものを取得することは分かるのですが
現在見ているページの特定箇所のリンクの抽出が分からないです
firefoxを使っていますがinternet explorerでもかまいません

224:名無しさん@お腹いっぱい。
12/11/23 10:57:37.66 e4IGcrws0
ToolTipのフォントの大きさを変えられないでしょうか?

225:名無しさん@お腹いっぱい。
12/11/23 12:29:14.14 9oAyNOmGi
>>224
AutoHotkey スレッド part13

URLリンク(mimizun.com)

226:名無しさん@お腹いっぱい。
12/11/23 13:31:19.80 eX6dmNCB0
誤って作成したスクリプトを消してしまい困っています。
ahk2exeでコンパイルされたスクリプトを抽出する事
若しくは起動中のスクリプトを抽出出来ますか?

227:名無しさん@お腹いっぱい。
12/11/23 13:43:02.93 gsdcOrt7P
>>226
exe2ahkってツールで取り出せるけど、
コンパイル時に暗号化してたら駄目だったと思う。

仮にこれで取り出せたとしても、ソース内のコメントが全部消えてる。

俺も昔同じミスをしてしまって泣いた。
対策として、起動時にスクリプト自身を自動でコピーする関数を冒頭に入れるクセをつけた。
履歴も取れるようにして、何度か助かった。

228:名無しさん@お腹いっぱい。
12/11/23 14:35:03.14 eX6dmNCB0
>>227
貴重な情報有難うございます。
早速チャレンジしてみます!

229:名無しさん@お腹いっぱい。
12/11/23 16:39:35.85 9nuaioY40
>>223
Fxならアドオンでどうにでも出来るでしょ

230:名無しさん@お腹いっぱい。
12/11/24 18:52:18.62 rXAo47m+0
salt - Standard Autohotkey Library Transfer - Google Project Hosting
URLリンク(code.google.com)
これは何?

231:名無しさん@お腹いっぱい。
12/11/24 19:59:15.80 F3VoATSk0
見たところ2年以上放置状態みたいだね

232:191
12/11/24 20:08:19.46 Dw4eM04X0
返信が遅れてすみません。皆さんありがとうございます。
>>193 Windows8です。Cドライブ以外のルートではないところにファイルを作ろうとしています。
具体的には>>191を展開したDBAExampleOOP.ahkがあるフォルダ内に
>>191のahkファイルを作っていました

>>194 それを実行したらこうエラーが出ました。
A non-object value was improperly invoked.
Specifically: 0
どうもこれはFor each,...の箇所のエラーのようです(MsgBoxをその前後に置くことで確認しました)
それと気づいたのですが、>>194を実行する度hoge.ahk.logが一行ずつ追記されていくのですが
hoge.sqliteはファイルサイズ0のままです。
逆に、DBAExampleOOP.ahkを実行してconnectボタンを押すと/Test/TestDB.sqliteが正しく作られていました

233:名無しさん@お腹いっぱい。
12/11/25 02:02:30.72 y6mFATtO0
あ、CREATE文こけてるのか。 CREATE OR REPLACE TABLE じゃなく CREATE TABLE なら通るかと。

234:名無しさん@お腹いっぱい。
12/11/25 10:54:26.26 EGkyS6++0
>>233
なるほど確かにそこでひっかかっていました!
どうもありがとうございました。

235:名無しさん@お腹いっぱい。
12/11/25 22:58:31.21 cFTU4TYY0
お尋ねします。
テキスト内の指定した文字列を削除って出来ますか?

236:名無しさん@お腹いっぱい。
12/11/25 23:33:40.64 b/zpkvOu0
出来ます

237:名無しさん@お腹いっぱい。
12/11/25 23:38:50.02 cFTU4TYY0
自己解決しましたどうも

238:名無しさん@お腹いっぱい。
12/11/26 15:12:09.27 hba7EFjV0
聞きたいんですけど、ALT+TABでタスク切り替えした時に
起動中の指定したアプリのアイコンとアプリ名を表示させない事は出来ますかね?

239:名無しさん@お腹いっぱい。
12/11/26 16:47:09.14 hba7EFjV0
WinSet, ExStyle, 0x00000080, ahk_class hoge
これで出来たみたい

240:名無しさん@お腹いっぱい。
12/11/27 20:58:37.21 q++3ycrV0
PCゲームをプレイしていると、ひらがながONになるようなキーを押していないのに
勝手にIMEがONになってしまい、それでキーを押したときの入力不可のエラー音がうっとしいです。

AutohotkeyでIMEを常にオフにすること、あるいは監視してすぐにオフにするようなことできませんか?

PCゲームとは、SteamのTF2とかL4Dです。win7でAtok使ってます。教えてください。

241:名無しさん@お腹いっぱい。
12/11/27 22:21:44.39 e3UTlhPA0
ime.ahkを使って100ms毎にloopを使って監視をする
こんなもんでどうだろう?

242:名無しさん@お腹いっぱい。
12/11/27 22:23:16.58 m0WJWtsW0
質問するときは最低限敬語ぐらい使ったらどうなんだろうと思ったり・・・。

243:名無しさん@お腹いっぱい。
12/11/27 22:31:44.74 0Irg8li20
丁寧語使ってるだけまだマシ

244:名無しさん@お腹いっぱい。
12/11/27 22:32:19.32 0Irg8li20
丁寧語は敬語の一種だった、失礼

245:名無しさん@お腹いっぱい。
12/11/27 22:36:23.39 fFId9oSn0
>>242
え?
一体どのレスが気になったんだか分からない
どんだけお上品な育ちなの

246:名無しさん@お腹いっぱい。
12/11/27 22:46:01.39 wmAXoye+0
何も感じないってのもどうかと思うが、目くじら立てるほどのことでもないな。

247:名無しさん@お腹いっぱい。
12/11/27 22:50:58.43 m0WJWtsW0
そうなんだよね、ちょっと濁して言って見たらこんなに反応するなんて・・・荒れちゃってごめんなさい。

248:名無しさん@お腹いっぱい。
12/11/27 23:13:29.21 bLzJBz+30
感じが悪いレスだと無視&淘汰されてちょうどよい感じになってるのが当スレ

249:名無しさん@お腹いっぱい。
12/11/27 23:16:47.03 fFId9oSn0
みんな丁寧語で質問してるしきちんと回答も付いてる超優良スレだろ
つまり>>242を華麗にスルーすれば良かったってことか、正直すまんかったな

250:名無しさん@お腹いっぱい。
12/11/27 23:20:31.97 m0WJWtsW0
>>248
了解

251:名無しさん@お腹いっぱい。
12/11/27 23:27:20.57 0Irg8li20
確かにここは俺の巡回スレの中でもラム酒スレの次に穏やかな良スレ

252:名無しさん@お腹いっぱい。
12/11/27 23:35:08.13 ef0W8O4v0
敬語であろうがなかろうがクレクレや努力の匂いのしない教えて君はぶっ叩くがね
それはそうと敬語使ってない質問ってどれ? まじでわからん

253:名無しさん@お腹いっぱい。
12/11/28 05:41:54.38 IzSTTbOH0
途中まで頑張りましたがここがわかりません っていう調べた努力が認められると、
丁寧にサポート&添削、あるいは完璧に動作するスクリプトを提示してくれる。
動いたって報告があがり、添削してあげる側も気持ちがよい。

しかし、途中まで頑張った素振りをして、これ以上詳しく調べるのが面倒だから
俺の代わりに埋めてね ってオーラが少しでも出ると無視される。

両者は本当に微妙な差なのだが、なんだかんだでバレる。

一見おとなしいが、雑に乗ると簡単に振り落とされる、乗馬のようなスレ。

254:名無しさん@お腹いっぱい。
12/11/28 10:05:50.31 iNPLQKUO0
あるプロセスのメモリをアドレス指定して監視させ、値が変わったらキーボードで文字入力するスクリプトを組みたいのですが、、、
途中まで頑張ったのですがわからなくなってしまいました・・・
13歳JCです…。熱でてるけど、がんばってます・・・だれか優しく教えてしてください・・

255:名無しさん@お腹いっぱい。
12/11/28 11:04:06.37 cVyoMyha0
とりあえずソースup

256:名無しさん@お腹いっぱい。
12/11/28 12:24:36.66 Uyrp9I320
服を脱ぎます

257:名無しさん@お腹いっぱい。
12/11/28 19:31:55.79 QHbDJAQV0
そしてネギを咥えます。

258:名無しさん@お腹いっぱい。
12/11/28 20:50:08.67 MUHhhJET0
13歳JCで「プロセスのメモリをアドレス指定して監視させ、値が変わったらキーボードで文字入力するスクリプト」
とか言っちゃうような並はずれた興味関心の持ち主なら、こんなところでそんな気弱な質問をするはずがないです

259:名無しさん@お腹いっぱい。
12/11/28 23:44:34.28 loT17b830
>>240
>>241さんので出来ました Google IMEいけたけど、atokはどうだろ

SetTimer, disable_ime, 100 ; 100msec毎に繰り返し
return

#include c:\IME.ahk ; 089.zipより
disable_ime:
currentIMEStat := IME_Get()
ifWinActive, (制御したいアプリ) {
if (currentIMEStat = 1) {
IME_SET(0)
}
}
return
F12::
ExitApp

260:名無しさん@お腹いっぱい。
12/11/29 00:27:46.89 lmpPXJEC0
>>259
こうかくとシンプルになるよ
if (IME_Get()= 1) {

261:名無しさん@お腹いっぱい。
12/11/29 09:24:26.98 24IbdzZz0
IME.ahk x64 対応版
URLリンク(www6.atwiki.jp)

TSF問題は解決してません

262:名無しさん@お腹いっぱい。
12/11/29 17:35:11.22 LwkqFJVo0
つまずいたので質問させてください
VMWare上でAndroidとWindowsの環境を導入してテストしています
AHKには対象classへkeysendやマウスの操作を送ることができるそうなので
テストを自動化しようと思ったのですが、
ホスト側からVMWare上で動いているマシンに送れませんでした。
classはVMのwindowに送ったのですが、対象classが違うのか、
もしくは単純にこういったソフトからはキー操作やマウス操作を受け付けないのでしょうか?

263:名無しさん@お腹いっぱい。
12/11/29 18:33:49.91 /54ke3Q60
>>260 ありがと。あとで使おうと思って、処理がすんだら戻してたんだ。

SetTimer, disable_ime, 100
return

#include c:\IME.ahk
disable_ime:
ifWinActive, 制御したいアプリ
{
if (IME_Get() ) {
IME_SET(0)
}
}
return

264:名無しさん@お腹いっぱい。
12/11/29 20:00:49.22 /54ke3Q60
>>262 VMWareがアクティブでフォーカスが当たってる条件でも良いなら、sendやclickでキーやクリックは送れる。でもそれだとUWSCで十分だな・・
操作をどうやって送ろうとしてる?

VMWareがアクティブじゃない時に操作を送りたいならControlSendがいけそうだとおもったけど、ダメだった。
TrayTip,,
ifWinNotExist, ahk_class VMPlayerFrame
return
ControlSend, MKSEmbedded1, test, ahk_class VMPlayerFrame ; エラーにならないけど動かず
if (ErrorLevel) {
TrayTip,, fail: %ErrorLevel%
} else {
TrayTip,, ControlSend: おk
}
return
あと、VMWareがアクティブの時にホスト側で押されたホットキーの検出は出来なかった。

265:名無しさん@お腹いっぱい。
12/11/29 23:26:30.47 LwkqFJVo0
>>264
ウィンドにフォーカスがあってアクティブなら確かにそのまま送れるんですけどね…

テストしてるときにパラメータとかをホスト側でメモしたり管理したりすることが必要なので、
できればノンアクティブ状態でやろうと思ってました。
複数の窓を開いて作業をすることも多いもので…
私も以前ControlSendで試してみたのですが、同じようなコードでした
やはりだめなのでしょうか…

266:名無しさん@お腹いっぱい。
12/11/30 00:32:06.73 n3V6HQZX0
>>265 うーん、斜め上すぎるけどVMWareのAndroidにIP割り当ててVNC Server 立ち上げておいて
制御用PC(VMWareのホストOSじゃなくてもいい) のVNC ViewerのウィンドウをAHKで制御するというのはどうだろ・・ネットワーク繋げないなら意味ないけど・・
(参考)
URLリンク(www.youtube.com)

 Android(VNC Server) -- (VMWare仮想net) -- ホストOS -- (IP) -- 制御用PC(VNC Viewer複数 <-- AHK)

一応、ultra vncだとControlSendは受け付けてくれた
F2::
sendtest2vnc()
return
sendtest2vnc() {
TrayTip,,
ifWinNotExist, ahk_class VNCMDI_Window
return
ControlSendRaw, VNCviewer, test, ahk_class VNCMDI_Window
if (ErrorLevel) {
TrayTip,, fail: %ErrorLevel%
} else {
TrayTip,, ControlSend: おk
}
return
}

# 自分の環境の場合、ゲストもXPだからゲストでAHK立ち上げておいて、ホストからAHKでTCPで制御できるから楽なんだけど・・
# Androidのsynergyという手もあるか

267:名無しさん@お腹いっぱい。
12/11/30 00:33:07.45 n3V6HQZX0
貼り間違え・・× ControlSendRaw ○ ControlSend

268:名無しさん@お腹いっぱい。
12/12/01 16:28:04.58 Z9OEPpN70
>自動置換型の場合、終了文字は置換後のテキストが入力されたあとに入力される。(Enterキー以外)

って解説サイトにあったんだけど、Enterも入力されるみたいなんだ俺だけ?
Oオプションで無効化できるけど(AutoHotkey v1.1.09 Win7、Vista)

269:名無しさん@お腹いっぱい。
12/12/01 16:50:43.40 Z9OEPpN70
ごめん重ねてもう1つ

::sage::さげ
::hage::はげ

こうホットストリングが設定したとして、
メモ帳とかにhogesageって打ちこんでもhogeさげってなってくれない
エンターとか半角スペースとかの終了文字を押してからならちゃんど動作する

①hogesage → hogesage
②hoge sage → hoge さげ

こうなる
#Hotstringでの全体指定はしてません
IMEが日本語入力になっている時は問題なし
IMEがOff、または英語入力になっている時だけこうなる

①になるようにしたいんだけど解決方法知ってる方いませんか

270:名無しさん@お腹いっぱい。
12/12/01 17:26:49.09 bBgiZGCl0
>>266
やはりVNCなどを使う手になりますか…
実はすでに何種類かVNCServer系のアプリで試してみたのですが、
まずServerを確立することができず、別のアプリ(Remote Web Desktopやらandroidscreencast)
を試してみたのですが、うまくいかず…
ここまでくるとこのスレに適さずAndroidスレにて相談ということになりそうですね…
ですがVNCでコントロールができる事がわかっただけでもよかったです、ありがとうございます

271:名無しさん@お腹いっぱい。
12/12/01 18:39:58.67 jdwJbiMr0
>>269
:*:sage::さげ
でだめ?

helpのHotstrings and Auto-replaceに書いてた。
Unless the asterisk option is in effect, you must type an ending character after a hotstring's abbreviation to trigger it.

272:名無しさん@お腹いっぱい。
12/12/01 18:45:21.84 jdwJbiMr0
>>271 まちがい * (asterisk): An ending character (e.g. space, period, or enter) is not required to trigger the hotstring. For example: って書いてた

273:名無しさん@お腹いっぱい。
12/12/02 00:39:51.96 UvTpoJDV0
>>271
*だとだめだったけど?で行けた!ありがとう!
?は単語の途中であっても発動する、ってオプションらしい
hogesageがhoge+sageじゃなくて"hogesage"っていう一単語として認識されてたのかな?
たぶん英語環境だとI am catみたいに半角スペースが入るのがデフォだからかな

あとよく考えたら>>269でIMEが日本語の時に問題ないのって
変換確定でエンター押してたからだとよな・・・

274:名無しさん@お腹いっぱい。
12/12/02 07:06:45.89 FaNwn2zp0
ホットストリングの件

マニュアル熟読すれば設定と挙動の違いは書いてあるよ

275:名無しさん@お腹いっぱい。
12/12/06 01:21:54.81 u4QwuOFw0
流行らせるページの使用例のとこ見て#l::send,{right}ってしたら連打したときにログオフされてしまいます
SetKeyDelayっていうのを利用すればいいんでしょうか?

276:名無しさん@お腹いっぱい。
12/12/06 01:27:38.40 u4QwuOFw0
あ、AHK_L Unicode x86使ってます
Vista 32bitです

277:名無しさん@お腹いっぱい。
12/12/06 18:36:18.15 btTFsgdy0
使われていないツールチップの番号を取得する事は可能でしょうか?

278:名無しさん@お腹いっぱい。
12/12/06 19:24:32.28 t7vEfWmb0
これはもう開発終了や閉鎖をしてしまった?
公式に繋がらないんだけど、AutoHotkey_Lをダウンロードできる所は他にないかな?

279:名無しさん@お腹いっぱい。
12/12/06 19:33:14.11 yJYmL7gO0
URLリンク(download.cnet.com)

280:名無しさん@お腹いっぱい。
12/12/06 22:13:52.95 UwBXT0mT0
>>278
URLリンク(l.autohotkey.net)

281:名無しさん@お腹いっぱい。
12/12/06 23:28:10.49 t7vEfWmb0
>>279-280
ありがとう、今試したら公式直ってた。一時的だったみたいね。

282:名無しさん@お腹いっぱい。
12/12/07 07:49:54.18 A4sdo2Hr0
ControlSend,,{Right},無題 - メモ帳 ahk_class Notepad
ControlSend,,{Rigth},ahk_class WindowsForms10.Window.8.app.0.378734a

上はうまく行って下はうまく行かない理由は何が考えられますか?
下はTypictという.NETアプリなんですが…

283:名無しさん@お腹いっぱい。
12/12/07 08:52:45.21 F5Rm6Xzq0
送り先のControlを省略してるから
・ClassNN調べて指定で試してみる
・ダメならControlGetでHwnd取得して ControlSend,,{Rigth},ahk_id %ControlHwnd%

284:名無しさん@お腹いっぱい。
12/12/07 22:39:10.96 GXTNVcK80
質問です
・無変換キーとwでoになる
 vk1Dsc07B & w::Send,{o}
・ctrl押してからの無変換とwで^oにしたい
 ctrl & vk1Dsc07B & q::Send,{^o}
だと思ったように動かない員ですけどどうしたらいいいでしょうか

285:名無しさん@お腹いっぱい。
12/12/07 22:43:46.66 R4RXrBln0
{}要らないんじゃないかなーと思った。夏

286:名無しさん@お腹いっぱい。
12/12/07 22:49:29.46 rdwDMcg70
vk1Dsc07B & q::
  if GetKeyState("Ctrl", "P")
    Send, ^o
  return

Ctrlが押されているかで分岐すればいい。

287:名無しさん@お腹いっぱい。
12/12/08 01:07:30.72 MYHmYPvz0
ありがとうございます。if文はこう使うのですね

vk1Dsc07B & q::
if GetKeyState("Ctrl")
Send, ^o
else Send, o
return

こんな感じで左手だけで操作できるようになれました。

288:名無しさん@お腹いっぱい。
12/12/10 20:12:15.31 HtyKyE5p0
vimみたいに↓キーとかPgDnキーとかの前に42とか打つと42回それぞれを繰り返してくれるように出来ませんか?

289:名無しさん@お腹いっぱい。
12/12/10 20:21:17.56 M1uj4cRV0
モードありなら、数字じゃなくなるまでキーを受け取って
それを数に変換して最後のキーを繰り返す
しか思いつかなかった
モードなしだと使いづらそう

290:名無しさん@お腹いっぱい。
12/12/10 23:38:53.16 HtyKyE5p0
モードってKeyMapで設定していくんですかね
その方向で頑張ってみます

291:名無しさん@お腹いっぱい。
12/12/11 20:33:32.07 Bx7Eu8DN0
ブラウザで特定のサイトでだけ中クリックの挙動を変えたいんです

urlフォーカス→ コピー → クリップボード部分一致をかける 

でできると思うんですけど、
中クリックだけにそのまま本来の機能をしてほしいページで
いちいちこの挙動(フォーカス)をされたらたまらないので
単純なものをつなぎ合わせた連続作業でなく
直接的にURLを検出する方法ってないですか?

292:名無しさん@お腹いっぱい。
12/12/11 20:47:05.38 s+Ak3LxE0
ブラウザのウインドウタイトルじゃダメなの?

293:名無しさん@お腹いっぱい。
12/12/11 20:51:29.09 Bx7Eu8DN0
はい URLのほうが確実なんです

294:名無しさん@お腹いっぱい。
12/12/11 20:53:50.17 jdSRvNB70
ブラウザ名も書いてないし、ウインドウタイトルで駄目な理由も不明瞭。

295:名無しさん@お腹いっぱい。
12/12/11 20:58:59.23 Bx7Eu8DN0
火狐です

例えば なんらかの2chのページのみで機能を変えるのに

AutoHotkey スレッド part15 だったらこのスレでしか効かないような気がするので

296:名無しさん@お腹いっぱい。
12/12/12 12:18:26.96 GPZ0NQwU0
>>295
ウインドウタイトルを正規表現でマッチさせるとか?
FirefoxでURL取得する方法があれば俺も知りたい。

297:名無しさん@お腹いっぱい。
12/12/12 16:39:52.49 EAQHbR/O0
URLを取得するのはAHK単独ならショートカットキー使って
クリップボードに入れるしかないよ

前面にあるウィンドウを出している実行ファイルの
パスを取得することってどうすれば可能だろう?

298:名無しさん@お腹いっぱい。
12/12/12 16:45:28.60 ihA2uz9I0
>>295
customize_titlebar_v2 :: Add-ons for Firefox
URLリンク(addons.mozilla.org)
タイトルバーにURLを表示させるアドオンを入れれば取得出来たよ。
ただ、カスタム書式でURLのみの表示にするためには、オプションから選べる{currentURL}ではなく、{currentUrl}と入力しなければならない。

299:名無しさん@お腹いっぱい。
12/12/12 17:04:55.85 6EoMmPbV0
タイトルにURL追加するアドオン作ればいいんじゃないかなとか思ってたらすでにあったのかw

>>297
WinGet, Path, ProcessPath, A
MsgBox, %Path%
こういうこと?

300:名無しさん@お腹いっぱい。
12/12/12 19:00:31.75 EAQHbR/O0
>>299
おお、まさにこれだ
AutoHotkeyJpにはProcessPathがなかったから気づけなかった
ありがとう

301:名無しさん@お腹いっぱい。
12/12/12 19:34:27.35 KEFRobzt0
>>289さん
!g::KeyMap:=!KeyMap
とモードを設定したんですがそこからが分かりません
↓まで考えたのですが、MatchListの文字の前に入力される数字をInputDigitとして拾い数字に変換するにはどうすればいいのでしょう?
三行目にTrimedDigitを数に変換しInputDigitに格納するコマンドを入れればいいのでは、と思っているのですが……

Input, InputChar, M, {Esc}, {down},{up},{left},{right},{PgDn},{PgUp}
StringTrimRight, TrimedDigit, InputChar, 1

 if ErrorLevel = Match
  {
   if InputChar = {down}
   send,{down %InputDigit%}
  else
   if InputChar = {up}

     ~~~

  }
return

302:名無しさん@お腹いっぱい。
12/12/12 21:58:29.65 w6r33sFq0
Input, InputChar, I, {Esc}{Down}{Up}{Left}{Right}{PgDn}{PgUp}
Endkey := RegExReplace(ErrorLevel, "EndKey:")
RegExMatch(InputChar, "^(\d+)", Count)

If (EndKey != "Esc")
  Send, {Blind}{%EndKey% %Count1%}

vim知らないから、なんか見当違いの答え書いてるかも…

303:名無しさん@お腹いっぱい。
12/12/12 23:21:29.35 KEFRobzt0
>>302
!g::のホットキーラベルにしたら!g42{down}で42回↓キーを繰り返してくれました!ありがとうございますm(_ _)m
ほんとは!g入れなくてもいいと完璧なんですが……

今思いきってサクラエディタとIEをvim風にしてます
とりあえずノーマル・挿入・ビジュアルモードはだいたい出来てますがノーマルモードの時に!g無用の42{down}等が出来るよう頑張ります!

304:名無しさん@お腹いっぱい。
12/12/13 00:08:09.32 Mt0P6aX60
もっと思い切って素VimとFirefox Vimperatorを使ってみてはいかが

305:名無しさん@お腹いっぱい。
12/12/13 00:12:07.87 ykI3cZjV0
!g::KeyMap := !KeyMap

#If (KeyMap)
1::
2::
3::
4::
5::
6::
7::
8::
9::
KeyMap := !KeyMap ; 一時的にオフにする

Input, InputChar, I, {Esc}{Down}{Up}{Left}{Right}{PgDn}{PgUp}
Endkey := RegExReplace(ErrorLevel, "EndKey:")
RegExMatch(InputChar, "^(\d{0,2})", Count)
Count = %A_ThisHotKey%%Count1%

If (EndKey != "Escape")
  Send, {Blind}{%EndKey% %Count%}

KeyMap := !KeyMap ; オンに戻す
Return

一応モード切替で動くようになったけど、色々問題がある気がが

306:名無しさん@お腹いっぱい。
12/12/13 01:13:28.01 xbsYtvdG0
>>304
それもそうですね。本家vimのバインドも思ってたほど難しくないみたいですし
と言うかそれが最適解?

Vimperatorっていうのも検討してみます
でもFirefoxってうちだと重くって……2,3Verくらい前は結構軽かったのに……

>>305
ありがとうございます、参考になります

307:名無しさん@お腹いっぱい。
12/12/13 02:47:09.74 k0fYsriE0
>>305
これはわかりやすくてシンプルだね

308:291
12/12/13 17:19:09.70 OSm7M/AY0
すみません 冗談のようですがこのタイミングでアク禁くらいました
回答してくださった >>292 >>294 >>296-298 さんありがとうございます
とりあえず教わった方法でやってみたいと思います

309:名無しさん@お腹いっぱい。
12/12/15 13:51:27.31 IrhOIhr10
マウスの戻るボタンおしっぱなしで前のタブへ戻ったり進むボタン押しっぱなしで次のタブに移りたいと思っています
でもマウス拡張ボタンの描き方が調べてもわかりません。ダレか教えてくれませんでしょうか

310:名無しさん@お腹いっぱい。
12/12/15 14:02:16.45 4i9aK6iS0
何のソフトのタブなのかなど情報がまったくないのにどうしろと

311:名無しさん@お腹いっぱい。
12/12/15 14:18:46.36 IrhOIhr10
send,{Ctrl down}{tab}{Ctrl up}っていう条件はできてるんです
x1かx2を押しっぱなしにするっていう条件の書き方がイマイチわからなくて

312:名無しさん@お腹いっぱい。
12/12/15 14:25:58.29 Bwr4YuR40
典型的な条件小出しのパターン

313:名無しさん@お腹いっぱい。
12/12/15 15:05:38.18 B1qTGDNR0
訊かれたら答えるんじゃなく、
最初から「どういう環境で」「何のソフトで」「何がしたくて」「どこまでできてて」「このへんがわからない」
というのをすべて書け

314:名無しさん@お腹いっぱい。
12/12/15 16:00:16.65 Xx/AoYyG0
Runコマンドで、管理者で実行同等の起動方法ってありますか?

315:名無しさん@お腹いっぱい。
12/12/15 19:16:04.95 pwugi7hQ0
>>309
マウスでもキーボードでも大して変化ない
キーボードでのその種のサンプルはいくらでもあるからそれを参考にすればいいのでは

>>314
RunAs, Administrator, pass
ただahkファイルにもろにパスを書くことになって気持ち悪さが残る
他にはAHK自体を管理者権限で実行しておくとか

316:名無しさん@お腹いっぱい。
12/12/15 19:31:10.86 EF02U5+F0
長押し判別のサンプルが欲しいだけってことなら、このスレを「長押し」で検索すればおk

317:名無しさん@お腹いっぱい。
12/12/15 22:07:34.19 oqkPfUtP0
1.1.09.01 - December 15, 2012

Fixed AND/OR following a multi-statement comma, like ((x, y) and z).

Fixed RegExReplace to support duplicate subpattern names correctly.

Fixed Object.Remove() not freeing string keys.

Fixed base.Invoke() to not depend on dynamic variable resolution.

318:名無しさん@お腹いっぱい。
12/12/16 20:52:14.73 vn9LTdLR0
>>315
>>314の件、アドバイス有難うございます
色々と試してみます

319:名無しさん@お腹いっぱい。
12/12/17 00:12:11.95 b24XDeZ00
突っ込まれた後、アンカーつけずに1行~2行で小出しにする奴は全員クズ

320:名無しさん@お腹いっぱい。
12/12/18 04:16:32.77 qjaGm6vJ0
sprintf ("%02d", $hoge);

これと同じ事をAutoHotkeyでやるにはどう書けばいいんでしょうか?

321:名無しさん@お腹いっぱい。
12/12/18 07:49:06.38 qjaGm6vJ0
自己解決したので取り下げます

322:名無しさん@お腹いっぱい。
12/12/19 09:50:37.90 zhFsWhhx0
同じプロセス名のPIDを全て取得したいです。
URLリンク(sites.google.com)
例4: DllCallを利用して実行中のプロセス一覧を取得し、メッセージボックスに表示する
で、プロセス名と同時にPIDを取得できればと思ったのですがやりかたがわかりません。
申し訳ありませんが教えてください。

323:名無しさん@お腹いっぱい。
12/12/19 10:10:41.32 RVkTFNTP0
PIDを全て取得したあと、なにをしたいのかを書いたほうがよいかと。

324:名無しさん@お腹いっぱい。
12/12/19 11:47:48.52 YYiQqEEv0
>>322
WinGet same_apps, list, ahk_exe notepad.exe
MsgBox % "Count: " same_apps
Loop % same_apps
{
id := same_apps%A_Index%
WinGet pid, pid, ahk_id %id%
MsgBox % "PID: " pid
}
Return

325:名無しさん@お腹いっぱい。
12/12/20 12:34:51.67 r5lNrZ5v0
GUIによってクラス取得できなかったり、テキスト取得できなかったりします。
これては何が原因ですか?
解決策や大体方法ってありますか?

326:名無しさん@お腹いっぱい。
12/12/20 23:07:43.19 6qmVdPLy0
URLリンク(i.imgur.com)
StringReplaceとかRegExReplace()とか使おうとするとこのエラーが出るんですがどの文字がイリーガルなんでしょう?

Everything等でコピーしたファイル(群)をだいなファイラーのカレントディレクトリに貼り付けしようとしてるのですがこれが邪魔して先に進めません
一応1ファイルを貼り付けることは出来るようになったのですが複数ファイルとなると改行を半角スペースに置換しなければならないので……

当方AHK_L U32です

327:名無しさん@お腹いっぱい。
12/12/20 23:33:43.20 KnjRzDDQ0
>>326
%Files%のとこ変数を指定するとこだから%で囲んだら「C:\Appsなんたらかんたら」っていう変数だと解釈されるよ

Test = xxxaiueoxxx
xxxaiueoxxx = xxxあいうえおxxx

StringReplace, OutputVar1, Test, xxx,, All
StringReplace, OutputVar2, %Test%, xxx,, All
MsgBox, %OutputVar1%`n%OutputVar2%

328:名無しさん@お腹いっぱい。
12/12/21 00:09:09.27 eYe18/Hi0
>>327
ありがとうございました、お陰様でうまくいきました

329:名無しさん@お腹いっぱい。
12/12/21 10:09:33.57 GUJMRzaC0
>>323
ごめんなさい。
目的を書いたほうがよかったですね。
同じProcessを複数実行したときに監視して1つだけ処理させたかったです。

>>324
できました。
ありがとうございます。

330:名無しさん@お腹いっぱい。
12/12/22 11:08:55.93 /Phr9nK00
開いているフォルダの複製を新しいウィンドウで開く。つまり、同じフォルダを並べて表示させたい。

URLリンク(www.autohotkey.com)
ここにあるExplorerのフルパスを取得する関数で、複製したいフォルダのパスを拾い、
それを Run コマンドで実行させれば行けると思ったのですが、どうも上手くいきません。

F1::path := Explorer_GetPath()
F2::run,%path%

F1 → F2 :フォルダが開かれない
F1 → フォルダを閉じる → F2 :フォルダは開くが、次にF2を押してもフォルダは開かれない

多分、指定したパスのフォルダが既に存在している場合には、キャンセルされるのだと思います。
どうにかキャンセルを回避する方法はないでしょうか?

331:名無しさん@お腹いっぱい。
12/12/22 11:35:26.37 NwrirQf00
F2::Run, Explorer.exe %path%
とかは?

332:330
12/12/22 11:44:58.66 /Phr9nK00
>>331
出来ました。ありがとうございます。

333:名無しさん@お腹いっぱい。
12/12/23 00:22:09.74 hn0uXkKq0
URLリンク(muumoo.jp)
ここ見て
sc029::LWin
としてもWinキーを離してくれないんですがどうしたらいいのでしょう
sc029::send,{LWin}
とするとWin+Rとか効かなくなりますよね

334:名無しさん@お腹いっぱい。
12/12/23 01:31:19.43 GfjEdpc/0
Windowsキーの割り当てが変更されるわけではないのでWin+Rとか関係なくね?
sc029::send,{LWin}
これで問題ないと思うんだが?

反応しないならこれでもいいし
sc029::
Send,{LWin Down}
Send,{LWin Up}
Return

335:名無しさん@お腹いっぱい。
12/12/23 01:57:27.76 GfjEdpc/0
sc029+R って意味か失礼

336:名無しさん@お腹いっぱい。
12/12/23 03:22:21.85 GfjEdpc/0
>>333
>>4 他のキーならこれでいけるんだけど駄目かな?

;vk1Dsc07B = 無変換
#UseHook
vk1Dsc07B::
SendInput,{LWin Down}
KeyWait,vk1Dsc07B
SendInput,{LWin Up}
Return

337:名無しさん@お腹いっぱい。
12/12/23 11:22:28.85 hn0uXkKq0
>>334
後者で出来ました
ただDownとUpの間にsend,rとかはさむとまたWinキーを離してくれません
よく分からないので保留しときます
どうもでしたm(_ _)m

338:名無しさん@お腹いっぱい。
12/12/28 03:46:39.98 ESOvoOi40
すみません、前スレでオナニー用片手フルコントロールキーマップについて質問しました777です
なんか>>333さんと同様なんですが、↓のようなのをやるとカタカナひらがなキー(vkF2sc070)を離してくれません
send,{vkF2sc070 Up}を最後に挟んだり>>336さん方式にしたりもしたんですが……
どうにかして離させることは出来ませんか? このままでは捗りません……

vkF2sc070 & k::
 if(keymap=0){
  send,: & k
} else if(keymap=1){
  send,: & k
} else if(keymap=2){
  send,: & k
} else if(keymap=3){
  send,k
}
return

vkF2sc070 & l::
 if(keymap=0){
  send,: & l
} else if(keymap=1){
  send,: & l
} else if(keymap=2){
  send,: & l
} else if(keymap=3){
  send,l
}
return

339:名無しさん@お腹いっぱい。
12/12/28 04:19:44.61 ESOvoOi40
あ、すみません>>4読んでなかった
出直してきます

340:名無しさん@お腹いっぱい。
12/12/28 22:00:47.60 +2wcYtZJ0
AとBのフォルダに同名ファイルが存在するときにAのものを削除するってどう書くんでしょ

341:名無しさん@お腹いっぱい。
12/12/28 22:14:24.06 CU6d2p5A0
>>14

342:名無しさん@お腹いっぱい。
12/12/30 02:24:52.71 Zc8z910L0
FileAppendでクリップボード内の日本語を含むパスを扱うと日本語が・・になってしまうのですが、回避するにはどうすればいいのでしょう?
32bitのUnicode版なので2バイト文字云々は大丈夫だろうと思ってたんですが……

343:名無しさん@お腹いっぱい。
12/12/30 02:43:03.48 l6Rrm5Z20
>>342
>>14

344:名無しさん@お腹いっぱい。
12/12/30 03:08:08.76 Zc8z910L0
最後に, UTF-8ってつければいいとAutoHotkeyJPに書いてありました
流行らせるページしか見てなかった……

345:名無しさん@お腹いっぱい。
12/12/30 23:16:09.24 sq1B8EyW0
特定のウィンドウがアクティブな時にどれか(不特定)のキーを入力したら指定したウィンドウをアクティブにする
という動作をさせる方法ってありますか?

346:名無しさん@お腹いっぱい。
12/12/31 00:11:34.39 /x88YbXJ0
#IfWInActiveつかって
面倒くさがらずに、全部のキー列挙するだけ

347:名無しさん@お腹いっぱい。
13/01/01 01:23:54.68 pBjx41bK0
どのキーに何を割り当てるか悩みまくった一年だった……

348:名無しさん@お腹いっぱい。
13/01/01 03:42:06.90 bq282g/M0
あまりにスクリプトが増えて一つのキーじゃなしにストロークに割り当ててる
ランチャーソフトfenrirを「AutoHotkeyスクリプトランチャー」にしてそこからコマンド入力して機能にアクセスしてる

349:名無しさん@お腹いっぱい。
13/01/01 15:10:47.50 jV4UHTQA0
Error1,2,3のタイトルのダイアログがアクティブになったら"キャンセル"を押させたいのですがうまく動きません。
一応、下のように作ってみたのですが起動させようとしても一向にAHKが反応してくれません。
反応しないとはタスクバーにHマークが出てこないと言う意味です。
間違っている点があれば教えて下さい。

#IfWinActive Error1 ahk_class #32770
ControlClick キャンセル, Error1 ahk_class #32770
return
#IfWinActive

#IfWinActive Error2 ahk_class #32770
ControlClick キャンセル, Error2 ahk_class #32770
return
#IfWinActive

#IfWinActive Error3 ahk_class #32770
ControlClick キャンセル, Error3 ahk_class #32770
return
#IfWinActive

350:名無しさん@お腹いっぱい。
13/01/01 17:50:15.33 cXUJFGA80
#If系はホットキーを定義する際に用います
通常の実行制御の場合はIfWinActiveを使用します

いつ出るか分からないようなものを対象とするなら
自分でタイマーなりループを回して常に監視しておく必要があります

351:名無しさん@お腹いっぱい。
13/01/01 18:01:03.38 70JJzZ9L0
間違えだらけ、修正というか書き直しになるなw
とりあえずリファレンス全部読んでから書いた方がいいぞ・・・。
URLリンク(sites.google.com)

352:名無しさん@お腹いっぱい。
13/01/01 18:13:30.51 kYJIQPUQ0
そこアルファベット順がないのが不便すぎて使えないんだよな
いつも流行らせるページ使ってるわ

353:名無しさん@お腹いっぱい。
13/01/01 18:20:47.50 70JJzZ9L0
>>352
これで十分だと思うぞ?
URLリンク(sites.google.com)

354:名無しさん@お腹いっぱい。
13/01/01 18:28:18.82 kYJIQPUQ0
どこクリックすればそんなページ出るんだ?

いずれにしても初心者にはコマンドの種別なんてできないし
ググったあとに詳細調べるから全部あわせてアルファベット順になってくれてないと不便なんだよ

355:名無しさん@お腹いっぱい。
13/01/01 18:31:19.92 zefJ5iik0
>>353
一覧表示って出来たのか…
さっそくブックマークに登録したw

356:名無しさん@お腹いっぱい。
13/01/01 18:34:30.31 70JJzZ9L0
どこのページも更新止まっちまったからなー
いっそのことWIKI作ったほうがいいんだろうけど
下地用にコマンド解説内容、丸々コピーすると怒られるよね?w

357:名無しさん@お腹いっぱい。
13/01/01 19:43:04.70 TjuImFJt0
流行らせるページ作者に確認すりゃええんでない。

358:名無しさん@お腹いっぱい。
13/01/01 19:45:40.37 jV4UHTQA0
>350-351
ありがと
SetTimerで思った事ができそう

359:名無しさん@お腹いっぱい。
13/01/01 20:01:23.58 FpvIk0CP0
公式のDocumentationだけで十分だろ

360:名無しさん@お腹いっぱい。
13/01/01 20:03:05.83 zefJ5iik0
英語が読めたらなぁ…

361:名無しさん@お腹いっぱい。
13/01/02 13:09:28.25 rzgozGmn0
苦手意識から読めないと思ってるだけで
技術文書だと簡単な表現しか使われてないから
高校さえ出てれば専門用語を辞書検索してだいたい読めるはず

362:名無しさん@お腹いっぱい。
13/01/02 14:27:29.04 N0xSBjEb0
いちいち専門用語を辞書検索に反感して言うわけじゃないが
Wiki作るのは賛成。
だが協力はしない

363:名無しさん@お腹いっぱい。
13/01/02 14:55:02.43 fl2FwUZF0
だって役に立たないもんな>>362

364:名無しさん@お腹いっぱい。
13/01/02 21:33:29.46 mpzqLcH10
英語は読み込めば理解できるものでもパっと見で概略つかめないんだよね
辞書引いた直後には意味が分かっても次に見たときにまた読解が必要てのは自分はしんどいな

コマンド解説やヘルプってそれそのものが辞典みたいなもんで
ちょっと確認したいときでも何度も読み返すから未だに古い日本語ヘルプ使ってるわ
ヘルプましんのchm編集すっげめんどくさかったけど

365:名無しさん@お腹いっぱい。
13/01/03 00:00:15.18 BSPLfxPq0
ClipWaitが効かないんですがなにか関係するコマンドありますか?
おかげで古いクリップボードの中身が使われてしまいます……

366:名無しさん@お腹いっぱい。
13/01/03 00:02:12.86 hInERZ8J0
>>365
>>14

367:名無しさん@お腹いっぱい。
13/01/03 00:29:23.96 EJqdcX/f0
めんどくさいときは>>14
便利だなぁ

368:名無しさん@お腹いっぱい。
13/01/03 00:40:55.22 xjG1EXYz0
そりゃ既にテキストとして読み取れる内容がクリップボードに入ってりゃclipwait意味ないでしょ
クリップボードをクリアしておくとかなんかしないと
まあとりあえず>>14

369:名無しさん@お腹いっぱい。
13/01/03 02:07:30.49 YSRUBcxW0
お前ら意地悪だなw コード出させる間でもなく原因わかってんじゃんか

>>365
clipwaitは「クリップボードの中身が変わるまで」ではなく、
「クリップボードが空じゃなくなるまで」の判定
なので>368のいうように実行前にクリップボードをクリアしておくなどの処理が必要

370:名無しさん@お腹いっぱい。
13/01/03 02:50:33.30 tjlDRf0G0
Clipboardの使い方なんてほとんど定型なのに
わざわざ動かないコード書かせてどんなエレガントな添削をするつもりなんだろ

371:名無しさん@お腹いっぱい。
13/01/03 04:44:35.77 HCJOs8v60
14へ行け

372:名無しさん@お腹いっぱい。
13/01/03 05:33:24.81 V9vm+ogp0
流行らせるページのタスクトレイアイコン操作のスクリプトを使ってみたのですが、
Tray_GetInfoは格納される変数が全て0になってしまい、Tray_GetTextは文字化けしてしまうと言うか
何かバグが起こっているようで使う事が出来ません
Win32API等を呼び出せば出来るようデスガ1時間程格闘した結果ぼくにはちんぷんかんぷんです
環境はWindows764Bit、AutoHotkeyU64です
以下コードと画像です、もうほんとどうかお助けくだしい・・・

URLリンク(gazo.shitao.info)

DetectHiddenWindows,On
var:=Tray_GetCount()
msgbox %var%

loop %var%
{
idx=%A_index%
Tray_GetInfo(%idx%,hwnd,uid,msg,hicon)
msgbox %idx%`nhwnd %hwnd%`nuid %uid%`nmsg %msg%`nhicon %hicon%
}

loop %var%
{
idx=%A_index%
text:=Tray_GetText(%idx%)
msgbox %idx%`n%text%
}
以下関数

373:名無しさん@お腹いっぱい。
13/01/03 07:27:25.04 L9uEbYea0
あそこのは、ANSI32bit専用なので、 U64だと動かない

374:名無しさん@お腹いっぱい。
13/01/03 17:45:16.91 kTbspySq0
CopyList.txtがある場合Copyを、MoveList.txtがある場合Moveを実行
その後使用したtxtを削除

ってのを↓以上に確実かつシンプルにやる方法ってありますか?
ちなみに両txtがどちらも存在しないことはあっても同時に存在することはありません
あと*CopyList.txtの*はTeraCopyの仕様です

RunWait, C:\Soft\TeraCopy\TeraCopy.exe Copy *CopyList.txt "%DestDir%"
If ErrorLevel <> 0
RunWait, C:\Soft\TeraCopy\TeraCopy.exe Move *MoveList.txt "%DestDir%"
FileDelete, *List.txt

375:名無しさん@お腹いっぱい。
13/01/03 18:21:34.92 0uvjJEtd0
Loop, *List.txt
  MsgBox, %A_LoopFileName%
FileDelete, *List.txt

下手に省略するより、普通にIfExist・Elseを使って書いた方が分かりやすくていいと思うけど

376:名無しさん@お腹いっぱい。
13/01/03 21:03:23.69 kTbspySq0
となるとこうなりますかね

IfExist, CopyList.txt {
RunWait, C:\Soft\TeraCopy\TeraCopy.exe Copy *CopyList.txt "%DestDir%"
} else IfExist, MoveList.txt {
RunWait, C:\Soft\TeraCopy\TeraCopy.exe Move *MoveList.txt "%DestDir%"
}
FileDelete, *List.txt
return

377:名無しさん@お腹いっぱい。
13/01/03 23:32:39.09 kTbspySq0
あー、なんかもうよくわかんね
動いたけど結局長ったらしくなっちまった

IfExist, CopyList.txt
{
RunWait, C:\~\TeraCopy.exe Copy *CopyList.txt "%DestDir%" /Close
FileDelete, *List.txt
}
elseIfExist, MoveList.txt
{
RunWait, C:\~\TeraCopy.exe Move *MoveList.txt "%DestDir%" /Close
FileDelete, *List.txt
}
return

>>375
すいませんが全く意味わかりません

378:名無しさん@お腹いっぱい。
13/01/04 02:48:54.63 0YGLKXSy0
動くコードの最適化依頼した挙句、ほんの3行のコードも調べず音を上げるのかよ
MsgBoxのとこを RunWaitに変えりゃいいだけだろ

379:名無しさん@お腹いっぱい。
13/01/04 03:25:30.30 A5kTD1It0
Copy *CopyList.txtとMove *MoveList.txtだからLoopだけじゃ無理じゃね?

380:名無しさん@お腹いっぱい。
13/01/04 07:11:22.35 33nOpJs60
XPsp3→Win7sp1x64に移行中なんだけど、スクリプトコントロール使おうとするとエラー起きた。

oSC := ComObjCreate("ScriptControl")
------------------------------------------
Error: 0x80040154 - クラスが登録されていません

WSHからCreateObject出来たし、ScriptControlが使えるのは確認済み。
他のオブジェクト、ComObjCreate("Scripting.FileSystemObject") は動いたりする。
検索しても同類の問題は見当たらないんだけど、何が問題か分かります?

381:名無しさん@お腹いっぱい。
13/01/04 07:54:50.98 33nOpJs60
失礼、32bit版入れたら通った

382:375
13/01/04 09:06:57.50 ksDudQWz0
>>379
あ、見落としてたわw
StringLeft入れんといかんね

>>377、すまん

383:名無しさん@お腹いっぱい。
13/01/05 23:33:00.72 0Ive1sK/0
ロジクールのM500かG500でAutohotkey使ってる人いますか?
このマウスのボタンがすべてAHKで使えるか知りたいんですが。
バッファローのダメマウスでAHKが使えなくてこりたんでロジクールのマウス購入を検討しているんですが。

384:名無しさん@お腹いっぱい。
13/01/06 00:00:40.91 3IX22dlM0
すべては無理。AHK で扱えるのは、
LButton - 左クリック
RButton - 右クリック
MButton - ミドルクリック
XButton1 - G500 なら、おそらくサイドボタン
XButton2 - G500 なら、おそらくサイドボタン
こんだけ。その他のボタンは、付属のソフトウェア(SetPoint とか)で、 たとえば F13 とかに割り当てれば、AHK でも扱えるようになる

385:名無しさん@お腹いっぱい。
13/01/06 00:05:32.73 DNT4s2++0
>>383
MMOとかするならあと2個ほどボタンが多いG700選ぶと快適かも?

386:名無しさん@お腹いっぱい。
13/01/06 00:10:49.50 E2zJ0k7i0
>>384
なるほど。設定次第でなんとかいけるんですね。
あとチルトはそのままで割り当て無理ですか?
今使ってるエレコムのチルトホイールつきはWheel left rightでいけてますが。

>>385
ワイヤレスが嫌なんですよね。

387:名無しさん@お腹いっぱい。
13/01/06 00:17:09.00 acxHTDJU0
チルトは大丈夫でしょ。

388:名無しさん@お腹いっぱい。
13/01/06 00:17:54.45 DNT4s2++0
G700無線糞燃費だからオプションのケーブル使って有線で使うのが普通になってる。

389:名無しさん@お腹いっぱい。
13/01/06 00:30:23.07 E2zJ0k7i0
>>387
そうですか。なら問題無いです。

>>388
オプションケーブルなんてあるんですね。昔のワイヤレスマウスはそういうのなかったんですよね。

やっぱりG500買います。After Effectsの編集作業にボタンがたくさんあると便利なんですおね。
どうもでした。

390:名無しさん@お腹いっぱい。
13/01/06 00:53:23.35 4x+ZQI1P0
M950なんかは付属のケーブル繋げば充電もしてくれる
他はよう知らんが

391:名無しさん@お腹いっぱい。
13/01/06 01:13:45.54 o5bzjvvw0
G700も付属のケーブルを接続すれば
電池を抜いても有線マウスとして使える
でも、付属ケーブルが糞固い

392:名無しさん@お腹いっぱい。
13/01/06 01:52:42.06 gtsU4eIo0
G700はUSBケーブル別途買い足しがデフォ
電池はだいたい一日ももたない

393:名無しさん@お腹いっぱい。
13/01/06 13:43:58.93 yGJH9Ppz0
MX620の、ホイール押し下げのMButtonと、左上にある検索キーに「F15」を割り当てて、
F15をフックにしてahkでアプリごとの小技サブメニューを出す環境を作った。

URLリンク(ec2.images-amazon.com)

左指をちょっと外側に出すだけで押せて、かなり快適だった。
マウスがぼろくなって代わりを探したら、こういう単独のボタンが付いた後継が
ほぼ無く、MButtonまでも廃止されたモデルが多くて泣いた・・・

MButtonが無くなった原因は、ホイールのカチカチとヌルヌルを
ホイールを押し下げるごとにトグルで切り替える物理スイッチに変わったため。
こんなの、めったに変えるもんじゃないから底面でいいんじゃないだろうか。

結局、ぼろいのを修理しながら使い続けてるけど、そろそろ限界、困ってる。

394:名無しさん@お腹いっぱい。
13/01/06 15:13:05.88 gtsU4eIo0
>>393
> こんなの、めったに変えるもんじゃないから

えー、専ブラとか画像ビューワとかで結構しょっちゅう切り替えてるわ

395:名無しさん@お腹いっぱい。
13/01/06 15:16:30.70 DNT4s2++0
>>393
MButton = 中ボタン (ホイールクリック) が無いマウスなんてほとんど無いだろ?
左クリック横にボタンがあるマウスも大量にあるのに何言ってんだ?

マウス探しはこっち行け↓
[マウス]入力装置ForPCActionGamer[キーボード]80
スレリンク(gamef板)

396:名無しさん@お腹いっぱい。
13/01/06 16:02:04.59 yGJH9Ppz0
MButtonが廃止されてるのがあるから困ってるわけで。

>左クリック横にボタンがあるマウスも大量にあるのに何言ってんだ?

ボタンが小さかったり、複数あって+と-などで結局どっちも使いにくかったり、
ストロークの少なく硬いタクトスイッチだったりと散々、
少なくともあんたがスレみてホイっと探せるような代替は1つも無いよ。

397:名無しさん@お腹いっぱい。
13/01/06 16:23:37.10 bA7gOZ9Y0
なんでマウススレになってんの?

398:名無しさん@お腹いっぱい。
13/01/06 18:57:41.72 dZFpz0Hj0
>>396
条件後出しでドヤ顔されても・・・

399:名無しさん@お腹いっぱい。
13/01/07 03:51:18.32 6DMuFXPq0
ハード板にありがちな流れになってるな

400:名無しさん@お腹いっぱい。
13/01/07 10:31:06.45 TebtyZoA0
ブラウザのパスワードボックスに入力したパスワードをAutoHotKeyで取得できたりするものでしょうか?

401:名無しさん@お腹いっぱい。
13/01/07 11:17:16.93 eYTAVTDo0
どういう用途?

402:名無しさん@お腹いっぱい。
13/01/07 17:03:30.12 aOc8GPvh0
聞いてやるなよw

403:名無しさん@お腹いっぱい。
13/01/08 06:00:49.87 6A/2qc/s0
Send, !d^a{Delete}
SendRaw, javascript:alert(document.getElementById('hoge').value)
Send, {Enter}

とかやって、WinGetTextするとか


COM使うほうがずっと楽だけど

404:名無しさん@お腹いっぱい。
13/01/08 09:04:41.55 kR6F7W7e0
Devasの検索結果画面についてお知恵をお貸しください

URLリンク(i.imgur.com)
点線で囲まれた(キーのフォーカスがある)部分をキーボードでダブルクリックしたいのですが、そこを指定するにはどうしたらいいのでしょう
マウスカーソルが乗ってる訳じゃないからMouseGetPosは無理ですし、ControlGetPos、ControlGetFocusも開きたい行と他の行の区別がつきませんし……

何か手は無いものでしょうか?
指定さえ出来ればClick系でClick, L, X, Y, 2とかでいいと思うのですが
当方の環境はVista32bit AHK_L U32です
なるべく条件後出しになりたくないので、お伝えすべきことがありましたらお教えください

405:名無しさん@お腹いっぱい。
13/01/08 09:38:33.89 GFUrcN8h0
横だけどComObjCreate("ScriptControl")便利だな
COM使えるの知らなくてahk人生の9割損してたぜ

406:名無しさん@お腹いっぱい。
13/01/08 22:21:17.91 jnlj4ooE0
一つ前にアクティブだったウィンドウってどう取得すれば良いですか?

407:名無しさん@お腹いっぱい。
13/01/09 00:28:14.82 2G0WvnjB0
OnClipboardChange中でClipboard書き換えると
その書き換えで再度OnClipboardChangeが呼ばれるみたいなんだけど、どうしたらいいですか?
Jpにはそんなことならないって書いてあるけど、なってる

408:名無しさん@お腹いっぱい。
13/01/09 00:57:06.23 R+kZRtZH0
>>407 マニュアルにはすぐには呼ばれないからディレイいててね?って書いてた

If the script itself changes the clipboard, its OnClipboardChange label is typically not executed immediately;
that is, commands immediately below the command that changed the clipboard are likely to execute beforehand.

To force the label to execute immediately, use a short delay such as Sleep 20 after changing the clipboard.

;#Persistent
;return

; OnClipboardChange:
; ToolTip Clipboard data type: %A_EventInfo% %Clipboard%
; Clipboard := Clipboard . "-test"
; Sleep 50 ;0~20msecとかだとうまくいきませんでした。
; ToolTip ; Turn off the tip.
; return


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