AutoHotkey スレッド ..
263:名無しさん@お腹いっぱい。
09/02/13 00:39:11 tq73/xcp0
いや、あらゆる処理が作れるだろ、dll呼び出しもできるし
264:名無しさん@お腹いっぱい。
09/02/13 00:52:14 P/hV8GiU0
AutoScriptWriter使えばキーマクロっぽいこともできるんだよな
ほとんど利用したことはないが。
>257
例によってAutoExecuteセクションの記述飛ばしてて引っかかってるんじゃね?
265:名無しさん@お腹いっぱい。
09/02/13 01:15:10 EUev75pp0
>>263
確かにそうだけどさ、、AHKの範疇は超えちまうわな
AutoScriptWriter はテキストエディタのマクロみたく操作がコードになってくれるから
全然コマンドを知らない人が後からマニュアル見ながら改変するのには便利かなぁとは思う。
出来たコードはかなりしょっぱいけど・・・
マクロ登録の貧弱さという点で、UWSCとかより弱いと言われている点だな
266:名無しさん@お腹いっぱい。
09/02/13 09:36:47 PZx5JzBI0
>>259
(比較的)楽な方法
・キーマクロで何とかする
・適当なダウンローダ探して連携する
・URLDownloadToFile でhtmlを取得して、リンク抽出して個別に落す
そりゃ、comやdll使えば何でも出来るだろうが、
やはりそこは作成者・利用者の技能と、それを現実的なコストで作れるかというのも考慮すべきではないかと。
267:名無しさん@お腹いっぱい。
09/02/13 12:37:16 P/hV8GiU0
ああ、ID:EUev75pp0 の言ってるキーマクロっていうのは
Send や MouseClick によるキーエミュレーション動作のことなのか。
まんまエディタのキーボードマクロみたいな、ユーザー操作を記憶して
再実行してくれるものを想像してたから混乱したわ
268:名無しさん@お腹いっぱい。
09/02/14 04:16:50 CZpXyFEM0
C などの unless って Autohotkey では使用できないのでしょうか
unless に相当する物をしようしたいときは
if hoge = 1 else
{
msgbox,hello!
}
こういう風に書くしかないのでしょうか
それとももっとスマートな書き方があるのでしょうか
269:名無しさん@お腹いっぱい。
09/02/14 06:39:35 xPcJgk5F0
論理否定
270:名無しさん@お腹いっぱい。
09/02/14 07:54:37 TE2mD3kq0
if hoge != 1
271:名無しさん@お腹いっぱい。
09/02/14 08:20:50 iCnD4vMa0
>>269-270
ああ、なるほど
単純なことなのに分かっていませんでした
ありがとうございます。
272:名無しさん@お腹いっぱい。
09/02/14 10:14:14 dHhfIlz20
>268
C に unless はないべ。Perl とか Ruby にはあるらしいが。
273:名無しさん@お腹いっぱい。
09/02/14 12:25:08 wQWZhHiF0
unlessって使う機会ある?
ド・モルガンの法則を使えばいいだけじゃん。
274:名無しさん@お腹いっぱい。
09/02/14 13:19:42 T1oNA6o40
iniファイルに書いたkeyをHotkeyにアサインした場合ってどう書くの?
test.ini
+++++++++++++++++++++
[hoge]
Key=#z
+++++++++++++++++++
IniRead, h_key, test.ini , hoge, Key
;MsgBox , "%h_key%" ;ちゃんと値は取得できている
h_key::
;↑ダメ
%h_key%::
;↑ダメ
"%h_key%"::
;↑ダメ
275:名無しさん@お腹いっぱい。
09/02/14 14:30:36 7OA6UMgE0
Hotkey, %h_key%, Label で普通に割り当てできるが?
276:名無しさん@お腹いっぱい。
09/02/14 15:21:43 7uL3RWEi0
惜しいなぁ。実に惜しい。
まぁ、>>275の言うとおりなんだけど。
ラベルの方を動的に変えようっていうのはちょっと驚いた。
ホットキーラベルもサブルーチンラベルの一つ。
かつ、有効なホットキーラベルとして使える文字で構成されていなければならない。
ソース見たりしたわけじゃないけど、
AHKは起動(初期化)時にスクリプトを全部見て「::」のあるラベルを探して、
Hotkey, 「キー名」, 「キー名」 相当の事をしてホットキー登録しているはず。
で、これは実行するスクリプトのAutoexecブロックより先に行われている(はず)。
で、なんで>>274が駄目かっつーと
エラーダイアログ見れば分かると思うけど、実行時エラーじゃなく、
パース時のエラー(文法エラーとか)でしょ。
初期化時には、 h_key なんつー有効なホットキーはないし、
ユーザが使える変数なんかも無いわけで初期化エラーになる。
上から順に書いてあってその通りに処理しているように見えるけど実はそうじゃない。
IniRead までたどり着いてない。
277:名無しさん@お腹いっぱい。
09/02/14 17:55:29 bE1sAjs50
WinSet,Topの
>システムの設定によっては動作しない。
の条件ってなんだろう?
278:名無しさん@お腹いっぱい。
09/02/14 20:29:40 FTwXZkWh0
>>276
なぁオマエ一言多いとかリアルで言われないか?
279:名無しさん@お腹いっぱい。
09/02/14 20:58:12 mkT/24Fx0
>>278
オマエ一言多い
280:名無しさん@お腹いっぱい。
09/02/14 21:24:53 sliL46ld0
>>279
オマエ一こt(ry
281:名無しさん@お腹いっぱい。
09/02/14 21:53:18 fL3JIfIu0
トレイアイコンをクリックしたら実行するってどうやるの?
282:名無しさん@お腹いっぱい。
09/02/15 12:01:39 VXj0TK7a0
なんつーか、大したことないんだが274みたいな奴って発想力が面白い。
プログラムってスキルも大事だが発想力だと思う瞬間だったよ。
283:名無しさん@お腹いっぱい。
09/02/15 14:03:58 BLcyg5Ix0
以上、本人でした。
284:名無しさん@お腹いっぱい。
09/02/15 14:16:47 4Lz/N4h80
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
285:名無しさん@お腹いっぱい。
09/02/15 16:34:58 WX2c84/Q0
まあ、スマートではないな>>276
286:名無しさん@お腹いっぱい。
09/02/16 02:28:52 mgBRF9yu0
SetTimerで
WinGetPos,, Ypos,,, A
if (Ypos <= 30)
WinMove, A,,, 19,,,,
Ypos =
return
というのを回していると、Firefoxで右クリックメニューが一瞬で消えてしまいます。
間隔を500〜2000にしたり、同じ事をLoopでやってみても同じで、この現象が起きるのは
Firefoxだけです。
どうかアドバイスお願いします
287:名無しさん@お腹いっぱい。
09/02/16 03:13:35 mMn42qaU0
if(Ypos <= 30 && Ypos != 19)
にしたらええんじゃないのか?
288:名無しさん@お腹いっぱい。
09/02/16 03:19:38 axPHiozx0
クリックすれば指定されたurlに飛ぶような文字列を
msgboxで出力したいのですがどうすればよいのでしょうか
たとえば
MsgBox,0, test,google
という出力をして、そのgoogleの部分をクリックすればURLリンク(www.google.co.jp)に飛ぶのです。
htmlが使えるなら
MsgBox,0, test,<a href="URLリンク(www.google.co.jp)">google</a>
こういうことです
289:名無しさん@お腹いっぱい。
09/02/16 05:21:27 w558LR820
>>288
GuiかMenu。
ポップアップメニューだと一回一回消えるから、Guiでつくればいいかもね。
290:名無しさん@お腹いっぱい。
09/02/16 05:25:35 w558LR820
>>281
流行らせるページの「タスクトレイアイコン操作」で望みが叶うかも。
何を望んでいるのかはわからんが。
291:名無しさん@お腹いっぱい。
09/02/16 05:39:14 w558LR820
>>286
簡易の絶対領域みたいだね。TTBaseプラグインでもあったな。
292:名無しさん@お腹いっぱい。
09/02/16 06:36:37 DfB2sRU60
>>289
なるほど
その手がありましたか
やってみます
293:名無しさん@お腹いっぱい。
09/02/16 09:20:33 HnxszwKY0
>>291
質問者じゃないけど、どういう事か教えてくれまいか
294:名無しさん@お腹いっぱい。
09/02/16 09:29:13 gRNTeVF80
ggrksが来るぞ
295:名無しさん@お腹いっぱい。
09/02/16 10:28:05 m36Y1Mz60
絶対領域はググっても違うもんばっか出てくる。
URLリンク(www.forest.impress.co.jp)
296:名無しさん@お腹いっぱい。
09/02/16 13:34:08 w558LR820
あれ?違った?>>295みたいなことをしたいのかと思ったわw混乱させてゴメンね。
297:名無しさん@お腹いっぱい。
09/02/16 15:56:36 dAYg3thQ0
>>290
それってタスクトレイアイコンを直接操作するためのものじゃないの?
298:名無しさん@お腹いっぱい。
09/02/16 22:15:59 mgBRF9yu0
>>287
即レスくれたのに遅くなってすみません、
if(Ypos <= 30 && Ypos != 19)にしたら快適動作で幸せです。
&& Ypos != 19が必要だった理由が今ひとつ分かっていませんが勉強してみます。
有難うございました
299:名無しさん@お腹いっぱい。
09/02/17 00:33:23 Uxje6XHz0
guiでウィンドウの中に exit ボタンを作成し
そのボタンを押すとそのウィンドウを閉じるだけの物をつくりたいです
はやらせるページのにあるものを使用して次のような物を作ったものの
うまく動きません
Gui,Add,Text,,testtest
GUI,Add,Button,,Exit
gui,show
ButtonExit:
ExitApp
どこを直せばよいのでしょうか
300:名無しさん@お腹いっぱい。
09/02/17 00:43:51 p7oLYgT60
gui,show
return
ここで終わらせないとExitAppまでいっちゃうぞ。
301:名無しさん@お腹いっぱい。
09/02/17 01:20:14 Uxje6XHz0
>>300
あ、普通に動きました
そりゃそうですね
ご指摘ありがとうございます。
302:274
09/02/17 01:36:11 ChZCT6AI0
>>275-276
ありがとうございます。無事できました。
276さんの書いていることは自分なりに勉強になりました。
便乗するようで悪いのですが、多重起動をしようとする際現状だと英語のメッセージが出るんですが
Menu, TRAY, NoStandard
のように消して、日本語にすることって可能でしょうか?
303:名無しさん@お腹いっぱい。
09/02/17 02:38:11 t03ashNM0
ドッカーン!
(⌒⌒⌒)
|||
_____
/::::::::::::::::::::::::::\〜プーン
/:::::::::::::::::::::::::::::::\〜プーン
|:::::::::::::;;;;;;|_|_|_|_|〜プーン
|;;;;;;;;;;ノ∪ \,) ,,/ ヽ〜
|::( 6∪ ー─◎─◎ )〜
|ノ (∵∴ ( o o)∴)〜
| ∪< ∵∵ 3 ∵> ムッキー!
\ ⌒ ノ______
\_____/ | | ̄ ̄\ \
___/ \ | | | ̄ ̄|
|:::::::/ \___ \| | |__|
|:::::::| \____|⊃⊂|__|__/ /
|:::::/ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
304:名無しさん@お腹いっぱい。
09/02/17 14:45:20 Bio3yT//0
やろうと思えば、ウィンドウの監視と
COntrolsettextで出来なくもなさそうだけど…
305:名無しさん@お腹いっぱい。
09/02/18 04:54:19 ZSSUooit0
若干スレ違いかもしれませんが、
WindowsのHDDコントローラ(ATA)のモードが、
UDMAになってるか、PIOになっているかを、
ahkから読み取るには、どのようにすればできそうでしょうか。
何台もPCを使っていると、いつのまにかPIOになっていることがあったので、
それを起動時にチェックしてバルーン通知したいと考えています。
306:名無しさん@お腹いっぱい。
09/02/18 12:29:43 YsZiDyJK0
レジストリの値を読むとか?
307:名無しさん@お腹いっぱい。
09/02/18 17:28:59 o28us3FR0
括弧 { を入力した後 } を加えてカーソルを中に入れるように
~+[::Send,}{left}
return
と記述したのですが } と{left}しか送られません
他の括弧は たとえば<> 同じように
~+,::Send,>{left}
return
でうまくいってるのですが、どのようにしたら {} でも成功するでしょうか?
308:名無しさん@お腹いっぱい。
09/02/18 19:06:54 FVUyG2Or0
>>307
つ 特殊記号のエスケープ
URLリンク(lukewarm.s101.xrea.com)
309:名無しさん@お腹いっぱい。
09/02/18 19:34:48 29d3Le160
俺も>>231みたいに「 , 」(コンマ)を使うホットキーが使えなかった。
コンマ使うホットキーを今使いたいわけじゃないが、
もし必要になった時に困るので調べてみた。OSはWinXP SP3。
以下試したこと
×Hotkeyコマンド( Hotkey,% ","〜 )
×Hotkeyラベル( ,:: 〜 )
×GetKeyState(",","P")→状態取れず
×本体バージョンをあれこれ変えた
○別PCで同じスクリプトを試した(WinXP SP2)
○「 vkBCsc033 」形式で書く
vkBCsc033を使った方が確実かもしれない。
310:名無しさん@お腹いっぱい。
09/02/18 20:56:25 o28us3FR0
>>308
ありがとう
解決しました
311:名無しさん@お腹いっぱい。
09/02/19 00:32:15 nBgazVqW0
>>219-220
これの解決法ないでしょうか?
似たようなスクリプト作ったんですがやはり数分すると
クリップボードの監視が無効になってしまいます。
312:名無しさん@お腹いっぱい。
09/02/19 00:58:08 YWf8g0hR0
timerでreload仕込むとか
313:名無しさん@お腹いっぱい。
09/02/19 11:09:45 KfP6MoHK0
OnClipboardChange: じゃなくて ClipWaitで監視してみるとか?
あとはAPI のクリップボード関数で直接弄るか。
関係ないが、クリップボード内容がEXCELデータのときに
ClipboardALLで丸ごと待避しようとするとExcelがハングする。
DllCall("GetClipboardOwner",Int) でオーナーウィンドウを調べて
Excelがオーナーの時は テキスト内容だけ保存するようにして回避してるがちと面倒だ。
314:名無しさん@お腹いっぱい。
09/02/19 11:41:34 KfP6MoHK0
そういや昔あったクリップボードユーティリティースレでもこの手の話題あったな。
確かクリップボードの変更通知はクリップボードビューアチェインに接続されたソフト間での
バケツリレー方式で伝えられていくので、間に行儀の悪いソフトがいるとチェインから勝手に
外されてしまって、それ以降の変更通知が受け取れなくなるって話だったような。
巷によくあるクリップボード系ユーティリティーでは定期的にチェイン接続し直すことで
対策を取ってるとかだったと思う。
よくわからんがAHKでも ONMessage()で CallBackサポートされてるし、具体的なサンプルは
clcl のソースとか見ればたぶんできるんじゃね。
英語できるんならAHK作者氏に対策方法添えて要望出すのが手っ取り早いとも思うけど。
315:名無しさん@お腹いっぱい。
09/02/19 12:09:33 BAYW6hF70
流れ無視して悪いがさっぱり分からんので、教えて頂きたい
例えば、
-t C:\Documents and Settings C:\Program Files
というような文字列を、
-t "C:\Documents and Settings" "C:\Program Files"
というように、パスっぽい文字列に引用符をつけるには、
どうすればいいのだろうか?
316:名無しさん@お腹いっぱい。
09/02/19 12:53:07 IHzf1wv30
文字列の中に実在するパスがあったら囲む、くらいじゃないの
317:名無しさん@お腹いっぱい。
09/02/19 13:27:25 IHzf1wv30
適当に作った。かっこ悪い。
Hoge(str) {
StringSplit, arr, str, %A_Space%
idx := 0
Loop {
if (idx++ >= arr0)
break
c := arr0 - idx
Loop {
p := arr%idx%
Loop, %c%
i := idx + A_Index, p .= A_Space . arr%i%
if FileExist(p) {
arr%idx% := """" arr%idx%, idx += c, arr%idx% := arr%idx% . """"
break
}
if (c-- < 1)
break
}
}
Loop, %arr0%
ret .= ((A_index > 1) ? A_Space : "" ) . arr%A_Index%
return ret
}
318:名無しさん@お腹いっぱい。
09/02/19 13:39:31 BAYW6hF70
>>316-317
ぐはっ、わざわざ作って頂けるとは!
よくそんなすぐに作れるな、初心者からすれば驚愕ですよ
ありがとー
319:名無しさん@お腹いっぱい。
09/02/20 18:36:07 +ofqUOOa0
vistaじゃFileSetTime使えないのかな
320:名無しさん@お腹いっぱい。
09/02/21 21:01:51 FzZoDrMY0
FirefoxにAlt+Rで、戻るを割り当てたいのですが、
autohotkeyからPostMessageを送って設定することは可能でしょうか?
可能であるなら、下の0x111,28690,0,,A に相当する値をお教えいただけないでしょうか? m(__)m
!R::PostMessage,0x111,28690,0,,A ;// 戻るを割り当てたい
firefoxでPDFを開くとフォーカスがacrobatに奪われるので、
autohotokeyを使って、戻るのキーを割り当てられないかと試行錯誤しております
321:名無しさん@お腹いっぱい。
09/02/21 21:52:11 0EOzQQjN0
うちは↓でいける @Fx3.0.6 on XP SP3
#IfWinActive, ahk_class MozillaUIWindowClass
!Left::Send, {Browser_Back}
!Right::Send, {Browser_Forward}
322:320
09/02/21 22:10:01 FzZoDrMY0
>>321
ありがとうございます
助かりました
323:名無しさん@お腹いっぱい。
09/02/22 20:03:09 qnu0ZxRB0
自分も前から気になってたけど、FirefoxはSendMessageとかPostMessageは受け取らないのでしょうか?
非アクティブのままにautohotkeyから操作したいんですけど?
324:名無しさん@お腹いっぱい。
09/02/22 20:13:46 q+YO7qML0
ご存じの通りマルチプラットフォームのものでWin専用って訳じゃないから、
ウィンドウメッセージ受けとってもスルーされるものが多いと思う。
WM_MOUSEWHEEL とか WM_KEYDOWN/UP などは受けとってそれなりに動く。
メニューバーやステータスバーもウィンドウズのものじゃなく独自に作ったもの。(>>254参照)
Firefoxだけじゃなく Java とかもそうだけどそういうのをコントロールするのはちと厳しいね。
325:名無しさん@お腹いっぱい。
09/02/22 22:56:59 lt/+4kjg0
確実性には乏しいかも知れんが
ControlSend か ControlClick あたり試してみたらどうだろうか
326:名無しさん@お腹いっぱい。
09/02/22 22:58:01 qnu0ZxRB0
>マルチプラットフォーム
これをすっかり忘れてました、そう言われると出来なくても当然って感じですね
ありがとうございました。
327:名無しさん@お腹いっぱい。
09/02/22 23:19:18 qnu0ZxRB0
>>325
ありがとうございます。
今ちょっと試してみたら、ControlSendでなりそうです。
328:名無しさん@お腹いっぱい。
09/02/23 00:59:34 chhOXYqK0
Enterを右Ctrlにするやり方がわかりません。
Enter::RCtrlでBSを入れようとすると
Enter+Hで1回はBS入るけど、
Enter押したままもう一度Hを入れると
こんどはそのままHが入力されます。
どうしたらいいんでしょうか?
329:名無しさん@お腹いっぱい。
09/02/23 07:31:59 xVptRsNb0
コロンのhotkeyに割り当てる方法はないでしょうか?
:::Send,{A} ;// : をAに割り当て
vkBAsc028::Send,{A} ;// : をAに割り当て
のどちらで設定しても、:のhotkeyが有効になりません
セミコロンだと以下で割り当てられるのですが…
vkBBsc027::Send,{A}
330:名無しさん@お腹いっぱい。
09/02/23 21:29:51 6awX2jgS0
AutoHotkeyを流行らせるページ
URLリンク(lukewarm.s101.xrea.com)
↑の入力置換関連部分を無視すればAutoIt3の日本語ドキュメントになる?
しかしAutoIt日本語ドキュメントなさ杉
331:名無しさん@お腹いっぱい。
09/02/23 23:50:07 KDZEcOqx0
結構書き方違う
332:名無しさん@お腹いっぱい。
09/02/24 03:37:01 mnDWmi6d0
mayuでは難しい部分を、最近ahkで作り始めました。
VIMが1枚だけ存在したらアクティブに、
2枚以上存在したらリストを表示するようにしたいのですが、
以下の状態で既に詰んでます...どなたかご教示願います。
#^+!f2::
SetTitleMatchMode,2
WinGet, title, Count, - GVIM
If %title% = 0
MsgBox, none
else if %title% = 1
MsgBox, vim
else
MsgBox, %title%
ウインドウ数は取得できてるようなのですが...
333:名無しさん@お腹いっぱい。
09/02/24 03:48:04 nmUnQgbz0
If title = 0
334:332
09/02/24 04:06:13 mnDWmi6d0
>>333
ありがとうです!
盲点でした。
335:名無しさん@お腹いっぱい。
09/02/24 06:40:25 9IBsCb9z0
変数は常に%%で囲むっていう風に統一してくれればいいのに。
336:名無しさん@お腹いっぱい。
09/02/24 08:53:53 hmO2qa6n0
if 1 = 0
こんな書き方になっちゃうもんなぁ。
337:名無しさん@お腹いっぱい。
09/02/24 09:20:34 ZrVDgkhH0
文字列リテラルは一般の言語様式に合わせてくれた方がいいな
シングル・ダブルクォートで囲むとか
338:名無しさん@お腹いっぱい。
09/02/24 15:13:52 10tP/ti50
SandS.ahkの2008.09.21版かそれ以降のものがほしいのですが、どなたかお願い
できないでしょうか。
339:名無しさん@お腹いっぱい。
09/02/24 15:23:09 A2x/mr5E0
あぷろだにまだ上がってるよ
URLリンク(lukewarm.s101.xrea.com)
でも SandS だったら前スレ264のがシンプルかつスマートでいいと思う。
> 264 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2008/09/21(日) 22:24:04 ID:jd9yjK/i0
> 自分の Shift & Space はこれ。
>
> Space Up:: Send, % "{Shift Up}" (A_TimeSincePriorHotkey < 200 ? " " : "")
> +Space:: Send, +{Space}
> >+Space:: Return
> Space:: RShift
340:名無しさん@お腹いっぱい。
09/02/24 16:20:53 10tP/ti50
>>339
どうもありがとうございます。とても助かりました。
(A_TimeSincePriorHotkey < 200 ? " " : "")
てあたりが気がきいていると思いました。
341:名無しさん@お腹いっぱい。
09/02/26 14:47:02 qGUJzHwS0
最長マッチのHotstringを作りたいのですが
どうすればよいのでしょうか
342:名無しさん@お腹いっぱい。
09/02/26 17:32:35 zx85xhcp0
Feb 25, 2009
Version 1.0.48 is released.
343:名無しさん@お腹いっぱい。
09/02/26 18:09:02 N/JDSNBe0
パッチ等を当てずに安心して2バイトコードを使える日は、いつになるのだろうか・・・
344:名無しさん@お腹いっぱい。
09/02/26 21:06:58 eljuCyAE0
URLリンク(www.autohotkey.com) の適当な訳
1.0.48 - February 25, 2009
■互換性
後方互換性に影響するであろう変更は、今回より、変数に格納された浮動小数点値が高精度なったこと。
数値精度の差に依存するスクリプトは精査して、更新する必要があるかも。
"SetFormat Float" (例: SetFormat, Float, 0.6) を *各所* で利用することで互換性が維持できるはず。
「SetFormatフロート」は高精度値を不活化するけど、新しい速い浮動小数点演算のうちのいくらかを使わない。
■パフォーマンス
このリリースの主なテーマはよりより速い実行。
スクリプトはほとんどすべてより速く実行できるはず- 特に式とか整数の評価の多用では(場合によっちゃ通常の3倍!)。
完全なる恩恵を得るには、スクリプトは、SetFormatを使用しないようにするべきか、あるいはSetFormatの速いモードを使用するべき。
345:名無しさん@お腹いっぱい。
09/02/26 21:07:22 eljuCyAE0
■性能改善
- 式と関数のコンパイルをコッテリとさせて、より速くなった(とくに複雑な製数式で、カンマも含む)
- 変数に格納されたバイナリ数値をキャッシュさせて文字列(から/へ)変換するのをやめるようにした。これで変数の算術演算が速くなった。
- 式やマッチ/比較コマンド内でのリテラルの数値をバイナリ数値とするようにしたことにより速くなった。例) X+5 とか "if x > 5"
- ブロックを持つループやIFやELSEを "{" をスキップすることで速く実行できるようになった。この結果、"{" が ListLinesで省略されるようになった。
- スレッド作成のパフォーマンスの改善、OnMessage(), RegisterCallback(), GUIイベントの rapid-fireスレッドを補佐する。(註:よくわからん)
■既存スクリプトに影響するかもしれない変更点(トップで記述されているより高精度な浮動小数点以外のもの)
- "SetFormat, Integer, Hex" が有効な場合、リテラルの10進値を変数に格納するときに16進数に変換する。これは普通表示用途なはず。
- OnMessage()パフォーマンスについて、メッセージ番号とHWNDは無条件で16進数でなく通常の数値としてやってくる。これは通常表示用となはず。
- パフォーマンスにおける様々な改良を達成するために、スクリプトは今よりちょっと多くのメモリを使用する。(変数と式の数に比例している)
- if var is time" と "YYYYMMDDHHMISS"形式のタイムスタンプを変更・修正し、月の範囲が1-12内に無い場合不正なものとして認識するようにした。[ニックありがと]
- Dynamic関数呼び出しを変更・改善し、関数に定義されたパラメタ数よりも多いものも許容するようにした。このときパラメタは評価はされるが破棄される。[Lexikosが開発(註:Autohotkey_Lの人)]
■その他の変更点
- Autohotkey_Lより追加 → IsFunc() / while-loop / assume-static / A_IsPaused / A_IsCritical / WheelLeft と WheelRight
- NumPutで UInt64をサポート
- UPXを変えた
346:名無しさん@お腹いっぱい。
09/02/26 21:11:50 eljuCyAE0
バグフィックスは面倒なので割愛w
#if は取り入れなかったのかぁ・・・残念
347:名無しさん@お腹いっぱい。
09/02/27 00:57:18 aRIZ1QSP0
複数のウインドウを高速に一度に前面にもってくることってできないでしょうか?
今は、10枚くらいあるウインドウをWinActivateとLoopで前面化を行っていますが、
かなりまったりと順番に前面にでてきてしまいます。
もとパッっと出すことはできないものかなあと思いまして。
今はこんな感じでやってます。(指定のexeのウインドウを全部前に出す例)
+^!e::
Process, Exist, MageMogeChart.exe
if ErrorLevel = 0
return
WinGet, id, list, ahk_pid %ErrorLevel%
Loop, %id%
{
StringTrimRight, this_id, id%a_index%, 0
WinGetTitle, this_title, ahk_id %this_id%
WinActivate, ahk_id %this_id%
}
return
348:名無しさん@お腹いっぱい。
09/02/27 01:25:30 c+2Jobtp0
SetWinDelayでコマンド発行後のウェイトを指定してやる。
ウィンドウの重なりが逆順になると思うけど。
v1.0.48用で書いてみた
SetWinDelay, 10
Process, Exist, (ここにExe名)
WinGet, list, LIST, ahk_pid %ErrorLevel%
while list>0 {
WinActivate, % "ahk_id " list%list%
list--
}
349:名無しさん@お腹いっぱい。
09/02/27 20:30:19 uqsx4u4h0
DELL LATITUDE E6400でTrackWheel(VER. 20081206)を使ってたんだけど
しばらくぶりにバージョンアップしようと最新版/RC版に変えてみたら中ボタンに反応しない。
なんてこった。
350:名無しさん@お腹いっぱい。
09/02/28 00:25:24 X+HJqC5y0
ショートカットキーが付いてないソフトのボタンにahkでキーを割り当てたいんですけど各ボタンを指定するにはどうすればいいですか?
351:名無しさん@お腹いっぱい。
09/02/28 00:39:59 imLzKJgB0
ものすごい放置してた。久しぶりにソース見た。思い出すのに時間がかかった。
>>349
AHK v1.0.48 だと DllCall の Return Type を指定するとうまくいかないところがある。
983行目の最後の
,"Int"
を外すと動くかもしれない。
というか、反応しないって事はホットキーのアサインがうまくいってないかも。
全く構造が違うので、Iniは去年のものは流用できないっす。
>>350
1) ControlClick を使う
WindowSpyで独自のボタン情報がとれるなら 直接指定モードでいいはず。
情報がとれないなら、座標指定モードで(ツールバーならこっち)。
2) ツールバーのコマンドを調べてウィンドウメッセージを送る(玄人向け)
URLリンク(lukewarm.s101.xrea.com) の "Inspecting Toolbar IDs" を使って
PostMessage を使って WM_COMMAND を送る
352:349
09/02/28 07:36:34 ZNlNraZX0
>>351
どうも
・1.0.47でも1.0.48でもダメ
・1.0.48で983行目の最後の,"Int"外してもダメ
・iniは流用していない
で、iniのButton=MButtonを=RButtonにしてみると反応する。スクロールもできる。
けどボタンを離してもスクロールのモードから戻ってこない。
てな状況です。
353:名無しさん@お腹いっぱい。
09/02/28 20:06:00 imLzKJgB0
>>352
中ボタンで反応しないのと、右ボタンで暴走したままなのは別事象っす
中ボタンの方だけど、メイン画面開いて Ctrl+H かメニューから View→Hotkeys... でホットキー一覧出して
m-hook *MButton
って出てたら、ホットキー登録は問題ないはず。なってないなら大問題・・・。
そうなっているのに動かないなら他のユーティリティが影響していると思われる
確認をお願い
> RButtonにしてみると・・・モードから戻ってこない
こっちはバグですな・・・
間違えた記述のあるサイトのソースを丸々パクっていたため。考えもせず置換して使ってたorz
誤: TW_RBUTTONDOWN:=0x205 , TW_RBUTTONUP:=0x206
正: TW_RBUTTONDOWN:=0x204 , TW_RBUTTONUP:=0x205
650行目あたりから,、それぞれ2カ所あるっす
# 色々直したら zip で置き直す予定
354:349
09/02/28 22:00:14 ZNlNraZX0
>>353
> m-hook *MButton
出てます。
他のユーティリティか、うーん。旧バージョンは動くのになー。
とりあえずmsconfigで診断スタートアップにしてみたけどダメでした。
RButtonではちゃんと動くようになりました。
355:名無しさん@お腹いっぱい。
09/02/28 23:58:39 imLzKJgB0
旧verで動かしてたんだからそこに問題はないとは分かるんだけど、一応って事で
・・・そうなると機序的に何処に問題があるかは、今はちょっと分からないっす
一応、ソースもう一度読み直ししてみるっす
356:350
09/03/01 03:43:58 Rc2HQ5QJ0
>>351
ありがとうございました
ControlClickでいけました
357:349
09/03/01 20:30:20 GJkhTa1h0
>>355
お手数かけてすまそ。
中ボタンに反応しないって書いたけど、
TWを起動している状態ではアプリケーションでの中クリックも効かなくなってるので
TW自体は一応反応してる気がします。
358:名無しさん@お腹いっぱい。
09/03/02 10:53:15 3PFCvLeG0
>>348
SetWinDelay で指定してみたら、瞬時にとはいきませんがかなり早くなりました。
最新のはwhile使えるようになったんですね
ありがとうございました。
359:名無しさん@お腹いっぱい。
09/03/02 15:03:15 4Ix+9L8p0
AutoHotkeyでmacのDashbordみたいなの作れないかな
と自分で無理なことを言ってみる
360:名無しさん@お腹いっぱい。
09/03/02 22:51:10 zVxOqqcX0
ダブルクリックとドラッグの挙動をカスタムしたいんですが、見つかりません
コマンド教えてください
361:名無しさん@お腹いっぱい。
09/03/04 05:08:22 ZvTbo6At0
+WheelDown::WheelUp
このスクリプトでしばらくは正常に動作するのですが
71 hotkeys have been received in the last 577ms.
というメッセージが出てきます。
どういうことでしょうか?
362:名無しさん@お腹いっぱい。
09/03/04 05:10:50 pYSwiV1N0
スクリプトの冒頭で
#MaxHotkeysPerInterval 200
と書くと良い
363:名無しさん@お腹いっぱい。
09/03/04 05:22:01 ZvTbo6At0
#MaxHotkeysPerInterval 300でいけました
ありがとうございます。
364:名無しさん@お腹いっぱい。
09/03/04 15:08:04 VwNNjCy00
Dllcallを使いたいのですが、構造体というものがわからないのでちょっと質問させてください。
AHKで構造体を使うというのは、
メタボかどうかを判断したいので、健康診断の記録から
・体重と腹回りの項目を見ろ(構造体)
・上から3行目の数字と、上から7行目の数字を見ろ(AHKの強引な手段)
といった感じで、メモリの位置を直接指定しているといった認識でおkでしょうか。
365:名無しさん@お腹いっぱい。
09/03/04 15:52:18 rkwP19PJ0
Cも何も分からんけどAHKでゴリゴリDllCall使っている漏れの私的な見解
> メモリの位置を直接指定しているといった認識でおk
たぶんそう
構造体って言語仕様でも何でもなく、
「ある番地を起点に確保したメモリの使い方はこうするんだぜ」
って決め方だと思ってる。(言語でサポートされているのは使うのは楽らしいけど。)
だからVarSetCapacityとかでメモリ領域確保してアドレス渡しすれば結構使えちまう。
366:名無しさん@お腹いっぱい。
09/03/04 23:33:02 oTTwde4w0
suspend 時のアイコンを変更できない物でしょうか?
367:名無しさん@お腹いっぱい。
09/03/05 08:18:57 7I9asjSe0
URLリンク(www.autohotkey.com)
368:名無しさん@お腹いっぱい。
09/03/05 09:07:32 DThF++lC0
>>367
いやコンパイルせずにソースを実行するときに
アイコンを変更することができない物かと
試行錯誤をしていました
無理っぽいですね
ありがとうございます
369:名無しさん@お腹いっぱい。
09/03/05 09:32:36 UhjQBASr0
会社でahkを使ってたら、Hなダイヤルアッププログラムと誤解された
370:名無しさん@お腹いっぱい。
09/03/05 11:37:52 rcFfvT/S0
A(在り得ないほど) H(えっちな) K(娘通信) ?
371:名無しさん@お腹いっぱい。
09/03/05 11:47:21 lgTNReVh0
>>366
メニューは作り直すしか無さそう。
menu, tray, NoStandard
menu, tray, icon, shdoclc.dll, 1, 1
menu, tray, add, Suspend Hotkeys, suspend_hotkeys
menu, tray, add, Exit, ExitSub
return
suspend_hotkeys:
suspend
menu, tray, icon, shdoclc.dll, % A_IsSuspended+1 ", 1"
menu, tray, togglecheck, Suspend Hotkeys
msgbox, suspend
return
#s::
suspend, permit
gosub, suspend_hotkeys
return
ExitSub:
ExitApp
372:名無しさん@お腹いっぱい。
09/03/05 12:01:41 lgTNReVh0
あ、俺勝手にトレイアイコンの事だと判断しちゃったな・・
違ってたらスマン
373:名無しさん@お腹いっぱい。
09/03/05 12:28:12 GNmqhAQE0
>>371-372
おお、これで十分です
トレイアイコンの変更を意図していました
ありがとうございます。
374:名無しさん@お腹いっぱい。
09/03/05 20:15:15 xz90t0puP
会社ではトレイアイコンは常に非表示に設定してる
375:名無しさん@お腹いっぱい。
09/03/06 00:46:39 Y32mGPTe0
だからどうした。
376:名無しさん@お腹いっぱい。
09/03/06 02:31:08 6lo5rU0D0
ctrl と j でエンターキーを押した動作をさせたいのですが
^j::enter
と書くと、ctrlとjが押し下げられているままとなっているようで、
実際には ctrl とjを押しながらエンターキーを押す動作となってしまいました
^j::Send,{enter}
と書いても、ctrlが押し下げられているままとなっているようでした
そこで
^j::Send,{Blind}{Ctrl Up}{enter}
と書いたら一回目の入力は成功するものの、
{Ctrl Up}のせいで次回以降 ^j にヒットしなくなってしまいました
ctrl と j でエンターキーを押し、かつそれを連続して入力する設定は可能でしょうか?
377:名無しさん@お腹いっぱい。
09/03/06 02:52:01 EIumwJQn0
>>376
^j::Send,{enter}
で何の問題もなくエンター打てるけど?
378:名無しさん@お腹いっぱい。
09/03/06 05:33:37 6lo5rU0D0
>>377
キーの動作を見てみると、コントロールキーも一緒に送信しているようなのです。
fenrir 経由でx-finderを起動するときに
コントロールキーも一緒に送信されると
多重起動されてしまいます
これを防止したいと思いました。
通常のアプリケーションでは何ら問題ないようだとは
うすうす感じていますが……
379:名無しさん@お腹いっぱい。
09/03/06 06:53:07 atFpTk3M0
さらに
^j::Send,{Blind}{Ctrl Up}{enter}{Ctrl Down}
としたらどうなの
380:名無しさん@お腹いっぱい。
09/03/06 12:05:24 sR26OTSx0
>>379
それなら大丈夫そうです
ありがとうございます。
381:名無しさん@お腹いっぱい。
09/03/06 15:01:28 dtsNACZp0
>>359
俺は逆だな。macでAutoHotkeyが欲しい。
382:名無しさん@お腹いっぱい。
09/03/06 22:52:29 gMTAf0z20
タスクトレイのアイコンをダブルクリックしたら
hello!と表示させたいのですが、できますか?
Gui の Menu の項目を読んでもわかりません
Click, ClickCount あたりを使えばよいのでしょうか?
383:名無しさん@お腹いっぱい。
09/03/07 00:30:41 GNhe+RZO0
>>382
できる。
トレイにメニュー項目を追加してデフォルトにする
384:名無しさん@お腹いっぱい。
09/03/07 04:04:12 41mSVwUw0
>>383
ありがとうございます。
できました
385:名無しさん@お腹いっぱい。
09/03/07 08:14:05 HkiIUUNz0
AHKのGUIが便利すぎるので、フロントエンドにAHKを使い、パラレルポートの制御をしたいです。
用途は機械制御(赤外線の人センサーによる出入り回数の把握)で、数個のLEDの点灯制御と、
10bps(10kじゃないです)の双方向シリアル通信で、制御の確実性(信頼性)は低くてOKです。
本家を検索し、シリアルポートをGUIで制御するサンプルはありました。
URLリンク(www.autohotkey.com)
これのパラレルポート版に相当するサンプルがあると最高なのですが、探せませんでした。
ジョイスティック制御のdppの技術が使えそうですが、本家をdppで検索してもヒットせず。
ポート制御の達人がいらっしゃいましたら、なにかヒントをいただけると嬉しいです。
386:名無しさん@お腹いっぱい。
09/03/07 08:57:54 EX6aOmt+0
>>385
そういうのは VBとかDelphiとかのフォーラムとか過去ログ覗いたらいいと思う。
前にDelphi使ってたけど、シリアルポート制御のコンポーネントとかいくつかあったはず。
VBにもあるだろうと思う。それを移植するか、DLL化して使うか。
多分、需要がなくなっていない分野なら、C#やVB.netのものも見つかると思う。
VB、Delphi、C#、VB.net はVB以外は無料バージョンあるから、
ポトペタでGUI作れるからAHKよりよほど楽なんで、いっそそっちの言語でつくってもいいし
387:名無しさん@お腹いっぱい。
09/03/07 09:00:02 EX6aOmt+0
ごめん、パラレルポートだったか。どちらにせよ、検索してみてほしい。
Delphiだとこの辺。
Delphi-ML過去ログ検索
URLリンク(leed.t.u-tokyo.ac.jp)
Delphi ML archive | Google グループ
URLリンク(groups.google.co.jp)
Delphi Q & A掲示板
URLリンク(hpcgi1.nifty.com)
388:名無しさん@お腹いっぱい。
09/03/07 09:43:07 EX6aOmt+0
> 【1 OSの種類 .】 Windows Vista SP1
> 【2 Excelのバージョン 】 Excel 2007
> 【3 VBAが使えるか .】 はい
> 【4 VBAでの回答の可否】 否
> 【5 検索キーワード 】 Excel 補完 タブ Tab エンター ENTER など
>
> すごく、無茶な質問を承知でお聞きいたします。
>
> Excel上やVBAエディタ上では、補完候補の決定がタブになっているのですが、
> 他の開発環境のクセでエンターを間違えておして毎回イライラしてしまいます。
> 間違えないようにする方法、もしくは、タブではなくエンターで決定する方法はありませんでしょうか?
誘導されてきました。
こういうのってAutoHotKeyで可能なんでしょうか?
候補ウインドウが出ている時だけ、ENTERをTABに置換?
うーん考えただけで・・・
389:名無しさん@お腹いっぱい。
09/03/07 12:24:08 umaUJV8o0
英語版のキーボードと日本語版のキーボードを
それぞれ場合分けして処理することはできないでしょうか
390:名無しさん@お腹いっぱい。
09/03/07 12:45:36 GNhe+RZO0
>>388
出来ると思う。
>.>389
無理。
391:名無しさん@お腹いっぱい。
09/03/07 13:43:56 umaUJV8o0
>>390
そうですかわかりました
392:名無しさん@お腹いっぱい。
09/03/07 20:19:46 9fbJ8ZNJ0
メニューバーの編集(E)とかワードパットのフォントカラーとかを
操作できる命令はありますか?
393:名無しさん@お腹いっぱい。
09/03/07 20:38:41 MDzSZOKi0
あるよ
394:名無しさん@お腹いっぱい。
09/03/07 22:23:07 uKtAZx+C0
gui で作成したウィンドウにデフォルトでついている
右上の最小化ボタン(_)がありますよね?
これをクリックしたらタスクバーに表示せず
タスクトレイに格納したいのですが
どうすればよいのかわかりません
言い換えると、gui の操作で minimize のコマンドを送るようにできればいいのですが
395:名無しさん@お腹いっぱい。
09/03/08 00:00:01 tr/g5E240
>>386
情報どうもです。別方面からも検討してみます。
396:名無しさん@お腹いっぱい。
09/03/08 10:26:24 U6oXO4Qm0
Escキーを2回、トントンって入力するとウィンドウが最小化するスクリプトを
書きたいんだけど、どこが間違っているか教えて欲しい
Inputコマンド
URLリンク(lukewarm.s101.xrea.com)
↓ソース
Esc::
Input,InputChar,C I L1 T2,endkey,{Esc},z,x
if ErrorLevel=Match
{
if InputChar={Esc}
WinMinimize, A
if InputChar=z
if InputChar=x
}
return
397:名無しさん@お腹いっぱい。
09/03/08 10:34:55 esDbqi200
キーのダブルタップはサンプルあるだろ
398:394
09/03/08 12:41:19 Zm/1oWz60
自己レスですが
gui close で何とかなりそうですね
スレ汚し失礼しました
399:394
09/03/08 12:59:56 Zm/1oWz60
たびたびすみません
やっぱりできません
400:名無しさん@お腹いっぱい。
09/03/08 15:01:14 INaMOjyr0
>>399
右クリフックしてWM_NCHITTESTでマウス位置調べたらいいんじゃね
HTMINBUTTON だったらGUIを Hideにする。
タスクトレイからの復旧はMenuを書き替えればできるべ
401:名無しさん@お腹いっぱい。
09/03/08 20:24:31 CbAikyhi0
>>400
ふむ、その手が使えそうですね
ありがとうございました
402:名無しさん@お腹いっぱい。
09/03/08 20:39:34 W44aSFYp0
まっとうにやるなら>>400だけど。別の方法
Menu, Tray, Add, ShowGui
Gui, Add, Text,, This is Test
ShowGui:
Gui, Show
return
GuiSize:
if A_GuiWidth<1
Gui, Hide
return
403:名無しさん@お腹いっぱい。
09/03/08 22:31:03 OvInxdiZ0
テキストファイルを読み込むときに
最終行を検出する方法はありますか?
404:名無しさん@お腹いっぱい。
09/03/08 23:41:33 W44aSFYp0
ないんじゃないかな。
Loop, PARSE, ファイル名, `n
hoge := A_LoopReadLine
とすればループが終わったときに hoge には最終行の内容が入っているけど
405:名無しさん@お腹いっぱい。
09/03/08 23:46:14 ABSLuhUi0
>>404
そうできるのであれば十分です
どうもありがとうございます!
406:名無しさん@お腹いっぱい。
09/03/09 18:31:39 3Pb9nLSu0
ワードパッドの書式バーのフォントの色の変更や
太字化をahkでやりたいんですが座標指定でやるしかないんでしょうか?
WinMenuSelectでは反応しないし、
ボタンのハンドルをMouseGetPosで調べることもできません。
青とか赤の個別の色のボタンは調べられるんですが、値が毎回違うので
行き詰っています。
407:406こういう感じでやりました
09/03/09 18:48:21 3Pb9nLSu0
#F::
MouseGetPos, X , Y, W, OVC,2 ;これでハンドルを調べました
MsgBox %W% <--> %OVC%
clipboard = %OVC%
return
#G::
SetTitleMatchMode,2
DetectHiddenText, On
WinMenuSelectItem,ahk_id 0x50370,,7& ;ウインドウのハンドルからメニューバーとして操作しようとしましたが
WinMenuSelectItem,ahk_id 0x50370,,8& ;反応しません
WinMenuSelectItem,ahk_id 0x50370,,9&
WinMenuSelectItem,ahk_id 0x50370,,10&
WinMenuSelectItem,ahk_id 0x50370,,11&
WinMenuSelectItem,ahk_id 0x50370,,12&
;WinMenuSelectItem,ahk_id 0x50370,,1&,1& ;ファイル→新規、これは動きます
408:406こういう感じでやりました
09/03/09 18:50:43 3Pb9nLSu0
WinMenuSelectItem,ahk_id 0xd40372,,1& ;バー自体のアドレスからメニューバーとして操作しようとして
WinMenuSelectItem,ahk_id 0xd40372,,2& ;動きません
WinMenuSelectItem,ahk_id 0xd40372,,3&
WinMenuSelectItem,ahk_id 0xd40372,,4&
WinMenuSelectItem,ahk_id 0xd40372,,5&
WinMenuSelectItem,ahk_id 0xd60376,,1& ;反応しません
WinMenuSelectItem,ahk_id 0xd60376,,2&
WinMenuSelectItem,ahk_id 0xd60376,,3&
WinMenuSelectItem,ahk_id 0xd60376,,4&
WinMenuSelectItem,ahk_id 0xd60376,,5&
WinMenuSelectItem,ahk_id 0x9d01b2,,1&
WinMenuSelectItem,ahk_id 0x9d01b2,,2&
WinMenuSelectItem,ahk_id 0x9d01b2,,3&
WinMenuSelectItem,ahk_id 0x9d01b2,,4&
WinMenuSelectItem,ahk_id 0x9d01b2,,5&
ControlClick,,ahk_id 0xfb0194,,LEFT ;ハンドルが特定できません
MsgBox done
return
409:nCIjdtNZgMN
09/03/09 18:51:33 1ok/Ifbl0
comment5, URLリンク(kim-kardashian-video.limitedliability.us) kim kardashian nude video, %-PP,
410:406こういう感じでやりました
09/03/09 19:17:25 3Pb9nLSu0
やり直したらinspect_toolbarがなぜか今回は動いたので
それでやってみます
411:406こういう感じでやりました
09/03/09 23:05:06 3Pb9nLSu0
連投すみません
ワードパッドの書式バーの位置をずらした後
(メニューバー・ファイル(ファイル...
ツールーバー
書式バー(MSゴシック...
のように
)
inspect_tool_ids で書式バーのコマンドIDを調べて(32801)
#G::
PostMessage,0x111,32801,0,,A
return
でフォントの色を選ぶボタンをahk経由で押させることは出来たのですが、
赤とか青とかの個別の色を押させることが出来ません。
方法はありますか?
412:406-411(除409)
09/03/10 00:39:25 VYBxlQGq0
すいません、出来ました。Resource HackerでIDが調べられて
無事できました。ありがとうございました。長すぎる連投してしまい
本当に申し訳ないです。
413:名無しさん@お腹いっぱい。
09/03/10 15:05:28 rmSmGeHP0
起動してるプロセスを取得してその中から選択したプロセスを監視して任意の条件でいろいろする
ってのをやってみてるんだけど
IrvineとかJaneとかプロセスが二重に取得されてどっちを選べばいいかわからない
414:名無しさん@お腹いっぱい。
09/03/10 15:11:02 D/8zxGdl0
多重で起動してるの?すごい使い方だな。
415:名無しさん@お腹いっぱい。
09/03/10 15:47:04 rmSmGeHP0
一つしか起動してないけど取得されるのは二つになってるってこと
416:名無しさん@お腹いっぱい。
09/03/10 16:27:55 4NcKH5rc0
AHKでプロセスいじるのって Process コマンドでの
存在チェック(PID取得)、 強制終了、 優先度変更、 終了/存在待ち
だけど、二重に取得されるってどういうことだろ
Process, Exist, Jane2ch.exe
pid := ErrorLevel
WinGet, list, LIST, ahk_pid %pid%
MsgBox, %list%
ってすると2個窓がとれるけど
これのことだったら >>144,147,153 あたりと同じなんだが・・・
417:名無しさん@お腹いっぱい。
09/03/10 21:21:52 gm+lfOz80
Delphi製のアレなら、既に解決方法は確立されているので検索してこい
418:名無しさん@お腹いっぱい。
09/03/11 03:02:36 pYoGuoaj0
WM_COMMANDでメニューバーをクリックしたときにでてくる新しいウインドウ
の中のコマンドに対するコマンドIDをしらべたいんですが、
何かいい方法はありますか?
窓コンもinspect_toolbarも反応しなくて、resource hacker
でも調べられません。
ddwinとかpdicビューワーに使いたいんですけど。
419:名無しさん@お腹いっぱい。
09/03/11 07:16:24 1ccOe8xw0
WheelScroll.ahk の改造版をうpしますた。ホイール加速を滑らかにしたつもり。
URLリンク(lukewarm.s101.xrea.com) の 104.zip
420:名無しさん@お腹いっぱい。
09/03/11 08:59:21 12ef3abb0
AutoHotKeyのPython版みたいなのみつけた。
AutoHotKeyのスクリプトの記述性の低さが嫌な人にはいいのかも。
keyhac ?(craftware)?
URLリンク(sites.google.com)
まあ、AutoHotKeyはDSL(ドメイン特化言語)で手軽さがあってそれでいてGUI持つくれるというのがいいけどね。
(まあ、PythonもGUIいけるけど)
421:名無しさん@お腹いっぱい。
09/03/11 10:22:40 12ef3abb0
ちょっと質問です。OpenJaneで「お気に入り」に入れてあるスレを
お気に入りからはずして「印」のみつける(お気に入りからはずすと何故か「印」がはずれてしまうため)
というのを一発でやりたいと考えています。
メニューのコマンドを送ろうとしているのですが、ControlSendを使ってもキーが送られないようです。
以下のように単なるSendだと上手くいっているようなのですが、
ControlSendとSendの違いってなんなんでしょうか?
; OpenJane
#IfWinActive, Jane ahk_class TMainWnd
; Ctrl+D to delete favorite without deleting SIRUSI
^d::
WinWait,Jane ahk_class TMainWnd
Send, !tv
Sleep, 100
Send, !tm
; ControlSend,,!tv!tm ; damepo
return
#IfWinActive
422:名無しさん@お腹いっぱい。
09/03/11 11:45:04 iQp8Awzp0
Sendはフォーカスのあるところに送る
ControlSendはフォーカスが無くても、というか対象を指定してキーを送る
ウィンドウ指定+コントロールの指定なし、でいけるんじゃないの
Styleだけど↓で動くよ
ControlSend,, !tv!tm, ahk_class TMainWnd
423:名無しさん@お腹いっぱい。
09/03/11 11:48:35 iQp8Awzp0
というか、非アクティブ窓に送るのがControlSendの主目的だし
#IfWinactiveつかってるんだし、>>421でうごくならそれでいいと思う
keyhacはkeymapがあるし繭の代替みたいなかんじだぬ
424:名無しさん@お腹いっぱい。
09/03/11 12:50:26 12ef3abb0
>>422-423
サンクス。
なるほど、アクティブのときに使うなら必要ないですね。
むしろ、フォーカスないときに送るAPIもあるのかと感心したw
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5205日前に更新/194 KB
担当:undef