XREA.COM Logo XREA.COM Ad

スクリプト質問スレッド

1管理人 ★:04/09/21 20:01 ID:???
質問が多いので独立させます

状況や実現したいことは出来るだけ具体的に書いてください。

スクリプトがうまく動かないなどの問題の場合、問題のあるスクリプトの内容や
エラーメッセージの内容を併記してください。
219unnamed.ahk:2008/02/21(木) 00:46:32
#SingleInstance
220unnamed.ahk:2008/02/21(木) 01:32:49
>>219さん
ありがとうございます。
試してみました。
これですと、同じスクリプトを起動した時に、新しいスクリプトの方が起動するかしないかを選択する奴のようです。

希望は、スクリプトを新たに起動した場合、起動している同スクリプトを終了させたいのです。
221unnamed.ahk:2008/03/09(日) 01:21:39
MouseGesture2を愛用しています。
気になった点をいくつか。

MG_Edit.ahkでの条件定義で「どれかに一致」しか選べないように思います。
ini書き換えで対処してもMG_Editで編集してしまうと「And=1」の行が削除されてしまうようです。

8方向モードの場合MG_Edit.ahkでの設定時にDir6:からDir9:までがずれて(6-9が5-8へ)設定されるようです。

アクティブウインドウを切り替えたときジェスチャーがアクティブなウィンドウではなく
アクティブだったウィンドウに送られることがあるようです。
MG_GetMousePosInfo()をMG_TriggerDown()、MG_TriggerUp()、MG_GetMousePosInfo()内に
適当に追加して対処しています。

ご確認いただければ幸いです。
222unnamed.ahk:2008/03/09(日) 01:24:46
訂正
× MG_GetMousePosInfo()内に
○ MG_ButtonPress()内に

失礼いたしました。
223unnamed.ahk:2008/03/13(木) 03:36:19
MouseGesture.ahkではアクティブウィンドウに関係なくジェスチャ開始時点でのカーソル下ウィンドウをターゲットとみなす仕様
224unnamed.ahk:2008/03/13(木) 22:17:11
確認をお願いした部分が完璧に修正されてました。感激です。
それ以上にさまざまな進化をしていて驚きです。
ありがとうございました。
225unnamed.ahk:2008/04/04(金) 12:45:08
shift押下でA
Shift離して、A,Aと打つようなスクリプトはどう書けばいいのでしょうか?
226unnamed.ahk:2008/04/14(月) 18:57:15
特定アプリの特定ボタンを押下できないようにしたい。
ボタンの特定までは出来たんだけど、無効化できないです。


~LButton::
~Space::
~Return::

winclass = #32770
ctrlclass = Button52

IfWinActive, ahk_class %winclass%
{
ControlGetFocus, OutputVar
if OutputVar = %ctrlclass%
{
msgbox, %OutputVar%
return
}
}
227unnamed.ahk:2008/04/15(火) 15:52:42
ボタンを無効化するコマンドあるべ?
228unnamed.ahk:2008/04/16(水) 00:58:51
Controlですね。ありがとうございます!

#Persistent
wintitle = hogewin
ctrlclass = ButtonTako
Control, Disable , , %ctrlclass%, %wintitle%
229unnamed.ahk:2008/05/07(水) 00:34:48
AutoHotkey始めて1週間ですが、
例えば、スクリプトに

a::b

とだけ書いて、Alt+aの操作をするとき(Alt押す→a押す→a放す→Alt放す)、
Altを放そうとするとなぜか直前か直後にCtrlダウンアップが割り込む。v1.0.47.06で確認。
(v1.0.39.00だとエラーでスクリプトを実行できない)

これはバグなのでしょうか?

WinXPHomeSP3RC1、AHKは1.0.47.06と1.0.39.00のzip版です。
230unnamed.ahk:2008/06/05(木) 19:13:10
トラックポイントのセンターボタンとHキーを同時押し→カーソル左
トラックポイントのセンターボタンとJキーを同時押し→カーソル下
トラックポイントのセンターボタンとKキーを同時押し→カーソル上
トラックポイントのセンターボタンとLキーを同時押し→カーソル右

ということをやりたくて、下記のようなスクリプトを書いてみたのですが

MButton & h::left
MButton & j::down
MButton & k::up
MButton & l::right

下記のようなエラーが出てしまいます。
Error at line 1.

Line Text: left
Error: This line does not contain a recognized action.

The program will exit.
AHKで実現する方法はないものでしょうか。
231unnamed.ahk:2008/06/05(木) 21:47:39
AutoHotkeyを流行らせるページ → リマップ のところに
略・・・また、「a & b」のようなコンビネーションキーも使用できない。 と書いてる
キーの置き換えのリマップではなく、同時押しの時に キーストロークを発生させる ならできるでしょう
232unnamed.ahk:2008/06/06(金) 21:21:50
>>231
これで上手くいきました。「キーストロークを発生させる」てこういうことなんですね。

MButton & h::Send, {left}
MButton & j::Send, {down}
MButton & k::Send, {up}
MButton & l::Send, {right}
このスクリプトを起動すると、センターボタンによる本来のスクロールが使えなくなってしまうのでこれの解消が次の課題になります。
やっぱりAHKって難しいですね・・・
233unnamed.ahk:2008/06/06(金) 21:33:18
頭に"~"をつければいいんですね。
~MButton & h::Send, {left}
~MButton & j::Send, {down}
~MButton & k::Send, {up}
~MButton & l::Send, {right}
さっきから自問自答してすいません。簡単な事なのになかなか分からないもどかしさと出来たうれしさというか…。
234unnamed.ahk:2008/06/17(火) 21:11:51
マウスジェスチャについての質問です。

ボタンを押している時間によって動作を変えるという事は可能でしょうか?
具体的には、

X1ボタン押下げ中
@0.5秒以内に左ジェスチャ
⇒ "Alt←" を送る
A0.5秒以内にジェスチャなし
⇒ "Ctrl" を送る(押しっぱなし)

即ち、指定の時間以内ならばジェスチャを発動し
その後は任意のキーを代替させたいのです。

お分かりの方がおられませんでしょうか?
235unnamed.ahk:2008/06/17(火) 22:44:47
>>234
ジェスチャとかやったことないですが思いついた方法2つ
スリープで0.5秒待機して前後のマウス位置を比較する方法か、セットタイマで短間隔でマウス位置比較する方法か
どっちも同じようなものだけど行数長いので質問に近い?セットタイマのほうだけ

X1ボタンダウン::
開始時のマウス位置取得、カウンタ0
セットタイマ0.1秒間隔(間隔と回数は適当に変える
りたーん

タイマのサブルーチン:
マウス位置取得
開始時とのマウス位置の比較(閾値や方向も考慮して、2回連続で左だったら・・等でもいいし
左に移動してれば、タイマストップ、"Alt←" を送る、フラグ0セット、りたーん
なんもなければ、カウンタ5回未満なら、カウンタ+1、りたーん
カウンタ5回以上なら、タイマストップ、"Ctrl"ダウン を送る、フラグ1セット、りたーん

X1ボタンアップ::
フラグ0なら、なにもしない、りたーん
フラグ1なら、 "Ctrl"アップ を送る、りたーん
236unnamed.ahk:2008/06/17(火) 23:51:36
MG_Timer()
237unnamed.ahk:2008/06/18(水) 22:12:21
>235

レスありがとうございます。
処理の方向性は理解できました。
ロジックを書けばなんでもできそうですね。
AHK初心者ですので指向錯誤しつつ実装してみます。
238unnamed.ahk:2008/08/19(火) 16:37:06
すみません。目下勉強中です。
ctrl+C(Copy)という機能を右shiftを押したら同じ操作にしたいのですが
RShift::^A
とだけ記述したahkファイルを作ってみましたがうまく行きません。
ひとつだけヒントとして教えていただければほかの機能も応用できるので教えていただけますか。
239unnamed.ahk:2008/08/19(火) 18:16:58
~Aじゃなくて^Cじゃないの?
240unnamed.ahk:2008/08/19(火) 20:12:20
まちがえました。COPYでなく全選択でした。(ctr+A)
241unnamed.ahk:2008/08/22(金) 03:58:59
RShift::^aでどうか
242unnamed.ahk:2008/08/24(日) 21:28:05
ありがとうございました。
小文字にするんですね。わかりました。
ほかの類似機能もいくつかつくってVistaで使ってみました。うまくゆきました。
感謝します。
これからみなさんの中でいろいろ学んでゆきたいと思います。よろしくお願いします。
243unnamed.ahk:2008/08/26(火) 21:38:05
キーリマップについて質問させて下さい。
カタカナ/ひらがなキーを右Windowsキーに置き替えたく、以下の様に設定していますが、うまくいきませ
ん。
●vkF2sc070::RWin
※"カタカナキー:vkF2sc070"はキーリストを参考
ちなみにAppsKeyを右Windowsキーに置きかえるのはうまくいきます。
●AppsKey::RWin
どなたか原因がおわかりになりませんでしょうか?
244unnamed.ahk:2008/08/27(水) 01:56:50
スタートメニューを表示させるのが目的じゃないなら動いているけど
245unnamed.ahk:2008/08/28(木) 00:01:37
>244
レスありがとうございます。
当方の環境では、Windowsキーが押しっぱなし
になり不安点な状態になります。
希望は通常のリマップなのですが、
根本的な問題があるのでしょうか?
246unnamed.ahk:2008/08/28(木) 07:21:07
ほんとだ押しっぱなしになる

~vkF2sc070::RWIN
vkF2sc070::Send,{RWIN}
vkF2sc070::Send,{RWINDOWN}{RWINUP}

とかいろいろ試したけどだめだった、原因はわからない
247unnamed.ahk:2008/08/31(日) 21:08:40
sc07B & m::send,{Blind}{Down}
sc07B & i::send,{Blind}{Up}
sc07B & j::send,{Blind}{Left}
sc07B & k::send,{Blind}{Right}
sc07B::Send,{sc07B}
といいますように、無変換キー+○○で、
ダイヤモンドキーを実装させています。

ここで、
無変換キー単打→無変換
無変換キー長押し→動作なし
というようにキーを割り当てられないでしょうか?
カーソルを動かそうと思ったけれどやっぱり止めた、
などと言うときに無変換キーが押されては不便ですので。
同時に、無変換キーはよく使いますので単純に無効にはしたくありません。

お力を貸していただけますと本当に助かります。
よろしくお願いします。
248unnamed.ahk:2008/11/16(日) 01:19:40
MauseGesture.ahkから流れてきました。

バックグラウンドのiTunesを操作したくてahkのスクリプトを書いてみようと思ったがうまくいかない。

!b::
DetectHiddenWindows,On
ControlSend,,right,ahk_class iTunes
return

管理人さんの使用例を参考に書いてみたけどダメみたい。
一応iTunesの「次の曲」をAlt→で動作させようとしてるんだけど、どこを治せばよいのでしょう。
249unnamed.ahk:2008/11/16(日) 14:41:12
まずはフォアグラウンドで Sendで操作できるか試してみ
ちなみに Alt→ は !{Right} な
250unnamed.ahk:2008/11/17(月) 23:33:12
#b::
Send,,+{Right},ahk_class iTunes
return

フォアグランドで試すってこういうことですよね。
で色々調べながらControlを抜いて上記にしてみたらアクティブになってるとき動作。
しかし、win+bで起こる動作も同時に発動。
これの殺し方は後で考えればいいということにして

#b::
DetectHiddenWindows,On
Send,,+{Right},ahk_class iTunes
return

あ、ちなみにAlt→じゃなくてShift→でした。
バックグラウンドのiTunesの曲を飛ばしたいだけなんです。

こうすると非アクティブの時でも動作同じように動作すると思ったけど全く動作せず…

便利そうだと思って飛びついたが難しい…。
何かヒントでもいただければ幸いです。
251unnamed.ahk:2008/11/17(月) 23:36:31
return

あ、ちなみにAlt→じゃなくてShift→でした。
バックグラウンドのiTunesの曲を飛ばしたいだけなんです。

こうすると非アクティブの時でも動作同じように動作すると思ったけど全く動作せず…

便利そうだと思って飛びついたが難しい…。
何かヒントでもいただければ幸いです。
80KB
名前: E-mail:
ファイル:
0ch BBS 2005-10-08