[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/07 16:17 / Filesize : 304 KB / Number-of Response : 977
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

AutoHotkey スレッド part4



1 名前:ぬるぽ mailto:sage [2007/07/16(月) 12:30:27 ID:cd0T6xfs0]
(テンプレ>>1)
■公式
www.autohotkey.com/

■解説
AutoHotkeyを流行らせるページ
lukewarm.s101.xrea.com/

■過去スレ
1 pc7.2ch.net/test/read.cgi/software/1098531338/
2 pc7.2ch.net/test/read.cgi/software/1129836713/
3 pc11.2ch.net/test/read.cgi/software/1157043396/

関連リンク>>2以降も参照


620 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/03(土) 17:57:22 ID:CAd+Il2K0]
>>618
君が実際にAutoHotkeyを使って見るのが一番早い
重くなったのが感じられるなら無理と言う事だし、変化が解らないなら問題無いと言う事だ

621 名前:名無しさん@お腹いっぱい。 [2007/11/03(土) 18:27:22 ID:H0//tZlU0]
firefoxのコンテンツエリアにfocusするにはどうしたらいいですか?

SetTitleMatchMode, 2

!.::
WinActivate, ahk_class Progman
WinActivate, Mozilla Firefox

ここまでは書けたのですが、これだとwindowにfocusされるに過ぎず、
たとえば、textareaにfocusのあるときにAlt+.をしてもコンテンツエリア(bodyタグ直下のtextノードに相当)
のfocusされません。

よろしくお願いします。

622 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/03(土) 18:30:03 ID:PDweSZTN0]
>>618
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/39
一応書いておくが、実際やってみるのが一番。

623 名前:618 mailto:sage [2007/11/03(土) 18:53:52 ID:KoS6CqZf0]
>>619>>620>>622
レスありがとうございます。
作ってから判断するしかないですね…
URLのページも参考になりました

624 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/03(土) 18:57:34 ID:YvsIr1mE0]
自分とこだと
explorerのCPU時間が8:17、
System Idle Processが65:23:22程度に使ってるマシンで
プライオリティ通常以上で1000行くらいのAutohotkeyスクリプトが0:57。
全62プロセスの中の14位。
まあスクリプトの内容によるけど微々たるものだね。
ちなみに同時に使ってるmayu.exeは0:16

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/03(土) 19:55:54 ID:boeZzQhE0]
>>621
fx の UI は OS のデフォじゃなくて独自実装なので、
ahk の関数は無力です。
ahk から mozrepl 使って javascript を実行させましょう。

626 名前:名無しさん@お腹いっぱい。 [2007/11/03(土) 20:48:07 ID:H0//tZlU0]
>>625
ありがとうございます。
mozrepl調べてみます。

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/03(土) 21:59:17 ID:KDbiL8JY0]
ControlFocus,MozillaWindowClass7,ahk_class MozillaUIWindowClass

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/04(日) 00:11:27 ID:xp2+A/Gz0]
タスクバーを上に配置していて、ウィンドウがタスクバーに重なってしまう事が時々あるので
Loop{
WinGetPos, X, Y, , , A
If(Y < 23)
WinMove, A, , , 19
Sleep, 2000
}
return
のようにして使ってるんですが、これだとウィンドウがアクティブになるまで放置プレイなので
できたら Y < n のウィンドウが存在したらWinMoveするようにしたいです。
初心者ですみません、上手い方法ありますでしょうか?
助けてってば〜というソフトは自分の環境では上手く動作しませんでした。



629 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/04(日) 00:41:09 ID:q8+pQI0t0]
突然なのですが、キー2回押しの関数ですばらしいのを発見したのでご報告。
モディファイヤもばっちり動きます。

DoubleKey(RunCommand, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Run, %RunCommand%
}

こんなかんじで使用。
~LCtrl up:: DoubleKey("cmd.exe", 400)

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/04(日) 04:06:08 ID:E+kS+4E70]
>>624
俺もそんくらいだな。
SystemIdleProcessがその半分ぐらいの時間で、AutoHotKeyは14秒。

631 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/04(日) 23:49:43 ID:AZzCkrKS0]
>>629 どうやって動かすの?

632 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 03:31:44 ID:FkXhXeMc0]
AutoHotkey.ahkのpathってどこで変えられますか?

633 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 09:01:47 ID:T7zQuT9A0]
>>631
DoubleKey関数を自分のスクリプトにペーストします。
DoubleKey(起動したいコマンドライン、タイムアウトms)

- 左コントロールキー2回押しでコマンドプロンプト起動
~LCtrl up:: DoubleKey("cmd.exe", 400)

- 右シフトキー2回押しでCraftLaunch起動
~RShift up:: DoubleKey("C:\Tools\DF\DF.EXE", 400)

こんなかんじで。

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 10:38:24 ID:RywdyRDO0]
発見てかいてあるからにはネットで拾ってきたんだと思うけど
出典元くらい書いたらどうなの

635 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 11:06:08 ID:4B2+SDNl0]
>>634
すいません、わすれてしまいました。

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 11:11:24 ID:4B2+SDNl0]
検索履歴をみたら再検索できました。
出展はこちらです。
www.donationcoder.com/Forums/bb/index.php?topic=5926.msg41894

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/05(月) 20:39:45 ID:0oN7XXgL0]
先頭に ~ をつけると どのような動作になるのでしょうか?

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/06(火) 11:54:52 ID:wcyUO4TQ0]
っ 説明書



639 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/06(火) 12:22:36 ID:k2QniCI00]
WindowsMediaPlayerにControlsendでキーストロークを送りたいのですが、
上手くいきません。他にもですがControlSendで不発なアプリがあるのですが、
アクティブにしてからSendでも送ることで諦めるしかないのでしょうか?

!b::
;ボス来る
WinGetClass, MotoWindow, A
ControlSend,,{Space},ahk_class MediaPlayerClassicW;メディアプレイヤークラシック一時停止
;ControlSend,,^{P},ahk_class WMPlayerApp
;↑同様にWメディアプレイヤーの一時停止だが、うまくいかない
WinActivate,ahk_class WMPlayerApp
Send,^{p}
WinActivate,ahk_class %MotoWindow%;元のウィンドウに戻す
return

WinActivateだと一瞬チラッとメディアプレイヤのグラフィックが出てしまって困ります。

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/06(火) 12:51:58 ID:okUbZAfE0]
PostMessageを使った方が確実で良いんじゃない

641 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/06(火) 18:59:45 ID:1fn8POGO0]
>>621
>Firefoxのコンテンツエリアにフォーカス
もう解決したかもしれないけど、mozreplの使い方が分からない自分の解決方法は
1.アドレスバーにフォーカス(Alt + d)
2.Enter
開いているページが更新されてしまうのが難点。

テキストエリアからフォーカスを戻したい時はEsc

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/06(火) 20:10:21 ID:pb+kNkjg0]
>>639
^{P} → ^p ではどう?

うちの環境では大文字送信だとショートカットキー上手く動かなかったからひょっとするかもよ。
あと文字送信だから{}で括らなくておk

ControlSendはあんまり確実性ないね。640の言う通りPostMessage使えそうならそっちのが無難

643 名前:639 mailto:sage [2007/11/06(火) 22:18:49 ID:k2QniCI00]
ダサイですが元のウィンドウを最前面固定にして、
背面ウィンドウをアクティブにしてSendで送ることで
やりたいことを実現しました。

Send/PostMessageはヘルプに書いてないのに
皆さん何で知っているんですか?質問ばかりですみません。

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/06(火) 22:26:47 ID:+cTzfPdI0]
いやいや書いてあるでしょ
ttp://www.autohotkey.com/docs/commands/PostMessage.htm

645 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 14:48:21 ID:xcF2JGlk0]
下記のエラーメッセージが出てしまいます。
どう対処すればよろしいでしょうか。
Error: A control's variable must be global. The current thread will exit.
Specifically: vMyCheckbox

menu() {
global vMyCheckbox, vMyEdit, vMyRadio
Gui, add, tab,, First Tab|Second Tab|Third Tab
Gui, add, checkbox, vMyCheckbox, Sample checkbox
Gui, tab, 2
Gui, add, radio, vMyRadio, Sample radio1
Gui, add, radio,, Sample radio2
Gui, tab, 3
Gui, add, edit, vMyEdit r5 ; r5 means 5 rows tall.
Gui, tab ; i.e. subsequently-added controls will not belong to the tab control.
Gui, add, button, default xm, OK ; xm puts it at the bottom left corner.
Gui, show
return

ButtonOK:
GuiClose:
GuiEscape:
Gui, submit
MsgBox You entered:`n%MyCheckbox%`n%MyRadio%`n%MyEdit%
}
+^b::
menu()
return


646 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 15:39:03 ID:c0R2jDpg0]
global MyCheckbox, MyEdit, MyRadio
vがいらないんじゃ?

別のエラーがでたけど

647 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 17:01:45 ID:xcF2JGlk0]
>>646
ありがとうございます。
すすみました。

正規表現で質問があります。
うまく置換できないのですが、どこが問題でしょうか。

bb = %clipboard%
bb = RegExReplace(%bb%, "[A-z]", "_")
clipboard = %bb%


648 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 17:09:47 ID:c0R2jDpg0]
bb := RegExReplace(bb, "[A-z]", "_")



649 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 17:20:51 ID:xcF2JGlk0]
>>648
ありがとうございます。
こういうやり方ってできないんですかね。

clipboard := RegExReplace(%clipboard%, "[A-z]", "_")


650 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 18:12:59 ID:c0R2jDpg0]
だからー、第一パラは%いらないのー

651 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 18:56:45 ID:xcF2JGlk0]
>>650
もう分からないです。

こうすると clipboard := RegExReplace(clipboard, "[A-z]", "_")

クリップボードのデータが "RegExReplace(clipboard, "[A-z]", "_")" なります。


652 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 19:02:13 ID:tZM8oTgz0]
OnClipboardChange:
clipboard := RegExReplace(clipboard, "[A-z]", "_")
return
をコピーしたら
_________________:
_________ := ____________(_________, "__-__", "_")
______
になった。

653 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 19:20:20 ID:xcF2JGlk0]
>>652
すいません。
ありがとうございます。
できました。

ちなみに、これを実行するととんでもないことに
clipboard := RegExReplace(clipboard, "\\", "\\\\")

C:\
 ↓
C:\\\\\\・・・・・・

654 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/08(木) 10:34:56 ID:VpjEbYEG0]
GUIの入力項目で、よく検索ソフトとかで入力履歴がドロップで出て選択できるって機能がありますが
そんな部品ってありますか?または作れますか?

655 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/08(木) 11:37:39 ID:LkNXR2gq0]
>>654
ComboBoxかDropDownList

656 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/08(木) 12:19:25 ID:QotMhKmE0]
>>653
かっこ()の中は変数、それ以外は文字列って覚えとけ。
かっこの中の変数は、%%で展開する必要はない。逆に文字列は""で囲う必要がある。
 If(A_LoopField=str)   ;str=hoge
 If A_LoopField=%str%
 If(A_LoopField="hoge")
 If A_LoopField=hoge
どれも同じ

ちなみにC:\\\\\\・・・・・・にはならないぞ。
1つの\を4つの\に置換する表現だから、C:\\\\になるはずだし、試したら実際そうなったが。

657 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/08(木) 15:23:42 ID:XkPSzQlp0]
きっとループに陥ってるだけなんだろうな
もう少しこなれてからまたおいでって感じだな

658 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/08(木) 15:53:46 ID:VpjEbYEG0]
Gui, Add, ComboBox ,vCom Simple Sort, aaa|bbb|ccc|aab|aba

これで「a」を打つと下のリストボックスが、aaa,aab,abaに勝手に絞り込ます部品や方法ってありますか?
インクリメンタルサーチのリストボックス絞込み再表示みたいなイメージです。



659 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/08(木) 17:26:35 ID:MaxO5Kjc0]
流行らせるページのコマンドラインランチャがそんな感じ

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/08(木) 19:41:54 ID:VpjEbYEG0]
変数にリストがないのは痛いな。

配列を使っているけど、追加、削除、検索をjavaのクラスみたいに簡単に使いたい。

661 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 13:36:05 ID:sCn2a4fh0]
VistaHomeBasicですが、
左Shiftキー二回押しでdeleteが入力されるようにしたいです。
そこで、以下のところまでは書いたのですが、この続きはどうしたらいいですか?
それともこの方向性は間違ってますか。
アドバイスお願いします。

; keybind to the delete key

flag:=0
SetTimer, checkShiftkey, 500
LShift::【flag==1にする】

checkShiftkey:
if(flag==1)
{
【deleteキーを押す】
}
flag:=0
return


662 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 13:43:29 ID:FxAaRY1v0]
~LShift up:: DoubleKey("{Delete}", 400)

DoubleKey(Command, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Send, %Command%
}

663 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 14:06:19 ID:sCn2a4fh0]
>>662
正常に動作しました。
今やっと理解できました。

ありがとうございます。

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 19:46:13 ID:8en6gcJl0]
質問させていただきます

マウスの下のウィンドウのプログラムの実行ファイル(.exe)のパスを取得するにはどうすればよいのでしょうか?

MouseGetPosでウインドウ名、コントロール、などを取得した後
ウインドウ名やコントロールからどのようにしてファイルのパスを取得すればいいのかがわかりません

よろしくお願いします

665 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 19:57:53 ID:cfB1EDup0]
>>664
俺には難しくてよくわからんw

2005-08-26 - eamatの日記
ttp://d.hatena.ne.jp/eamat/20050826
旧雑記サルベージ
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/70


666 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 20:11:38 ID:PmoIudtT0]
hwnd から pid に変換は、EnumWindows と GetWindowThreadProcessId を使えばいいよ。
コールバック書けるならね。

667 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 20:15:08 ID:mXY51MyH0]
>>666
WinGet?

668 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 18:03:38 ID:/aFkmSrv0]
設定したホットキーの解除(一部のキー)ってできます?



669 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 18:20:53 ID:77vfAw8E0]
Hotkey, OFF

670 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 03:10:52 ID:BemSIh+W0]
#IfWinActive を使って Foxit Reader という PDFビューアをフックしたいのですが、うまくいきません。
AU3_Spy.exe で 見てみると、ahk_class Afx:400000:8:10011:0:xxxxxxx となって、最後の7桁が
起動毎に変ってしまいます。
SetTitleMatchMode, 2 として #IfWinActive ahk_class Afx にて中間一致を試みましたが
全くに認識されません。
このような場合にはどのようにしたらよいでしょう?

671 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 05:08:05 ID:BFVOzu/J0]
ahk classには中間一致はないでソ
タイトルじゃないんだから

672 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 08:08:30 ID:CUI4dA1N0]
>>670
> AU3_Spy.exe で 見てみると、ahk_class Afx:400000:8:10011:0:xxxxxxx となって、最後の7桁が
> 起動毎に変ってしまいます。
Afx:400000:8:10011:0:0000000〜Afx:400000:8:10011:0:9999999
まで書いとけばいいんじゃね?

673 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 10:19:12 ID:z6SmkfAk0]
Sleipnirが最前面のときのみ
Sleipnirのみホットキーを有効にしたいのですが、うまくいきません。
ご教授ください。

Sleipnirをホットキーなしで使用したい場合もあるので、
ホットキーを有効にするかの条件を加えています。

;有効トグル用フラグ
flg = 0

;ホットキー
2::
;最善面のウィンドウがSleipnirで、フラグがONのとき
IfWinActive, ahk_class SleipnirMainWindow && flg = 1
{
Send {F2}
}
return

;フラグ切り替え
^1::
if (flg = 1) {
flg = 0
} else {
flg = 1
}
return


674 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 10:20:31 ID:WsuDC3uN0]
>>671
なるほど、そういうことでしたか。
ヘルプを参照してタイトル部分一致を試みたのですが、ちょっとできませんでした。
また別の機会にやってみます。

>>672
いいアイディアをありがとうございます。

675 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 11:28:10 ID:CUI4dA1N0]
>>673
> ;最善面のウィンドウがSleipnirで、フラグがONのとき
> IfWinActive, ahk_class SleipnirMainWindow && flg = 1
IfWinActive は If とは違うので中に式は掛けないと思うよ。
flag をトグルした場合に hotkey を登録したり、解除したりしないとダメだよ。

>>674
冗談だから本気にしないでね。

676 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 11:31:04 ID:CUI4dA1N0]
>>673
;; と思ったけど、F2 送るだけならこれでいいんじゃ?
IfWinActive, ahk_class SleipnirMainWindow
2::
;; 最善面のウィンドウがSleipnirで、フラグがONのとき
if (flag == 1)
{
Send,{F2}
}
else
{
Send,2
}
return


677 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 11:34:51 ID:VVUThdm/0]
>>672は想像してみて、ちょっと面白いなと思っていました。
アイディア自体も思いつかなかったので、また何かの力技系のときに応用してみます。
ありがとうございました。

678 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 11:39:23 ID:z6SmkfAk0]
>>676
あっ
ごもっともです。
ありがとうございます。



679 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 15:00:51 ID:z6SmkfAk0]
無変換キーにウィンドウ最小化を与えたいのですが、

vk1Dsc07B:: WinMinimize

ではうまくいきません。

どうすればよいでしょうか。

680 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 15:07:35 ID:BFVOzu/J0]
さすがに付き合いきれんよ

681 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 15:17:03 ID:VVUThdm/0]
>>679
自分も最初これで悩んだ。
WinMinimize, A

682 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 15:29:49 ID:z6SmkfAk0]
>>681
あざーす

サンプルの一番下だけ見てなかったっす。

683 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 15:32:37 ID:3EV62vgO0]
あざーすって何だよ。

アザトースか?

684 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 15:37:13 ID:CUI4dA1N0]
>>683
ラブクラフトの読みすぎです

685 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 15:49:32 ID:BFVOzu/J0]
今日は優しい風が吹いてるな

686 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 17:56:25 ID:z6SmkfAk0]
「^c::Send,^c」という定義をした場合、
Ctrl+Cが押されるとCtrl+Cを送信するサブルーチンが実行され、そのCtrl+Cに反応して再度サブリーチンが実行され、無限ループに陥ってしまう。

とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?


687 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 18:02:00 ID:CUI4dA1N0]
>>686
> とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?
何も割り当てなければ C-c は C-c のままですよ?

688 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 18:02:39 ID:CUI4dA1N0]
ごめん激しく釣られた。
ペーストは C-v ですた。



689 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 19:57:39 ID:LxbWc6NN0]
ホットキーでマスタ音量を上げ下げしたくて作ったのですが二点ほど質問があります

TIPOFF:
tooltip
settimer, TIPOFF, off
return

^up::
settimer, TIPOFF, 500
soundset, +1, MASTER
soundget, MASTERVOL, MASTER
tooltip, %MASTERVOL%
return

^down::
settimer, TIPOFF, 500
soundset, -1, MASTER
soundget, MASTERVOL, MASTER
tooltip, %MASTERVOL%
return


1.ツールチップは透明にしたりできないのでしょうか?

2.なぜか+1しているのに0.999466ずつ足されていくのですがなぜでしょうか?



690 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 20:18:50 ID:BFVOzu/J0]
0〜65536を百分割してるから誤差が出るんじゃないの

691 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/12(月) 22:34:22 ID:vc5RlPA+0]
便乗質問。ツールチップのフォントの大きさ変えることできない?

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 00:02:17 ID:6r0yPWm20]
流行らせるページの「タスクトレイに最小化」スクリプトで
最小化したウィンドウを取り出すとき、
タスクトレイのアイコンをクリックするのではなく、
ショートカットキーで取り出す事ってできますか?

一応、特定のアプリだけで使いたいんですが、やり方がよく分かりません・・・

693 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 13:10:29 ID:bRWzStWe0]
Altキー2回押しで起動するアプリがあってそれをAHKを使って、Ctl+右クリックで呼びたいんですけど
下のいずれでもダメでした。
何か良い方法がありましたら教えてください。

^RButton:: SendEvent {ALT}{ALT}

^RButton:: SendInput {ALT}{ALT}

^RButton:: Send {ALT}{ALT}

^RButton::
SendInput {ALT} down
SendInput {ALT} up
SendInput {ALT} down
SendInput {ALT} up


694 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 13:45:41 ID:3KwfawNn0]
CLCLで試したけど

KeyWait, CTRL, U

はさんだら出来た。でも、キーを放すまでは動作しないので
ちょっと違和感ある

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 19:55:57 ID:ax2MIHQd0]
「起動する」のであれば、Runで呼び出すのではいかんのかい?

696 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 21:00:20 ID:ax2MIHQd0]
マウスカーソルを動かさずに、指定した座標にマウスのクリックを発生させることは不可能でしょうか?

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 21:55:57 ID:LRbMYgHY0]
PostMessage,SendMessage + WM_LBUTTONCLICK 辺り

698 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 21:57:34 ID:YS/tTYSd0]
右ダブルクリックにホットキーを割り当てたいのですが、
RButtonRButton:: ではだめでした。やり方が悪いのでしょうか?




699 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 22:15:44 ID:nAoiLpYR0]
>>698
その発想はないわw
629を少し変えれば良いと思うよ

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 22:25:35 ID:3KwfawNn0]
ワロスw

701 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 23:37:30 ID:Zt52tcWK0]
マウスジェスチャ2ならRB__RB__なんだがな

702 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 13:09:46 ID:rIfeXugq0]
マウスカーソルをデスクトップの右上に1秒置いたとき
関数を実行させることってできますか?

703 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 13:32:41 ID:KNpdLpyT0]
できるよ

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 14:13:46 ID:Pr/9nclm0]
~Lbutton & ctrl::send,{enter}
が暴走します。
字面通り左ボタンを押しながらCtrl押すとEnterになるのはいいんですが、
何故か家ではCtrl押しながら左ボタン押すと定義外のことが起きます。

何も定義してないのに、左ボタンを押してる間Enterが連打されてしまいます。

~b & ctrl::send,{enter}
だとCtrl押しながらbで(当然のことながら)何も起きないのに。

705 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 22:54:05 ID:Pr/9nclm0]
おかしいな家だけ?Lbuttonが壊れているわけでもないのに。

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 23:04:50 ID:NYeH+lm70]
>>697
ありがとう。調べてやってみましたが、
たとえばアクティブウィンドの(256,256)の座標に、マウスの左ボタンをクリック→離すを送るのに

SendMessage, 0x201,0,0xFF00FF,,A
SendMessage, 0x202,0,0xFF00FF,,A


を試してみました。
が、どうもうまくいきません。書き方間違っているのでしょうか。
右クリックにしてみると(0x204,0x205)、アクティブウィンドの種類によってはメニューは出ることがあるのですが、
意図した座標で右クリックしていないようで…

よろしければ知恵をお貸しください。

707 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 23:30:25 ID:KNpdLpyT0]
>>706
> SendMessage, 0x201,0,0xFF00FF,,A
wParam は 1 じゃないと不味いような。
昔書いた奴をやろう。

LClk(x, y, id=0)
{
lParam := x | (y << 16)
if id = 0
{
PostMessage, 0x0201, 1, %lParam%
PostMessage, 0x0202, 0, %lParam%
}
else
{
PostMessage, 0x0201, 1, %lParam%,,ahk_id %id%
PostMessage, 0x0202, 0, %lParam%,,ahk_id %id%
}
Return
}


708 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 21:05:47 ID:1P+tCkQs0]
現在文字入力中であるかどうか
を判断する方法はありませんか?

A_CursorXで判断できるかと思ったのですが入力中でないにも関わらず値が存在しますし
現在のコントロールだとwebページの入力フォームが判断できませんし



709 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 21:35:09 ID:zw/4nkes0]
キーを押しているかどうかなら GetAsyncKeyState
厳密に入力中かどうかは判定するなら、メッセージを hook しないといけない希ガス

710 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 22:15:14 ID:1P+tCkQs0]
間違えた上に言い方が悪かったです
A_CursorX ではなく A_CuretX でした
文字入力中かどうか ではなく キーを叩くと文字が入力される状態かどうか でした

何がやりたいかというと、文字を打ち込みたいとき以外は
修飾キーなし、英数字キー単体でキーボードショートカットを実現したいのです

711 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 23:25:24 ID:rH+toGPZ0]
COntrolGetFOcus
で文字打ち込み系のコントロールだったら除外するとか

712 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 09:04:41 ID:MSHvKwcF0]
よいお知恵を教えてください。
英語版WindowsXP Pro SP2上にてAutoHotKeyを使っています。

AHKで、メモ帳トラッパーやNotepadBranchのような働きをさせられたら、と思っています。
考えている仕組みは、上記のものと異なり、notepad.exeが開いたら対象ファイルのパスを取得し、
任意のエディタで開き、同時にnotepad.exeを閉じる、というものです。

しかしながらアクティブなnotepad.exeが開いているファイルパスの取得方法がわかりません。
どなたかご教授いただけないでしょうか。

713 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 09:55:58 ID:TrZF8PzZ0]
>>712
おまいさんの notepad.exe と俺の使ってる奴の version が同じかどうかはわからないが、
notepad.exe のメモリの 0x0100A900 を読めばいいとじっちゃんが言ってた。
ちなみに Unicode だから、ahk でそのまま表示しても文字化けするから注意してくれ。

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 10:34:20 ID:Pk94Qr060]
>>699
ありがとうございます。

RButton:: DoubleKey("cmd.exe", 400) でできましたが、
普通の右クリックが聞かなくなりました。
考えてみたら当たり前ですが・・・

やりたいことはartipsというソフトがあり、
artipsのの右ダブルクリック見たいに、ホットキーアクションをさせたいです。

artipsは、初回の右クリックで、通常の右クリックアクションが即効発動して
次の右クリックをすると、artipsのポップアップが出る動きです。

どうしてもAutoHotKeyで実装したいのですが、
すいません、ヒントをお願いします。

715 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 11:39:51 ID:ESF4RUBf0]
(右ダブルクリックだけなら、)わざわざ関数持ち出さなくともよくね?

~Rbutton::
If(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 200)
{
Send,{Esc}
;出現したコンテキストメニューを念のため消す
Send,Atoha yaritai koto
;後はご自由に
}
return

716 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 14:09:11 ID:MSHvKwcF0]
>>713
情報ありがとうございます。じっちゃんにもお伝え下さい。
しかしメモリの読みかたが全くわからないので、もしよろしければ
メモリの参照方法をじっちゃんに聞いていただけないでしょうか?

717 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 14:34:48 ID:jVKwkL+A0]
ググレカス

718 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 15:21:15 ID:q18ihBcn0]
WinMain を使えば出来そうな気配なんだけど
もうこれ以上は分からん┐( ´ー`)┌



719 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 15:33:11 ID:0alUhCR10]
流行らせるページ管理人氏のMyScriptにメモリをどうにかして読むサンプルがあったような気が

720 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 16:36:49 ID:TrZF8PzZ0]
>>716
ググれない奴は覚えないってじっちゃんが言ってた。

#include mbstring.ahk
ReadMemString(pid, ByRef res, addr, size)
{
local hproc, suc
hProc := DllCall("OpenProcess",UInt,0x001F0FFF,UInt,0,UInt,pid,UInt)
VarSetCapacity(res, size)
suc := DllCall("kernel32\ReadProcessMemory",Int,hProc,Int,addr,Str,res,Int,size,Int,0,Int)
DllCall("psapi\CloseProcess",Int,hProc)
return suc
}

#ifwinactive ahk_class Notepad
1::
WinGet, pid, PID
ReadMemString(pid, ures, 0x0100A900, 256)
MBS_WideCharToMultiByte(res, ures)
msgbox, %res%
return







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<304KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef