AutoHotkey スレッド ..
620:名無しさん@お腹いっぱい。
07/11/03 17:57:22 CAd+Il2K0
>>618
君が実際にAutoHotkeyを使って見るのが一番早い
重くなったのが感じられるなら無理と言う事だし、変化が解らないなら問題無いと言う事だ
621:名無しさん@お腹いっぱい。
07/11/03 18:27:22 H0//tZlU0
firefoxのコンテンツエリアにfocusするにはどうしたらいいですか?
SetTitleMatchMode, 2
!.::
WinActivate, ahk_class Progman
WinActivate, Mozilla Firefox
ここまでは書けたのですが、これだとwindowにfocusされるに過ぎず、
たとえば、textareaにfocusのあるときにAlt+.をしてもコンテンツエリア(bodyタグ直下のtextノードに相当)
のfocusされません。
よろしくお願いします。
622:名無しさん@お腹いっぱい。
07/11/03 18:30:03 PDweSZTN0
>>618
URLリンク(lukewarm.s101.xrea.com)
一応書いておくが、実際やってみるのが一番。
623:618
07/11/03 18:53:52 KoS6CqZf0
>>619、>>620、>>622
レスありがとうございます。
作ってから判断するしかないですね…
URLのページも参考になりました
624:名無しさん@お腹いっぱい。
07/11/03 18:57:34 YvsIr1mE0
自分とこだと
explorerのCPU時間が8:17、
System Idle Processが65:23:22程度に使ってるマシンで
プライオリティ通常以上で1000行くらいのAutohotkeyスクリプトが0:57。
全62プロセスの中の14位。
まあスクリプトの内容によるけど微々たるものだね。
ちなみに同時に使ってるmayu.exeは0:16
625:名無しさん@お腹いっぱい。
07/11/03 19:55:54 boeZzQhE0
>>621
fx の UI は OS のデフォじゃなくて独自実装なので、
ahk の関数は無力です。
ahk から mozrepl 使って javascript を実行させましょう。
626:名無しさん@お腹いっぱい。
07/11/03 20:48:07 H0//tZlU0
>>625
ありがとうございます。
mozrepl調べてみます。
627:名無しさん@お腹いっぱい。
07/11/03 21:59:17 KDbiL8JY0
ControlFocus,MozillaWindowClass7,ahk_class MozillaUIWindowClass
628:名無しさん@お腹いっぱい。
07/11/04 00:11:27 xp2+A/Gz0
タスクバーを上に配置していて、ウィンドウがタスクバーに重なってしまう事が時々あるので
Loop{
WinGetPos, X, Y, , , A
If(Y < 23)
WinMove, A, , , 19
Sleep, 2000
}
return
のようにして使ってるんですが、これだとウィンドウがアクティブになるまで放置プレイなので
できたら Y < n のウィンドウが存在したらWinMoveするようにしたいです。
初心者ですみません、上手い方法ありますでしょうか?
助けてってば〜というソフトは自分の環境では上手く動作しませんでした。
629:名無しさん@お腹いっぱい。
07/11/04 00:41:09 q8+pQI0t0
突然なのですが、キー2回押しの関数ですばらしいのを発見したのでご報告。
モディファイヤもばっちり動きます。
DoubleKey(RunCommand, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Run, %RunCommand%
}
こんなかんじで使用。
~LCtrl up:: DoubleKey("cmd.exe", 400)
630:名無しさん@お腹いっぱい。
07/11/04 04:06:08 E+kS+4E70
>>624
俺もそんくらいだな。
SystemIdleProcessがその半分ぐらいの時間で、AutoHotKeyは14秒。
631:名無しさん@お腹いっぱい。
07/11/04 23:49:43 AZzCkrKS0
>>629 どうやって動かすの?
632:名無しさん@お腹いっぱい。
07/11/05 03:31:44 FkXhXeMc0
AutoHotkey.ahkのpathってどこで変えられますか?
633:名無しさん@お腹いっぱい。
07/11/05 09:01:47 T7zQuT9A0
>>631
DoubleKey関数を自分のスクリプトにペーストします。
DoubleKey(起動したいコマンドライン、タイムアウトms)
- 左コントロールキー2回押しでコマンドプロンプト起動
~LCtrl up:: DoubleKey("cmd.exe", 400)
- 右シフトキー2回押しでCraftLaunch起動
~RShift up:: DoubleKey("C:\Tools\DF\DF.EXE", 400)
こんなかんじで。
634:名無しさん@お腹いっぱい。
07/11/05 10:38:24 RywdyRDO0
発見てかいてあるからにはネットで拾ってきたんだと思うけど
出典元くらい書いたらどうなの
635:名無しさん@お腹いっぱい。
07/11/05 11:06:08 4B2+SDNl0
>>634
すいません、わすれてしまいました。
636:名無しさん@お腹いっぱい。
07/11/05 11:11:24 4B2+SDNl0
検索履歴をみたら再検索できました。
出展はこちらです。
URLリンク(www.donationcoder.com)
637:名無しさん@お腹いっぱい。
07/11/05 20:39:45 0oN7XXgL0
先頭に ~ をつけると どのような動作になるのでしょうか?
638:名無しさん@お腹いっぱい。
07/11/06 11:54:52 wcyUO4TQ0
っ 説明書
639:名無しさん@お腹いっぱい。
07/11/06 12:22:36 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:名無しさん@お腹いっぱい。
07/11/06 12:51:58 okUbZAfE0
PostMessageを使った方が確実で良いんじゃない
641:名無しさん@お腹いっぱい。
07/11/06 18:59:45 1fn8POGO0
>>621
>Firefoxのコンテンツエリアにフォーカス
もう解決したかもしれないけど、mozreplの使い方が分からない自分の解決方法は
1.アドレスバーにフォーカス(Alt + d)
2.Enter
開いているページが更新されてしまうのが難点。
テキストエリアからフォーカスを戻したい時はEsc
642:名無しさん@お腹いっぱい。
07/11/06 20:10:21 pb+kNkjg0
>>639
^{P} → ^p ではどう?
うちの環境では大文字送信だとショートカットキー上手く動かなかったからひょっとするかもよ。
あと文字送信だから{}で括らなくておk
ControlSendはあんまり確実性ないね。640の言う通りPostMessage使えそうならそっちのが無難
643:639
07/11/06 22:18:49 k2QniCI00
ダサイですが元のウィンドウを最前面固定にして、
背面ウィンドウをアクティブにしてSendで送ることで
やりたいことを実現しました。
Send/PostMessageはヘルプに書いてないのに
皆さん何で知っているんですか?質問ばかりですみません。
644:名無しさん@お腹いっぱい。
07/11/06 22:26:47 +cTzfPdI0
いやいや書いてあるでしょ
URLリンク(www.autohotkey.com)
645:名無しさん@お腹いっぱい。
07/11/07 14:48:21 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:名無しさん@お腹いっぱい。
07/11/07 15:39:03 c0R2jDpg0
global MyCheckbox, MyEdit, MyRadio
vがいらないんじゃ?
別のエラーがでたけど
647:名無しさん@お腹いっぱい。
07/11/07 17:01:45 xcF2JGlk0
>>646
ありがとうございます。
すすみました。
正規表現で質問があります。
うまく置換できないのですが、どこが問題でしょうか。
bb = %clipboard%
bb = RegExReplace(%bb%, "[A-z]", "_")
clipboard = %bb%
648:名無しさん@お腹いっぱい。
07/11/07 17:09:47 c0R2jDpg0
bb := RegExReplace(bb, "[A-z]", "_")
649:名無しさん@お腹いっぱい。
07/11/07 17:20:51 xcF2JGlk0
>>648
ありがとうございます。
こういうやり方ってできないんですかね。
clipboard := RegExReplace(%clipboard%, "[A-z]", "_")
650:名無しさん@お腹いっぱい。
07/11/07 18:12:59 c0R2jDpg0
だからー、第一パラは%いらないのー
651:名無しさん@お腹いっぱい。
07/11/07 18:56:45 xcF2JGlk0
>>650
もう分からないです。
こうすると clipboard := RegExReplace(clipboard, "[A-z]", "_")
クリップボードのデータが "RegExReplace(clipboard, "[A-z]", "_")" なります。
652:名無しさん@お腹いっぱい。
07/11/07 19:02:13 tZM8oTgz0
OnClipboardChange:
clipboard := RegExReplace(clipboard, "[A-z]", "_")
return
をコピーしたら
_________________:
_________ := ____________(_________, "__-__", "_")
______
になった。
653:名無しさん@お腹いっぱい。
07/11/07 19:20:20 xcF2JGlk0
>>652
すいません。
ありがとうございます。
できました。
ちなみに、これを実行するととんでもないことに
clipboard := RegExReplace(clipboard, "\\", "\\\\")
C:\
↓
C:\\\\\\・・・・・・
654:名無しさん@お腹いっぱい。
07/11/08 10:34:56 VpjEbYEG0
GUIの入力項目で、よく検索ソフトとかで入力履歴がドロップで出て選択できるって機能がありますが
そんな部品ってありますか?または作れますか?
655:名無しさん@お腹いっぱい。
07/11/08 11:37:39 LkNXR2gq0
>>654
ComboBoxかDropDownList
656:名無しさん@お腹いっぱい。
07/11/08 12:19:25 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:名無しさん@お腹いっぱい。
07/11/08 15:23:42 XkPSzQlp0
きっとループに陥ってるだけなんだろうな
もう少しこなれてからまたおいでって感じだな
658:名無しさん@お腹いっぱい。
07/11/08 15:53:46 VpjEbYEG0
Gui, Add, ComboBox ,vCom Simple Sort, aaa|bbb|ccc|aab|aba
これで「a」を打つと下のリストボックスが、aaa,aab,abaに勝手に絞り込ます部品や方法ってありますか?
インクリメンタルサーチのリストボックス絞込み再表示みたいなイメージです。
659:名無しさん@お腹いっぱい。
07/11/08 17:26:35 MaxO5Kjc0
流行らせるページのコマンドラインランチャがそんな感じ
660:名無しさん@お腹いっぱい。
07/11/08 19:41:54 VpjEbYEG0
変数にリストがないのは痛いな。
配列を使っているけど、追加、削除、検索をjavaのクラスみたいに簡単に使いたい。
661:名無しさん@お腹いっぱい。
07/11/09 13:36:05 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:名無しさん@お腹いっぱい。
07/11/09 13:43:29 FxAaRY1v0
~LShift up:: DoubleKey("{Delete}", 400)
DoubleKey(Command, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Send, %Command%
}
663:名無しさん@お腹いっぱい。
07/11/09 14:06:19 sCn2a4fh0
>>662
正常に動作しました。
今やっと理解できました。
ありがとうございます。
664:名無しさん@お腹いっぱい。
07/11/09 19:46:13 8en6gcJl0
質問させていただきます
マウスの下のウィンドウのプログラムの実行ファイル(.exe)のパスを取得するにはどうすればよいのでしょうか?
MouseGetPosでウインドウ名、コントロール、などを取得した後
ウインドウ名やコントロールからどのようにしてファイルのパスを取得すればいいのかがわかりません
よろしくお願いします
665:名無しさん@お腹いっぱい。
07/11/09 19:57:53 cfB1EDup0
>>664
俺には難しくてよくわからんw
2005-08-26 - eamatの日記
URLリンク(d.hatena.ne.jp)
旧雑記サルベージ
URLリンク(lukewarm.s101.xrea.com)
666:名無しさん@お腹いっぱい。
07/11/09 20:11:38 PmoIudtT0
hwnd から pid に変換は、EnumWindows と GetWindowThreadProcessId を使えばいいよ。
コールバック書けるならね。
667:名無しさん@お腹いっぱい。
07/11/09 20:15:08 mXY51MyH0
>>666
WinGet?
668:名無しさん@お腹いっぱい。
07/11/10 18:03:38 /aFkmSrv0
設定したホットキーの解除(一部のキー)ってできます?
669:名無しさん@お腹いっぱい。
07/11/10 18:20:53 77vfAw8E0
Hotkey, OFF
670:名無しさん@お腹いっぱい。
07/11/12 03:10:52 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:名無しさん@お腹いっぱい。
07/11/12 05:08:05 BFVOzu/J0
ahk classには中間一致はないでソ
タイトルじゃないんだから
672:名無しさん@お腹いっぱい。
07/11/12 08:08:30 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:名無しさん@お腹いっぱい。
07/11/12 10:19:12 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:名無しさん@お腹いっぱい。
07/11/12 10:20:31 WsuDC3uN0
>>671
なるほど、そういうことでしたか。
ヘルプを参照してタイトル部分一致を試みたのですが、ちょっとできませんでした。
また別の機会にやってみます。
>>672
いいアイディアをありがとうございます。
675:名無しさん@お腹いっぱい。
07/11/12 11:28:10 CUI4dA1N0
>>673
> ;最善面のウィンドウがSleipnirで、フラグがONのとき
> IfWinActive, ahk_class SleipnirMainWindow && flg = 1
IfWinActive は If とは違うので中に式は掛けないと思うよ。
flag をトグルした場合に hotkey を登録したり、解除したりしないとダメだよ。
>>674
冗談だから本気にしないでね。
676:名無しさん@お腹いっぱい。
07/11/12 11:31:04 CUI4dA1N0
>>673
;; と思ったけど、F2 送るだけならこれでいいんじゃ?
IfWinActive, ahk_class SleipnirMainWindow
2::
;; 最善面のウィンドウがSleipnirで、フラグがONのとき
if (flag == 1)
{
Send,{F2}
}
else
{
Send,2
}
return
677:名無しさん@お腹いっぱい。
07/11/12 11:34:51 VVUThdm/0
>>672は想像してみて、ちょっと面白いなと思っていました。
アイディア自体も思いつかなかったので、また何かの力技系のときに応用してみます。
ありがとうございました。
678:名無しさん@お腹いっぱい。
07/11/12 11:39:23 z6SmkfAk0
>>676
あっ
ごもっともです。
ありがとうございます。
679:名無しさん@お腹いっぱい。
07/11/12 15:00:51 z6SmkfAk0
無変換キーにウィンドウ最小化を与えたいのですが、
vk1Dsc07B:: WinMinimize
ではうまくいきません。
どうすればよいでしょうか。
680:名無しさん@お腹いっぱい。
07/11/12 15:07:35 BFVOzu/J0
さすがに付き合いきれんよ
681:名無しさん@お腹いっぱい。
07/11/12 15:17:03 VVUThdm/0
>>679
自分も最初これで悩んだ。
WinMinimize, A
682:名無しさん@お腹いっぱい。
07/11/12 15:29:49 z6SmkfAk0
>>681
あざーす
サンプルの一番下だけ見てなかったっす。
683:名無しさん@お腹いっぱい。
07/11/12 15:32:37 3EV62vgO0
あざーすって何だよ。
アザトースか?
684:名無しさん@お腹いっぱい。
07/11/12 15:37:13 CUI4dA1N0
>>683
ラブクラフトの読みすぎです
685:名無しさん@お腹いっぱい。
07/11/12 15:49:32 BFVOzu/J0
今日は優しい風が吹いてるな
686:名無しさん@お腹いっぱい。
07/11/12 17:56:25 z6SmkfAk0
「^c::Send,^c」という定義をした場合、
Ctrl+Cが押されるとCtrl+Cを送信するサブルーチンが実行され、そのCtrl+Cに反応して再度サブリーチンが実行され、無限ループに陥ってしまう。
とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?
687:名無しさん@お腹いっぱい。
07/11/12 18:02:00 CUI4dA1N0
>>686
> とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?
何も割り当てなければ C-c は C-c のままですよ?
688:名無しさん@お腹いっぱい。
07/11/12 18:02:39 CUI4dA1N0
ごめん激しく釣られた。
ペーストは C-v ですた。
689:名無しさん@お腹いっぱい。
07/11/12 19:57:39 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:名無しさん@お腹いっぱい。
07/11/12 20:18:50 BFVOzu/J0
0〜65536を百分割してるから誤差が出るんじゃないの
691:名無しさん@お腹いっぱい。
07/11/12 22:34:22 vc5RlPA+0
便乗質問。ツールチップのフォントの大きさ変えることできない?
692:名無しさん@お腹いっぱい。
07/11/13 00:02:17 6r0yPWm20
流行らせるページの「タスクトレイに最小化」スクリプトで
最小化したウィンドウを取り出すとき、
タスクトレイのアイコンをクリックするのではなく、
ショートカットキーで取り出す事ってできますか?
一応、特定のアプリだけで使いたいんですが、やり方がよく分かりません・・・
693:名無しさん@お腹いっぱい。
07/11/13 13:10:29 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:名無しさん@お腹いっぱい。
07/11/13 13:45:41 3KwfawNn0
CLCLで試したけど
KeyWait, CTRL, U
はさんだら出来た。でも、キーを放すまでは動作しないので
ちょっと違和感ある
695:名無しさん@お腹いっぱい。
07/11/13 19:55:57 ax2MIHQd0
「起動する」のであれば、Runで呼び出すのではいかんのかい?
696:名無しさん@お腹いっぱい。
07/11/13 21:00:20 ax2MIHQd0
マウスカーソルを動かさずに、指定した座標にマウスのクリックを発生させることは不可能でしょうか?
697:名無しさん@お腹いっぱい。
07/11/13 21:55:57 LRbMYgHY0
PostMessage,SendMessage + WM_LBUTTONCLICK 辺り
698:名無しさん@お腹いっぱい。
07/11/13 21:57:34 YS/tTYSd0
右ダブルクリックにホットキーを割り当てたいのですが、
RButtonRButton:: ではだめでした。やり方が悪いのでしょうか?
699:名無しさん@お腹いっぱい。
07/11/13 22:15:44 nAoiLpYR0
>>698
その発想はないわw
629を少し変えれば良いと思うよ
700:名無しさん@お腹いっぱい。
07/11/13 22:25:35 3KwfawNn0
ワロスw
701:名無しさん@お腹いっぱい。
07/11/13 23:37:30 Zt52tcWK0
マウスジェスチャ2ならRB__RB__なんだがな
702:名無しさん@お腹いっぱい。
07/11/14 13:09:46 rIfeXugq0
マウスカーソルをデスクトップの右上に1秒置いたとき
関数を実行させることってできますか?
703:名無しさん@お腹いっぱい。
07/11/14 13:32:41 KNpdLpyT0
できるよ
704:名無しさん@お腹いっぱい。
07/11/14 14:13:46 Pr/9nclm0
~Lbutton & ctrl::send,{enter}
が暴走します。
字面通り左ボタンを押しながらCtrl押すとEnterになるのはいいんですが、
何故か家ではCtrl押しながら左ボタン押すと定義外のことが起きます。
何も定義してないのに、左ボタンを押してる間Enterが連打されてしまいます。
~b & ctrl::send,{enter}
だとCtrl押しながらbで(当然のことながら)何も起きないのに。
705:名無しさん@お腹いっぱい。
07/11/14 22:54:05 Pr/9nclm0
おかしいな家だけ?Lbuttonが壊れているわけでもないのに。
706:名無しさん@お腹いっぱい。
07/11/14 23:04:50 NYeH+lm70
>>697
ありがとう。調べてやってみましたが、
たとえばアクティブウィンドの(256,256)の座標に、マウスの左ボタンをクリック→離すを送るのに
SendMessage, 0x201,0,0xFF00FF,,A
SendMessage, 0x202,0,0xFF00FF,,A
を試してみました。
が、どうもうまくいきません。書き方間違っているのでしょうか。
右クリックにしてみると(0x204,0x205)、アクティブウィンドの種類によってはメニューは出ることがあるのですが、
意図した座標で右クリックしていないようで…
よろしければ知恵をお貸しください。
707:名無しさん@お腹いっぱい。
07/11/14 23:30:25 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:名無しさん@お腹いっぱい。
07/11/15 21:05:47 1P+tCkQs0
現在文字入力中であるかどうか
を判断する方法はありませんか?
A_CursorXで判断できるかと思ったのですが入力中でないにも関わらず値が存在しますし
現在のコントロールだとwebページの入力フォームが判断できませんし
709:名無しさん@お腹いっぱい。
07/11/15 21:35:09 zw/4nkes0
キーを押しているかどうかなら GetAsyncKeyState
厳密に入力中かどうかは判定するなら、メッセージを hook しないといけない希ガス
710:名無しさん@お腹いっぱい。
07/11/15 22:15:14 1P+tCkQs0
間違えた上に言い方が悪かったです
A_CursorX ではなく A_CuretX でした
文字入力中かどうか ではなく キーを叩くと文字が入力される状態かどうか でした
何がやりたいかというと、文字を打ち込みたいとき以外は
修飾キーなし、英数字キー単体でキーボードショートカットを実現したいのです
711:名無しさん@お腹いっぱい。
07/11/15 23:25:24 rH+toGPZ0
COntrolGetFOcus
で文字打ち込み系のコントロールだったら除外するとか
712:名無しさん@お腹いっぱい。
07/11/16 09:04:41 MSHvKwcF0
よいお知恵を教えてください。
英語版WindowsXP Pro SP2上にてAutoHotKeyを使っています。
AHKで、メモ帳トラッパーやNotepadBranchのような働きをさせられたら、と思っています。
考えている仕組みは、上記のものと異なり、notepad.exeが開いたら対象ファイルのパスを取得し、
任意のエディタで開き、同時にnotepad.exeを閉じる、というものです。
しかしながらアクティブなnotepad.exeが開いているファイルパスの取得方法がわかりません。
どなたかご教授いただけないでしょうか。
713:名無しさん@お腹いっぱい。
07/11/16 09:55:58 TrZF8PzZ0
>>712
おまいさんの notepad.exe と俺の使ってる奴の version が同じかどうかはわからないが、
notepad.exe のメモリの 0x0100A900 を読めばいいとじっちゃんが言ってた。
ちなみに Unicode だから、ahk でそのまま表示しても文字化けするから注意してくれ。
714:名無しさん@お腹いっぱい。
07/11/16 10:34:20 Pk94Qr060
>>699
ありがとうございます。
RButton:: DoubleKey("cmd.exe", 400) でできましたが、
普通の右クリックが聞かなくなりました。
考えてみたら当たり前ですが・・・
やりたいことはartipsというソフトがあり、
artipsのの右ダブルクリック見たいに、ホットキーアクションをさせたいです。
artipsは、初回の右クリックで、通常の右クリックアクションが即効発動して
次の右クリックをすると、artipsのポップアップが出る動きです。
どうしてもAutoHotKeyで実装したいのですが、
すいません、ヒントをお願いします。
715:名無しさん@お腹いっぱい。
07/11/16 11:39:51 ESF4RUBf0
(右ダブルクリックだけなら、)わざわざ関数持ち出さなくともよくね?
~Rbutton::
If(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 200)
{
Send,{Esc}
;出現したコンテキストメニューを念のため消す
Send,Atoha yaritai koto
;後はご自由に
}
return
716:名無しさん@お腹いっぱい。
07/11/16 14:09:11 MSHvKwcF0
>>713
情報ありがとうございます。じっちゃんにもお伝え下さい。
しかしメモリの読みかたが全くわからないので、もしよろしければ
メモリの参照方法をじっちゃんに聞いていただけないでしょうか?
717:名無しさん@お腹いっぱい。
07/11/16 14:34:48 jVKwkL+A0
ググレカス
718:名無しさん@お腹いっぱい。
07/11/16 15:21:15 q18ihBcn0
WinMain を使えば出来そうな気配なんだけど
もうこれ以上は分からん┐( ´ー`)┌
719:名無しさん@お腹いっぱい。
07/11/16 15:33:11 0alUhCR10
流行らせるページ管理人氏のMyScriptにメモリをどうにかして読むサンプルがあったような気が
720:名無しさん@お腹いっぱい。
07/11/16 16:36:49 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
721:名無しさん@お腹いっぱい。
07/11/16 17:08:59 Pk94Qr060
>>715
ありがとうございます。
下でできました。
1回だけの右クリックも聞くようにしました。
Rbutton::
If(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 1000) {
Send,{Esc}
処理・・・
} else {
MouseClick, RIGHT
}
return
上記では、右クリック押下だけで、MouseClick, RIGHTが反応してしまいます。
他アプリのマウスジェスチャを有効にしたいのですが、
右クリックを放した後にMouseClick, RIGHTを実行させることは可能でしょうか。
722:名無しさん@お腹いっぱい。
07/11/16 19:32:06 Dt0CPw7PP
>>721
チルダつければいいだけじゃないの?
つか、715はチルダつけてるじゃん。消したの?なんで?
723:名無しさん@お腹いっぱい。
07/11/16 20:10:43 vH69+YYy0
フルパスからそれが「フォルダ」なのか「ファイル」なのかを判別するのに
一番手っ取り早い方法ってありますでしょうか?
例
D:\hoge\hogehoge
hogehogeがフォルダなのか拡張子無しのファイルなのかを調べたいのです
724:名無しさん@お腹いっぱい。
07/11/16 20:22:52 zFQKjHEJ0
>>723
FileExist()
725:名無しさん@お腹いっぱい。
07/11/16 20:35:09 vH69+YYy0
どうも有り難うございます
リファレンスに普通にありましたね・・・
スレ汚しすみませんでした
726:名無しさん@お腹いっぱい。
07/11/16 20:53:58 Pk94Qr060
>>722
あっ、すいません。
どうもありがとうございます。
ところで、どっかのサイトにIMEの辞書登録で
上から2番目の項目に値をセットするとき
ControlSetText,RICHEDIT50W2, %Clipboard%, 単語/用例の登録
っとやっていましたが、「RICHEDIT50W2」ってどうやって調べるのでしょうか。
「単語/用例の登録」画面を立ち上げ、Spyで見ましたが
そんな項目はなかったです。
727:名無しさん@お腹いっぱい。
07/11/16 21:33:30 q18ihBcn0
自分の環境に合わせれ
ウチの2003だとふつうにEdit2
728:名無しさん@お腹いっぱい。
07/11/16 22:07:47 Pk94Qr060
>>727
え〜できないです。
Edit1って、ウィンドウの上から2番目の入力ボックスってことですか?
729:名無しさん@お腹いっぱい。
07/11/17 00:50:38 epCPBx2R0
マウスのX1ボタン+右クリックでコピーするようにしたいのですが
XButton1 RButton :: ^c
としてもエラーが出てできませんでした。
リマップでは無理なんでしょうか?
730:名無しさん@お腹いっぱい。
07/11/17 01:17:03 CkIfa/570
質問してる奴等
まずは>>1の日本語解説ページのリファレンスを読んでこい。
話はそれからだ。
731:名無しさん@お腹いっぱい。
07/11/17 09:24:38 GvfwM5TX0
タスクマネージャーでは存在するのにwingetでpidが取得できません。
WinGet,v,Listでリストを書き出してみたところ該当するプロセスがありませんでした。
試したスクリプトは
DetectHiddenWindows,On
WinGet,w,List,,,joijpouhpoijjjjjjj
Loop, %w%
{
tempid := w%A_index%
WinGet, PName, ProcessName, ahk_id %tempid%
WinGet, Pid, PID, ahk_id %tempid%
FileAppend, %A_index%%A_Tab%%Pid%%A_Tab%%PName%`n, %A_ScriptDir%\%A_ScriptName%.txt
}
return
です。
タスクマネージャを起動してpidを手打ちしているのですが、
スクリプトで取得する方法がありましたら教えていただけませんでしょうか。
732:名無しさん@お腹いっぱい。
07/11/17 09:37:32 MV1rI88j0
>>731
detecthiddenwindows
733:名無しさん@お腹いっぱい。
07/11/17 11:59:47 tWWYI8If0
VBなどでカレンダーのコントロール(部品?)がでて、選択するとその日にちが
横のテキストにセットされるなんてのがありますが、
そんなことって、autohotkeyでできますか?
734:名無しさん@お腹いっぱい。
07/11/17 14:27:22 36qedEkq0
>>733
>>730
735:名無しさん@お腹いっぱい。
07/11/17 16:07:50 V77SupSP0
>>720
すすす、すげぇ!!! ばっちりです。
質問の前に自分でも調べてみたのですが、当分できなかった気がします。
また勉強してきます。本当にありがとうございました。
736:名無しさん@お腹いっぱい。
07/11/17 17:10:19 GvfwM5TX0
>>732 さんありがとうございます。
DetectHiddenWindows,Onは試してるんですがどうにもうまくいきません。
タスクマネージャーでPidを表示できるようにして確認したところ、pidは最大でも4000までだったのでloopで総当りしてみました。
その時点で50プロセス程存在していました。
DetectHiddenWindows,On
Loop,4000
{
tpid := A_Index
WinGet, PName, ProcessName, ahk_pid %tpid%
if (PName == "")
continue
FileAppend, %tpid%%A_Tab%%PName%`n, %A_ScriptDir%\%A_ScriptName%.txt
}
return
結果は32プロセスしか取得できなかったようです。
System Idle Process,System,Spoolsv.exe等のユーザー名がSYSTEMなものがほとんどなんですが
それ以外にも散見されます。
取得したいプロセスは自ユーザーです。
PCに詳しくない人に使ってもらうためなので、できればスクリプトの中で取得したいと思っています。
どなたかお知恵を拝借願えませんでしょうか。
737:名無しさん@お腹いっぱい。
07/11/17 17:16:41 MV1rI88j0
>>736
ソフトとかも何も提示されていないから、エスパーするしかないが、
もしかしてウィンドウが存在しない物のpidを取得したいってことか?
738:名無しさん@お腹いっぱい。
07/11/17 18:51:29 tWWYI8If0
サンプルコード類のCtrl key double tapで
コピーするときにCtrl押してからcを押すまでがとろいと ;some actionが走ります。
何か方法はあるでしょうか。
そもそもCtrlキー長押しは連打になるのでしょうか?
739:名無しさん@お腹いっぱい。
07/11/17 19:45:03 tWWYI8If0
2つのウィンドウを作って呼び出そうとしているのですが、
2つ目の画面が出ません。なぜでしょうか。
MyRadio = 1
w1:=1
Gui,%w1%:Default
Gui, add, radio, vMyRadio, 何もしない
Gui, add, button, default xm, OK ; xm puts it at the bottom left corner.
+^b::
Gui,%w1%:Default
Gui, show
return
ButtonOK:
GuiClose:
GuiEscape:
Gui, submit
return
MyRadio1 = 0
w2:=2
Gui,2:Default
Gui, add, radio, vMyRadio1, 何もしない
Gui, add, button, default xm, OK1 ; xm puts it at the bottom left corner.
+^v::
Gui,2:Default
Gui, 2:show
return
ButtonOK1:
Gui, 2:submit
return
740:名無しさん@お腹いっぱい。
07/11/17 20:56:41 X1W5C5Ju0
賑やかだがややカオス
741:名無しさん@お腹いっぱい。
07/11/18 10:09:47 DxQltXMf0
A:: Send,{B}
A:: Send,{C}
でエラーを出さずに後の定義を有効にするようには出来ないものか。
742:名無しさん@お腹いっぱい。
07/11/18 10:44:26 pEScAPz30
割り込みというもの
743:名無しさん@お腹いっぱい。
07/11/18 19:08:11 k9r02pTe0
>>741
その定義をすることで
何をしたいんだ?
ていうか、BとC両方を押す処理を送りたいなら
Send,BC
だけじゃね?
744:名無しさん@お腹いっぱい。
07/11/18 23:14:31 AHiS+Z1P0
>>737
> ウィンドウが存在しない物
そうだと思います。
アプリケーションの通信部分を担当してるような名前です。
タスクマネージャに出てるならなんとか操作できるんじゃないかってのが事の発端でした。
今はタスクマネージャを起動してpidを目視→入力って手順で使ってもらってるんですが
そこ手順を省略できないかなぁと思いまして書き込んでみました。
リストビュー操作の方向でもうちょっと勉強してみます。
745:名無しさん@お腹いっぱい。
07/11/18 23:35:05 ellkomLo0
>>744
psapi.dll
746:名無しさん@お腹いっぱい。
07/11/19 03:16:43 eArk+a4z0
>>745 さま
/*
psapi.dllを使ってプロセス名からpidを取得するサンプルは発見できたんですが
DllCallに書き直すのに挫折しました。
流行らせるページからProcessMem.ahkというスクリプトを拝領して
先のloopスクリプトで検索することでうまくいきました。
ヒントを与えてくださった皆様ありがとうございました。
*/
hModule := DllCall("LoadLibrary", str, "psapi.dll") ;ロードする
#Include %A_ScriptDir%\ProcessMem.ahk
limits = 4000
Loop, %limits%
{
tpid := A_Index
PName := getPEName(tpid)
if (PName == "")
continue
else if PName Not contains hogehoge.exe ;プロセス名
continue
else
break
}
msgbox, % tpid = limits ? 0 : tpid
DllCall("FreeLibrary", UInt, hModule) ;開放する
return
747:名無しさん@お腹いっぱい。
07/11/19 19:23:07 H4+iClNx0
↑解決されたようなので次の質問です
コンテキストメニューが表示されたことを判断したいのですが
どうすれば良いでしょうか?
ひと通り「流行らせるページ」は読んできました
748:名無しさん@お腹いっぱい。
07/11/19 22:26:14 PuiTrZ3r0
既出かもしれないけど貼っておく
URLリンク(www.donationcoder.com)
色々勉強になる。
749:名無しさん@お腹いっぱい。
07/11/19 22:32:24 xgu4LjI+0
>>748
既出かもしれないと思うなら、さすがに>>2くらい見てからのほうが…
750:名無しさん@お腹いっぱい。
07/11/20 19:27:35 IdA+GMNY0
質問です。
直前のアクティブウィンドウのハンドルを取得することはどうすればいいですか
DllCallのGetWindowでいけそうなんですが、うまくいきません
よろしくお願いします。
751:初心者だが
07/11/20 19:44:17 +H6sk/kC0
これちょっと惑わされたぜ
誤)ライブラリスクリプトは「%A_MyDocuments%\AutoHotkey\Lib\」か、AutoHotkey.exeのあるフォルダ内に格納する。
正)ライブラリスクリプトは「%A_MyDocuments%\AutoHotkey\Lib\」か、AutoHotkey.exeのあるフォルダ内の「Lib\」に格納する。
それともこれって常識なのか?
752:名無しさん@お腹いっぱい。
07/11/20 19:47:12 0O21fTkm0
>>751
ソース本体と同じディレクトリにいれておいた方が便利だよ。
どうせたいしたライブラリもないし。
753:名無しさん@お腹いっぱい。
07/11/20 19:50:41 RcpW0Wap0
>>707
遅くなりましたがありがとうございます。
どうもidの取得・指定がうまくいってないみたいです。
別のソフトでウインドハンドルを取得して、それを指定するとうまくいったので。
いろいろ試してみようと思います。ありがとうございました。
754:名無しさん@お腹いっぱい。
07/11/22 18:26:21 g9vmyrCo0
起動してもタスクバーに表示されなくて何もできない zipとインストール版両方試したけど
前は使えてたのになんでよ
755:名無しさん@お腹いっぱい。
07/11/22 18:32:50 g9vmyrCo0
ドキュメントに作成されたやつ削除して起動繰り返してたらタスクに常駐しだした
おじゃましますた
756:名無しさん@お腹いっぱい。
07/11/24 05:35:20 dDIqV/XZ0
1.0.47.05
757:名無しさん@お腹いっぱい。
07/11/25 03:05:24 aen/os2R0
名前に「ソ系」のダメ文字の入ったファイルの属性変更をするにはどうすれば良いですか?
ソЫ\噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭xx\\
裏技で変更できたりしますか?
758:名無しさん@お腹いっぱい。
07/11/25 11:46:08 IObwvCyD0
キーカスタマイズソフトスレで見つけました。これはAHKで実現できますか?
60 名前:名無しさん@お腹いっぱい。[] 投稿日:03/06/19(木) 02:09 ID:Yi+QkHTo
XKeymacsなどを使って、
Ctrl と CapsLockをひっくり返すのではなく、
通常のCtrlはそのままで、
CapsLockをemacsバインド専用のCtrl2として、
利用できるようにはできませんか?
通常のCtrlとemacsキーバインドが重複するのはすごく不便な反面、
CapsLockキーのほうはなくなってもほとんど困ることはないので。
759:名無しさん@お腹いっぱい。
07/11/25 11:49:56 z38QYbrw0
>>758
できるだろうけどお前のPCじゃ無理なのは間違いない。
760:757
07/11/25 12:17:57 neA10OGo0
ソ.txtに対して
FileGetAttribは問題ないのですが
FileSetAttribが利きません
誰か助けてください
761:名無しさん@お腹いっぱい。
07/11/25 12:25:17 IObwvCyD0
>>759
AHKはCapslockはいじれないんでしたっけ?
F13を割り当ててやってみましたが、全然ダメでした。
非常駐型でF13〜F24までを割り当てられるのってあるのかな?
でも、絶対に重複してはいけないというわけでもないから、F13〜F24を使う必要もないか。
changekeyとかでCapslockに数字キーのようなコンビネーションをあまり使わないキーを割り当ててそのコンビネーションで使えばいいかな?
762:名無しさん@お腹いっぱい。
07/11/25 12:27:00 IObwvCyD0
>>761
あっ、数字が入力されてしまうか?ダメだね。
あんまり使わない修飾キーをアサインするしかないのかな?
誰か助けてー
763:名無しさん@お腹いっぱい。
07/11/25 12:30:38 33flX5nk0
Capslockはレジストリで変更したほうがラクだし確実じゃね?
keyswapとか併用しろよ
764:名無しさん@お腹いっぱい。
07/11/25 13:12:22 4BOZwyhx0
>>758 俺もレジストリ値書き換えが面倒で、Xkeymacsに書き換えてもらってるわけだが、
何の問題なく書き換えられたぞ(Varsion 3.19)。最新版はしらんがね(Varsion 3.43)。
765:名無しさん@お腹いっぱい。
07/11/25 13:14:52 ewXDjkPs0
>>760
なまず ダメ文字 でカス
766:名無しさん@お腹いっぱい。
07/11/25 13:21:37 neA10OGo0
>>765
いやそういう問題ではなくて
FileGetAttrib, OPV, ソ.txt
はOKで
FileSetAttrib, +R, ソ.txt
がダメなのはどうしてだろうと思って質問しました
767:名無しさん@お腹いっぱい。
07/11/25 13:54:48 xHrvRBu30
マウスの左右のキーどちらか押されたほうの入力を監視したいのですが、
Input, InputKey, L1, {RButton}{LButton} ではだめでした。
keywaitは一文字しかだめらしいので、何かよい方法はあるでしょうか。
768:名無しさん@お腹いっぱい。
07/11/25 15:12:26 /9NP1ooM0
>766
FileGetAttrib は AHK 内部で文字列を解析していないが、FileSetAttrib は解析しているんじゃないの?
と思ってみたらソース見たらやっぱりその通りで、FileGetAttrib はほぼ Win32 API にスルー、FileSetAttrib は
ワイルドカード系の処理のためにパス区切りを自前で調べてる。
DllCall 使って SetFileAttributes() を直接呼び出せばいいんじゃない?
769:名無しさん@お腹いっぱい。
07/11/25 15:58:12 lrJQTdQh0
>>764
単なるCtrlじゃなくて、Ctrl2として使用できていますか?
Ctrl+HをBackspaceにアサインしたいんですけど、メモ帳
770:名無しさん@お腹いっぱい。
07/11/25 16:00:36 lrJQTdQh0
>>769
うっかり送信してしまいました。
単なるCtrlじゃなくて、Ctrl2として使用できていますか?
Ctrl+HをBackspaceにアサインしたいんですけど、メモ帳
で検索が立ち上がるし、ATOKだとHelpが出てくるしで面倒なので、Ctrl2が使いたいのですが。
>>758の文章だとXkeymacsでは出来ないように思えるのですが。。。。
771:名無しさん@お腹いっぱい。
07/11/25 18:38:18 e5c2cAn40
>>758
RWinとか、あんまり使いそうにないキーをCapsLockに割りあてて、
RWin & h::Send, {BS}とかすれば良いのでは?
772:名無しさん@お腹いっぱい。
07/11/25 19:06:04 EUDcNtJ60
>>768
どうもありがとうございました
自分にはソース解析などまったくできないので、本当に感謝しています
FileSetAttribは使えないことがわかったので以下の関数を登録して使うことにしました
SetFileAttributes(ByRef path,attrib=128){
DllCall("SetFileAttributes", str, path, int, attrib)
}
DllCallを使うのは初めてだったのですが何とかできました
AutoHotkeyの日本語環境で使ってはいけない(ダメ文字)コマンドの一覧があると便利だと思います
誰か作ってください
773:名無しさん@お腹いっぱい。
07/11/25 19:21:55 SP727yv40
JoystickMouse.ahkを改造してアクティブウィンドウ毎にボタン設定を
切り替えるようにしたいのですが、
AutoHotKey.iniに書いたコマンドをグローバル変数に代入して、.ahk側で
参照し実行するというような事は可能でしょうか?
774:773
07/11/25 19:28:23 SP727yv40
書き換えたいのはボタンではなくPOVの設定です。
POV上下::スクロールをカーソルキーにしたりという感じです。
JoystickMouse.ahk内にIfWinActiveを書き連ねるしか無いのでしょうか?
775:名無しさん@お腹いっぱい。
07/11/25 21:57:52 ZcmBxjB40
基本的に一般的な使い方しか出来ないアプリだよ。
そういうマニアックなことには使えない。
776:名無しさん@お腹いっぱい。
07/11/26 07:54:16 CAK4/XjM0
Alt+`をホットキーにできないようですがこれは仕様ですか?
`をIME起動に割り当てているので代わりにAlt+`に`を割り当てたいのですが。
777:名無しさん@お腹いっぱい。
07/11/26 08:13:56 CAK4/XjM0
質問なのですが、トレイアイコンのシングルクリックに、メインウィンドウを
表示する以外のコマンドを割り当てることはできないでしょうか?
778:名無しさん@お腹いっぱい。
07/11/26 08:16:46 0Q60mCj/0
>>776
`はエスケープ文字
779:名無しさん@お腹いっぱい。
07/11/26 13:06:53 fm9sZXc30
>>767
現状keywaitで一つだけしかできないべ
780:名無しさん@お腹いっぱい。
07/11/26 14:19:05 uAmLls5k0
ボタン長押しで連打をやりたいのですが、スマートなやり方が考えられず
長押し解除専用のキーを必要としてしまいます。>>781
キー一本で長押し実現するヒントを教えてください。
781:名無しさん@お腹いっぱい。
07/11/26 14:19:37 uAmLls5k0
Trigger=0
2::
if Trigger =0
Trigger :=1
else if Trigger =1
Trigger :=0
return
1::
sleep,500 ;sleep入れて疑似長押し?
Loop
{
if Trigger =1
{
Trigger :=0
break
}
else
{
keywait,2, t0.25 ;長押し解除キーを.25秒待つ
send,繰り返しキー
}
}
return
782:名無しさん@お腹いっぱい。
07/11/26 15:27:59 iMxJ7Rzr0
>>780
解除するキーを 1 up に割り当てればいいんでね?
適当だけど。
783:名無しさん@お腹いっぱい。
07/11/26 21:21:06 wbN4Z2af0
神様!
どうか私にgogo.dllを使用するwav→mp3エンコードの関数をくださいませ!
784:名無しさん@お腹いっぱい。
07/11/26 21:55:57 /7Fctvyq0
gogo.exeを探し他方が早い気も酢
785:名無しさん@お腹いっぱい。
07/11/26 23:00:08 uAmLls5k0
>>782 2回押さないと止まらないし、確実に差し込めない。
というか、1キーで長押し自体Autohotkeyで無理ですか?
786:名無しさん@お腹いっぱい。
07/11/26 23:37:08 ZTpaeFzk0
>>785
希望と違う動作だったらスマン
Aをリピート
1::
KeyWait,1,U T0.5
If ErrorLevel=1
{
Loop
{
GetKeyState,State,1
If State=U
Break
Send,A
sleep,100
}
}
Return
787:名無しさん@お腹いっぱい。
07/11/26 23:58:44 EJchMc/w0
>>784
まったくそのとおりですねw
run, gogo_8hz.exe [options] inputPCM [outputPCM]
だそうです
788:787
07/11/27 00:17:22 OYLJ5zKh0
さて、デコードはどうすんべ
789:名無しさん@お腹いっぱい。
07/11/27 00:46:17 kvvUYL2J0
LAME.EXEでいいんじゃ
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4368日前に更新/304 KB
担当:undef