06/02/27 16:36:23 8205XDO60
流行らせるページや、なまず日記さんのところにある修飾キーの複数回押しに機能を割り当てる
スクリプトを使用したいのですが、キーを長押ししたときに連続入力されて複数回実行されてしま
います。
これを回避するために修飾キーの長押し時の連続入力?を無効にして、長押し時は1回の入力と
する方法があれば教えていただけないでしょうか。
563:名無しさん@お腹いっぱい。
06/02/27 18:13:11 tOahKDvK0
>>561
ファイラー、スクリプト、ソフトなどでパスを一度クリップボードに送ればできますよ。
>>562
KeyWaitを使えばできます。おそらく。
流行らせるページの例を拝借しますが、
~Ctrl::
if A_TickCount < %ctrldouble%
{
;some action
ctrldouble=0
}
else
{
KeyWait,Ctrl ;これを追加
ctrldouble=%A_TickCount%
ctrldouble+=400
}
return
564:562
06/02/27 18:29:23 8205XDO60
>>563
ありがとうございます。
思っていたとおりの動作をしてくれました。
コピーをしようとして、設定していたアプリが多重起動したときは焦りました。
565:名無しさん@お腹いっぱい。
06/02/27 21:49:57 A+gy7pJs0
>>560
立体的になってるのは枠の部分だから
WinSetでWS_EX_CLIENTEDGEとかを消してやればいいんじゃない?
566:552
06/02/27 22:38:27 tOahKDvK0
>>565
関係ありそうな、Shell_TrayWnd・TrayNotifyWnd1・SysPager1
の3つのウィンドウでExStyleを取得してみましたが
どれにもWS_EX_CLIENTEDGEはありませんでした。
567:552
06/02/27 23:42:36 tOahKDvK0
TrayNotifyWnd1からWS_EX_STATICEDGEを外すことで解決しました。
Control,ExStyle,0x0,TrayNotifyWnd1,ahk_class Shell_TrayWnd
あとは「タスクスイッチにアイコンのみ表示」「スタートボタンを隠す」の2つ。
スタートボタンはControl,Hideで隠すことはできるんですが、
隠した場所が空白になってしまいます。
空白を埋めるようにウィンドウやコントロールを左に移動してもうまくいきませんでした。
568:名無しさん@お腹いっぱい。
06/03/01 02:50:36 ssfeeMo60
流行らせるページの虫眼鏡、どうも挙動不審で使ってると拡大された画像が更新されなくなるんで、
なんでかなぁっておもってたんだけど、もしやDC絡みかなと思って、Draw()呼ばれる度に
取得と解放するようにしたら、タイマー小さくしてもぬるぬる動くようになったーよ。
カクカクしちゃうのはAHKの限界だと思ってたのでびっくりした。
以下修正した部分。
;省略
Gui,+E0x00080020
;myhdc:=DllCall("GetDC",UInt,myhwnd,UInt) ;コレ削除
dthwnd:=DllCall("GetDesktopWindow",UInt)
;dthdc:=DllCall("GetWindowDC",UInt,dthwnd,UInt) ;コレ削除
SetTimer,Timer,100;ここ小さくしてもスムーズに更新されるようになったです。
Timer:
Draw()
return
Draw(){
global Size,Magnification,myhwnd, dthwnd ;ここ変更
myhdc:=DllCall("GetDC",UInt,myhwnd,UInt) ;コレ追加
dthdc:=DllCall("GetWindowDC",UInt,dthwnd,UInt) ;コレ追加
CoordMode,Mouse,Screen
;省略
DllCall("StretchBlt",UInt,myhdc,Int,0,Int,0,Int,s,Int,s, UInt,dthdc,Int,left,Int,top,Int,Size,Int,Size,UInt,0x00CC0020)
DllCall("ReleaseDC", UInt, myhwnd, UInt, myhdc) ;コレ追加
DllCall("ReleaseDC", UInt, dthwnd, UInt, dthdc) ;コレ追加
WinSet,Top,,ahk_id %myhwnd%
}
569:名無しさん@お腹いっぱい。
06/03/01 05:39:49 ssfeeMo60
やべぇ、虫眼鏡気に入った。
半透明化するとカコイイし使いやすい。
旗+ホイール回転で拡大縮小にしたらこれまた良い感じだ。
Ctrl+旗+ホイール回転でサイズだけ変えるようにしたらまたこれが良い感じだ。
管理人さんコレ結構使えるよありがとう。
570:名無しさん@お腹いっぱい。
06/03/06 15:39:50 15ZX1WmO0
マルチモニタで使用しています。
WinMoveでウインドウを反対側のモニターに移動させようとしたら、ウインドウが最大化の状態では
移動できないんですね。なんか対策方法ってありますか?
571:名無しさん@お腹いっぱい。
06/03/06 22:08:11 dAP1bHHq0
起動中のスレッドの数を取得する方法ってありますか?
一応 ListHotkeys の Running で調べることはできるんですけど、
スクリプト内でスレッドの数を取得することができないで悩んでます。
572:名無しさん@お腹いっぱい。
06/03/07 19:31:53 6lI/W0at0
1.0.42.05 - March 6, 2006
This is functionally identical to the previous release, whose EXE and BIN were about 1% larger than they should have been due to a compiler quirk.
1.0.42.04 - March 6, 2006
Fixed ClipboardAll when used with apps such as Word and Excel (broken by previous version). [thanks Roussi Nikolov]
Fixed ClipboardAll to prevent appearance of bookmarks in MS Word. [thanks Laszlo & 02clams]
Fixed A_TimeIdlePhysical being disrupted by simulated AltGr keystrokes. [thanks skrommel]
Fixed Send{Blind} causing sticking Win/Ctrl/Alt/Shift when the user released such a key in the middle of a Send.
Improved the Send command not to press and release the shift key after each uppercase letter (e.g. Send ABC).
Improved SoundSet/Get to support ComponentType "Headphones". [thanks Tobias Winkler]
573:名無しさん@お腹いっぱい。
06/03/08 01:17:49 vfUm781w0
A:: Send,{F1}
B:: Send,[F2}
...
とやってすべてのキーに対して
IfWinActive,TargetWindowTitle
{
Send, {???}
return
}
したいと思ったら個別に全部書かないといけないの?
574:名無しさん@お腹いっぱい。
06/03/08 01:33:04 4eMMzOAe0
今ならこれで行ける
A::
#IfWinActive nanntoka
A::
#IfWinActive kantoka
A::
575:名無しさん@お腹いっぱい。
06/03/08 06:52:36 +kxWwRRD0
格ゲーのコマンドを空いたボタンにマクロ化しようと思ったんだけど
十字キーをどうsend,{}に書けばいいのかわからない…
教えてください、お願いします
576:名無しさん@お腹いっぱい。
06/03/08 10:37:30 h+DqYquz0
Send,{Right}
Send,{Down}
Send,{Right}
じゃだめなの?(昇龍拳)
577:名無しさん@お腹いっぱい。
06/03/08 11:54:15 p4FMmfTv0
1.0.42.06 - March 7, 2006
Fixed crash of A_ScriptDir (broken by 1.0.42.01).←これがぬるタソがバグレポートしたヤツかな?
Fixed Run/RunWait's passing of an extra space character at the end of the parameter list when launching shortcuts. [thanks arbe]
AutoHotkey.comなんかもの凄く重い・・・
なにわともわれ、ぬるたんGJ!!
578:名無しさん@お腹いっぱい。
06/03/08 14:27:59 +kxWwRRD0
>576
言葉が足りなくてすまん、
えーと、
joypadからの入力としてはどう書くのかなーと。
ボタンは1joy5とかでなんとかなるんだけど
方向キーのjoyXとかの書き方が良く解らなくて。
579:名無しさん@お腹いっぱい。
06/03/08 16:20:21 rhy9UwrA0
>>578
URLリンク(lukewarm.s101.xrea.com)
580:名無しさん@お腹いっぱい。
06/03/08 22:08:54 +kxWwRRD0
>579
いや、そりゃそこも見てるんですよ?
ただ十時キーの場合右、中、左を
0~100とかの数値で表さなきゃいかんじゃないですか?
それをどういう書き方で書けばいいのかと思いまして。
状態はわかってもsendは出来ないのかな…
581:名無しさん@お腹いっぱい。
06/03/08 23:49:20 gQ7VQesu0
>>580
デジタル十字キーは、ボタンのどれかにマッピングされてるはずだが
アナログなら書いてある通りだ
582:名無しさん@お腹いっぱい。
06/03/09 11:08:17 jj4ahRjB0
>>577
ぬるタソって誰?
583:名無しさん@お腹いっぱい。
06/03/09 14:40:31 Pszy413S0
ぬる様を知らないとは・・・。
584:名無しさん@お腹いっぱい。
06/03/10 04:18:48 w2FftydU0
自分のスクリプトの設定ウィンドウを作りたいんだが
ボタンとか部品を値で指定するのが面倒です
GUIを設計するのに便利なツールってありませんか?
AHK用でなくても
部品の位置(X,Y座標)、width,heightなどが分かればいいんです
私はプログラムを組んだのは
CUIベースのやつをちょこっと触ったくらいなので
GUIを作るのに便利なツールとかホントよく分からないのです。
どなたかお願いします
585:名無しさん@お腹いっぱい。
06/03/10 04:31:56 ze2+cAQ/0
>>584
便利かどうかは知らんけど、こんなのはある。
URLリンク(www.autohotkey.com)
586:名無しさん@お腹いっぱい。
06/03/10 04:54:34 FWnM8tqy0
必要最小限の記述だけでとりあえず入力できるウィンドウが出せるだろ
Delphiのフォームエディタなんかでペタペタ並べていくより楽だと思うが
587:名無しさん@お腹いっぱい。
06/03/10 10:18:45 w2FftydU0
>585
AHK用のやつをAHKで作ってた人いるんですね。
少し触ってみたんですがなかなか良さそうなので
シコシコぺたぺた作ってみます。
ありがとうございました
>586
自己満足ながらそれなりの見栄えがほしいのですわ
身内にまわすつもりのスクリプトなんで
588:名無しさん@お腹いっぱい。
06/03/10 16:54:00 DvP0u0ni0
本来1行に書かなければいけないものを
複数行に渡って書くことはできないでしょうか?
589:名無しさん@お腹いっぱい。
06/03/10 18:04:06 ovxrZJOi0
例えば?
590:名無しさん@お腹いっぱい。
06/03/10 19:00:52 3lX6WYxo0
If 1 Contains あいうえお,かきくけこ,(…)
って時に分けたいなあって時はある。
591:588
06/03/10 20:41:18 DvP0u0ni0
>>589
If(WinActive(........) || WinActive(..........) || WinActive(..........) || ..)
などの時です
592:名無しさん@お腹いっぱい。
06/03/11 01:39:11 +FW9TX3p0
IME on/off トグルはどのようにすればできますか。
探してみたのですが見つかりませんでした。
593:名無しさん@お腹いっぱい。
06/03/11 02:03:00 4Dr+/V140
原始的な方法は
IME ON/OFFを IMEプロパティから適当なキーに設定して
それをSend。
594:名無しさん@お腹いっぱい。
06/03/11 02:08:22 91GIDUrj0
>>592
具体的にどういう用途に使うの?
AutoHotkeyを流行らせるアップローダの029.zip使えば解決するとは思うけど。
595:592
06/03/11 11:16:04 +FW9TX3p0
>>593
ありがとうございます。
英語キーボード なので、Alt+`がデフォルトのIME On/Offなので
これをやったのですがうまくいかなくて。
RAlt:: Send,!`
とやってみたのですが、何が間違っているのでしょうか?
>>594
上に書いたとおり、英語キーボードだとIME起動がちょっと面倒なのです。
今は窓使いの憂鬱で右AltをIME On/Offにしていますが、
まずAHKでも同じことができれば、AHKの他の機能も試用してみたいと思いました。
596:名無しさん@お腹いっぱい。
06/03/11 12:52:01 aZXYdYak0
Send, {ALTDOWN}`{ALTUP}
こう書くんじゃないの?
597:592
06/03/11 13:01:55 mSorvu8J0
>>596
試してみましたが、フォーカスがメニューに移る、通常のAltキーの動作しかしませんでした。
AHKのOpenメニューで見てみましたが、{ALTUP}{ALTDOWN}となっていて、
やはり右Altとしては認識されていないようです。
598:名無しさん@お腹いっぱい。
06/03/11 17:28:31 /NprAL2G0
`は``とエスケープしないと
599:yy
06/03/12 00:16:48 gfXzHMTR0
マウスのホイールup、downをタブ切り替え(ctrl+up、down)に割り当てたいんですが
どうやるの?
600:yy
06/03/12 00:18:28 gfXzHMTR0
書き忘れましたが、エクセルでの話です。
601:yy
06/03/12 00:20:21 gfXzHMTR0
またまた書き忘れましたがマウス+ホイールup、downの動作のことを言いたいのです。
602:592
06/03/12 01:48:47 flSoepXq0
>>598
できました!!
RAlt:: Send, {ALTDOWN}``{ALTUP}
これで右AltでIME On/Offができるようになりました。
窓使いの憂鬱では、押しただけのときはIME On/Off、
押しっぱなしにしてほかのキーと同時に押したときはAltの役割ができたのですが
これをさせるにはどうしたらいいでしょう。
RAlt up:: Send, {ALTDOWN}``{ALTUP}
とやると、右Altを離した瞬間にIMEが切り替わってしまいます。
603:名無しさん@お腹いっぱい。
06/03/12 12:01:42 7/ujbqoZ0
そういうのはマウ筋使った方が早いな>yy
604:592
06/03/12 12:11:54 MzJzCq0O0
>>601はまだ自己解決していないのですが、ほかにも問題が生じてきました。
英語102キーボードなので、デフォルト設定ではCapsLock単押しでCapsLock On/Offになりますが、
これを某アプリケーションのホットキーにし、もとのCapsLockをShift+CapsLockに割り当てようと思っています。
(日本語キーボードと同じCapsLockにしたい)
そこで、
CapsLock:: Run, "application_path"
+CapsLock:: Send, {CapsLock}
としたところ、アプリケーション起動はうまく行きましたがShift+CapsLockが動きません。
SetCapsLockStateを使いたいのですが、On/Offの切り替え方法が具体的にわかりません。
探してみるとAHKではCtrlとCapsLockの交換が難しいとかそんな情報は見かけたのですが、
結局方法が記載されたページが見つけられませんでした。またここの過去ログも参照できませんでした。
基本的な質問が続き申し訳ありませんが、よろしくお願いします。
605:592
06/03/12 13:37:35 MzJzCq0O0
>>604
+CapsLock::
GetKeyState, state, CapsLock, T
MsgBox, %state%
Return
とやってサブルーチンが実行されているかを試しましたが
期待したメッセージボックスも出ず、どうも+CapsLock::の記述がダメそうです。
+{CapsLock}::もうまくいきません。
606:名無しさん@お腹いっぱい。
06/03/13 13:28:27 +eLuhcrb0
コントロールの座標を取得する方法は載ってるけど
Guiで生成したウィンドウの絶対座標(スクリーン座標?)を取得する方法が分かりません。
WindowsMessageを送ればできるような気もしますけど
そんな事したことないのでどうやるのかさっぱりです。
どうすればウィンドウの座標を取得することができるんでしょうか?
607:名無しさん@お腹いっぱい。
06/03/13 14:00:56 HyKmrYHA0
WinGetPosじゃ駄目なん?
608:名無しさん@お腹いっぱい。
06/03/13 18:33:26 +eLuhcrb0
Guiの方ばっかり見てて
Windows関係の命令見てませんでした。
WinGetPosでいけますね、失礼しました。
609:名無しさん@お腹いっぱい。
06/03/15 22:02:26 mmGkRpsk0
質問です。
以下のような書き方をした場合、5行目に何か(この場合はsleep)を入れないと次のifがすっ飛ばされるのですが、この書き方はだめなんでしょうか。
sleepじゃなくても、msgboxでもa=1でも、何か1行入っていれば思った通りに動作します。
が、この行を消したりセミコロンでコメントにすると次のifがとばされるようなので。
;_____________________________________
StringLen, length, strings
if (length = 0) ,continue
sleep,1
if (i=1)
FileCreateDir, %dir%\%name_no_ext%\
;_____________________________________
610:名無しさん@お腹いっぱい。
06/03/15 23:01:58 4MPDWD0K0
>if (length = 0) ,continue
611:名無しさん@お腹いっぱい。
06/03/15 23:05:41 4MPDWD0K0
途中送信してもうた
continueはLoopの中でしか使えないんジャマイカ
どっちにしてもカンマで区切って一行に納めるのはNGだったと思う
最近バージョンアップチェックしてないので、記述ルール改定されてたらスマソ
612:名無しさん@お腹いっぱい。
06/03/16 00:18:25 +vsjFQ220
;_____________________________________
StringLen, length, strings
ifEqual, length, 0, continue
ifEqual, i, 1, FileCreateDir, %dir%\%name_no_ext%\
;_____________________________________
613:名無しさん@お腹いっぱい。
06/03/16 00:24:01 n0WmmFt40
>>611
すみません、これLoopの中です。
で、ご指摘の通り
if (length = 0)
{
continue
}
にしたらちゃんと動きました。
流行らせるページのIfInStringの説明にカンマで区切ってOKとあったので、このifでも気にせずカンマで区切ってました
if単体だとカンマ区切りは動作がおかしくなることあるのかな…?
614:名無しさん@お腹いっぱい。
06/03/16 00:26:15 n0WmmFt40
>>612
すごいスマートです。
ifEqualを使えばよかったんですね。
ありがとうございます。
615:名無しさん@お腹いっぱい。
06/03/16 00:28:52 n0WmmFt40
流行らせるページを再読したら
>IfEqualのようなコマンド名の形式の場合、更にカンマで区切って条件に一致した場合に実行するコマンドを記述できる。
しっかり書いてありました。お騒がせしました。
616:名無しさん@お腹いっぱい。
06/03/16 00:49:17 +vsjFQ220
ただし、コマンドしか使えないみたいなので気を付けて。
Another command can only appear on the same line as the IF statement if you use the command-name style. In other words, these are valid:
IfEqual, x, 1, Sleep, 1
IfGreater, x, 1, EnvAdd, x, 2 ←EnvAddはコマンドなのでこれは正しい記述。
But these are not valid:
if x = 1 Sleep 1
IfGreater, x, 1, x += 2 ←これは式なのでNGらしい。
if文まわりはややこしい・・・
617:名無しさん@お腹いっぱい。
06/03/16 03:28:29 +IJnHcux0
ややこしくなるから
if(式){
}
その他のIFコマンド
{
}
以外は使わない方がいいよ
618:名無しさん@お腹いっぱい。
06/03/16 08:32:10 xM7XPfwl0
システム以外のマウスカーソルの情報を取得する方法ってありますか?
A_CursorでUnknownになってしまうようなカーソルを知りたいのです
619:名無しさん@お腹いっぱい。
06/03/17 17:44:33 FiSk8Qjk0
Hotkey sでループをスタートさせて、無限ループになってしまった場合に
Hotkey hで止めたいのだけれど、どうすれば良いのでしょうか?助言おねがい。
s::
Loop
{
~処理~
if abc = 1
break
}
return
h::ExitApp
620:名無しさん@お腹いっぱい。
06/03/17 17:47:47 wtxnAtBP0
>>619
何故その記述では駄目なのか、ってことを書かなきゃ助言しようがない
621:名無しさん@お腹いっぱい。
06/03/17 18:12:51 zTH699bB0
それで動くかどうか検証めんどいからしないけど
無理だっていうならループ内でsが押されてる状態かを毎回判断すればいい
622:619
06/03/17 18:38:40 FiSk8Qjk0
Sleepいれてみたら止めることができました。
くだらないことでスレ消費してごめんなさい。
レスありでした>620、621
s::
Loop
{
~処理~
Sleep, 0 <-ここ
if abc = 1
break
}
return
h::ExitApp
623:名無しさん@お腹いっぱい。
06/03/17 18:49:03 FiSk8Qjk0
またきました。sとhでスクリプトを終了させないままスタート/ストップを繰り返すために
以下のようにしたんですが、もっと上手いやり方とかありますか?添削おねがいします。
s::
loopflg = 1
Loop
{
~処理~
Sleep, 0
if abc = 1
break
}
abc =
loopflg =
return
h::
if loopflg = 1
abc = 1
return
624:名無しさん@お腹いっぱい。
06/03/17 19:03:44 LwsXg2Qc0
一時的なデバッグで永久ループから脱出したいって話じゃなかったのか?
一旦リセットしたいなら
h::Reload
625:名無しさん@お腹いっぱい。
06/03/17 19:08:49 qaI2qrDX0
>623
GetKeyStateじゃだめなの?
626:名無しさん@お腹いっぱい。
06/03/17 20:28:40 68vIds2k0
KeyWait
ってのもあるでよ
627:623
06/03/17 21:47:02 hFQNB0xp0
>624
最高。今回の目的にバッチリ適合です。
デバッグが楽になったのも思わぬ収穫^^
s::
Loop
{
~処理~
Sleep, 0
if abc = 1
break
}
return
h::reload
628:名無しさん@お腹いっぱい。
06/03/17 21:47:42 hFQNB0xp0
>625のもやってみた。
s::
Loop
{
~処理~
Sleep, 0
if abc = 1
break
GetKeyState, state, h, P
if state = D
break
}
return
これも目的の動作はしたけど、今回は>624案を採用。
>626のはLoopを抜ける時どう使うのか分からず・・・orz
皆様レスありでした。
629:名無しさん@お腹いっぱい。
06/03/17 22:09:21 Op8Q/jkU0
DonationCOdeでなんかおもしろそうなんが出てた
630:名無しさん@お腹いっぱい。
06/03/17 23:10:59 SD1TlI3h0
>>628
便利! ワンキーでできないかな?
s::
cnt++
Loop
{
Sleep, 0
If cnt > 1
{
Exit
}
}
cnt--
Return
これは駄目みたい…。
631:名無しさん@お腹いっぱい。
06/03/17 23:41:10 qaI2qrDX0
>>630
これでいけるっぽい。
#MaxThreadsPerHotkey 1
s up::
if state = D
state =
else
Loop
{
~処理~
Sleep, 0
if abc = 1
break
GetKeyState, state, s, P
if state = D
break
}
return
ところでデバックってなんだ?
632:630
06/03/18 02:14:02 C4FDHepp0
>>631
おおお、素晴らしい。感謝です。
答えを出してもらいながら申し訳ないが、例えば、
Gui, Add, Edit, Gtest ←これ
みたいなサブルーチンの中に、今までのサンプルみたく無限ループがあったとして、
同じサブルーチンをもう一回呼び出したときにループを終了させたいときには、
GetKeyStateだと煩雑になる予感。
こういう場合にも、ビシッとループを終了できないかな?
633:名無しさん@お腹いっぱい。
06/03/18 06:53:17 tezGoIoS0
>630
英語HelpのFAQにある
How can a repeating action be stopped without exiting the script?
って項にあるサンプル使うとワンキーでLoopのスタート/ストップできた。
多重ループで使ってみたいのだけども、もっとエレガントになるかな?
#MaxThreadsPerHotkey 3
s::
#MaxThreadsPerHotkey 1
if KeepLoopRunning = y
{
KeepLoopRunning =
return
}
KeepLoopRunning = y
Loop
{
~処理~
Sleep, 0
Loop
{
~処理~
Sleep, 0
if KeepLoopRunning =
break
}
if KeepLoopRunning =
break
}KeepLoopRunning =
return
・・・全角スペースいれてます
634:名無しさん@お腹いっぱい。
06/03/18 15:20:28 Yl3U5BIi0
スレッド優先度ってマイナスの値入れちゃっても大丈夫ですか?
635:名無しさん@お腹いっぱい。
06/03/18 16:25:48 TCBHEo+A0
つhelp
636:名無しさん@お腹いっぱい。
06/03/18 17:51:05 Yl3U5BIi0
>>635
ありがとう、もう一度読み直してみたら書いてありました。
637:630
06/03/19 00:46:48 5zHaODEE0
>>633
サンクス! レス遅くなって申し訳ない。
英語Helpにそれらしいのがあったとは…。読み足りてなかったです。
ホットキー(今回の場合 s::)だと凄いいい感じに動いてるんだけど、
それを Gui, Add, Edit, Gtest とかのサブルーチン(ここでは test:)に置き換ると、
3回目のキー押下時にどうもミスります。
…よく分からないんで、ちょっと考えてみます。
638:名無しさん@お腹いっぱい。
06/03/19 02:23:42 4wBY8TSi0
>>637
そういうのはTimer使った方が楽じゃない?
用途間違えてるかもしれないけど。
Gui, Add, Edit, Gtest
GUI, Show
return
test:
if TimerOn = 1
{
SetTimer, Timertest, Off
TimerOn =
}
else
{
SetTimer, Timertest, 55
TimerOn = 1
}
return
Timertest:
count++
if count > 100
count =0
tooltip, てすと %count%
return
639:名無しさん@お腹いっぱい。
06/03/19 11:12:31 5zHaODEE0
>>638
ありがとう! まさに求めてたものです。
具体的には、スレッド実行中に新しいスレッドが呼び出されたとき、
後のスレッドは前のスレッドが終了するまで後回しにされるか無視される仕様からか、
スレッドの処理がスルーされるのが少し困ってたんです。
これで、前のスレッドを途中で停止して後のスレッドを実行する、
みたいなことができるぽいです。他にも色々と効用ありますし。
感謝感激、みんなありがとう~!
640:名無しさん@お腹いっぱい。
06/03/21 04:23:15 y745q5bd0
カナロックONの時は
Joy1::Send, 3 ; ジョイパット1キーで"あ" を入力
Joy2::Send, e ; "い" を入力 …
カナロックOFFの時は
Joy1::Send, a ; "A" を入力
Joy2::Send, b ; "B" を入力 …
となるようにしたいのですがカナロック状態の取得の仕方が分かりません
GetKeyState, OutputVar, vk15, T
は試してみたのですが常に OutputVar = D となってしまうようです。
流行らせるページのアップローダにあったIME_Func.ahkも試しましたが
IME OFFの時などいくつかの条件ではうまく判別することが出来ませんでした。
外部ツールやDLLを利用する方法でもよいので、もしあれば教えてください。
641:名無しさん@お腹いっぱい。
06/03/21 19:01:49 7BWRBHrs0
文字列をURLで使える
%E5とかに変換する方法ありまっか?
Yahooの検索で日本語がうまくいきまへん
Proxomitronでも頑張ったんだがなんか無限ループとかで挫折。
642:名無しさん@お腹いっぱい。
06/03/23 07:02:24 8KPbtYSZ0
1バイトずつチェックして変換するしかないんじゃない?
日本語で検索できないのは、リクエストの文字コード指定が悪い所為のような気がするけど。
643:名無しさん@お腹いっぱい。
06/03/23 11:56:27 37jAp6/q0
>>641
おみとろん使えるなら$ESCでダメか?
とスレ違いレスをしてみる
644:名無しさん@お腹いっぱい。
06/03/23 13:58:33 Jwp33SJ00
>>642
うん、基本そうなんだろうけど
Proxomitronでがちがちにフィルターしてるから何が何だかわからなくて
そちらでやるのをあきらめて最初からあの文字列でINPUTから
リクエストできればいいかなあとか思ってしもうた。
>>643
どうもフィルターの相性なのか思ったとおりにならなくてお手上げ中。
も少しがんがってみる。
645:名無しさん@お腹いっぱい。
06/03/23 22:28:27 ZyneQEvmP
このソフトでパスワード入力ソフトの代わりはできますか?
646:名無しさん@お腹いっぱい。
06/03/23 22:35:45 oGkLYudX0
>>645
出来るとは思うけど、素直に既存のソフトを使った方が良いよ。
647:名無しさん@お腹いっぱい。
06/03/24 03:15:07 Se2Qk5Yk0
CapslockにCtrlを割り当てたくて
Capslock::Ctrl ; Make Capslock become a Control key.
を試してみたのですが,
Capslockを離した後もCtrlを押したまんまの状態になります
どうすればよいでしょうか?
648:名無しさん@お腹いっぱい。
06/03/24 07:17:30 yvNeSmEP0
キーの履歴を開いてみたらCapslockは押し下げだけ感知して離すのは無視されてるみたい。
どうしてもAHKでCapslockが使いたいのなら押されてから数秒たったらCtrl Upを送信するようにするとか
InputでCapslockの次に押されたキーを読んでみるとか方法が無いことも無いんだろうけど
とりあえず他のソフトで出来るかどうか試してみては?
649:647
06/03/24 08:37:38 Se2Qk5Yk0
CapsLockにCtrlを割り当てるとCapsLock Upが返ってこないですね
exeにしてどこでもすぐ使えるようにしたかったのですが……
とりあえずレジストリをいじって解決しました
650:名無しさん@お腹いっぱい。
06/03/24 12:30:27 PCVDLk5L0
流行らせるページのどっかに記述あったと思うけど
Locks系は日本語環境だと正しく取得できない。
OSがドライバレベルでなんかやってる。(ダブルバイト環境共通なのかどうかは知らん)
過去ログでも何度も話題になってる。次スレではテンプレに入れたほうがいいかもね。
651:名無しさん@お腹いっぱい。
06/03/24 12:57:57 TXwdyAWL0
うちだとCapslockで
CTRL+C,Vが送られるお。なんだこれって感じ。
652:名無しさん@お腹いっぱい。
06/03/24 12:58:20 vTkQnhytP
>>646
これでできれば、常駐ソフトを減らせるなーと思いまして
653:名無しさん@お腹いっぱい。
06/03/24 20:28:16 zPGcV7l50
人の作ったahkファイルを、自分のAutohotkey.iniにIncludeで組み込もうとするとき、
モノによってはAutohotkey.iniの#Persistent内にあるSet timerが無効になるんですが、これはどの辺が原因なんでしょう。
流行らせるページにあるのだと、mbstring.ahkはOKだけどInlineCalc.ahkはだめです。
654:名無しさん@お腹いっぱい。
06/03/26 00:23:53 b3Nu7QpN0
>653
もしかしてAuto-executeセクション中にIncludeしてないですか?
655:名無しさん@お腹いっぱい。
06/03/26 00:59:36 pjcfpT8Y0
>>654
思いっきりしてました。
AHKのルールあまりよくわかってないんですが、こういう使い方ってNG?
AHK2つ常駐させるのがいやで一つにまとめたいっていう場合、Autohotokey.ini内にIncludeで組み込むって言うのは間違った使い方なんでしょうか。
656:名無しさん@お腹いっぱい。
06/03/26 01:53:48 b3Nu7QpN0
>655
とりあえずInlineCalc.ahkに関しては引数が重複してなければAuto-executeセクション外に
インクルードすれば使えるかもしれないけど、インクルードした後の動作を予測することなしに
よそから拾ってきたスクリプトを次々とインクルードして使うのはおすすめしません。
657:名無しさん@お腹いっぱい。
06/03/26 02:04:38 pjcfpT8Y0
>>656
そうですか。わかりました。
拾ってきたスクリプト解析して、自力で組み込めるよう努力します。
658:名無しさん@お腹いっぱい。
06/03/28 18:01:18 p3mE1UoC0
*z::f
でzをfキーへ入れ替えが出来る事がわかったけど
これを瞬時に元に戻したり又入れ替えた状態にするには?
ALT+1でデフォルトのキー配列、ALT+2でキー入れ替えた配列にしたいです
659:名無しさん@お腹いっぱい。
06/03/28 19:15:37 aI6rP75+0
HotkeyコマンドでONとOFFを切り替えらられるよ
660:名無しさん@お腹いっぱい。
06/03/28 19:44:21 n+gx7BbI0
読み出したスクリプトに!1::ExitAppを加える事で解決出来ました。また質問ですが
MButton::3でホイールボタンを3、SHIFT押しながらホイールボタンを4に割り当てたいのですが
SHIT押しながらホイールボタン押すとSHIT+3となり#が入力されてしまいます
どの様な記述になるのでしょうか
661:名無しさん@お腹いっぱい。
06/03/28 22:03:17 5UHM2kOF0
>>660
もうちょい本家ヘルプなり流行らせるページなりを読んだ方が良いと思う。
662:名無しさん@お腹いっぱい。
06/03/28 22:09:38 2DzjvSSI0
一部vbsを使い、Autohotkeyで以下のようなサウンドプレイヤーの作成に挑戦してみました。
1.選択ファイルのパスをコピーして
2.そのパスをvbsに渡して、GetDetailsOfで曲の長さを取得
3.テキストファイルにファイルのパスと曲の長さを書きだして、プレイリスト作成
4.AHKでプレイリスト読み込んで、「SetTimer,再生実行サブ,曲の長さ」でリストのファイルを連続再生
5.変数に演奏中のトラックナンバーを保存し、ホットキーで曲の移動も可
という感じで作りましたが、見てわかるとおりソースがスマートじゃありません(動作は期待通りのモノですが)。
AHKでやるのが間違っているというのは十分わかっているんですが、そこにこだわりたいんです。
軽いし。
何かスマートになるアドバイス合ったらお願いします。
2,3がvbsなので、このへんをAHKでできればいいんですが。
663:名無しさん@お腹いっぱい。
06/03/30 11:37:20 +DAoRlgo0
>>661
色々試したんだけど結局できません
とりあえずkeylay21で凌いでますがkeylay入れてあるとマウスドライバが書き換えられる
みたいでなんかいまいち 4000円も出すんじゃなかったと
LCtrl::LShift
LShift::LCtrl
MButton::3
^MButton::4
SHITとCTRLを入れ替えてある状態で、CTRL(指はシフトキー)押しながらホイールボタンで4を
入力させたいのですがAHKじゃ無理なのでしょうか?
出来るか出来ないかだけでも教えてくださいorz
出来るのであればもう少しカンバッテみます
664:名無しさん@お腹いっぱい。
06/03/30 13:24:47 MvBpnK9rP
終了時にウィルススキャンしてから終わるってできますか?
665:名無しさん@お腹いっぱい。
06/03/30 15:46:07 DTOCa6Mj0
>>664
URLリンク(lukewarm.s101.xrea.com)
666:名無しさん@お腹いっぱい。
06/03/30 17:11:11 MvBpnK9rP
これでシャットダウン時にウィルススキャンをしてから終了ってできるのですか?
667:名無しさん@お腹いっぱい。
06/03/30 18:23:58 F2a/hdHF0
自分で努力しないと出来ません
668:名無しさん@お腹いっぱい。
06/03/30 22:12:23 MvBpnK9rP
なるほど。
足りなかったのは努力なんですね。
ありがとうございますた。
669:名無しさん@お腹いっぱい。
06/03/31 02:40:28 /UqiJYW50
子ウィンドのハンドルがうまく取得できないのは仕様?
MouseGetPosでマウス下の領域のウィンドハンドル取得しようとしても、ウィンド全体のが帰ってくる
670:名無しさん@お腹いっぱい。
06/03/31 10:32:28 3DbFmw7g0
MDIの子ウィンドウはウィンドウハンドルとしては取れない。
MouseGetPos, X, Y, Win, Control ,1
で、コントロールとしては取得可能
あくまでハンドルとして取りたい場合は↓の getMousePosWindowEx() あたりを参照
URLリンク(d.hatena.ne.jp)
671:名無しさん@お腹いっぱい。
06/03/31 17:46:40 GXqhKwVq0
>>660
MButton::Send, 3
+MButton::Send, 4
>>663
;****** Script01.ahk ******
OnExit, ExitSub
Run, C:\Program Files\AutoHotkey\Autohotkey Script02.ahk,,,PID
esc::exitapp
LCtrl::LShift
LShift::LCtrl
ExitSub:
DetectHiddenWindows On
PostMessage, 0x5555,,,,ahk_pid %pid%
Exitapp
;****** Script02.ahk ******
OnMessage(0x5555, "MsgMonitor")
MButton::Send, 3
^MButton::Send, 4
MsgMonitor(){
Exitapp
}
同一プロセスだとうまく動かないので2つのスクリプトに分けた。
Script01を実行すればScript02が立ち上がって、Script01が終了すればScript02も終了する。
うちでは一応それなりに動作しているように見えるけど、うまくいかなかったらごめん。
(ところで、秀丸エディタって修飾キー絡むとうまくうごかないのね・・・
秀丸上で試してたからうまく動かないので悩んだ。)
672:名無しさん@お腹いっぱい。
06/04/03 21:26:55 Am8bhY3i0
>>671様ありがとうございます!
何がなにややらな状態ですがとりあえず動いてます
こんなきっかけが欲しかった所です
このスクリプト一行一行勉強してみます
673:名無しさん@お腹いっぱい。
06/04/05 18:18:18 +pF9h+il0
>>662そういうこだわり好きだぜ。
FileSelectFile, SelectedFiles, M3, ,Open, Media Files (*.mp3;*.wav)
Loop, parse, SelectedFiles, `n
{
if(A_Index = 1){
CurrentDir=%A_LoopField%.
}else{
SoundPlay, %CurrentDir%\%A_LoopField%, wait
}
}
exitapp
#down::SoundPlay, NULL ;存在しないファイルを指定。(たったこれだけのことを思いつくのにどれだけ掛かったことか・・)
win+↓キーで次の曲に飛ぶ。応用すれば自由に移動可能ではないかと。
色々試して無理だコリャとか思っていたら、あっけないほど簡単な解決策だったりする罠。
頭が固くなってきてるなぁ・・orz
しっかし、たったこれだけで簡易メディアプレイヤーが出来てしまうなんてスゴス。
674:名無しさん@お腹いっぱい。
06/04/05 22:18:22 plvj6RC00
ぬる℃家さんのHPの移転先どこ?
675:名無しさん@お腹いっぱい。
06/04/06 04:56:20 F1AUl6YU0
避難所じゃない?
676:名無しさん@お腹いっぱい。
06/04/06 12:14:18 GSZU7GaA0
>>673
662です。すばらしい。非常に参考になります。
プレイリストをGui表示したりすれば、かなりまともなメディアプレーヤーになりそうですね。
にしても、言われてみれば簡単だ。俺も頭固いな…。
677:名無しさん@お腹いっぱい。
06/04/06 12:29:38 V0dMBBJV0
単純にファイル渡しでもファイラーから
フォーカスを奪わずに試聴できるね
678:674
06/04/06 21:38:00 7OM6hwZV0
>>675
thx
679:673
06/04/07 16:28:37 oc5/fhnE0
SoundPlayで長い曲再生すると戻ってこなくなる?
>>673のスクリプトでアルバムを聞いてて気付いたんだけど、
なぜか、最後まで再生し終わってスクリプトが固まった。
よく考えてみたら最後の曲だけ長くて8分あるので
試しに別の7分ちょいの曲と6分ぐらいの曲を連続で再生してみたら、7分の曲再生し終わった時点で固まって
次の曲再生されなかった。
うちだけ?
680:名無しさん@お腹いっぱい。
06/04/07 16:46:09 rSUBoxot0
試してみようと長めの曲投げてみたら再生しなかったな
VBRとかもあんのかな。
681:名無しさん@お腹いっぱい。
06/04/07 23:26:51 EWcuZxfA0
30分のネトラジ(wma)投げたけど、問題なかったな
とりあえず最初に依頼したので、完成品を貼っておきます
#p:: ;選択したファイルでプレイリスト作成&再生
OverWrite = True ;上書き
StopFlag = Flase
Gosub,MakePlaylist
TrackNumber=1
GoSub,Player
Return
!#p:: ;選択したファイルをプレイリストに追加&再生
OverWrite = False ;追加
StopFlag = False
Gosub,MakePlaylist
GoSub,Player
Return
#PgDn:: ;次の曲再生
SoundPlay, NULL
Return
#PgUp:: ;前の曲再生
TrackNumber--
TrackNumber--
SoundPlay, NULL
Return
#End:: ;再生を停止
StopFlag = True
SoundPlay, NULL
return
682:続き2/3
06/04/07 23:27:54 EWcuZxfA0
MakePlaylist:
ClipSaved := ClipboardAll ;クリップボードの中身を一時待避
Clipboard = ;とりあえずクリップボードを空にして
Send, ^c ;Ctrl+C
ClipWait,1 ;クリップボードが読み取れるようになるのを待つ(最大1秒)
i = 1
Loop, Parse, Clipboard , `n, `r ;クリップボード内のものを改行区切りに分解して
{
SplitPath, A_LoopField , FileName , Dir , Extension ,, Drive ;パスかどうか判定
StringLen, length, drive ;ドライブ文字の長さを見て
ifEqual, length, 0, continue ;パスっぽくなかったらやめる
if ( Extension != "mp3" && Extension != "wav" && Extension != "wma" && Extension != "ogg" ) ;拡張子が音楽ファイルじゃないならやめる
continue
if i = 1 ;テキストファイルにファイルのパスを書き込み
OutputText = %A_LoopField%
else
OutputText = %OutputText%`n%A_LoopField%
i++
}
If OverWrite = True
FileDelete , %CurrentDir%\Playlist.txt
FileAppend , %OutputText%, %CurrentDir%\Playlist.txt
Clipboard = %ClipSaved%
Return
683:最後3/3
06/04/07 23:28:46 EWcuZxfA0
Player:
Loop
{
FileReadLine, OutputVar, %CurrentDir%\playlist.txt, %TrackNumber%
If ErrorLevel = 1 ;リストの最後まで行ったら
{
TrackNumber = 1 ;最初に戻る
FileReadLine, OutputVar, %CurrentDir%\playlist.txt, %TrackNumber%
}
SplitPath, OutputVar , FileName
ToolTip, %TrackNumber% - %FileName% ;再生するファイルをツールチップ表示
SetTimer, RemoveToolTip, 1000
Soundplay,%OutputVar% , wait
IfEqual,StopFlag,True,Break ;ループ抜ける
TrackNumber++
}
return
RemoveToolTip: ;ツールチップ削除
SetTimer, RemoveToolTip, Off
ToolTip
return
684:673
06/04/08 05:37:18 EzpMT1rj0
>>681
気軽に再生出来てなかなかいいっすねこれ。なんつっても軽いし。
ところで、長い曲(が原因か判らないけど)で固まる問題ですけど、>>681-683のスクリプトでもやっぱり再現した・・・
MCI内部で呼んでるみたいなんで試しにMCI直で呼んでみたけど、やっぱり同じ状態になったので、
MCI自体の問題なのかも。
>>680
VBRって言われてみれば確かにVBRのファイルなんですよねこれ。
VBRで長いmp3だとおかしくなるのかな?
検証するのに何度も同じ曲聞かなきゃなんないから疲れるょ・・
AHKが悪い訳じゃないことが解っただけでも良かったけど・・
685:名無しさん@お腹いっぱい。
06/04/08 12:30:36 Co4Tuedv0
WでRClick, AでCtrl+RClick, DでAlt+RClickをやりたいんですが
下のコードだとDを押してDを離してもRClickは解除されるもののAltが押しっぱなしの状態になってしまいます。
どうすればいいんでしょうか?
w::
Send,{RButton Down}
return
w up::
Send,{RButton Up}
return
a::
Send,{Ctrl Down}
Send,{RButton Down}
return
a up::
Send,{RButton Up}
Send,{Ctrl Up}
return
d::
Send,{Alt Down}
Send,{RButton Down}
return
d up::
Send,{RButton Up}
Send,{Alt Up}
return
686:名無しさん@お腹いっぱい。
06/04/08 20:49:49 1SgxTDCT0
流行らせるページにある「システムモニタ用関数群」を有難く使わせてもらっています。
これでだいたい取得したい情報は得られたのですが、
CPUの周波数だけまだ解決せず。
非常に厚かましいのですが
どなたか作っていただけないでしょうか?
687:名無しさん@お腹いっぱい。
06/04/09 15:27:27 vc/jqxTR0
流行らせるページが見られない
688:名無しさん@お腹いっぱい。
06/04/09 16:14:16 fCMts/FM0
ほんとだwww.xrea.comじたいが見れなくなってる。
689:673
06/04/10 04:43:55 kIM2G0lg0
MCI使用したプレイヤー(HSP製)DLして問題のあるファイルを再生してみたら、
時間表示はおかしいけど、固まることなくちゃんと連続再生された。
試しにVC++でMCI使って再生するコード書いてみたら
やっぱり固まることなく連続再生できたし・・。
AHKでmciSendString直に呼んで色々試したところでは、
どうも再生は正常に終わっているけど、デバイスが閉じられくなるみたい、
問題のファイル再生終了後にclose投げるとそのまま制御が戻ってこなくなることが解った。
SoundPlayでも同じようなことが起きてるのかも。
とりあえず、AHKでSoundPlayコマンド(MCI関連)を扱うと
VBRのmp3で問題が起きる可能性があるということでFA。
マンドクセシ モーイイヤ・・('A`)
690:名無しさん@お腹いっぱい。
06/04/10 06:02:52 WS1IiKh80
乙
madとか123とかをHideで使っちゃうというほうがいいのかね
DLLならBassとか
691:名無しさん@お腹いっぱい。
06/04/10 06:32:16 gsoxib5w0
>>687-688
URLリンク(www.value-domain.com)
692:名無しさん@お腹いっぱい。
06/04/14 00:58:50 Ud8vzZeZ0
クリップボードの内容を一時的にする場合に、
TempClipboard:=ClipboardAll
Clipboard=
;適当に処理して
Clipboard:=TempClipboard ;元に戻す
としたとき、元々クリップボードの中にテキストや画像データが入ってる分には問題ないのですが、
パスやURLがショートカット形式(ファイルをコピーしたときや、ネットのリンクを右クリ→ショートカットのコピーしたとき)
になぜかクリップボードが復元されません。
この辺は仕様でしょうか。
693:名無しさん@お腹いっぱい。
06/04/14 00:59:53 Ud8vzZeZ0
一行目
一時的にする→一時的に退避する
失礼
694:名無しさん@お腹いっぱい。
06/04/14 01:25:59 94xmBBMO0
MsgBox, %ClipBoard%
をいろんな個所に挟んで中身を確かめながら実験すると良いかも。
695:名無しさん@お腹いっぱい。
06/04/14 09:14:35 UFI/YkYK0
>>692
FileAppendでファイルに落としてバイナリみると解るけど、復元出来ないんじゃなくて、
ClipboardAllコマンドでクリップボードを正常に参照出来てないと観た方が良さそう。
つまり、変数やファイルにクリップボード内のデータを待避する時点でデータがすでにおかくなっている。
でもClipboardコマンドだととれているから仕様と言うよりもClipboardAllコマンドのバグじゃないかなぁ?
仕様だったら普通最低でもClipboardコマンドと同じテキストデータがとれるようにすると思うんだよね。
696:名無しさん@お腹いっぱい。
06/04/16 09:51:06 Kql6t2Dr0
初歩的な質問していいですか。
EDITコマンドで*.ahkスクリプを好きなエディタで開けません。(notepadで開く)
*.iniだとちゃんと秀丸で開くのに・・・
*.ahkも*.iniもシェル関連付けはされています
どうすれば*.ahkも秀丸で開けますか?
697:名無しさん@お腹いっぱい。
06/04/16 10:24:38 AQ9bKtsX0
ダブルクオーテーションを外して試してみて
漏れはそれで上手く行ったことがある。
何故か
c:\hogehoge\hoge.ahkをエディットしようとすると
c:\hogehoge\hoge.ah っていうパスが送られちゃって悩んでたんだが。
698:名無しさん@お腹いっぱい。
06/04/16 10:54:34 Kql6t2Dr0
>>697
ありがとうございます。でもダメですOTZ
スクリプト自体はうまく動作しているようですが・・・。
インストーラなしのzipファイルでインストールしたのがまずいのかな。
ヘルプの
”関連付けで「Edit」コマンドが設定されていれば、そのコマンドで開く。なければ、notepad.exeで開く。”
というのがイマイチ分かりません。AHKで開くエディタを指定できるんでしょうか。
699:名無しさん@お腹いっぱい。
06/04/16 11:18:46 87jJ7KHW0
俺の場合は「Edit Script」に設定したらできた。
700:名無しさん@お腹いっぱい。
06/04/16 11:42:05 Kql6t2Dr0
>>699レスサンクスです
皆さんは問題なく出来てるようですね。やっぱり俺だけですね・・
とりあえず・・・Run,~\Hidemaru.exe ~\AutoHotkey.ahk
で開いてます。全然スマートじゃないなw
701:名無しさん@お腹いっぱい。
06/04/16 17:45:25 IfQvUwVz0
>>700
AHKファイルの関連付けを、ちゃんとしてる?
フォルダオプション > ファイルタイプ > AHK を選択
"拡張子AHKの詳細"項目内の詳細設定ボタンを押す。
アクションのEditを選択して編集ボタンを押す。
そこで自分の好きなエディタを指定する。
"関連付けで「Edit」コマンドが設定されていれば、そのコマンドで開く"というのはこの設定のことを言ってる。
702:名無しさん@お腹いっぱい。
06/04/16 17:48:41 4CFKB+jz0
デフォルト項目じゃなくてコンテクストメニューの「Edit」項目を変えてやらないといかんよ
レジストリの↓の値ね
HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command
たぶん前スレでも貼ったような気がするが、UIで対話的にエディタ変更してみるahk。
RegRead, OldData, HKCR, AutoHotkeyScript\Shell\Edit\Command
MsgBox,36,AutoHotkey Scriot Editor Changer,現在ahkのEditに設定されている値`n`n %OldData% `n`n別のエディタを指定しますか?
IfMsgBox,No, ExitApp
SplitPath,OldData,,EditorDir
FileSelectFile,MyEditor,3,%EditorDir%,ahkを編集するエディタを選択,*.exe
IfNotExist, %MyEditor%, ExitApp
RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell\Edit\Command,,%MyEditor% `%1
RegRead, NewData, HKCR, AutoHotkeyScript\Shell\Edit\Command
MsgBox,64,AutoHotkey Scriot Editor Changer, %OldData% を`n`n%NewData% `n`n へ変更しました。
703:名無しさん@お腹いっぱい。
06/04/16 20:15:21 Kql6t2Dr0
>>701>>702
丁寧にホントにありがとう!遂にできましたよ。
Helpの意味がようやく分かりました
704:名無しさん@お腹いっぱい。
06/04/21 18:58:48 6cXk1jHT0
Ctrl+Vでペーストできないソフトにクリップボードの内容を送るにはどうしたらよいのでしょうか?
試したのは↓なんですが、当然できませんでしたw
Send, clipboard
クリップボードと同じ内容のテキストのキーストロークを発生させればいいと思うんですが・・
どなたかご教授下さい
705:名無しさん@お腹いっぱい。
06/04/21 19:38:49 IoLpMntm0
一生そこで止まっててください。
706:名無しさん@お腹いっぱい。
06/04/21 21:55:03 6cXk1jHT0
残念ながら出来ましたよwスマソw
707:名無しさん@お腹いっぱい。
06/04/22 21:15:53 EvYvrKQ80
AutoHotkeyでネットワークプログラムを作るにはどうすればいいですか?
DLLの関数を呼び出すんであろうということは分かるのですが具体的なやり方が分かりません。
708:名無しさん@お腹いっぱい。
06/04/22 21:39:51 KJrxOsM90
何がしたいのよ
709:名無しさん@お腹いっぱい。
06/04/24 22:48:18 +AskqZAV0
mayuから乗り換えたいのですが、
Space押しながら別のキーを押すとShift扱い
Spaceをすぐに離したらSpace
で、できればSpaceを押して一定時間経過後に離すときは無効
みたいなことってできますか?
710:名無しさん@お腹いっぱい。
06/04/24 23:06:32 gA3K0rDg0
>>709
AutoHotkeyを流行らせるアップローダの029.zip
一定時間経過後に~の方も少し弄ればできる。
711:名無しさん@お腹いっぱい。
06/04/24 23:19:44 +AskqZAV0
>>710
ありがとうございます!
SandSって言うんですね!
ちょっと弄ってみます!
712:名無しさん@お腹いっぱい。
06/04/29 18:55:41 58FQTls70
zキーを押してる間zキーを10秒毎に2秒間押す、といったコマンドがやりたいのですが
どなたかご存知ありませんか?
713:名無しさん@お腹いっぱい。
06/04/29 19:57:56 1hoqMcVM0
タイマ、スリープ
どんな方法でも実現できるじゃん
714:名無しさん@お腹いっぱい。
06/04/29 22:47:12 ujA9YEAp0
キーボードでボリュームを操作する方法を探していて
>>71に書かれて内容を試してみましたが
タスクバーにAutoHotkey.iniと表示されるだけで、GUIが表示されません
助言お願いします
715:名無しさん@お腹いっぱい。
06/04/29 22:53:23 8YehHyKS0
なまず日記(>>7)行って完成品拾ってきたら?
716:名無しさん@お腹いっぱい。
06/04/30 11:04:10 ritjdH350
>>715
ありがとうございます
勉強になりました
調べた末
SoundGet,volume,MASTER
SetFormat, float, 5.2
volume += 0
ToolTip,%volume%,800,700,
を使うことにしました
717:名無しさん@お腹いっぱい。
06/04/30 11:11:44 ritjdH350
試作中のやつ貼ってしまった orz
volume += 0要らないです
718:名無しさん@お腹いっぱい。
06/05/03 10:42:28 SO1f2yaW0
1.0.43.11 - May 1, 2006
Fixed %A_WorkingDir% on Windows 9x, which was sometimes blank. [thanks Points]
Improved BlockInput with a new mode that blocks only physical movement of the mouse, not keystrokes or mouse clicks.
719:名無しさん@お腹いっぱい。
06/05/12 21:25:33 aSuNSZC/0
BREGEXP.ahk、便利なんだけども、良く分からないことがいくつかあります。
list = aaaaxxxxaaaa|bbbxxx|xxxxcccc
Loop, Parse, list, |
{
test := RegExpReplace(A_LoopField, "x*", "", "")
MsgBox, %test%
}
とかやると、前回のデータが残ってしまうんですが…。
皆様どうやって対処してるんでしょうか?
720:719
06/05/12 21:32:58 aSuNSZC/0
連稿すみません。途中で投稿してしまいました。 orz
test := RegExpReplace(tmp, "[ \t]*`;[ \t]*$", "", "")
みたいな正規表現もうまく行かなかったり。
$が効かない(?)感じがします。
解決案もってましたらどなたかご教授ください。
721:719
06/05/15 14:14:36 I+/Q9YXe0
自己解決しました。
前回のデータが残ってしまうのは、
BREGEXP.AHKの
return result
の部分を、
test:=result
VarSetCapacity(result,64)
return test
のように変更することで解決しました。
$が効かないのはオプションにgを入れてないからでした。
722:名無しさん@お腹いっぱい。
06/05/17 10:12:27 A1Pap8lZ0
Guiにツリービューとステータスバーが追加されたね。
とても使いこなす余裕ないけど。
今月号のPCJapanで特集記事が載ってるけど
あれ読んで入門しようと思う人どんくらい居るかなあ…
URLリンク(www.sbcr.jp)
723:名無しさん@お腹いっぱい。
06/05/18 16:34:36 CPxUZBn80
AutoHotKeyのスレあったんですか。
前スレ>>848さんを参考にスクリプトを書いてみたのですが
右ダブルクリック時処理が実行された後に右シングルクリック時処理も実行されてしまいます。
これを回避するにはどうしたらいいのでしょう?例えば・・・
848 :名無しさん@お腹いっぱい。:2005/09/26(月) 20:54:01 ID:Owez+5cA0
>>847
Rbutton Up::
;システムのダブルクリック時間取得
WClickTime := DllCall("User32.dll\GetDoubleClickTime",Int)
if (A_PriorHotkey = A_ThisHotkey) && (A_TimeSincePriorHotkey < WClickTime)
{
;ダブルクリック時処理(例:Run explorer.exe)
}
else
{
;シングルクリック時処理(例:Run notepad.exe)
}
return
とすると
シングルクリック→notepad.exeは正しいのですが
ダブルクリック→explorer.exeだけでなくnotepad.exeも実行されてしまうのを回避したいのです
どなたかお願いします
724:名無しさん@お腹いっぱい。
06/05/18 16:57:39 LJaz32dZ0
>>723
自分だったらこんな感じでやってる。これだとトリプルクリック、クワドロプルクリックへの対応も大した手間無くできるし。
一々システムからダブルクリック時間を取得するのもあれなので決め打ちで書いてる。
RButton::
KeyWait, %A_ThisHotkey%, T0.2
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%, D T0.2
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%
Run, explorer.exe
return
}
Run, notepad.exe
return
}
return
725:名無しさん@お腹いっぱい。
06/05/18 17:35:59 CPxUZBn80
>>724
ありがとうございます。いろんなアプローチがあるんだなぁ・・すごいですね。
なんだかもうチンプンカンプンです><
726:名無しさん@お腹いっぱい。
06/05/18 18:15:07 CPxUZBn80
>>724
ちなみにトリプルクリックの場合どうやるんでしょうか?(自分が試した奴ですが・・↓)
本当に馬鹿で・・・すみませんw
RButton::
KeyWait, %A_ThisHotkey%, T0.2
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%, D T0.2
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%, D T0.2
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%
Run, explorer.exe
return
}
Run, notepad.exe
return
}
Run, calc.exe
return
}
return
727:名無しさん@お腹いっぱい。
06/05/18 18:24:34 LJaz32dZ0
>>726
RButton:: ;1回目の押し下げ
KeyWait, %A_ThisHotkey%, T0.2 ;1回目の押し上げ待ち
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%, D T0.2 ;2回目の押し下げ待ち
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%, T0.2 ;2回目の押し上げ待ち
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey%, D T0.2 ;3回目の押し下げ待ち
If ErrorLevel = 0
{
KeyWait, %A_ThisHotkey% ;3回目の押し上げ待ち
Run, calc.exe ;トリプルクリック処理
return
}
}
Run, explorer.exe ;ダブルクリック処理
return
}
Run, notepad.exe ;シングルクリック処理
return
}
return
728:名無しさん@お腹いっぱい。
06/05/18 18:30:36 CPxUZBn80
>>727
なんとお礼を言っていいのやら…。本当にありがとうございます(´Д⊂グスン
729:名無しさん@お腹いっぱい。
06/05/19 02:40:46 8luIfCKj0
特定のボタンを押している間だけ、Dを押しつつキーマップの変更(q→a, a→z, etc)を行いたいのですが、
Hotstringを使ってやる場合、どのように記述すればいいんでしょうか
どなたか教えていただけませんか
730:名無しさん@お腹いっぱい。
06/05/19 07:48:57 T9QwDw3o0
キーマップという言い方からすると繭使いか?
冗長になるけど、コンビネーションキーでいいんじゃねーの?
[特定のボタン] & q::a
[特定のボタン] & a::z
731:名無しさん@お腹いっぱい。
06/05/19 23:10:55 NLL2TGQ40
意味不明で大変場違いな事かもしれませんが・・・
たとえばゲームなどで必殺技のコマンドをマクロ化するスクリプトってどういう感じでしょう?
例としてはジョイスティックのボタンAを押すと昇竜拳が出るというような。。
先月からいじっているのですが、まったく突破法を発見できません(汗
どなたかお知恵を拝借していただけませんでしょうか?
732:名無しさん@お腹いっぱい。
06/05/19 23:20:58 K6ZDm6rW0
>731
ジョイスティック系のスレ行って
それ用のソフト探した方が早そう。
733:名無しさん@お腹いっぱい。
06/05/20 00:17:17 th5H/M1p0
JoyToKeyかJoyAdapterだな。
734:名無しさん@お腹いっぱい。
06/05/20 00:42:13 L7AtsktK0
JoyToKeyは使ってるけど必殺技コマンドのマクロ化は無理っぽい。
735:名無しさん@お腹いっぱい。
06/05/21 18:35:02 UkQcXTMP0
Perl厨なのでPERLAHKで楽しく書かせてもらってます。
AHKのお手軽さとPerlのモジュール+正規表現が
合わさってちょっとすごい感じです。
736:名無しさん@お腹いっぱい。
06/05/21 21:56:54 hpntYaGp0
mayu でマウスいじれないので、
ahk でそのうちやろうやろうと思いつつも
やり方がよくわからないんで放置してたんだけど、
昨日一晩調べてやっと使えるようになった。
サイドボタン+ホイールとか
右クリック+ホイールとか
サイドボタン+右クリックとか、
いろんな組み合わせが使えるようになって
かなりブラウザが使いやすくなったよ。
737:名無しさん@お腹いっぱい。
06/05/21 22:37:38 Uqwos4GY0
>>735
PERLAHKってなんですか?
検索してもいっこもヒットしません・・・
738:名無しさん@お腹いっぱい。
06/05/23 00:47:31 k9ZThJgs0
複数のahkをひとまとめにコンパイルとか出来ちゃったり出来ないですか?
739:名無しさん@お腹いっぱい。
06/05/23 22:08:10 H/9gJ7En0
関数の中でラベルを作ることは出来ないのでしょうか?
ホットキー定義の中で SetTimer とかを使って
サブルーチンを監視するような処理を、
;;キー定義
F1::DoHoge()
;;関数
DoHoge(){
SetTimer,Hoge
return
Hoge:
なんたら
return
}
みたいにキー定義部分と関数定義で分割して書いて、
コードを読みやすくしたいのですが、うまくいきません。
740:名無しさん@お腹いっぱい。
06/05/23 23:59:29 HxMam4eq0
おいおい…なんつー強引なコード書いてんだよ
そんなん全然読みやすくも何ともないから、素直にサブルーチン使え
741:名無しさん@お腹いっぱい。
06/05/24 00:21:33 4stag/k10
読みやすくない、、、、つーか、そういうのバグの温床になるよ。
742:名無しさん@お腹いっぱい。
06/05/24 04:09:11 vGs8zZxc0
ホットカーペット?
オンドル?
743:739
06/05/24 05:08:37 UOl7EfWn0
なぜキー定義と関数を分割したいかというと、
#IfWindowActive でウインドウごとにキー割り当てを変えているときに、
同じ処理を何度も書くよりは一箇所にまとめたかったのです。
autohotkey の関数の意義がよくわかってなかったので
おかしなことを書いてしまいました。すみません。
Gosub を使えばできそうです。
744:名無しさん@お腹いっぱい。
06/06/05 20:29:13 LsgHsIWT0
alt+WheelUp/Downでボリューム操作したいんですがどうやればいいですか?
SendKey,{Volume_up/down}で一応できるんですが
MSのユーティリティの機能で画面にメーターが出てきてしまうので
直接操作したいんですが。
745:名無しさん@お腹いっぱい。
06/06/05 20:40:12 LeRAOcxJ0
SoundGet
SoundSet
746:名無しさん@お腹いっぱい。
06/06/06 17:00:48 bF08BH0f0
F6::
LoopFlag = 0
return
F5::
if LoopFlag = 0
LoopFlag = 1
else
LoopFlag = 0
loop
{
if LoopFlag = 0
break
Send,{v}
Sleep,1000
}
return
このスクリプトでF5を押すと一秒ごとにSend,{v}し、F6を押すと止まります。
ここまではいいんですが、ループ中に再度F5を押すと止めるようにしたつもりがうまくいきません。
F5を処理中に再度F5を実行する事は出来ないんでしょうか?
747:名無しさん@お腹いっぱい。
06/06/06 17:40:38 0igiZf6q0
F6::
LoopFlag = 0
return
F5::
if (LoopFlag) {
LoopFlag = 0
} else {
LoopFlag = 1
}
SetTimer, Sendkeys, 1000
return
Sendkeys:
if (LoopFlag) {
Send, v
}
return
とりあえずこれで動いてるもよん
748:名無しさん@お腹いっぱい。
06/06/06 20:33:46 m6+f/8Lj0
>>746
returnまで行ってないスレッドを呼び出すことはできないはず。たとえば、
a::
gosub,b
return
b::
loop{なんたらかんたら}
return
bをLoopしてる間は、Returnまで行ってないa,bともに機能しない
俺も>>747みたく、Settimerでいったんreturnまで行くことで回避してる
749:名無しさん@お腹いっぱい。
06/06/06 20:54:45 FXxjK0vn0
FAQ@ヘルプファイルの"How can a repeating action be stopped without exiting the script?"でいいんでね?
750:名無しさん@お腹いっぱい。
06/06/07 11:45:55 tTFbfh7+0
CTRL+ALT+DELは送れない?
ランチャーから「プログラムの強制終了」出したいと思ったんだけど
751:名無しさん@お腹いっぱい。
06/06/07 12:52:40 nmnaUx310
>>750
Run, taskmgr.exe
で良いんじゃないの?
752:名無しさん@お腹いっぱい。
06/06/07 13:35:33 Jepk75LG0
98なんでないのよ
753:名無しさん@お腹いっぱい。
06/06/07 15:33:07 zIezkPbs0
Clipboard変数について質問させて下さい<(_ _)>
クリップボードの中身から最初のn文字(例えば5文字分)だけを抽出する方法はありますでしょうか?
754:名無しさん@お腹いっぱい。
06/06/07 15:37:12 zBVvY4Eq0
>>753
StringLeft
せっかく日本語のコマンドリファレンスがあるんだから
ちゃんと見た方がいいよ
755:名無しさん@お腹いっぱい。
06/06/07 15:44:06 zIezkPbs0
>>754
早速ありがとうございます~!基本的な事でスマソ
リファレンスよく勉強させて頂きます
756:名無しさん@お腹いっぱい。
06/06/21 21:43:40 Y5hBJ6O70
思い出したように保守
日本語リファレンス更新されてるね。管理人さん乙です
757:名無しさん@お腹いっぱい。
06/06/22 02:22:24 cHFnTHSC0
日本語版とか無いみたいだけど日本語の処理問題ないの?
758:名無しさん@お腹いっぱい。
06/06/22 03:00:35 uSeun5XX0
ある。
759:名無しさん@お腹いっぱい。
06/06/22 11:07:49 0P+3tIeu0
FileInstall, Source, Dest, Flag
について質問です。
・・・と書き込もうとしてたんだけど自己解決
FileInstallを使用した際、スクリプトファイルまでのパスに日本語が使われていると
スクリプトファイルをexe化するときにエラーを吐いて上手く変換されないぽい
全部1byteに変えたら上手く変換された
Convert .ahk to .exe
で変換するときだけの問題ぽいので
実際のスクリプトファイルや実行ファイルがあるパスに日本語が含まれていても大丈夫みたい
一応そういうことがあったと報告、重複してたらゴメ
760:名無しさん@お腹いっぱい。
06/06/22 15:42:33 POdpE2ro0
>757
IMEの状態管理用プラグインは日本人が作ってる。
761:名無しさん@お腹いっぱい。
06/06/22 18:18:32 nKnriN960
そういう事じゃないと思うんだ
762:名無しさん@お腹いっぱい。
06/06/22 19:23:51 0qpHhUW90
>>757
とりあえず文字化けとかはしない。
ただ、ダメ文字(文字の2バイト目に0x7C等)が含まれてたりすると、
文字列処理(StringReplaceとかSplitPath等)がうまくいかないこともある。
そのへんはなまずさんのところの文字列処理ライブラリを使えば対処可能。
763:名無しさん@お腹いっぱい。
06/06/22 20:37:27 0P+3tIeu0
初歩的な質問ですいません
例えば
ary1~ary3
と言う名の変数があり
それぞれの中身を参照したい場合に
ary1=変数1
ary2=変数2
ary3=変数3
loop,3
{
msgbox,%ary%A_Index%%
}
return
と言うスクリプトを考えたのですが、エラーを吐き動作しません。
764:名無しさん@お腹いっぱい。
06/06/22 20:38:00 0P+3tIeu0
そこで暫定的に
ary1=変数1
ary2=変数2
ary3=変数3
loop,3
{
test( ary%A_Index% )
}
return
test( tmp )
{
msgbox,%tmp%
return
}
このような処理方法にしたのですがもっとスマートな方法はありませんか?
765:名無しさん@お腹いっぱい。
06/06/22 21:02:30 YZ8pBvMe0
temp := ary%A_Index%
msgbox,%temp%
これでいける
766:名無しさん@お腹いっぱい。
06/06/22 23:27:57 0P+3tIeu0
俺は
=
と
:=
の使い分け方が理解できてませんね
これならスマートにできそうです。
ありがとうございました。
767:名無しさん@お腹いっぱい。
06/06/23 21:34:38 8JS9LCGx0
右コントロールをAltにしたいんですが、
RCtrl::Send,{Alt}だとCtrlがAltにかわるだけで、
Alt+別のキーを認識してくれないんですが、
どう設定すればいいのでしょうか。
768:名無しさん@お腹いっぱい。
06/06/23 21:48:57 FfdqmuQi0
>>767
RCtrl::Alt
詳しくは↓参照
URLリンク(lukewarm.s101.xrea.com)
769:名無しさん@お腹いっぱい。
06/06/23 22:01:48 FNCmH44Z0
URLリンク(lukewarm.s101.xrea.com)
controlとaltが交換できるかどうかは知らない。
770:名無しさん@お腹いっぱい。
06/06/23 22:03:13 FNCmH44Z0
かぶった
771:名無しさん@お腹いっぱい。
06/06/23 22:47:38 8xgDybgz0
むけばいいさ
772:名無しさん@お腹いっぱい。
06/06/24 02:25:25 qEZk/pQ+0
文字列サンクス。
国際化きぼんしといたほうがよさそうだな。
773:名無しさん@お腹いっぱい。
06/06/25 07:19:11 2OPiWT000
Shift+Space で IME のトグルを行いたいのですが,
Meadow では除外するために以下の設定をしました.
$+Space::
IfWinActive, ahk_class MEADOW
{
Send, +{Space}
return
}
Else
{
Send, {vkF3sc029}
return
}
しかし Firefox で Scroll with IME を有効にしているとき,
Shift+Space を押すと IME がトグルしかつ,
Space の入力による下方向スクロールが行われてしまいます.
これを回避するにはどうすればよいでしょうか?
774:名無しさん@お腹いっぱい。
06/06/25 21:42:04 4MUoUZSq0
#IfWinActive
じゃないの?
775:773
06/06/25 23:46:38 2OPiWT000
>>774
なるほど #つきのコマンドでできるのですね.
以下のようにして実現できました.
#IfWinNotActive, ahk_class MEADOW
+Space::Send, {vkF3sc029}
#IfWinNotActive
776:名無しさん@お腹いっぱい。
06/06/27 19:35:19 Fgs5cyTC0
UWSCとどっちが強い?
777:名無しさん@お腹いっぱい。
06/06/28 01:16:03 1Uw7Us+E0
>>776
[AutoHotkey] 攻撃:87 素早さ:59 防御:39 命中:18 運:48 HP:277
[UWSC] 攻撃:41 素早さ:95 防御:98 命中:18 運:88 HP:288
AutoHotkey vs UWSC 戦闘開始!!
[UWSC]の攻撃 MISS [AutoHotkey]は攻撃を回避した。
[AutoHotkey]の攻撃 HIT [UWSC]は74のダメージを受けた。
[UWSC]の攻撃 HIT [AutoHotkey]は113のダメージを受けた。
[AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。
[UWSC]の攻撃 MISS [AutoHotkey]は攻撃を回避した。
[AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。
[UWSC]の攻撃 HIT [AutoHotkey]は94のダメージを受けた。
[AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。
[UWSC]の攻撃 HIT [AutoHotkey]は79のダメージを受けた。
[UWSC]が[AutoHotkey]を倒しました(ラウンド数:5)。
orz
778:名無しさん@お腹いっぱい。
06/06/28 03:26:29 1HU1H9N90
マルチャン
779:名無しさん@お腹いっぱい。
06/06/28 15:13:01 P/5ViBO60
>>776
ぬるさんとこの旧サイト過去ログが参照できないんでうろ覚えだけど
uwscとDMonkeyか何かと演算速度比較してぶっちぎりトップだったような
780:名無しさん@お腹いっぱい。
06/06/28 21:25:25 RTMBh9ap0
AHKだとCapsLockをControlにできないそうですが
では皆さんは何を使っていますか?
781:名無しさん@お腹いっぱい。
06/06/28 22:13:43 gxLI0N320
WinMinimizeで最小化するとデスクトップの左下にタイトルバーのみの状態になるソフト(たとえばJane)を、
最小化ボタンを押したときのように完全に最小化するにはどうすれば良いんでしょう。
782:名無しさん@お腹いっぱい。
06/06/28 22:31:20 p4FtCeYm0
>>780
URLリンク(www.losttechnology.jp)
783:名無しさん@お腹いっぱい。
06/06/29 00:12:50 KazRnh6f0
>>781
URLリンク(lukewarm.s101.xrea.com)
嫁
784:名無しさん@お腹いっぱい。
06/06/29 02:56:57 YMIL19fZ0
>>783
できました。ありがとう。
785:名無しさん@お腹いっぱい。
06/06/29 12:55:57 mOUKYabn0
ファイルのドラッグ&ドロップに対応してないアプリに
AutoHotKeyを使って対応させたいとか思ってます.
1.LButton Upで該当アプリにフックかける
2.今つかんでいるファイル名を手に入れる
3.ファイル名つかってアプリになんかする
...という手順で実装しようと思っていますが,
2.をahkでどうやったらいいものか困っています.
なにかいい方法ないでしょうか?
786:名無しさん@お腹いっぱい。
06/06/29 14:09:16 2lcTgBXF0
Ctrl+Cでクリップボードにファイル名を入れて、吸い出す
787:名無しさん@お腹いっぱい。
06/06/29 14:38:33 gyii8ANd0
ExplorerならF2押してリネームモードにしてからCtrl+Cか。
誤動作したら嫌なことになりそうだがw
788:名無しさん@お腹いっぱい。
06/06/29 14:47:28 OjEa1TAf0
どういうことがしたいのかよくわかってないけど
ファイル名が欲しいならF2押さなくてもctrl+cだけで
フルパスで取得できない?
789:名無しさん@お腹いっぱい。
06/06/29 16:30:38 2lcTgBXF0
できるよ、しかもフルパスで取れる
790:名無しさん@お腹いっぱい。
06/06/29 16:36:16 oU3zY0Gn0
ドロップ先にGuiウィンドウを挟んでGuiDropFiles:で知る
791:名無しさん@お腹いっぱい。
06/06/29 17:27:49 mOZeA58w0
>>782
えっとじゃあ CapsLock をコントロールにするだけなら
↓でいいんでしょうか?
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,3a,00,1d,00,00,00,00,00
792:785
06/06/29 17:49:04 mOUKYabn0
>>786-789
言葉足らずで申し訳ありません.
「ExplorerでCtrl+cをおしてファイル名を取得」
→「該当アプリにファイル名使ってなにかする」
というのをやりたいわけではなく
「該当アプリにファイルをDropしたときにファイル名を使ってなにかする」
を実現したいのです.
>>790
LButton Upしたときに
MouseGetPosしてその位置に透明なGUI窓を即座に作って
GuiDropFiles: でファイル名をゲットするということでしょうか.
ちょっと考えてみます.
793:名無しさん@お腹いっぱい。
06/06/29 18:49:05 n43RwllZP
あほには何言っても無駄か
794:名無しさん@お腹いっぱい。
06/06/29 18:55:00 OjEa1TAf0
ドラッグ&ドロップするアイコンはその「該当アプリ」のものじゃなくちゃ
絶対だめなの?
そうじゃなくていいなら
run,c:\program files\hoge.exe %1%
みたいなスクリプトを書いてexeにコンパイルしたファイルに
ドラッグ&ドロップという方法でも
いいような気がするんだけど、だめかな
コンパイルしたファイルにドラッグ&ドロップで%1%が使えるかは
わからなかったので今試した
msgbox,%1%
;終わり
exit
こんなスクリプトを書いてコンパイルしたものにファイルを
ドラッグ&ドロップしたら投げたファイルのフルパスがメッセージ
ボックスで出たから大丈夫じゃないかな
795:名無しさん@お腹いっぱい。
06/06/29 19:03:37 2lcTgBXF0
やりたいことは理解できるが何で説明し直してるのかがわからん
ファイル名取れたらその後は自力でなんとかするって話じゃないの?
785でも「何か」のしかたついては聞いてきてないようだが。
796:名無しさん@お腹いっぱい。
06/06/29 19:15:36 2lcTgBXF0
ごめん今理解した。掴んだ時じゃなくて話した時にファイル名取りたいのか
んでショートカットアイコンじゃなくて起動中の該当アプリに
ファイルをドロップさせたいんだよね?
790のは該当アプリに直接ドロップするのではなく、
マウス監視してドラッグしたら最前面の小窓出してそこにドロップてことでは?
irvineみたいな感じで。
ウィンドウを透明化したら制御権取れないような希ガス
797:名無しさん@お腹いっぱい。
06/06/29 19:19:42 OjEa1TAf0
>>796
あーそうなのか
オレはファイルへのドラッグ&ドロップだと思ってたごめん
798:名無しさん@お腹いっぱい。
06/06/29 20:44:53 YMIL19fZ0
面倒なので検証してないが、
1,#Ifwinexistで該当アプリがあるときのみ以下を実行
2.左ボタンを押し下げた時点で、Ctrl+C
3.左ボタンを押し上げた時点で、
a、もしマウスの下のウィンドが該当アプリならば→2のファイル名を使って処理
b、違うなら放置
ではいかんのか?
799:785
06/06/29 22:08:24 mOUKYabn0
>>794-797
「離した時にファイル名取りたい」まさにそれです.
たしかに「別ショートカット作ってそこにドロップ」「別GUIにドロップ」
に逃げればなんにも問題ないんですが...
>>798
電卓で試してみました.
#IfWinExist ahk_class SciCalc
$LButton::
ClipSaved := ClipboardAll
Clipboard =
Send, ^c
ClipWait, 0.1
SelText := Clipboard
Clipboard := ClipSaved
ClipSaved =
Send, {LButton Down}
Return
#IfWinExist
800:785
06/06/29 22:09:59 mOUKYabn0
#IfWinExist ahk_class SciCalc
$LButton Up::
Send, {LButton Up}
MouseGetPos, mX, mY, mID, mCtrl
WinGetClass, mClass, ahk_id %mID%
if (InStr(mClass, "SciCalc") > 0)
{
MsgBox %SelText%
}
Return
#IfWinExist
$LButton Up::
Send, {LButton Up}
Return
なんとか目的の動作は実現できそうです.ありがとうござしました.
ただ...LButton Down/Up奪っちゃうと他の動作が怪しくなりますね...
801:名無しさん@お腹いっぱい。
06/06/29 22:52:55 YMIL19fZ0
>>800
最後の3行いらないだろ
他の動作でUp/Downを奪わないための#IfWinExistなんだから
802:名無しさん@お腹いっぱい。
06/07/01 12:37:26 kCidEIr20
バックグラウンドにあるウィンドウを指定して
キーをSendするにはどうすればいいですか?
WinActivate するとフォーカスが切り替わってもとに戻せないし
できればフォーカスを切り替えたくありません
803:名無しさん@お腹いっぱい。
06/07/01 12:47:27 0Hi33u+L0
WinexistとかMouseGetPosで目的のウインド取得してSendMessageは?
804:名無しさん@お腹いっぱい。
06/07/01 14:30:17 ejLYm2Hs0
>>802
ControlSend
805:名無しさん@お腹いっぱい。
06/07/01 18:47:47 kCidEIr20
>>804
ControlSend, , i, ahk_class Notepad
なら希望の動作になりましたが
実は送りたいアプリは mAgicTV という TV 視聴ソフトで
ControlSend, , i, ahk_class mAgicTVWindow
とすると mAgicTV がアクティブになってしまいました。
WinGet, id, ID, A
と
WinActivate, %id%
ではさんでみてもダメでした。
なんとかフォーカスを変えない方法ないでしょうか?
806:名無しさん@お腹いっぱい。
06/07/01 21:43:19 9gtYySno0
キーのリピート入力ってよくやると思うんですが、
loop と sleep でぐるぐる回すしか方法ないんですか?
807:名無しさん@お腹いっぱい。
06/07/01 23:47:50 DmCRCPtK0
キーダウン キーアップで間に間隔入れたら勝手にキーリピートになるんじゃないの
808:806
06/07/02 00:09:52 Ab02y6aS0
>>807
実際今そういう風にやってるんですが、
なんか無理やりなやり方のように思えるので、
こんなやり方でいいのかと思って。
ちなみに今使ってるのはこんな感じです。
F1::MyKeyRepeat("^{Right}",200}
F1 Up::MyKeyRepeatStop()
;;
MyKeyRepeat(key,sleep=80){
global MyKeyRepeatLoop
MyKeyRepeatLoop = 1
loop {
if MyKeyRepeatLoop != 1
break
Send,%key%
sleep,%sleep%
}}
MyKeyRepeatStop(){
global MyKeyRepeatLoop
MyKeyRepeatLoop=0
}
809:名無しさん@お腹いっぱい。
06/07/02 02:02:42 Q+Ta5ezk0
イベントじゃなくて SendコマンドのほうをUp/Downで指定したらどうよ
勝手にリピートしてくれないのか? 試してないけど
F1:: Send,{Right Down}
F1 Up:: Send, {Right Up}
810:名無しさん@お腹いっぱい。
06/07/04 18:26:50 cof1Hegt0
#p::SendMessage, 0x111 , 1007, 273, , ahk_class PrxTronCls
で、Proxomitronのバイパスの切り替えをしたいですが、ウインドウが無い限りできません。
どうしたらいいでしょうか?
811:名無しさん@お腹いっぱい。
06/07/04 19:43:46 AkaYH3FC0
POstMessageでは?
812:名無しさん@お腹いっぱい。
06/07/04 21:54:04 rHd9XQGV0
>>810
俺もやってみようとしたができないな。
AHK使わないでWPara1007 LPara273をSend/Postしたら、タスクトレイにあるときでもちゃんとできたんだが。
ウインドの指定のやり方かな。
813:806
06/07/04 21:59:05 G6/vCvv+0
>>809
返事が遅れてすみません。
いままでその方法ではリピートできないと勝手に思っていたのですが、
普通のキーでならそれでできますね。
実はマウスボタンで使うのが目的だったので、
マウスボタンでしか実験していなかったのですが、
マウスでは同様の方法でリピートしてくれなかったため、
勘違いしてました。
814:名無しさん@お腹いっぱい。
06/07/04 22:13:53 WJt1gwBr0
もれは
Comandiux
URLリンク(www.scot.sk)
でポストしてるけどウィンドウなくてもバイパス出来る。
815:名無しさん@お腹いっぱい。
06/07/04 22:38:44 ZOjlKI+I0
>>810
DetectHiddenWindows, On
SendMessage, 273, 1007, 0,, ahk_class PrxTronCls
DetectHiddenWindows, Off
return
ではダメですか?
816:名無しさん@お腹いっぱい。
06/07/04 22:41:01 iCn4YQLM0
>>813
マウスだったら Sendより MouseClickのがいいんじゃまいか
D|Uで押し下げ/押し上げ状態もキープできる。
あとホイールでスクロールをどうにかしたいって話だったら過去レスに漁れば出て来ると思う
817:名無しさん@お腹いっぱい。
06/07/04 22:48:33 rHd9XQGV0
>>815
810じゃないけど、これで動きますね
DetectHiddenWindowsなんてコマンドあったのか
不具合でまくりそうだけど、
SendMessage, 0x111 , 1007, 273, , ahk_id 0xFFFF
でもいけました。
存在するすべてのウィンドにSendMessageですw
818:名無しさん@お腹いっぱい。
06/07/05 01:01:48 4vOv08xf0
>>811-817
ありがとうございます。DetectHiddenWindowsを使えばいけそうですが、誤爆が怖いんでWinShow使ってやってみます。
URLリンク(lukewarm.s101.xrea.com)
(送ったあとはWinHide使えばいいのかな。個人的にはDetectHiddenWindowsが楽そうなんですが)
HoeKeyの時は問答無用で送れたんでちょっと困ってたところ、ありがとうございました。
>>817
それは誤爆が怖いと思うが、いかがなもなか('Д`;) 最初はそれでやってたけど・・・
819:名無しさん@お腹いっぱい。
06/07/05 01:45:01 4vOv08xf0
別にクラスをちゃんと指定すればおkでしたね。ごめんなさい。
需要無いかもしれませんが、foobar2000でsendmessageを使う方法と、疑似Open/Hideコマンドです。Winキーを多用する人はうはうはかもしれません。0.8.3
(もしくはすでに知ってるかもしれませんが。)
#q::
DetectHiddenWindows, On
SendMessage, 273, 40010, 0,, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E}
DetectHiddenWindows, Off
return
#o:: ;最小化時、トレイに格納する場合だけ動作確認
IfWinExist, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E}
{
WinMinimize, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E}
return
}
else
{
DetectHiddenWindows, On
WinActivate, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E}
DetectHiddenWindows, Off
return
}
820:名無しさん@お腹いっぱい。
06/07/08 07:42:17 qGKJnijM0
AHKから録音ソース(マイクやライン入力)を切り替えたいのですがどうすれば良いのでしょうか?
SoundSetで色々試してみたつもりですが録音ソースを切り替える機能は見つけられませんでした...
821:名無しさん@お腹いっぱい。
06/07/08 10:50:35 HLRnu2ow0
漏れも前やったな~
見当たらないんだよね
822:名無しさん@お腹いっぱい。
06/07/08 11:39:03 qe11Eg9V0
DllCall("winmm.dll\mixerGetNumDevs")
みたいな感じで、MixerのAPI呼び出していけば行けるんじゃないか
APIはさっぱりわからんのであとはまかせるw
823:名無しさん@お腹いっぱい。
06/07/08 13:24:39 ALwXZ4jD0
いざとなったらプロパティ表示してソース選び直して[OK]押下、をエミュレートするとか
見た目はあまり美しくはないが
824:名無しさん@お腹いっぱい。
06/07/08 21:06:55 z5OGIaz00
>>821-823
簡単には行かないみたいですね
API呼ぶのはちょっと敷居が高すぎる気がするので
sndvol32.exe /r にMessage投げてごまかすことにします
ありがとうございました。
825:名無しさん@お腹いっぱい。
06/07/11 13:55:28 EvY29YJw0
Guiのタブがえらく使いにくい
3つのタブをGui,Addで作成すると、
1 2 3
○ ▲ ◆
↑こうなるんだけど(上段:タブ番号、下段:それぞれのタブに配置したコントロール)、
そこからさらに2つタブを追加しようとすると
5 4 1 2 3
○ ▲ ◆
↑このように追加される
1 2 3 4 5
○ ▲ ◆
か、
5 4 1 2 3
○ ▲ ◆
せめてこうして欲しいんだが、何とかなりませんか
826:名無しさん@お腹いっぱい。
06/07/13 03:36:51 eLwJZVSR0
ソースを弄る
827:名無しさん@お腹いっぱい。
06/07/13 07:24:10 0SzuAgk/0
autoitはどうなの?
828:名無しさん@お腹いっぱい。
06/07/14 00:46:44 Fp8tR7J00
スレリンク(news4vip板)
829:名無しさん@お腹いっぱい。
06/07/16 04:02:55 xOvCEZJX0
ホットキーで
Ctrl-マウスクリック
の組み合わせのキーを書いているのですが、
時々コントロールが抜けて出力されることがあります。
例えば firefox では
拡大縮小が Ctrl-WheelUp, Ctrl-WheelDown に割り当てられてるのですが、
a:: Send,^{WheelDown}
こういうようにキー割り当てして a をリピートすると、
なぜか時々純粋な WheelDown が送られ、画面がスクロールしていってしまいます。
他にも、エクスプローラではCtrl-ダブルクリックで
フォルダを新しいウインドウで開けるのですが、
MButton:: Send,^{LButton 2}
こう記述しても新しいウインドウが開く時と開かないときがあります。
原因がよくわからないのですが、
確実にCtrl-マウスクリックの組み合わせが出力できる方法はないでしょうか。
830:名無しさん@お腹いっぱい。
06/07/16 10:48:40 JXnX7QJM0
SendMode
Sleep
色々ある
831:名無しさん@お腹いっぱい。
06/07/16 15:20:28 xOvCEZJX0
どうもありがとうございます。
MButton:: Send,^{LButton 2}
こちらについては、sleep を間に入れて時間を置くことで
きちんとダブルクリックと認識させることができました。
a:: Send,^{WheelDown}
こっちは、いままで firefox でしか検証していなかったのですが、
先ほど OpenOffice で試したところ、
なんとそのままでまったく問題なく動いていました。
firefox でのみ、どうしてずれるのかよくわかりませんが、
a::
Send,{Ctrl Down}
Send,^{WheelDown}
sleep 300
Send,{Ctrl Up}
return
このようにしてみたところ、とりあえずうまくいくようになりました。
832:名無しさん@お腹いっぱい。
06/07/20 03:18:26 aCwM17AQ0
ウインドウの操作を行いたいと思うのですが,思うようにいかないので質問させてください.
目標としては,ウィンドウをhoekeyのようになめらかに移動させること,
トグルでの水平方向,垂直方向への最大化です.
色々なスクリプトを参考に以下のように書いてみました.
ディレイを小さくしたのですが,移動がカクカクしてしまうこと,
水平方向,垂直方向の最大化は同時に複数最大化するとサイズが上書きされてしまう問題があります.
ご意見を頂けないでしょうか.
833:名無しさん@お腹いっぱい。
06/07/20 03:24:33 aCwM17AQ0
;●ディレイの調節
SetWinDelay, 0
;● ウインドウ位置移動
#Left:: ;[Win] 移動 (←)
#Right:: ; (→)
^!h:: ;Ctrl+Alt+Hで水平方向の最大化
^!v:: ;Ctrl+Alt+Vで垂直方向の最大化
WinGetPos,x,y,w,h,A
if A_ThisHotkey = #Left ;
x -= 5
else if A_ThisHotkey = #Right ;
x += 5
else if A_ThisHotkey = ^!h{
if(w = A_ScreenWidth and x = 0){
w := w_h_old
x := x_h_old
}
834:名無しさん@お腹いっぱい。
06/07/20 03:25:39 aCwM17AQ0
else{
w_h_old := w
x_h_old := x
w := A_ScreenWidth
x := 0
}
else if A_ThisHotkey = ^!v
if(h = A_ScreenWidth and y = 0){
h := h_v_old
y := y_v_old
}
else{
h_v_old := h
y_v_old := y
h := A_ScreenWidth
y := 0
}
WinMove,A,,%x%,%y%,%w%,%h%
return
835:名無しさん@お腹いっぱい。
06/07/24 01:39:51 DNeHp1KC0
タスクトレイにある特定のアプリのアイコン(例hoge.exe)1個だけを
左クリックするだけのスクリプトを作ろうとして挫折してます。
このアプリは、コマンドラインの引数を指定できず、
とにかくタスクトレイのアイコンをクリックする以外にどうしようもないやつで。
いい方法はないですかね。
836:名無しさん@お腹いっぱい。
06/07/24 02:53:57 9I40KnIj0
TrayCommand
URLリンク(hp.vector.co.jp)
837:835
06/07/24 03:41:24 DNeHp1KC0
>>836
おーこんな便利なのがあったんですか。
さっそく引数をつけて、適当なキーでiniファイルに登録しました。ありがとう。
838:名無しさん@お腹いっぱい。
06/07/24 03:53:26 7uh8bAg30
どういたしまして
839:名無しさん@お腹いっぱい。
06/07/24 03:56:34 Pbf/E+DV0
流行らせるページにある
840:名無しさん@お腹いっぱい。
06/07/24 04:26:24 l/qgUJwX0
前スレのjaneのdatもらえませんか?
841:名無しさん@お腹いっぱい。
06/07/24 09:06:31 EJoF76QI0
>>840
URLリンク(makimo.to)
842:名無しさん@お腹いっぱい。
06/07/24 15:37:02 6Dn/b3UJ0
プロセスの「ユーザー名」(Windowsタスクマネージャ→プロセスタブで見られる) を取得する方法はありますか?
よろしくお願いします!
843:名無しさん@お腹いっぱい。
06/07/24 16:00:38 ozVjeoNVO
こちらこそよろしく!
俺は雅也。まー坊って呼んでくれ!
844:名無しさん@お腹いっぱい。
06/07/24 16:02:37 6Dn/b3UJ0
( ^ー゚)
845:名無しさん@お腹いっぱい。
06/07/24 18:06:13 ozVjeoNVO
まー坊って呼べっつってんだろ。日本語通じないんか?
846:名無しさん@お腹いっぱい。
06/07/24 18:27:05 NC3ES9PEP
やん某
847:名無しさん@お腹いっぱい。
06/07/24 18:54:27 7uh8bAg30
”マー坊“くん
”!?“
848:名無しさん@お腹いっぱい。
06/07/25 00:11:34 DKWTwnVd0
>>841
ありがとうございます
亀レスごめんなさい
これで勉強できます
849:名無しさん@お腹いっぱい。
06/07/26 18:57:00 ZZJ5BPcR0
マウスカーソルを右端に寄せてホイールスクロールするとボリューム操作
みたいな事って出来ますか?
850:名無しさん@お腹いっぱい。
06/07/26 19:01:43 8mmomP4l0
頑張れば多分できる
851:名無しさん@お腹いっぱい。
06/07/26 19:05:14 Jv4bTjlL0
>>849
MouseGetPos…マウスの座標等を取得
SoundSetWaveVolume…音量を変更する
WheelDown/WheelUp…ホイールを回転させたとき
852:名無しさん@お腹いっぱい。
06/07/26 19:50:19 7nemhq5U0
神
853:名無しさん@お腹いっぱい。
06/07/26 20:25:01 4OoZiY1v0
>>851
まれに見る良レスだな。
854:名無しさん@お腹いっぱい。
06/07/31 18:22:20 bPE7OiBX0
Logicoolのマウスドライバ、SetPointがよく落ちてプロセスだけ残ってしまいます
SetPoint.exeを殺して再起動するスクリプトを書いてくださいませ
855:名無しさん@お腹いっぱい。
06/07/31 18:48:20 0t/+ddRa0
Process Close, SetPoint.exe
Process, WaitClose, SetPoint.exe
Run, **ふるぱす**\SetPoint.exe
落ちてからならこれでもいいだろうけど
監視したいならちょっとややこしいかも
856:名無しさん@お腹いっぱい。
06/07/31 18:55:52 oc5sAuQK0
MX1000 使ってるけど setpoint 落ちたことないよ?
マウスによって安定度が違うのかもしれないが、
バージョンあげてみたら?
857:名無しさん@お腹いっぱい。
06/07/31 19:00:04 bPE7OiBX0
USB接続のKVMスイッチ使ってて切り替えたときによく落ちるのです
各種バージョンは試してみました
858:名無しさん@お腹いっぱい。
06/07/31 20:31:27 zq3T1Gna0
夏だなぁ
859:名無しさん@お腹いっぱい。
06/08/01 05:10:23 riT7Kvih0
8月でもクリスマス島か
860:名無しさん@お腹いっぱい。
06/08/05 06:25:55 WcqHgm+Q0
特定ブラウザを起動しているときだけ、insert、break、capsLockキーあたりのあまり使わないキーに
「ワンクリックで画像保存」を割り当てたいのですがうまくいきません。
Break::
IfWinActive,ahk_class IEFrame
{
Send,{RButton}
Send,s
Send,!s
}
else
{
Exit
}
上うまくいかない例、Sendのあたりをいろいろいじってみてもどうもうまくいきません。
どうかアドバイスをお願いします。
861:名無しさん@お腹いっぱい。
06/08/05 09:51:50 4KEWoUh00
とりあえずコマンドの合間にsleep入れないとだめそうではある
862:名無しさん@お腹いっぱい。
06/08/05 10:15:42 UFh/CFsn0
>>861
適当にsleep,250いれて、
キーをcapslock::から、Ins::にしたらうまくいった。
日本語環境だとcapslockはうまく利用できないみたいですね。
os、imeあたりの制御が優先されるためかも。
863:名無しさん@お腹いっぱい。
06/08/05 10:28:45 qCpTWQJA0
>>862
日本語版だとCAPSのKeyUpが取得できないらしい。
864:名無しさん@お腹いっぱい。
06/08/07 18:35:57 wlefqxTe0
UWSCとAHKの比較
AHKの長所 --- AU3_SPY
これがいちじるしく使える。クラス名取得が便利すぎ。
AHKの短所 --- ヘルプ、解説
海外ツールゆえの弱点。
日本語化されてないとこもある。
その他文法解説が弱い。
UWSCの長所 --- ヘルプ、国産、解説本
865:名無しさん@お腹いっぱい。
06/08/08 17:00:56 xAuF67xb0
やる気さえあれば、言葉の壁なんてたいしたことないと思うけど。
866:名無しさん@お腹いっぱい。
06/08/08 21:43:28 10WWq08h0
スクリプト系のツール使おうって奴が英語読めない方がおかしいんだから
日本語(2byte文字)が全く扱えないとかならまだしも日本語化されてないとか、
解説が英語だとかなんて短所にならん。それにAHKは文法解説もきちんとしてる。
弱いと感じるなら、それは君の英語読解力が弱いからだ。
つまりAHKに海外ツールゆえの弱点があるのではなく、
君自身に英語力が低いという弱点があるってことだなw
867:名無しさん@お腹いっぱい。
06/08/08 22:13:51 xAuF67xb0
まるで留学先で日本語が通じないことにキレてるようなもんだよな。
コンピュータがどこで発明されたか知らんのか。
868:名無しさん@お腹いっぱい。
06/08/08 22:37:30 68cnhmau0
おれは英語そこそこ出来るからそこそこ使えて問題は感じないぜ、
英語できない奴はかわいそう、
なんて考えてる奴こそ、いつまでたってもそこそこしか使えないんだよ。
869:名無しさん@お腹いっぱい。
06/08/08 22:56:26 RC9dTpIq0
完璧に使えないと駄目だったらあれだな。
UWSCのドキュメントも見てみたけど、文法解説はいまひとつだと思った。実用には十分だと思うけど。
AHKは流行らせるページの文法解説ってそんなに弱いか?
個人的には、AHKの最大の長所は「過去の資産が膨大にある」点だと思うんだが。
870:名無しさん@お腹いっぱい。
06/08/08 22:56:38 wARQiyMe0
>>866
まず一行目を論理的に説明して
871:名無しさん@お腹いっぱい。
06/08/09 01:27:51 upMtDTV/0
ここ耐性低いな
872:名無しさん@お腹いっぱい。
06/08/09 01:28:39 lyPkatCS0
入れ食いだな。
873:名無しさん@お腹いっぱい。
06/08/09 01:50:17 +c+/K6Sh0
フレーミングは参加した時点で(何を言おうが)負け。
見かけたら、通り過ぎるまでじっと待つのが最善の策。
よって、俺も負け。
874:名無しさん@お腹いっぱい。
06/08/09 01:53:27 9toRUw2f0
俺も負け
875:名無しさん@お腹いっぱい。
06/08/09 02:07:24 AXyISart0
耐性とかどうでもいいんだけど
そもそも俺は荒れても構わないし
反応したやつに反論できないなら普通にそいつの負け
876:名無しさん@お腹いっぱい。
06/08/09 10:12:49 PuK1jjIl0
ネット上での言い争いの事をフレームというのだな
>873のおかげでひとつ賢くなった
877:名無しさん@お腹いっぱい。
06/08/09 11:23:35 4XOMBbI70
というか AHK と UWSC って比べるようなソフトだっけ?
用途が違うような気もするが。
878:名無しさん@お腹いっぱい。
06/08/09 11:29:02 q+f9pvSC0
要は、必死で煽り文書いてみたけど、
反論に答える力がないから、すぐに釣り宣言して逃走ってことでいいの?
879:名無しさん@お腹いっぱい。
06/08/09 11:59:39 cLFR+lkB0
>>878
正解
880:名無しさん@お腹いっぱい。
06/08/09 23:15:43 NC9fRfuw0
>>232と(たぶん)同じだから環境特有の問題じゃないと思うんだけど、
vkF2 & up::SoundSet,+2.5
vkF2 & down::SoundSet,-2.5
ってスクリプト動かすと、ひらがなキーを一度でも押すとずっとvkF2押しっぱなしな状態になってしまう。
以降はもうupかdown入力するだけでSoundSet実行。
mayuでひらがなキーをmod0にして使ってたのを乗り換えたいんだけど解決方法無いかな?
881:名無しさん@お腹いっぱい。
06/08/12 05:57:56 dKEaHFEv0
>>878
しかし、まともに反論しても、
フレーミングに参加するやつは負け組みといわれるのが2チャンネル。
もしくは、「ねたにマジレスすんな、お前は釣られているのだが……」
882:名無しさん@お腹いっぱい。
06/08/12 08:42:18 YN3EaHF80
蒸し返すなYO
883:名無しさん@お腹いっぱい。
06/08/12 15:54:25 H0uY3V2H0
>>881
だからこっちは常駐してるスレが荒れてもいいって言ってんだよボケ
釣りなら釣りでやり遂げろよ
あと自演するなら文体変えろド素人が
884:名無しさん@お腹いっぱい。
06/08/12 17:10:39 nKacSO160
フレーミングは参加した時点で(何を言おうが)負け。
見かけたら、通り過ぎるまでじっと待つのが最善の策。
よって、俺も負け。
885:名無しさん@お腹いっぱい。
06/08/12 19:52:23 EmbbAg0I0
アジャパーヽ(´ー`)ノ
886:名無しさん@お腹いっぱい。
06/08/12 20:11:11 dUP2033C0
flaming 覚えたてで使いたかっただけちゃうんかと
887:名無しさん@お腹いっぱい。
06/08/12 20:39:07 /DuFVmL/0
コピペ
888:名無しさん@お腹いっぱい。
06/08/14 15:30:20 DtFvPCvr0
AAAというソフトがアクティブな時
マウスカーソルがソフトAAAのクラスBBBとクラスCCC上にある場合
マウスの拡張ボタン XButton1を押すとXButton1がそのまま送られ、
クラスBBB、CCC上以外の場所にカーソルがある場合は XButton1を押したらEnterキーが送られる。
という物を作りたいのですが、どうすればいいでしょうか?
889:名無しさん@お腹いっぱい。
06/08/14 15:54:17 NTc2eNg20
>>888
MouseGetPosでいいんじゃない
890:名無しさん@お腹いっぱい。
06/08/14 15:59:46 U+odDKWZ0
IfWinActive…該当ウィンドウがアクティブか
MouseGetPos…マウスカーソルの位置、マウスの下のウィンドウやコントロールを取得
Send…キーストロークを発生させる
851に倣って必要なコマンドあげてみたが、わざわざ解説するまでもなく基本機能だったな
まぁせっかくの夏休みなんだし、頑張ってみれ
891:名無しさん@お腹いっぱい。
06/08/14 16:34:20 DtFvPCvr0
変数名とキー名は流行らせるページに一覧が乗っていたので分かるのですが、
構文が分からないんです。
892:名無しさん@お腹いっぱい。
06/08/14 16:40:23 U6j7VEhq0
> どうすればいいでしょうか?
勉強
893:名無しさん@お腹いっぱい。
06/08/14 17:16:18 mrhengen0
>>891
まず、最初から丸投げしないで、自分なりに書いてみる。
それで動かなかった場合、何故動かないかをここで聞いてみれ。
さすがにそれをスルーする程にはここの人達も冷たくなかろう。
894:名無しさん@お腹いっぱい。
06/08/16 00:12:28 uW+77TpF0
すみません、ちょっとお伺いします
これってコンパイルするときに、例えば画像や音声ファイルを
一緒にパックしてexe化することって可能ですか?
895:894
06/08/16 00:22:57 uW+77TpF0
すみません、見つかりました。自己解決です。
896:名無しさん@お腹いっぱい。
06/08/16 00:25:14 1qUWJw7B0
>>894
アイコンは含められるけど、その他のファイルは(実用的には)無理だと思う。
897:名無しさん@お腹いっぱい。
06/08/16 00:41:55 uW+77TpF0
そうみたいですね
マニュアルで FileInstall っての見つけて、これでパックしてみたんですが
何故だかいざ実行してみるとファイルが見つかりませんってなりますね
なにか使い方を根本的に間違っているなかな?
ともかく、お返事ありがとうございます。
898:896
06/08/16 01:09:20 1qUWJw7B0
>>897
あ、ごめん。FileInstallの存在忘れてレスしてた。
FileInstall使えばできるよ。
できないとしたらスクリプトの先頭の方に書いてないとか。
899:名無しさん@お腹いっぱい。
06/08/17 00:47:26 2PVlAupL0
カーソルが画面隅にあるときホイールを無効化するスクリプトを組んだのですが
WheelUp::
IfWinActive, Sleipnir
{
Send, {F1}
}
else
{
Send, {WheelUp}
}
return
IEなのでページをスクロールするときのホイール動作がもっさりしている気がします。
else文で WheelUp::WheelUp こうなってるのが原因な気もしますが・・・
なにかいいアイデアは無いですか?
900:名無しさん@お腹いっぱい。
06/08/17 00:52:35 2PVlAupL0
誤:IEなので
正:IEなどで
901:名無しさん@お腹いっぱい。
06/08/17 01:10:07 In5F2pPh0
PostMessageでWM_MOUSEWHELLを投げる
それか,加速処理を入れ込んでみたら?
前スレにサンプルあった筈
902:名無しさん@お腹いっぱい。
06/08/17 01:20:46 In5F2pPh0
つか,ぬるさんがホイールリダイレクト作ってたんだっけ
この辺落としてきて中身参考に汁
URLリンク(lukewarm.s101.xrea.com)
903:名無しさん@お腹いっぱい。
06/08/17 01:51:04 2PVlAupL0
>>902
ホイールリダイレクトも試しに使ってみたのですが、やはりもっさりしてしまいました。
加速度はマウスドライバで細かく弄ってあるので、できれば加速処理等はしたくないです。
あとWheelUp::WheelUp この処理が原因かと思って↓こんなのも試したのですが
IfWinActive, Sleipnir
{
WheelUp::F1
}
else
{
;何も無し。うまくいけばホイール回転をスルーしてそのままの加速度でいけるかも?
}
return
これだと、どの場所でホイールしてもホイールが全てF1に変換されてしまい失敗でした。
ちなみにマウスはMicrosoft IntelliMouseOpticalです。ドライバは純正でVer5.2です。