AutoHotkey スレッド ..
[2ch|▼Menu]
89:名無しさん@お腹いっぱい。
08/02/13 10:04:08 sO97eULm0
>>88
ありがとうございます。

実際の処理は下記になっています。
change := RegExReplace(clipboard, MyText1, MyText2)

MyText1、MyText2はGuiのEditで、「`r`n|`n|$|\z|\Z」を入力しました。
置換対象は改行が入っているクリップボードです。

Guiから「`r`n|`n|$|\z|\Z」の入力で、「`r`n」が正しく判断されないのでしょうか?


90:名無しさん@お腹いっぱい。
08/02/13 12:04:52 1HOMoDij0
再現した。

GUIからSUBMITされた`r`nは既にエスケープされてる

StringReplace, MyText1, MyText1, ``r, `r, 1
StringReplace, MyText1, MyText1, ``n, `n, 1

これ入れたら上手くいった

もし正規表現によるGUI置換スクリプトなら
素直に「\r\n」を利用すればいい気もする

91:名無しさん@お腹いっぱい。
08/02/17 16:36:12 7mRUuCKX0
なにか人として足を踏み入れてはならない変態領域に突入しつつあるような悪寒・・・
; 無変換キーとのコンビネーション

; 半角/全角 vkF3sc029/vkF4sc029 (IMEのON/OFFで発生するイベントが違うが、Sendコマンドで送信する場合はどちらでも同じ)
; 変換 vk1Csc079
; 無変換 vk1Dsc07B
; ひらがなカタカナ vkF2sc070

; IME for VJE
vk1Dsc07B & vkF2sc070:: Send,{Ctrl Down}{BS}{Ctrl Up} ; +かな 確定取り消し

; カーソル移動
vk1Dsc07B & U:: Send,{Home}
vk1Dsc07B & O:: Send,{End}
vk1Dsc07B & I:: Send,{Up}
vk1Dsc07B & L:: Send,{Right}
vk1Dsc07B & K:: Send,{Down}
vk1Dsc07B & J:: Send,{Left}
vk1Dsc07B & Q:: Send,{PgUp}
vk1Dsc07B & E:: Send,{PgDn}

; 編集
; Cut, Copy, Paste
vk1Dsc07B & A:: Send,{Shift down}{Delete}{Shift up}
vk1Dsc07B & S:: Send,{Ctrl down}{Insert}{Ctrl up}
vk1Dsc07B & D:: Send,{Shift down}{Insert}{Shift up}
vk1Dsc07B & G:: Send,{Del}
vk1Dsc07B & H:: Send,{BS}
vk1Dsc07B & M:: Send,{Enter}
vk1Dsc07B & N:: Send,{End}{Enter}
vk1Dsc07B & `;:: Send,{Enter}

92:名無しさん@お腹いっぱい。
08/02/17 19:46:55 nXi1dMsx0
俺はTypeMatrix風中央配置してみた
TY=Tab、GH=Return、BN=BS
片方BTab、ShiftReturn、Delもいいかもしれん…

93:名無しさん@お腹いっぱい。
08/02/17 22:24:58 z5JlTnrn0
先生教えてください。二つのスクリプトを瞬時に交互に切り替えしたいのです。

例としては、PauseキーでAutoHotkey2を読み込みAutoHotkey1をアンロード、
逆にScrollLockキーでAutoHotkey1を読み込みAutoHotkey2をアンロード、
って事をしたいのですがおせーてください。

つまらない物だけど置いていきます。
ScrollLockでサスペンド、Pauseでサスペンド復帰+リロードです・・・
vk91::Suspend on
pause::Suspend
vk13::Reload

94:名無しさん@お腹いっぱい。
08/02/17 23:21:53 Z8h8m2Kn0
Autohotkey1.ahk

Pause::
{
run, Autohotkey2.ahk
ExitApp
}

Autohotkey2.ahk

ScrollLock::

95:名無しさん@お腹いっぱい。
08/02/18 00:09:02 WTKVYZXY0
Locks系の挙動は二バイト圏OS環境下では不定だぞ。他のキーに割り当てたほうが無難じゃね?

何がやりたいんだか知らんが、わざわざ2つに分けて行き来しなくても
一個のスクリプトでフラグかなんか立ててスイッチングすればいいんじゃね?

96:名無しさん@お腹いっぱい。
08/02/18 12:29:42 tGp4/4e6P
AHKで、特定のアプリケーションが起動しているときにスクリーンセーバーを
抑制する処理がかけるかとおもってやってみたんですが、実行結果をみたりする
ウインドウを最前面にした状態じゃないと、WM_SYSCOMMANDが拾えないようです。
これはそういう仕様なのでしょうか…

OnMessage(0x112, "WM_SYSCOMMAND") ; WM_SYSCOMMAND
return

WM_SYSCOMMAND(wParam, lParam)
{
OutputDebug SYSCOMMAND w:%wParam% l:%lParam%
if ( wParam = 61760 ) { ; SC_SCREENSAVE
OutputDebug SC_SCREENSAVE received
if ( 判定 ) {
OutputDebug screensaver cancelled
return 1 ; screensaver cancelled
}
}
}


97:名無しさん@お腹いっぱい。
08/02/18 15:21:57 tGp4/4e6P
どうやら、SC_SCREENSAVE はアクティブウインドウだけが
受け取れるようです。別の方法を模索します。
失礼しました。


98:名無しさん@お腹いっぱい。
08/02/18 23:25:28 DgQUWzko0
有難う先生、出来ました。やはりLock系の挙動怪しいです、無効化してみます。
一応メモ。

Autohotkey1.ahkは
Pause::
{
run, Autohotkey1.ahk
ExitApp
}
vkF0:: Send, ]
ScrollLock::return

Autohotkey2.ahkは
ScrollLock::
{
run, Autohotkey2.ahk
ExitApp
}
Pause::return

99:名無しさん@お腹いっぱい。
08/02/18 23:43:54 9kfLohoxP
わざわざ2つのahkファイルに分けてる意味がわからん。
hotkeyコマンド使うだけじゃあかんの?

100:名無しさん@お腹いっぱい。
08/02/19 00:01:25 w7qvM9gV0
まあ、追々洗練されていけばええやろ
まずは目的の成就じゃ

101:名無しさん@お腹いっぱい。
08/02/19 14:13:24 bfqFbnlQ0
自分が最近気に入ってるのはこれ。IMEのワンキーオンオフやつなんだけど、
シングルタップでオフ、ダブルタップでオンになるようにしてあるので、
トグルのようにどっちだっけ?ということもないし、オンにするキーとオフにするキーを
2つ用意しなくてもよいので、102キー等、キー数に限りのある人には便利かも。

~SC79 Up::
IME_chk := A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 300
IME_wnd := DllCall("imm32\ImmGetDefaultIMEWnd", UInt, WinActive("A"), UInt)
DetectHiddenWindows, On
SendMessage, 0x283, 0x006, IME_chk,, ahk_id %IME_wnd%
DetectHiddenWindows, Off
Return

102:名無しさん@お腹いっぱい。
08/02/19 16:14:10 eL27GtwT0
特定のアプリにキーを送らないようにするのってどう書けばいいの?
アクティブじゃなくてもキー監視してるようなアプリにALT押しても伝わらないようにする、みたいな

103:名無しさん@お腹いっぱい。
08/02/19 17:04:27 w7qvM9gV0
ALT押した瞬間にそいつのProcess落として
上がったら再起動みたいなことを考えたけど
騒がしすぎるな

104:名無しさん@お腹いっぱい。
08/02/19 19:03:06 Ro3kfoUW0
AutoHotKeyの起動ができなくなりました。

^0::
MsgBox OK!
return

AutoHotkey.iniというファイルに上記コードだけ記述してAutoHotkey.exeを実行すると、

Note: The hotkey +AF4-0:: will not be active because it does not exist in the current keyboard layout.

このようなダイアログが出て起動できません。アドバイス求ム。

105:名無しさん@お腹いっぱい。
08/02/21 14:46:40 Oj5PAiTN0
少し教えてください。
AHKで全てのキー入力を受けつけないようにするには、どうすればいいでしょう?
どこかで見たような気がするのですが、失念してしまいまして。。。

106:名無しさん@お腹いっぱい。
08/02/21 14:57:41 Oj5PAiTN0
すいません、BlockInput,On でした

107:名無しさん@お腹いっぱい。
08/02/21 16:38:07 Iioijznk0
clipboad中にある複数行文字列の各行頭に_をつけたいのですが、
RegExReplace(clipboard, "(^|\A)", "$1_")ってやってもうまくいきません。
「$」でも各行の先頭として扱われるはずなんですが・・・


108:名無しさん@お腹いっぱい。
08/02/21 17:09:11 VNWGrxeP0
RegExReplace(clipboard, "\n", "$1_")

根本的解決かは分かりかねます

109:名無しさん@お腹いっぱい。
08/02/21 18:13:01 j1dzQgRf0
>>107
RegExReplace(Clipboard, "m)^", "_")

110:名無しさん@お腹いっぱい。
08/02/21 18:13:26 Kx0P4/xT0
RegExReplace(Clipboard, "(^|\n)([^$])", "$1_$2")

111:名無しさん@お腹いっぱい。
08/02/21 18:17:26 Kx0P4/xT0
げ、リロードしてなかった。なにそれm)なんてあったのか
AHKのおぷすおんかorz

112:名無しさん@お腹いっぱい。
08/02/21 18:50:35 XbxI3LX6P
正規表現で""の間の文字を取得したいのですがどうすればいいでしょうか?

113:名無しさん@お腹いっぱい。
08/02/21 19:08:08 XbxI3LX6P
これだとよく分からないな

RegExReplaceでhtmlファイルから""で挟んであるファイルパスを取得したいのですが
"をエスケープする方法が分かりません、教えてください

114:名無しさん@お腹いっぱい。
08/02/21 19:35:59 VNWGrxeP0
>>20

115:名無しさん@お腹いっぱい。
08/02/21 21:37:15 XbxI3LX6P
>>114
すみませんでした、まさか上にあったとは・・・

116:名無しさん@お腹いっぱい。
08/02/23 02:50:41 I9fxWkUy0
集中して作業してるときに裏で定期的に2chブラウザを更新させたいんですけど
アクティブの時はちゃんと動作するのに非アクティブのときは動作してくれない
#Persistent
SetTimer,OnTimer,180000
return
OnTimer:
DetectHiddenWindows,On
ControlSend,,{F5},jane
return
こう記述して動かしたんですが打開ヒントください

117:名無しさん@お腹いっぱい。
08/02/23 09:33:35 aMzIEKL80
DetectHiddenTextをつかったらどうだろうか

118:名無しさん@お腹いっぱい。
08/02/23 12:49:34 BM2S2vTo0
ControlSendはあんまり確実じゃないし、PostMessageで直接送ったほうがいいかも

119:名無しさん@お腹いっぱい。
08/02/23 17:40:17 I9fxWkUy0
#Persistent
SetTimer,OnTimer,180000
return
OnTimer:
PostMessage,0x0100,0x74,,,jane
return
としてみたけど>>116と同じorz
IfWinNotActiveでWinActivate噛ますと動くからキーは送られてるはずだけど
これだとバックグラウンドじゃなくなって作業に集中できない
Sleipnirで試したら非アクティブでも動作したから
Janeがめんどくさいアプリなんだろうか

120:名無しさん@お腹いっぱい。
08/02/23 17:54:35 BM2S2vTo0
controlのwhndを指定してないからじゃないの?

121:名無しさん@お腹いっぱい。
08/02/23 18:18:49 iAdFn35I0
俺も以前それやろうとしたけど、非アクティブのままではどうしても無理だったよ

122:名無しさん@お腹いっぱい。
08/02/23 18:41:25 I9fxWkUy0
そっか
janeというかdelphiと相性悪いんかな
ありがとうこれは諦めるしかなさそうだな

123:名無しさん@お腹いっぱい。
08/02/23 18:55:22 2+9m9zE60
0x0100が間違いなだけ

124:名無しさん@お腹いっぱい。
08/02/23 20:27:32 I9fxWkUy0
0x0290にしてみたけどダメだった
これ以上は昨日今日触り始めたにわかには見当がつかない

125:名無しさん@お腹いっぱい。
08/02/23 21:17:01 gYw1NOEI0
もれは「U」でスレ更新にしてんだけど

ControlSend, THogeTextView1, u, ahk_class TMainWnd

これで出来たような気がするよ

126:名無しさん@お腹いっぱい。
08/02/23 21:18:14 gYw1NOEI0
と思ったら最小化してるとダメだった

127:名無しさん@お腹いっぱい。
08/02/23 22:34:41 UVUXjl/U0
SmartGUI Createrなんてこんなのあったんだな。。。
これでGUIの簡単なアプリケーションが簡単に作成できると思う?

128:名無しさん@お腹いっぱい。
08/02/23 22:57:37 UVUXjl/U0
URLリンク(www.flib.jp)
AutoHotKeyアンオフィシャルガイド

これ読んでみたいと思うのですが パソコンで読むとかなり字が小さく、スクリーンショットとか
見にくいので、購入して本の形で紙媒体で読みたいと思うのですが
これはどうすれば購入できますか?Amazonにもありませんでした。
どこで買えるか、価格等教えて頂けないでしょうか?

129:名無しさん@お腹いっぱい。
08/02/24 01:42:11 6JA246NX0
紙媒体で売られていないかもしれない、という可能性は頭にないの?

130:名無しさん@お腹いっぱい。
08/02/24 01:42:19 2nfJaqtf0
AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ
はありませんか?EdVixと言うのを流行らせるページの作者は使用されていらっしゃるようですが
あれはAutoHotKey用のキーワードリストがあらかじめ登録されてないので、1個ずつ登録
しないといけないと思うので、大変そうだから あらかじめAutoHotKeyの文法やキーワードを
内包してあるようなエディタがあれば非常に助かるのですが、皆さんはどのエディタを使って
コードを書いていますか?もし無ければTerapadで頑張るしかないかなぁと思っているのですが・・・。

131:名無しさん@お腹いっぱい。
08/02/24 01:56:24 6jheKtSz0
>>130
「"インストールディレクトリ"\Extras\Editors」以下を参照
それと秀丸
URLリンク(lukewarm.s101.xrea.com)

132:名無しさん@お腹いっぱい。
08/02/24 02:25:48 2nfJaqtf0
>>131
レスありがとうございます。
\Extras\Editorsの中身のフォルダ名はそのままテキストエディタ名になってるように
見えますが「vimとかLinuxにあるテキストエディタだし・・・」、普通はココにあるテキストエディタ
でしか使えないんですかね?
それを
URLリンク(lukewarm.s101.xrea.com)
で秀丸でも使えるようにAutoHotKeyでスクリプトを作成されてらっしゃるんですよねぇ?
しかし秀丸はシェアウェアで、5000円弱と結構高い・・・。それと私は>>130

>AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ
>はありませんか?

と書かせて頂いた様に、フリーのテキストエディタを使いたいのですが、無理でしょうか?

133:名無しさん@お腹いっぱい。
08/02/24 02:56:49 yh7rF/YE0
>>125
ControlSendrawでうまくいったようないかなかったような

134:名無しさん@お腹いっぱい。
08/02/24 03:22:39 JnW9YY6g0
>132
vim は windows でも使えるし。
というか AutoHotKey 自体が windows 用のソフトなんだから
windows で使えないエディタの Syntax ファイルなんて同梱するはずないだろ。
あと言われたところちゃんと見てねーだろ。
Extras/Editors/Syntax

135:名無しさん@お腹いっぱい。
08/02/24 06:22:30 T2DQ4K+Y0
AHKでスクリーンセーバーの終了を監視したいのですが、どのようにしたらよいでしょう?
スクリーンセーバーのクラス名を調べる方法が分からず、行き詰まっています。

136:名無しさん@お腹いっぱい。
08/02/24 10:07:56 2nfJaqtf0
>>134
あ、VimってWindowsでも使えるんですか!?なるほど。
それから、Syntaxの中は後で見てみます、今からでかけるので・・・。

>>135
スクリーンセーバー起動中にPrintScreenキーでキャプチャ出来ない?
そのキャプチャした画像に対してチェックしてみたらクラス名分からない?

137:名無しさん@お腹いっぱい。
08/02/24 11:23:16 39WYzSwe0
これは久々の大物だぞ

138:名無しさん@お腹いっぱい。
08/02/24 12:10:40 o6C/sd5F0
ワロタ

139:名無しさん@お腹いっぱい。
08/02/24 12:34:52 o6C/sd5F0
>>135
アクティブウインドウのクラスとかを記録し続けるスクリプト書けばいいんじゃない

140:135
08/02/24 13:17:57 ApIFf8DK0
>>136
スクリーンのキャプチャはできるのですが、それを利用してクラス名を調べる方法がわかりませんでした。
>>139
アドバイスとても参考になりました。なのですが、以下のスクリプトではタイトル、クラスともブランクで、
idは0x0となってしまい、やはり同定できませんでした。

#Persistent
DetectHiddenWindows, On
SetTimer, CheckClass, 1000
Return

CheckClass:
WinGetActiveTitle, title
WinGetClass, class, A
id := WinExist("A")
FileAppend, %title% %class% %id%`n, list.txt
Return

141:名無しさん@お腹いっぱい。
08/02/24 13:38:54 o6C/sd5F0
うちで>>140動かしていくつか見てみたら
3D テキスト D3DSaverWndClass 0x2e0628
3D パイプ D3DSaverWndClass 0x6504be
Screen Saver WindowsScreenSaverClass 0x1e067e
ブランク スクリーン セーバー ブランク スクリーン セーバー 0x6f04be
とか記録できたよ


142:名無しさん@お腹いっぱい。
08/02/24 14:14:01 KTL9WkTR0
>>141
情報ありがとうございます。
そうすると、当方の環境の問題のようですね。
もうすこし調べてみます。
ありがとうございました。

143:名無しさん@お腹いっぱい。
08/02/24 15:00:24 VNi/LdKj0
>>132
秀丸用強調定義の変換スクリプト作った者だが、
マジレスするとExtras/Editors/Syntax にシンタックスリストのデータがあるので、
それを加工して自分の好きなエディタで使えるように強調表示用ファイルを作ればよい。

今からエディタ選ぶならEmEditorFreeが面倒なくていいんじゃね?
Extras/Editors に EmEditor用定義入ってるし。Free版で使えるのかは知らないが。

144:名無しさん@お腹いっぱい。
08/02/24 17:12:00 2nfJaqtf0
>>143
お疲れ様です!
Syntaxの中に確かに色々ありますねぇ・・・。なるほど・・・っていってもどうやって強調表示用
のファイルを作るのか私には分かりませんけど、例えばこれを加工すればTerapadでも
強調表示出来たりするんですか?

EmEditorFreeをとりあえず試してみます。
AutoHotKey・・・もっと普及してれば色々なエディタがデフォルトで対応してくれたりするのかな?
例えばVBとかHTMLとかは大体のエディタで対応してくれてるじゃないですか?
DOSのBatとか・・・。

145:名無しさん@お腹いっぱい。
08/02/24 17:57:55 MLcE6mEcP
んなグダグダ言ってるくらいなら自分で作って配布すりゃあいいじゃん

146:名無しさん@お腹いっぱい。
08/02/24 17:59:16 2nfJaqtf0
良いの見つけました。Notepad++って言うエディタです。
これならフリーで、しかも
AutoHotkey\Extras\Editors\Notepad++\Run this to install syntax file for Notepad++.ahk
ファイルを実行すれば簡単にインストールまでしてくれて、すぐ使えてイイ!
エディタが無くて困っている人はとりあえずこれがいいんでは?
ただ入力補完まではしてくれないみたいなのが、ちょっと残念・・・。
IfとかLoopとかで改行したら自動的に1個インデントしてくれて、 } で自動的に1個インデントを
削除するとか、そういった機能は無いみたい。惜しいですねぇ・・・。

147:名無しさん@お腹いっぱい。
08/02/24 18:11:43 MLcE6mEcP
見つけましたってw

148:名無しさん@お腹いっぱい。
08/02/24 18:23:28 2vAXBKF20
>>146
プロボクサー相手に『このバンデージの巻き方、ステキでしょ?』ってはしゃいでる様で観ている方がつらい。

釣りじゃないなら(釣りでも)カンベンしてくれ

149:名無しさん@お腹いっぱい。
08/02/24 19:09:37 /p5mKAAI0
Notepad++いいね、ちょっと使ってみよう
>>146 d

150:名無しさん@お腹いっぱい。
08/02/24 19:24:38 plIb52B50
なんでjaneは非アクティブだと動かないんだ

151:名無しさん@お腹いっぱい。
08/02/24 20:14:37 2nfJaqtf0
>>147
そうね、ExtrasのEditorの中にあるもんね。そこから調べて言ったのは言うまでもありません。

>>148
それは「ココの住人は皆プロ(少なくても私よりは)なんだから、そのぐらいとっくに知ってるし、
代替のもっといいエディタを知っている」とかそういう意味ですか?
別に釣りじゃないですよ。 >>149とかいいねって言ってくれてるし、こういう情報を書き込む事で
有益だと感じる人もいるのでは?貴方にとっては有益でなくても。

152:名無しさん@お腹いっぱい。
08/02/24 20:36:00 uHTMnN4t0
meadow(Emacs)やxyzzyに、akh-modeをインスコするのがいいんでない?
キーワード強調だけじゃなくて、インデントや補完も効いてるよ
ちょっと挙動が怪しいときもあるけどね

つうか、本体に設定が同梱されてるんだから、
それを見つけたとかあんまり大げさに言わないでくれ
ってことでないの?
質問する前に説明書くらい読めよって

153:名無しさん@お腹いっぱい。
08/02/24 20:40:50 uHTMnN4t0
×akh-mode
〇ahk-mode
で、Emacsのは本体同梱のよりも、
ググったら出てくるwebのが新しかったんで、そっちがいいかも

154:名無しさん@お腹いっぱい。
08/02/24 20:57:20 Cwx7cYds0
>>146=149

155:名無しさん@お腹いっぱい。
08/02/24 21:37:27 VNi/LdKj0
まぁ見ればわかるようになっているものを、さも「自分が発見しました!」てな感じで書込んだら
回りは萎えるわな。Notepad++ってそれなりに有名なエディタだし。

エディタ側で用意するのはメジャーである程度枯れた言語でしょ
AHKは開発途上で関数やシンタックスも逐次追加されてってるから追っかけて対応するのは大変
自分もそう思ったから 強調ファイルの配布ではなく、変換スクリプトにしたんだけど。


>>153
>ahk-mode
おお、いつのまにそんなものが。xyzzyでがんばってる人もいるんだな。
何となくあっち界隈の人はahkみたいな言語体形はpgrしてるんだろうなって偏見があった

156:名無しさん@お腹いっぱい。
08/02/24 23:18:53 eDmFu+2K0
unix界隈で有名なprocmailもpgrしてあげて。

157:名無しさん@お腹いっぱい。
08/02/25 00:03:45 39WYzSwe0
AHKには#NoTrayIconという素晴らしいコマンドがあるのを発見しちゃいました!
なんと、これを使うとタスクトレイにあるアイコンが表示されなくなるのです(びっくり!)
まだ知らない人も多いと思うので、皆さんも試してみてはいかが?
私はこれで浮いた時間をコスメに使って彼のハートをげっちゅです!


158:名無しさん@お腹いっぱい。
08/02/25 00:43:00 w28rGXGJ0
あっそ

159:名無しさん@お腹いっぱい。
08/02/25 00:59:30 CkSp6l1c0
>>158
わーい、あっさり釣れちゃったw

160:名無しさん@お腹いっぱい。
08/02/25 01:24:59 CR8nTVZC0
面白いと思ったんだろうな…

161:名無しさん@お腹いっぱい。
08/02/25 01:37:56 cH268g130
すぐ弄れなくなって逆に不便

162:名無しさん@お腹いっぱい。
08/02/25 02:12:01 u9rJ9FnG0
わがままな私を許したまえ・・・・

Notepad++もダメですた。。。
立ち上げるたびにいちいちAutoHotKeyモードにマウスでセットしないといけないし、
なんか使いにくい・・ス・・・。
Terapadでキーワード強調や自動インデント利いてくれれば最高なんだけど
皆さんがAHKスクリプトを書くのに愛用しているエディタとか、紹介して下さったりは・・・しないですよねぇ・・・?

163:名無しさん@お腹いっぱい。
08/02/25 02:37:33 c6xAHJsD0
xyzzyでahk-mode使って書いてるよ
>>152でも書いたけど、強調だけじゃなくてインデントや補完もしてくれるよ
けど、インデントがおかしくなったりもするんで、
試してないけどmeadow(Emacs)もどうぞ
xyzzyに移植した人がベースにしたのよりバージョンが進んでるから、
もしかしたら解決してるかも

もし導入するなら、wikiがあるから読んでみて

164:名無しさん@お腹いっぱい。
08/02/25 03:28:17 m5sVBzv/0
notepad++使ったことないけど
普通ファイル拡張子に対応してモード切りかえてくれるみたいな
機能あるんじゃないの?
そのくらい自力で設定できないとvimもemacsも使えないと思うけど。

165:名無しさん@お腹いっぱい。
08/02/25 10:56:15 YFbRMEPB0
>>162
その嫌味ったらしい文章いい加減にせーよ
もし自覚無しに今までのような文を書いていたとするなら正直、性格に大きな問題があると思う
わざとやってるならもうシラネ

166:名無しさん@お腹いっぱい。
08/02/25 11:10:53 6u3azxFT0
>>162
自分で道を切り開く気概がないのなら、おとなしく金を出して秀丸かEmのシェア版をつかっとけ。
気概があるのなら>>131のスクリプトをTeraPad用に書き換えてうぷしたら結構な人数から感謝されると思うが。

167:名無しさん@お腹いっぱい。
08/02/25 11:27:24 Ed9FXoJZ0
ひどいのが湧いてるんだな

168:名無しさん@お腹いっぱい。
08/02/25 12:36:04 cV8w8sra0
だから揶揄したつもりだったのに

169:名無しさん@お腹いっぱい。
08/02/25 14:30:41 3LV0fXQU0
エディタの話題自体は悪くないと思うし、他の人の参考になるかもしれんから一応レスするが
いいかげんクレクレの姿勢はやめてんか('A`)

今見てみたけど、サクラや寺の.kwdファイルって1行1ワードの単純表記じゃん。
これだったら Extras/Editors/Syntax/*.txt をほとんど無加工でkwd転用できんじゃねーの?
(寺には任意文字列の強調指定機能自体は存在しない
が、プリセット済言語のキーワード編集は可能なので他の言語枠潰せばOK)

入力補完の形式も同じ、サクラや秀丸ならそのままシンタックスファイル突っ込めば補完してくれる。
サクラや寺なら補完タンも使える。
インデントは、C言語風のインデントとか適当に指定しておけばそれっぽい動作になる。(寺でのやり方は知らん)

以上、頼むから人に聞く前にちっとは調べてくれよ。

170:名無しさん@お腹いっぱい。
08/02/25 15:50:36 I5MAoWVB0
しかしほんとに AutoHotKey 使えてるんだろうか、この人。

171:名無しさん@お腹いっぱい。
08/02/25 16:13:03 Ed9FXoJZ0
>>170がいいこと言った

172:名無しさん@お腹いっぱい。
08/02/25 18:01:24 hdl/wsYC0
Janeをバックグラウンドで操作できないって人
AIRAってソフト使うといいよ.NET製だけど
Jane専用のAIRA Jってのもある

173:名無しさん@お腹いっぱい。
08/02/26 07:16:30 mku3zxtt0
質問です。
Menu,m,show
でメニュー出ている間、そのスクリプトは完全に停止してるんですよね。
それが嫌なら別スクリプトでメニュー出せってことですよね。

174:名無しさん@お腹いっぱい。
08/02/28 02:18:21 YvTJFwHG0
詳しい方、教えてください。
ジョイスティックの接続確認をしたく、以下のようなスクリプトを書いてみました。

1:: Msgbox, % GetKeyState("JoyName")

しかしこのスクリプトではジョイスティック抜去後もジョイスティック名が返ってしまいます。
接続前、あるいはスクリプト再起動後は(期待通りに)ブランクとなります。
しかし最終的には常駐スクリプト内のタイマーで接続確認をしたいので
できればスクリプトの再起動は行いたくないのですが,
他によい方法はないものでしょうか。

175:名無しさん@お腹いっぱい。
08/02/28 14:43:16 PhP4W87s0
「TPanel」というコントロール上のテキストを取得したいのですが、

ControlGetText,var,TPanel,A

とやっても、ErrorLevelは0で成功していますが、テキストは取得できませんでした。
何か他に方法はないでしょうか?


176:名無しさん@お腹いっぱい。
08/02/28 14:43:26 7hkAKIl30
根本解決じゃないけど、ステート取得部分だけを別スクリプトにするとか。

177:名無しさん@お腹いっぱい。
08/02/28 17:40:04 EaHOYdX80
>>174
#persistent
settimer, timer
maxNumDev:=DllCall("winmm\joyGetNumDevs") ;サポートするジョイスティックのデバイス数

timer:
AllJoyNames=
loop, %maxNumDev%{
JoyName=%a_index%JoyName
AllJoyNames:=AllJoyNames . a_index . GetKeyState(JoyName) . "`n"
DllCall("winmm\joyReleaseCapture", UINT, a_index-1) ;キャプチャをリリースするジョイスティックのIDを指定
}
tooltip, %AllJoyNames%
return

接続されるジョイスティックの数わかってたらmaxNumDevは決めうちした方が良いかも

178:名無しさん@お腹いっぱい。
08/02/28 18:40:48 EaHOYdX80
>>174
キャプチャリリースしたくない場合は
#persistent
VarSetCapacity(ji, 16, 0)
joyNum=1 ;何個目のジョイスティックをチェックするか指定
settimer, timer
return

timer:
mmresult := DllCall("winmm\joyGetPos", UInt, joyNum-1, str, ji) ;ここで指定するジョイスティックのIDは0から始まるので注意
KeyName=%joyNum%JoyName
JoyName:=GetKeyState(KeyName)
JoyName:=(!mmresult) ? JoyName:"" ;mmresultが0の場合No Errorなので、それで判断する。
tooltip, mmresult=%mmresult% JoyName=%JoyName%
return

見たいに自分で名前管理するしかないかも。

179:名無しさん@お腹いっぱい。
08/02/28 18:44:19 EaHOYdX80
補足:>>177-178は2kでしかテストしてないので他だとどうなるかわからん。

180:名無しさん@お腹いっぱい。
08/02/29 12:38:25 9/5fEks90
タスクトレイのAHKのアイコンからバルーンヘルプ出してくれる機能って無いですか?

181:名無しさん@お腹いっぱい。
08/02/29 14:19:22 mWVpkLJp0
xyzzyというエディタで、右クリック+下方向ドラッグのマウスジェスチャーをしたとき、
Ctrl+w を送信して当該タブを閉じたいのですが、どうすればいいでしょうか?

182:名無しさん@お腹いっぱい。
08/02/29 14:49:23 amtFt0EP0
RButtonでMouseGetPosとって
放されたときとの差分が閾値を越えたらSend

183:名無しさん@お腹いっぱい。
08/02/29 16:48:46 mWVpkLJp0
>>182
ありがとうございます。
頑張って作ってみたのですが、うまく動作しません><

~RButton::
WinGetTitle, Title, A
StringGetPos, pos, Title, xyzzy
if(pos = 0) {
MouseGetPos, x1, y1
Loop {
GetKeyState, stat, RButton
if(stat = "U") {
MouseGetPos, x2, y2
dy := y2 - y1
if dy > 20
send, ^w
Break
}
}
}
return

184:名無しさん@お腹いっぱい。
08/02/29 20:12:38 u6+juc6r0
馬鹿みたいな質問で悪いんだけど、
a:: send,F5
ってしたい場合、どうすればファンクションキーのF5にできるの?

185:名無しさん@お腹いっぱい。
08/02/29 20:16:08 CbNqfYyN0
>>184
a:: send,{F5}

186:名無しさん@お腹いっぱい。
08/03/01 00:26:25 EIt1A+310
JANE擬似バックグラウンド操作悪足掻き

#Persistent
#WinActivateForce
SetTimer,OnTimer,90000
return
OnTimer:
IfWinActive,Jane
{
BlockInput,On
ControlSend,,{F5}
BlockInput,Off
}
Else
{
BlockInput,On
WinGet,ID,,A
WinSet,AlwaysOnTop,ON,ahk_id %ID%
WinActivate,Jane
ControlSend,,{F5},Jane
WinActivate,ahk_id %ID%
WinSet,AlwaysOnTop,OFF,ahk_id %ID%
BlockInput,Off
}
return

自分なりに頑張ってみたけどいい方法あったら情報求む!

187:名無しさん@お腹いっぱい。
08/03/01 00:34:59 ZNinU2520
>>185
ありがとうございます

188:名無しさん@お腹いっぱい。
08/03/01 07:53:26 YXKCq/m60
janeバックグラウンドでもControlSendRawで動いたけどなあ
俺だけか

189:名無しさん@お腹いっぱい。
08/03/01 14:14:15 EIt1A+310
動きません

190:名無しさん@お腹いっぱい。
08/03/01 15:18:39 +yMSyrKJ0
JaneDoe Viewでしか確認してないが、PostMessageでちゃんと操作できる。
タスクトレイに入ってるいる場合は、DetectHiddenWindows, Onで。
ウィンドウタイトルは適当に変更。

PostMessage, 273, 58, 0, , JaneDoe ; タブを閉じる
PostMessage, 273, 82, 0, , JaneDoe ; スレ新着チェック
PostMessage, 273, 29, 0, , JaneDoe ; スレ一覧更新
PostMessage, 273, 81, 0, , JaneDoe ; 新着までスクロール
PostMessage, 273, 133, 0, , JaneDoe ; 更新チェック
PostMessage, 273, 205, 0, , JaneDoe ; 次のタブ
PostMessage, 273, 206, 0, , JaneDoe ; 前のタブ

191:名無しさん@お腹いっぱい。
08/03/01 15:23:16 +yMSyrKJ0
追記。
メニューは表示しておかないとダメだった。

192:名無しさん@お腹いっぱい。
08/03/01 17:44:24 EIt1A+310
>>190
おお。
これは凄いViewで非アクディブ時に動作した
メニューのコマンドIDの調べ方が見つからなかったから
教えてもらった操作以外できない無能な自分

193:名無しさん@お腹いっぱい。
08/03/01 19:33:31 EIt1A+310
jane styleではこの技使えないっぽいね
コマンドIDがない?

194:名無しさん@お腹いっぱい。
08/03/01 20:03:02 MsKw54Sp0
コマンドIDが違うんだろ。

195:名無しさん@お腹いっぱい。
08/03/01 20:07:41 EIt1A+310
窓コンなど使ったんだけど調べることができなかった
どういうふうに調べたらいいんだい?

196:名無しさん@お腹いっぱい。
08/03/01 20:30:28 4ZLR0WrH0
StyleはViewと違うコンポーネント使ってるから無理だってさ

197:名無しさん@お腹いっぱい。
08/03/01 20:31:51 vZzloCuJ0
でもいい加減Jane以外のブラウザ出てきても良いと思うんだがなぁ

198:名無しさん@お腹いっぱい。
08/03/01 20:47:06 EIt1A+310
>>196
thx。無理なのか残念

199:名無しさん@お腹いっぱい。
08/03/01 21:50:09 ymHLVwiU0
生JANEでもむりぽ

200:名無しさん@お腹いっぱい。
08/03/02 20:11:12 p3zuqVec0
ControlGetText,dat,TMemo1,Jane Doe Style
IfInString,dat,dat落ち
{
ControlSend,,^w,Jane Doe Style
}
ControlSend,,^r,Jane Doe Style

201:名無しさん@お腹いっぱい。
08/03/02 21:16:36 noZ5oKoh0
ある非アクティブなウィンドウを左クリックでアクティブにした瞬間の
カーソル位置を取得したいのですが、何か方法ありませんでしょうか?

#IfWinActive ahk_class xxxx
Lbutton::MouseGetPos,Xpos,Ypos
return

これだと一度アクティブにしてからクリックしないと取れないんですよね…

202:名無しさん@お腹いっぱい。
08/03/02 23:28:34 +5/E1A/w0
~Lbutton::
MouseGetPos,Xpos,Ypos
IfWinActive, ahk_class xxxx
{
msgbox,x=%xpos% y=%ypos%
}
return

203:名無しさん@お腹いっぱい。
08/03/03 17:33:36 RiQhmL4t0
>>202 おお ありがとうございますっ!

204:201、203
08/03/03 18:55:40 RiQhmL4t0
すみません、もうひとつついでに質問させてくださいー
非アクティブなウィンドウを左クリックしてアクティブにした時、
左ボタンを押した瞬間(ボタンを離す前)のウィンドウの相対位置を取れないものでしょうか?
もしくは「ドラッグし始めの座標」とか…

ボタンを押し込んだ場所から多少離れた場所にドラッグしてボタンを離しても、
ボタンを押し込んだ場所をクリックした事にする・・・という感じのスクリプトを組もうと思ってまして、
その際ウィンドウバー部分は除外する、という風にしたいのです。

205:名無しさん@お腹いっぱい。
08/03/03 19:34:27 ar9/AEtf0
いまいち文意が取れない

206:名無しさん@お腹いっぱい。
08/03/03 20:02:02 VWTaDQFw0
~Lbutton up:: でもう一度MouseGetPosして計算するなり、MouseClickでポジション戻してやるなり
すればいいんじゃね?

207:名無しさん@お腹いっぱい。
08/03/03 20:15:43 RiQhmL4t0
>>205
スンマセン

~Lbutton::
MouseGetPos,XposA,YposA
return
#IfWinActive ahk_class xxxx
{
  ~Lbutton up::
    MouseGetPos,XposB,YposB
    if ( Abs(XposA-XposB) <= 100 ) && ( Abs(YposA-YposB) <= 100 )
    {
      MouseClick,Left,XposA,YposA,,0
;      Msgbox 0,,IN A1=%XposA%,%YposA% B1=%XposB%,%YposB%
    }
    else
    {
;      Msgbox 0,,B-OUT A=%XposA%,%YposA% B=%XposB%,%YposB%
    }
  return
}

こんな感じでボタンを押しこんだ場所と離す場所の差分を取って
許容範囲内だったら押し込んだ場所をシングルクリックさせます。
しかしその際、非アクティブのウィンドウ(class xxxx)を左クリックでアクティブ化すると
XposA・YposAで取れる座標がスクリーン左上からの絶対座標になってしまって…
このXposA・YposAをウィンドウ(class xxxx)の相対座標値で取れませんでしょうか?

現在はCoordMode,Mouse,Screenで絶対座標値のみにして処理するようにしてるんですが、
これだとウィンドウ内の特定位置を除外、という風に出来ないのでどうにかならないものかと…

208:名無しさん@お腹いっぱい。
08/03/03 21:08:19 T5eoaUjL0
ちょっとごめんね
ウインドウのペイン分割のスプリッタてあるじゃない
あれをキーボードで自由に動かすってのはAHKでできるのかな?
スプリッタのコントロール指定してメッセージ?送ればいけるもんなのかな

209:名無しさん@お腹いっぱい。
08/03/04 12:57:52 8GxbdjTU0
すいません。
AutoHotkeyを流行らせるページ でまだまだ勉強中ですが、
MiddleClickのSingleClick、DoubleClick、TripleClickで動作を変えたいのですが、
方法がわかりません。
ヒントで良いので何か助言いただけないでしょうか?

ちなみに現状はSingleのみ変更できてる状況で
#IfWinActive ahk_class hoge
{
MButton::F1
}


210:名無しさん@お腹いっぱい。
08/03/04 13:36:43 aEuZxla60
つ 多重クリック関数サンプル
URLリンク(d.hatena.ne.jp)

211:209
08/03/04 14:59:06 8GxbdjTU0
>>210
うわ。そのままですね。
ありがとうございました。
思い通りの動作ができました。


212:名無しさん@お腹いっぱい。
08/03/05 09:24:33 b/T8K1QR0
以下のコマンドで空ディレクトリが削除できるはずなのですが、何故かできません。
FileRemoveDir, ディレクトリ名, 0
別プロセスがひっかかってる可能性を考慮して、ログオンおよび再起動直後にもやってみましたが、
やはりダメでした。いったい何が問題なのか、ご意見下さい。

213:名無しさん@お腹いっぱい。
08/03/05 09:39:20 T67eAJgT0
ControlSendでSendMode Playのように送ることはできないのでしょうか?

214:名無しさん@お腹いっぱい。
08/03/05 10:27:41 plxDEGkd0
>>212
何から実行してる?
ファイラーからならそのファイラーが作業ディルとしてつかんでたり
AHKに作業DIRとして送られてるかもよ

215:名無しさん@お腹いっぱい。
08/03/05 11:03:28 pPxF/FYA0
対象フォルダが日本語でダメ文字で引っかかってるとかってオチじゃないよな?
もしくは制限ユーザーログオンで削除権のないフォルダ消そうとしてるとか

216:212
08/03/05 11:39:38 NmUtjMzI0
"FileRemoveDir, ディレクトリ名, 1"とすると削除できることが分かりました。
どうもディレクトリ内のファイル/サブディレクトリの有無の判断ができていないようです。
なのでそれを明示的に判断できればいいと思うのですが、どうやればいいのか。。。

>>214
消去したいディレクトリは絶対パスで与えています。
また上述のように、無条件削除の場合は実行可能でした。
なのでパス指定や作業ディレクトリの件は問題ないと思うのですが。
>>215
アカウントは管理者権限です。
消去したいディレクトリは英数字のみでスペースは含まれていませんが、ピリオドが入っています。
しかし上述のように無条件削除の場合は実行可能ですので、
AHKはディレクトリとして判断していると思います。

217:212
08/03/05 11:52:07 NmUtjMzI0
>>216
FileRemoveDir, ディレクトリ名, 0
Msgbox, %ErrorLevel%
とすると、エラーレベルは1が返ってくるので、やはり内容物の判断ができていないようです。

218:名無しさん@お腹いっぱい。
08/03/05 13:08:14 UFI/YkYK0
うちではちゃんと動作するけどなぁ

219:名無しさん@お腹いっぱい。
08/03/05 13:35:00 NmUtjMzI0
212です。解決しました。
実はスクリプトの上流で、自分自身をSetWorkingDirしており、それがロックしていました。
複雑なスクリプトではないのですが、ディレクトリ内ファイルのLoopに慣れておらず見落としていました。
大変おさわがせしました。
ありがとうございました。

220:名無しさん@お腹いっぱい。
08/03/05 18:01:56 8AGRNr8B0
> スクリプトの上流で
もうね、あほk(ry

221:名無しさん@お腹いっぱい。
08/03/06 00:46:00 u1Cz17qHO
PostMessageの引数msg、wparam、lparamの値はどう調べて設定すればいいのでしょうか?

このスレのログを見ましたが、さっぱり分かりません。

222:名無しさん@お腹いっぱい。
08/03/06 01:03:44 QqXQZBLy0
URLリンク(technet.microsoft.com)
なんかMSのサイトに載ってた

223:名無しさん@お腹いっぱい。
08/03/06 01:27:38 Xmj7hVZD0
>>221
流行らせるページのリファレンス見れ、参考になりそうなサイトのリンクもある

224:名無しさん@お腹いっぱい。
08/03/06 01:35:25 xNYWdmgs0
IntelのGraphics Controllerの明るさとかのスライドバーを操作したいんだけど
矢印キーだと1づつしか動かせないしPgDnは移動しすぎだしで10刻みでやりたいんだけど
Loop:10とかやってみると妙にゆっくりしてるし
横の数値をControlGetTextしてポッチの位置を予想してMouseClickDragさせると
キー操作より早いけどなんかしっくりこない

225:名無しさん@お腹いっぱい。
08/03/06 08:54:13 BV4oMbN/0
ahkのexeを元のテキストファイルに戻すにはどうしたらいいですか?


226:名無しさん@お腹いっぱい。
08/03/06 12:04:27 lRZgq2Fj0
>>223
それでもわからないです。

アクティブでないソフトにキー連打を投げようと思っているのですが、
とりあえず、1つ投げようと思い、
PostMessage,0x0100,52,0, ,ok.txt - メモ帳 ;0x0100 = WM_KEYDOWN 52 = Rキー

こう書きましたが、動作しませんでした。

どうすればできるでしょうか?

227:名無しさん@お腹いっぱい。
08/03/06 16:35:44 xNYWdmgs0
>>225
公式にあるますよ
Other DownloadsのとこのScript Decompiler

228:名無しさん@お腹いっぱい。
08/03/06 17:22:40 BV4oMbN/0
>>227
ありがとうございます、そのものずばりがありましたね。

229:名無しさん@お腹いっぱい。
08/03/08 00:04:58 xH0DTZtbO
Send,{a DOWN}
Sleep,2000
Send,{a UP}
こう書いたのですが、aが押されません。
どうすればできるでしょうか?

230:名無しさん@お腹いっぱい。
08/03/08 00:56:43 DtPLQhIDP
Send,a

231:名無しさん@お腹いっぱい。
08/03/08 01:10:49 vkiW+A4s0
マウスカーソル直下のクラスにキーを送るには何を使えば良いんですか?

232:名無しさん@お腹いっぱい。
08/03/08 03:52:22 C49QZ/eM0
まずマウスカーソル直下のクラスを取得して、その取得したクラスに向けてキー入力を送信すれば良いんじゃないでしょうか。

233:名無しさん@お腹いっぱい。
08/03/08 07:37:52 xH0DTZtbO
>>230
あー、いや、押しっぱなしにしたいんです

234:名無しさん@お腹いっぱい。
08/03/08 07:42:01 DtPLQhIDP
何のために?
押しっぱなしにしてもキーリピートは発生しないから一回押下するのと変わらないはずだよね?

235:名無しさん@お腹いっぱい。
08/03/08 08:11:16 xH0DTZtbO
>>234
キーリピート発生するものだと・・・
じゃあ高速でa連打してるようにするしかないか。

ただ単にShift+a-zを楽にしたかったのですが、諦めます。

236:名無しさん@お腹いっぱい。
08/03/08 09:35:30 1dCsOj/k0
やりたいのはキャプスロックなの?

237:名無しさん@お腹いっぱい。
08/03/08 09:46:12 gdlcsZFD0
どなたか>>226をお願いします。

238:名無しさん@お腹いっぱい。
08/03/08 16:32:59 sRcY2mlL0
>>237
メモ帳にRなんか連打して何がしたいんだ
そもそもRなんてショートカットキーあるか
動かないのもしょうがないだろ
テキスト入力したいならコマンドが違う

239:名無しさん@お腹いっぱい。
08/03/08 17:15:19 fACAe+Ks0
>>238
なにがしたいんだって、それは練習作業の「たとえば」の部分だろ。
おまえはツッコミ処が違う。

ただ、>>237みたいに、初回に書き込んだ後、なにも経過を書かず、
アンカーだけで督促するようなゆとりには、アドバイスなんかしたくないが

240:名無しさん@お腹いっぱい。
08/03/08 17:44:40 gdlcsZFD0
>>239
ゆとりみたいな催促ですみません。
書く前まではあまり進展がなかったのですが、
入力するキーを変えたり、キーコードをVK_Rなどにしたり、メモ帳以外のソフトに投げてみたり、
WM_CHARAで投げてみたり、KEYUPを追加してみたり、SendMessageで投げてみたり。

少なくとも上のことはしました。
でも反応がないです。
他に試すものはありますか?

241:名無しさん@お腹いっぱい。
08/03/08 17:50:30 ipRVXXHT0
公式が落ちててDLできないや

242:名無しさん@お腹いっぱい。
08/03/08 18:02:45 2YOSdkCz0
>>240
何がしたいの?具体的にやりたいこと書いたほうがいいよ。

243:名無しさん@お腹いっぱい。
08/03/08 21:39:03 pv+wG3tD0
Oblivionってキーカスタマイズできないの?
不便すぎて死ぬ。

244:名無しさん@お腹いっぱい。
08/03/08 22:15:46 mQS6JGYG0
>>242
>アクティブでないソフトにキー連打を投げようと思っているのですが、
そっくりそのままの意味ですが同じボタンを約1〜5万回押さなければならず、
普通にSendで送ってもいいのですがやってる時間がもったいないので、バックグラウンドで放置して投げようかと思っていた次第です。

245:名無しさん@お腹いっぱい。
08/03/08 22:19:12 fACAe+Ks0
>>244
「具体的に」

246:名無しさん@お腹いっぱい。
08/03/08 22:35:47 TbcOcXMf0
>>116あたりからの流れ見りゃいいんじゃねぇの?

247:名無しさん@お腹いっぱい。
08/03/09 00:15:32 vy5jug8M0
非アクティブウィンドウに Postするサンプルならホイールリダイレクトあたり探せば出てくるんじゃね?

248:名無しさん@お腹いっぱい。
08/03/09 04:30:03 /EsSZJU/0
>>244
キーリピートならループ処理じゃね?
Loop, 50000
Send, a

249:名無しさん@お腹いっぱい。
08/03/09 05:36:33 k1HRQwMn0
何がしたいのなんて関係なくね?
要はできるかできないかだけ
教えてやればいい

250:名無しさん@お腹いっぱい。
08/03/09 10:35:35 xgksTwcV0
>>249
ソフトによってキーメッセージの受け取り方が違ったりすることはザラだし、
質問者が物凄い効率の悪い方法でやろうとしていて、
その効率の悪い方法について聞いてたりすることもあったりするから、
目的をはっきりさせた上で、自分が試したことを書くってのが答えやすい質問なんじゃない?

お望みのことはこれでできるけど応用は勝手にやっておくれよ
PostMessage, 0x100, 0x41, 0, Edit1, ahk_class Notepad

251:名無しさん@お腹いっぱい。
08/03/09 12:54:57 4SvVAdgeO
ゲームを操作しながら他の作業ができるようにスクリプト組めますか?
また、どの関数使えばいけますか?

ControlSendは動いてくれませんでした。

252:名無しさん@お腹いっぱい。
08/03/10 03:41:18 BEWopslV0
あるウィンドウで任意のキーが押されたとき、常に特定のエディットにフォーカスして
押されたとおりのキーを送りたいのですが、どうするのが上手い書き方でしょうか?
今のところ、↓のように全部のキーを書く方法しかわかりませんでした。

#IfWinActive HogeHoge
HogeSendKey(x)
{
ControlFocus, Edit1
Send, %x%
}
*a:: HogeSendKey("{Blind}a")
*b:: HogeSendKey("{Blind}b")
*c:: HogeSendKey("{Blind}c")
*d:: ......

253:名無しさん@お腹いっぱい。
08/03/10 13:52:10 BSxkGXvM0
1.0.47.06

254:名無しさん@お腹いっぱい。
08/03/10 16:54:27 vUAUq/Eu0
Caps LockをCtrlに対応させたく思い、
vkF0sc03A::vkA2sc01D

CapsLock::Ctrl

CapsLock::^
としてみましたが出来ません。どうすればいいのでしょう。
教えてください。よろしくお願いします。

255:名無しさん@お腹いっぱい。
08/03/10 17:24:27 9BCH5cLc0
>>3

256:名無しさん@お腹いっぱい。
08/03/10 19:05:40 Qf9LF4830
mayu とか KeySwap とか併用が前提だな

257:名無しさん@お腹いっぱい。
08/03/10 20:06:01 7U86VYG60
同じキーでSHIFT状態によって別な文字が入る(例:1と!)のを逆転させる方法はないものかって
ずっと心の片隅に引っかかってたけどやっとこさ見つけられて(NT系限定だけど)とってもハッピー
SendしてからRemapすればよかったのか

!::Send, 1
1::!


258:名無しさん@お腹いっぱい。
08/03/10 22:34:56 ffMlG0e60
>>254
自分はChgKeyというソフトで無変換に変更してから、
AHK上で無変換キー(SC79)としてつかってる。
(ちなみに英語キーボードなので無変換は空キー)

259:名無しさん@お腹いっぱい。
08/03/11 18:46:36 8hd1Vj+m0
ALT+左ドラッグで表示画面移動
→ホイールドラッグで実現したく、

MButton::Send, {Alt} down {LButton} down
MButton up::Send, !{LButton} up

など試しましたが、押した瞬間しかALTが押されていないようです。
どこを変えたらよいか教えてください。

260:名無しさん@お腹いっぱい。
08/03/12 09:38:42 7Sj/8niq0
ちょっと質問します。
"アクティブウィンドウ以外を最小化"を行いたく、以下のようなスクリプトを書いたのですが、、、

WinGetActiveTitle, title
WinMinimizeAll
WinActivate, %title%

なぜか自分の環境ではWinMinimizeAllが効かずこの方法は断念しました。
それとは別に、一瞬にしてもアクティブウィンドウは最小化させたくはないので(上記のスクリプトはきっとチカチカする)
できればループ処理でアクティブウィンドウ以外を最小化させたいのですが、
全ウィンドウのコレクションを取得する方法が思いつかず、かつ見つけることもできませんでした。
AHK達人の皆さま、お知恵を拝借できないでしょうか。

261:名無しさん@お腹いっぱい。
08/03/12 09:55:52 BBn5kDvF0
Winget list

262:名無しさん@お腹いっぱい。
08/03/14 01:55:46 X0LgGNT60
キー操作じゃなく
ControlClick, X座標 Y座標, Jane Doe Style, , LEFT, , NA
ってな感じにツールバーボタンをクリックしてやる操作だと
Janeをバックグラウンドで動かせるな
ツールバーにないのはスキンで追加したりして

263:名無しさん@お腹いっぱい。
08/03/14 04:22:47 w2GTXRhg0
マウ筋から乗り換え中ですが、躓きました。どうかアドバイスお願いします。

マウス右ボタン+ホイール上下で、キーボードの「カーソル上or下」を送信し、
右ボタンを放したときに、右クリックメニューを{ESC}で消す動作を想定しています。

RButton & WheelDown::Send,{Down}

RButton & WheelUp::Send,{Up}

ひとまずこれで操作はできたのですが、ホイール操作後に右クリックを離すと、
(当然ですが)右クリックメニューが出てしまいます。

マウ筋でいうところの「アクション終了後に実行」に相当する機能で
ESCを送信すれば解決しそうなのですが、それに相当する機能がどうしても
わかりません。

このあと、右クリックを離したときに {Esc} を送信するには、
どう書けばいいでしょうか。


それと、マウ筋の「トグル動作」に相当する機能は、
AutoHotkeyでも可能でしょうか。


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

4376日前に更新/228 KB
担当:undef