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


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

AutoHotkey スレッド part4



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

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

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

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


413 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/09(日) 18:38:52 ID:nU6AA3X+0]
>>410
管理人氏も書いてるけど、専用ビューアのインストールが面倒くさいので
AHKの触り程度の解説なら、わざわざ入れて読む程かなとか考えてて二の足踏んでた。

いまサンプルソースだけ落としてみたけど、IEの制御とか入門に留まらず結構踏み込んでる感じですな

しかし、intro.ahkのキー割り当て例は苛めですかww
右Shift(ノートだとEnter直下が多い)に [Ctrl]+[A]→[Delete] とか
[Win]+[Z]にアクティブウィンドウを閉じる([Ctrl]+[Z]と間違えたらアウチ)とか

414 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/09(日) 19:44:14 ID:k7F9BsHB0]
>>413

HHK使ってるんで

415 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/10(月) 06:15:09 ID:UFI/YkYK0]
モザイクデスクトップ直してたのかぁ
でも、これだと、ちょっと重ねてモザイク掛けたいときに押下時に既にモザイクが存在していると
そのモザイクが消えてしまうという欠点があるですよー
うまく順番考えるなりモザイクの外からドラッグするなりすれば済む話だけど
やっぱリリース時に判定した方が良いんじゃないでしょうか?細かい話ですがw

416 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/10(月) 07:13:33 ID:qQU+FFvlP]
誤爆宣言まだあ?

417 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/10(月) 13:43:51 ID:UFI/YkYK0]
デスクトップモザイクの間違いだったわ

418 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/10(月) 16:18:39 ID:4oA1cNNn0]
自分で改造しろ

419 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 17:07:30 ID:OQt9Rk9z0]
あるアプリケーションを起動したくて、
もしそのアプリがすでに起動中だったら、それを最前面に表示し、
二重起動はしないようにする、ってスクリプトってどんな感じで書けばいいかな?

420 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 17:19:29 ID:pZ7AKsR/0]
さすがにそれくらいマニュアル読んで自分でやる気がないなら
AHK使う意味無いと思うよ

421 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 18:13:16 ID:uTH3xZH30]
CUTEEXEC使ってもええしな



422 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/11(火) 20:21:23 ID:qtsjWZma0]
ちょっと調べれば、どんぴしゃの物が見つかるってのに・・・


423 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 10:21:37 ID:CDQqT6MY0]
教えてくれろ

424 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 21:37:31 ID:brvJ+qdp0]
#IfWinActiveとかで2種類以上のウィンドウを指定するにはどうしたらいいの?

#IfWinActive, hoge
#IfWinActive, hoga

とかやると下だけが有効になるし

425 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 21:39:17 ID:DGdbkIOS0]
グループでなんとかする

426 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 22:05:56 ID:Nau46M8t0]
# を使わないのが正解

427 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 22:14:02 ID:2u7FN4Cx0]
自分もそういう場合グルーウ使ってる。

428 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/12(水) 23:02:14 ID:brvJ+qdp0]
グループなんて便利なものが
リファレンス見落としてた
ありがとう

429 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/16(日) 01:00:03 ID:nU+AqBNG0]
>>424
おれこれと同じ感じで書いていて普通にそれぞれ判別されて使えてるんだけど
それって変なことなの?

430 名前:429 mailto:sage [2007/09/16(日) 02:07:56 ID:nU+AqBNG0]
後で気付いたけど>>424って複数のwindowに同じキー割り当てなどをするって意味か。
>>429
は早とちりした勘違いです。変なこと書いてしまって失礼しました。

431 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/17(月) 18:00:48 ID:BfO/EJdt0]
秀丸に Send をしようとすると、先頭が数文字(やるたびに違う)抜けてしまうのですが;
どうやって回避できるでしょうか?



432 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/17(月) 18:33:38 ID:Et4BPFhd0]
別に抜けないけど?
環境書くとかソース晒すとかしてみたら?

433 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 00:47:04 ID:mJTSMkGg0]
最近AutoHotKey使いはじめた者です。
見よう見まねで書いてみて、一応やりたいことは動作しているのですが、
このようにErrorLevelに書き込まれる値が頻繁に書き換えられるというような
書き方はマズイでしょうか?
それとLoopは一区切りごとにいったん{}を閉じたほうが良いのでしょうか?

Process,Exist,inkscape.exe
If ErrorLevel<>0
  WinActivate,ahk_pid %ErrorLevel%
else{
  EnvSet,PATH,%PATH%
  Run,inkscape.exe --ignore-wintab, C:\Inkscape
  ;WinWait,ahk_class gdkWindowToplevel
}
ErrorLevel=
Loop{
  Sleep, 100
  Process,Exist,UWSC.exe
  If ErrorLevel<>0
  {
    Suspend, On
    Process,WaitClose,UWSC.exe
    Sleep, 40
    Suspend, Off
  }
  GetKeyState, kb1, RCtrl, P
  if (kb1=="D")

434 名前:433続きです mailto:sage [2007/09/18(火) 00:47:54 ID:mJTSMkGg0]
  {
    SetTitleMatchMode,2
    IfWinActive, Layers (Shift+Ctrl+L)
      WinActivate, Inkscape
    GetKeyState, kb1, RCtrl, P
    GetKeyState, kb2, a, P
    if ((kb1=="D") && (kb2=="D"))
    {
      SendMode Input
      Send, {F1}>^a
      Sleep, 40
      ;break
    }
  }
  Process,Exist,inkscape.exe
  If ErrorLevel=0
    ExitApp
}
Return

#IfWinActive ahk_class gdkWindowToplevel
  Space::MButton
  ;中略
  Pause::Suspend, Toggle
Return
#IfWinActive
  <#q::Reload
;Return

435 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 12:33:59 ID:yOKNqXRR0]
ErrorLevelに何が格納されているのかきちんと把握して使ってる分には別にまずかないと思うけど。

Process系コマンドよりも Win系コマンドを使うほうが一般的かなぁとは思うが。

436 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/18(火) 23:58:31 ID:bdVXp4280]
パスワードがわかんなくなったのであちこち参考にして作ってみた。
便利。ってかパスワードはメモしとけ、俺。

; Unveil Password
適当に::
ControlGetFocus,Vctrl,A
ControlGet Vhnd,Hwnd,,%Vctrl%,A
PostMessage,0x00CC,0,0,%Vctrl%,A ; EM_SETPASSWORDCHAR
DllCall("InvalidateRect",UInt,Vhnd,UInt,0,UInt,1)
return

437 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/19(水) 01:47:36 ID:D+nRHSRr0]
>>436
滅多に使わないだろうけど面白い。ナイスAHK。

438 名前:名無しさん@お腹いっぱい。 [2007/09/24(月) 15:58:01 ID:MCdKVtUx0]
プロセスIDでウィンドウを指定したいのですが、うまくいきません。
Run, explorer,,,pid
WinWait,ahk_pid %pid%
WinMove,ahk_pid %pid%,,0,0
エクスプローラを起動して画面の左上に移動したいのですが・・・

439 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/24(月) 20:23:39 ID:msqaVreC0]
エクスプローラの常駐プロセスは一つしかないんじゃ

440 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/24(月) 21:22:31 ID:WKVLbE0O0]
pidじゃなくて Ahk_classで指定したら?
CabinetWClass もしくは ExploreWClass で拾えると思うけど。

441 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/25(火) 00:55:28 ID:gLWjL8J/0]
#エクスプローラのプロセスが1つということは確認し納得しました。
エクスプローラを4つ起動して、昔のファイルマネージャみたいに使いたいと思ってます。
この場合、各エクスプローラを区別して制御するには、どうしたらよいですか?
Ahk_classを使用した場合、4つとも同じExploreWClassですよね。
WinGetでハンドルを取得しようとした場合も、WinTitleに何かしら4つのエクスプローラを
区別した情報を指定しないといけないので…。こんなとき、どんな方法がありますか?



442 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/25(火) 01:12:39 ID:tCzdCECg0]
どういう風にエクスプローラーを起動させるかにもよるけど
もし引数渡しで異なるパスを開いているのであればAHK_IDかな〜
新規窓起動直後に取得してあとは使い回すとか

443 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/25(火) 14:17:32 ID:SeDoL2rQ0]
エクスプローラの場合、タイトル=パスだからパス指定して起動すればいけそうな気はするんだが
AHKのWinTitleって大文字小文字区別するから意外とめんどい。
SetTitleMatchMode,RegEx でうまい事やればいけるのかもしれんが。

パス指定しないとこんな感じか

Run, explorer %FolderPath%
WinWaitActive,ack_class ExploreWClass,,0.5
WinGet,whd,ID,A
WinMove,ahk_id %whd%,,0,0

444 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/25(火) 14:19:31 ID:SeDoL2rQ0]
×Run, explorer %FolderPath%
○Run, explorer

445 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/25(火) 21:52:04 ID:WyBwS75G0]
期待していた動作になりました。ありがとうございます。

ただ、WinWaitActiveの動作(3つめの引数)に疑問があります。
WinWaitActive,ack_class ExploreWClass,,0.5
⇒WinWaitActive,ack_class ExploreWClass,,5
3つめの引数を0.5から5に変更した場合、5秒経過後につぎの処理に進むようです。
これはなぜでしょう?

>条件に一致するウィンドウがアクティブになると、そのウィンドウが
>LastFoundWindowとして記憶され、スクリプトはすぐに次の処理に移る。
っとリファレンスでは、条件に一致したら、すぐに次の処理に移ると記述があります。

3つめの引数を0.5から5に変更した場合、
5秒後につぎに進むということは、5秒間のあいだは条件に一致していないということですよね。
しかし、5秒たてば、目的のウィンドウ(ack_class)がLastFoundWindowとして記憶されている。っという動作に疑問があります。

WinWaitActiveは、最大待ち時間が経過したタイミングで何かアクション(動作)するのでしょうか?

446 名前:443 mailto:sage [2007/09/26(水) 00:47:51 ID:NWQizOKM0]
ahk_classのつづりが間違ってて、タイムアウトするまで待ってるんだわ orz

×WinWaitActive,ack_class ExploreWClass,,5
○WinWaitActive,ahk_class ExploreWClass,,5

その次の行では、A指定してるのでLastFoundWindowは関係ない

もうひとつ言うと、エクスプローラからホットキーなどで別のエクスプローラ起動するような使い方だと誤動作すると思う
"エクスプローラがアクティブになるまで"って条件なので旧ウィンドウと新規ウィンドウの区別できないから

447 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/26(水) 22:48:31 ID:lPW8d/wN0]
気づきませんでした。ack_class⇒ahk_class ですね。
ありがとうございます。

新旧のウィンドウの区別は保留し、とりあえず
4つエクスプローラをタイル状に起動できるようになりました。
で、画面右上のウィンドウで、他のウィンドウも制御できるように
右上のウィンドウにだけ最小化/閉じるボタンを表示し、無限Loop
で右上のウィンドウの状態を監視するようにしました。

この仕様の場合、タスクバー上には、右上のウィンドウのアイコンだけ
あればよいため、他のタスクバー上のアイコンを非表示とするように
ウィンドウのスタイルを変更したのですが、また自己解決できずにいます。

Q.
タスクバー上のアイコンを非表示にする場合、WS_EX_APPWINDOW、
WS_EX_TOOLWINDOWの設定だけでは動作しないのでしょうか?

wstyle:=DllCall("GetWindowLong",UInt,whd1,Int,-20)
;WS_EX_APPWINDOWを引く
EnvSub,wstyle ,262144
;WS_EX_TOOLWINDOWを足す
EnvAdd,wstyle ,128
DllCall("SetWindowLong",UInt,whd1,Int,-20,Int,wstyle)
DllCall("SetWindowLong",UInt,whd3,Int,-20,Int,wstyle)
DllCall("SetWindowLong",UInt,whd4,Int,-20,Int,wstyle)

AutoHotKeyの場合、ウィンドウスタイルの指定は、どのようにしますか?
#ウィンドウスタイルの指定で足し算・引き算するのは一般的でしょうか…


448 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/27(木) 00:47:57 ID:bIXMXRvX0]
一部自己解決できました。以下のように、一度ウィンドウを非表示にすると
次回表示したときにタスクバーから消えました。

wstyle:=DllCall("GetWindowLong",UInt,whd1,Int,-20)
;WS_EX_TOOLWINDOWを足す
EnvAdd,wstyle ,128

;ウィンドを非表示にする
WinHide ahk_id %whd1%
DllCall("SetWindowLong",UInt,whd1,Int,-20,Int,wstyle)
;ウィンドを表示にする
WinShow ahk_id %whd1%
  ・
  ・
  ・

不要なタスクバーのアイコン(ボタン?)が、デスクトップの下に
出現するようになりましたが。


449 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 11:30:44 ID:Rom7S8F+0]
>>330
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/65


450 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 12:18:57 ID:cfD+w6HT0]
>>449
え、まださわりしか見てないけど神降臨したのかこれ?
ちょっと後で詳しく見てみなければ。

これ各対応キーに記述する必要があるなら
最終的に恐ろしく長いスクリプトになりそうな気がするがw

451 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 12:31:33 ID:sXIFfg8E0]
控えめなぬるたんGJ



452 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/28(金) 18:05:43 ID:zwQCLiM90]
Alpsドライバの方でも対応できないかな。

453 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/29(土) 01:01:30 ID:P0vTxDUh0]
実機があればね

454 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/30(日) 01:00:19 ID:TpEVAV7R0]
>>449
7年8ヶ月ROMってろ

455 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/30(日) 17:16:12 ID:d/1QwGCn0]
とりあえず、>>449のスクリプトで、

例として、「タッチパッドに触れながら「j」を押すことで左クリックになる」、
のスクリプトはどう書けるんだろ?

他にも、タッチパッドに触れながら、更に@キーを押しながら「j」を押したときには
「←」キーを送る、のスクリプトとかも可能なのかな?

456 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/02(火) 11:37:59 ID:pdsk4I0A0]
教えて君しねよ

457 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/02(火) 17:25:11 ID:cbwY6Rdf0]
とあるゲームでPauseキーを頻繁に使うのでマウスに割り当てようと思ったんですが

#IfWinActive ahk_class HoI 2
XButton1::Pause
#IfWinActive

みたいに記述すると、マウスキーを押す毎にAuteHotKeyそのものがサスペンドされるようです
これって原因何でしょうか、何か記述方法を勘違いしてるんでしょうか・・・

458 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/02(火) 17:25:52 ID:cbwY6Rdf0]
あ、サスペンドじゃなくてポーズでした

459 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/02(火) 18:09:50 ID:cbwY6Rdf0]
自己解決しました、初歩的な質問だったようで申し訳ない
Pauseコマンドと混同されてた訳ですね

#IfWinActive ahk_class HoI 2
XButton1::Send,{PAUSE}
#IfWinActive

で無事Pause入力できました、スレ汚し失礼

460 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 00:41:30 ID:neTiPbdP0]
多機能で自由度があるのは認めるが、しかし、
ただの出来の悪いスクリプト言語ってことにもなりかねんな

クソみたいに使いづらいスクリプト言語に、キーをフックするライブラリをつけたようなもんだ
作者も頭悪いな なんでこんなもん作ったんだろ

461 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 00:47:22 ID:4ehTS5G70]
マジレスるのもためらわれるアホさ加減だな。



462 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 00:51:13 ID:lIeGIDmP0]
でも最初から特定のスクリプト言語のサブセットに
キーフックまわり充実させたようなのものみたいに
はっきりコンセプト出して開発して欲しかったな

463 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 01:33:25 ID:fq4l2C+Y0]
最初は小さかったのかもしれないが、色々と追加していったら膨れあがったという感じなんだろうな。
まぁそれでも単なるキー配列変更程度ならば楽にできるわけで、まぁ別に不満はないけど。
正直そこまでこったスクリプト書いてないし。もともとキー配列変更目的に使い出したしな。


464 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 01:48:31 ID:f+Rg4pvK0]
autoitというのから分離して当初は互換性があったんだっけ?
そういう歴史的理由も言語仕様に関係してる感じ。よく知らんけど。

465 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 04:07:36 ID:f6Zu3EDD0]
こんなわけわからんものをよくここまで持ってきたなとは思うよ
きれいな言語じゃないけどもっといいものが出来るかといわれたら考え込む

466 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 08:02:31 ID:VBnQaqwA0]
素人質問で申し訳ない。
lukewarm.s101.xrea.com/myscripts/index.html
のAHK流行らす、の作者が作ったスクリプト、
どうやって実行できるんだ?
Thumbremap実行したいんだけど、
readme読んでたら、唐突に
「ThumbRemap.ahkを実行」
って言葉が出てきたから、謎でしょうがない。ahk拡張子の実行には
何をすればいいんだ?
Autohotkey.exeに関連づけて実行、ってわけでもなさそうだし・・・

467 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 08:21:58 ID:OMGDXK/l0]
>466

普通にインストールたらAHKって関連付けされなかったっけ?
エクスプローラーでダブルクリックで実行できるよ。

468 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 08:40:27 ID:VBnQaqwA0]
あ、じゃあインストールの問題かな?
再インストールしてみる。

469 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 08:53:03 ID:u97WXfbe0]
>>466
関連付けて実行に決まってる。
それ以外、何があるのか謎でしょうがない・

470 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 09:18:48 ID:VBnQaqwA0]
じゃあ実行できないのはVistaだからか・・・
設定したファイルを説明書通り記入、その後AutoHotKeyで実行したけど、
でも使えない、ってのはそういうことだよな?
もちろんちゃんとSynaptics採用のノートPC、ってことも確認した上で使った。

普通のリマップだとかホットキーは使えるけどな。

すげぇ使いたかったのに残念。

471 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 12:26:31 ID:CnxB0R/l0]
言語としては、けっこう悲惨だわな
誰かAHK吐く "高級言語コンパイラ" 作ってよw



472 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 13:20:44 ID:dggotyoJ0]
>>470
ThumbRemap.ahkをメモ帳とかのエディタで開いて、先頭に書いてある注意書きは読んだ?

473 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 14:25:16 ID:HgNGPhm50]
いまだに構文に馴染めない

474 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 14:29:28 ID:HgNGPhm50]
>>470
AHKルートディレクトリのAutoHotKey.ini(無いなら作る)の中に
#include ThumbRemap.ahk
って書いて実行すりゃいいんじゃねーの
.ahkファイルはルートディレクトリにおいておけよ

475 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 15:05:57 ID:neTiPbdP0]
ねこぽいっていうソフトと同じことさせるスクリプト書こうとしたけど、
めんどくさくてやってらんねw

ねこぽいでいいや

476 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 15:29:12 ID:HgNGPhm50]
宣伝乙

477 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 16:38:29 ID:FW0KyEYM0]
これしか知らんからウンコさ加減もよく分からん

478 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 16:41:53 ID:f6Zu3EDD0]
命令が引数に値をとるのか変数名をとるのかわからん

479 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 16:55:34 ID:VBnQaqwA0]
レスさんくす
>>472
使いたい方のコメントを消す、とかだよな?
もちろん読んだし、PCで使われているタッチパッドの方のコメント消して選択した。

>>474
AHKルートディレクトリってのは、AutoHotKey.ahkがあるほう?
(マイドキュメントに入ってるようだ)
それとも、AutoHotKey.exeがあるほう?
(AutoHotkey104704とかのバージョン情報つきフォルダ)
さらにAutoHotKeyっていうフォルダでもコピペで試してみた。

まぁ、どれであろうとできないな。
あと、;4の後の、リマップ、ホットキー定義の記述、ってとこで
なんらかのリマップやホットキーを記述すると普通に動いてる。
やっぱThumbRemapだけが動いていないってことみたいだ。
Vistaだから動かないんだなと思ってるけど、Vista用の書き方?
みたいにすれば多分動くのかも知れん。

#Include %A_ScriptDir%\Thumb_Synaptics.ahk
;2.タッチパッドに触れているときのみ有効化したいリマップを列挙
Thumb_Remap =(
u::LButton
o::RButton
)
;3.タッチパッドに触れているときのみ有効化したいホットキーを列挙
Thumb_Hotkey =
(
)
;初期処理
Thumb_Init()
;4.リマップ/ホットキーの定義を記述

480 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 17:01:33 ID:u97WXfbe0]
なんだ、こいつは

481 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 17:33:49 ID:hoH5rp2m0]
Thumbsenseは動くの?



482 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 17:39:56 ID:VBnQaqwA0]
>>481
もちろん動くぜ。

483 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 18:15:20 ID:neTiPbdP0]
こんなクソスクリプトでキーカスタマイズするくらいなら
普通にC++で常駐ソフト作ったほうがはるかに楽な罠

484 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 20:00:13 ID:+IWW5/DD0]
で、この頭の不自由な子は何が言いたいの?

485 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 20:03:42 ID:DgaDiDt20]
>>484
ねこぽいもどきをC++で書いちゃったぜ!
じゃないかな。

486 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 22:38:14 ID:VBnQaqwA0]
自分の文章見直したら、恐ろしくわかりにくかった。

とりあえず、結論から言うと、
ThumbRemap.ahkの、自分のPCのタッチパッド(実はAlpsだったようだ)
のドライバのほうのコメント部分(;)を消して有効化し、
それをそのまま初期状態で保存して、実行すると、
タッチパッドに触れなくてもリマップが有効になっている、
(どんなときでも「j」を押したら左クリックだし、「l」を押したら右クリック)
とそういうことらしい。どういう風に書けばいいんだろう?

487 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/03(水) 22:59:22 ID:hoH5rp2m0]
100行かそこらのスクリプトくらい自分でデバッグしろ

488 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/04(木) 18:21:43 ID:npyGLoES0]
shift+a押しっぱなしでaボタンを連打したいのですが、どうもうまくいきません

「+a::
Send,{a Down}
Sleep, 200
Send,{a Up}
return」

最初はこのようにしてましたが駄目でした。
sleep中に+aを押しっぱなしにしていることが認識されてしまいaの連打が出来ないのかと思い、
「sleep」を外し「Send, a」だけにしてみましたがこれもだめです。

aボタンを押しっぱなしでaを連打とするのが相性悪いのかなと、「+a::」を「q::」だけにしてみましたが失敗。
そこでなんとなく「SetKeyDelay」を足し

「q::
SetKeyDelay, 10, 5
Send, a
return」

にしてみたところ初めて成功しました。
 (SetKeyDelayが必要なのは連打対象のアプリの問題だと思います。)
「q::」を「^q::」にすると失敗で、returnのたびに「Send」コマンドによっておこる
ホットキー(Shift)のフックと言うものがとけてうまくないのだと思い、

「#InstallKeybdHook
^q::
SetKeyDelay, 10, 5
Send, a
return」

と「#InstallKeybdHook」をahkデータの頭に足して見たところ二度目の成功でした。

489 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/04(木) 18:23:47 ID:npyGLoES0]

以上をふまえ

「#InstallKeybdHook

^a::
SetKeyDelay, 10, 5
Send, a
return」

としたところ、これはもう無惨に失敗でした。
やけでsleepをつけたり外したりしても駄目です。

どうやら「return」の度に「Shift+a」を押さえてることが認識されてしまうようなのですが、
「#InstallKeybdHook」によってShiftの分は解決するのです。
しかし「aボタン」が解決出来ない。

returnを連打中(押下中)に使わないで作るか、
もしくは#InstallKeybdHookのような設定をみのがしてるのかも知れません。

流行らせるページを分かる範囲で読みましたが、自分ではここまででした。
どなたか解決策を知ってる方いたら教えてください。

490 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/04(木) 18:49:04 ID:fTNMlWWa0]
keywait

491 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/05(金) 02:28:11 ID:+yLmUSaM0]
一昨日から、AHKを使おうと試行錯誤してます。
HHKで[ ; ' / キーを↑←→↓に入替えるにはどうすればいいのでしょう?
Fnなしでカーソル移動、ありで記号を入力にしたいのです。

Up::[
Down::/
Left::`;
Right::'

[::Send,{Up}
/::Send,{Down}
`;::Send,{Left}
'::Send,{Right}

と書くと、Fnに関係なく常にカーソルキーになってしまいます。
カーソルキーが別にあるキーボードだと簡単に入替えできるようなのですが
どなたか教えていただけないでしょうか



492 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/05(金) 03:00:23 ID:GNC7tDS30]
HHKは持ってないからわからんけど、
そういうのはレジストリで入れ替えた方がいいんじゃない?
常駐しなくても済むし。

satoshi.web5.jp/f_soft/dw_win.htm

493 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/05(金) 03:08:21 ID:ZWaa12oz0]
まずはFnのキーコード調べるところから始めるのかしら

494 名前:491 mailto:sage [2007/10/05(金) 03:34:50 ID:+yLmUSaM0]
>492
やっぱりそうですか。AHKだと
タスクトレイですぐにon/offできるのがうれしいんですが。

>Fnはたぶん単独ではコードを出さないようなんです。

レスありがとうございます。
もうすこし気長にがんばってみます。



495 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/05(金) 04:32:32 ID:9UehXwIc0]
あんな訳の分からないキーボードは捨てろ
モバイルノート以外のキーボードにFnキーを付けようとする奴は例外なく死ね

496 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 03:27:16 ID:nm9+eh940]
>>125のスクリプトの改良について
^[::
Clipboard=「」
Send, ^v{Left}
Return

ime on のとき  ctrl + 「 → 「」の中キャレットフォーカス
ime off のとき  ctrl + [ → [] の中にキャレットフォーカス

このように動作させるにはどうしたらよいでしょうか?

497 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 03:37:01 ID:xWub+tRp0]
>>496
そんな複雑に考えなくても、
^[:: Send, []{Left}
で良いんじゃないの?

498 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 04:02:10 ID:NsGpl4Fc0]
半角全角キーを2回押せば、IME入力中なら変換せず確定するということができる

499 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 15:04:49 ID:OQHpOHU/0]
>>496
HDD漁ったら昔作った Functionがあったんで貼っとく

;-----------------------------------------------------------
; IMEの状態の取得
; WinTitle : 対象Window (省略時:アクティブウィンドウ)
; 戻り値 1:ON 0:OFF
;-----------------------------------------------------------
{
ifEqual WinTitle,, SetEnv,WinTitle,A
WinGet,hWnd,ID,%WinTitle%
DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)

;Message : WM_IME_CONTROL wParam:IMC_GETOPENSTATUS
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, 0x005,0,,ahk_id %DefaultIMEWnd%
DetectHiddenWindows,%DetectSave%
Return ErrorLevel
}


500 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 15:06:19 ID:OQHpOHU/0]
コピペミス、関数名が抜けとったスマソ

IME_GET(WinTitle="")
;-----------------------------------------------------------
; IMEの状態の取得
; WinTitle : 対象Window (省略時:アクティブウィンドウ)
; 戻り値 1:ON 0:OFF
;-----------------------------------------------------------
{
ifEqual WinTitle,, SetEnv,WinTitle,A
WinGet,hWnd,ID,%WinTitle%
DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)

;Message : WM_IME_CONTROL wParam:IMC_GETOPENSTATUS
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, 0x005,0,,ahk_id %DefaultIMEWnd%
DetectHiddenWindows,%DetectSave%
Return ErrorLevel
}


501 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 20:37:44 ID:0W2A46iC0]
自分も「なまずIME」のIME状態取得部分を拝借して、
>>500氏と同じような関数を作って、

j::
If IME_GET()=0
Send, {Down}
Else
Send, j
Return

k::
If IME_GET()=0
Send, {Up}
Else
Send, k
Return

↑みたいに書いて、IMEのON、OFFで他のアプリもviライクに使えるようにしてます。

ただ、500氏のコードをコピペして試してみたら、戻り値が1の時に良く分かんない
エラーが出たっす。これ何のエラーなんだろ…(´・ω・`)

71 hotkeys have been received in that last 1110ms.

Do you want to continue?
(see #MaxHotkeyPerInterval in the help file)



502 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/07(日) 20:54:53 ID:xWub+tRp0]
>>501
$j:: のようにすれば直ると思う。
Send, jでAHKが発生させたキーイベントに反応して、マイクのハウリング現象みたいなことが起こってる。

エラーメッセージの意味は、直前の1秒くらいでなんかものすごい勢いでキーが押されてるけど大丈夫?スクリプト止める?
ってな感じ。大概はこういうスクリプトの暴走状態で出るけど、ホイールスクロールをホットキーにしてたりすると、
勢い良くホイールを回したときにも出てしまったりする。

503 名前:501 mailto:sage [2007/10/07(日) 21:05:13 ID:0W2A46iC0]
>>502
なんて速いレス…、解決です。ありがとうございます!

504 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 20:19:42 ID:QXUEMv9q0]
1、 !vk1Dsc07B::!f4   ; alt 無変換 → 閉じる
2、 ~LButton & RButton::WinClose A
3、 ~LButton & RButton::!f4

AHKを導入して、「閉じる」操作を割り当ててみたのですが、
3、のスクリプトだけうまく動作しません。

なぜうまく機能しないのか教えてもらえないでしょうか?

505 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/09(火) 21:06:46 ID:tVOno9/E0]
折り目正しく?
Send, {ALTDOWN}{F4}{ALTUP}
と書いてみたらどうだろう

506 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 00:21:43 ID:KbL0UTuR0]
AltはUpDownせんでも ! でええじゃろ
F4に { }が付いてないのが問題

507 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 00:25:36 ID:KbL0UTuR0]
ごめんウソ書いたかも
remapの動作はよくわかんないわ

508 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 01:19:08 ID:ejM0T2Mo0]
穴が開くほどスクリプト眺めてみたが、どこがおかしいのかまったくわからん!
だれかThumbRemapちゃんと動いてる奴いるか?

どういう書き方してるか是非教えて欲しい。

知り合いからXpのSynapticsタッチパッドのノートPC借りたが、
これでも動かない。ということはALPSはダメでSynapticsはできるというわけでも無さそう。

(詳細な確認はしなかったが、基本は何も書き換えずデフォルトで
該当タッチパッドコメントアウトした状態で使った)

Thumbsenseのほうは動くしOSの問題でもなさそうだ。
いったい何が原因なんだろうか。

509 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 01:30:40 ID:G66LASUF0]
>>508
ときどきドラッグして文字列を選択したときとかにキーを離してもキーアップが発生しないことがあるけど、
それ以外はおおむね希望通りの動作。設定を書き換えてRunなどを割り当てるのもうまく動いている。
ThumbSenseのキーフックや、自分で書いたスクリプトと競合しているとかないの?
ThumbSenseをスタートアップから外して再起動→AlpsドライバならApoint.exeが起動しているか確認する
→ThumbRemapの該当コメントを外す→ThumbRemapを起動する
これでダメなら判らん。

510 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 01:54:50 ID:ejM0T2Mo0]
>>509
うお、言われたとおりやってThumbRemap.ahkのみを起動したらできた!
サンクス

てかそもそも俺、他のスクリプトと一緒に、AutoHotKey.iniに
#include ThumbRemap.ahk
って書いて、他のと一緒に使ってるんだけど、これだと動作しないらしい。
(読み込めないんじゃなく、リマップの部分だけが生きてて、常に普通のリマップ状態)

それぞれのスクリプトを別で全部実行した場合は、ちゃんと機能するから
スクリプトが衝突してるというわけでもないようだ。

逆に、何が悪いのか分からなくなったけど、
とりあえず応急処置として二つ起動で続けてみる、助かったぜ。

511 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 04:55:07 ID:voHAyE5x0]
#include ThumbRemap.ahk
の前にホットキーラベルがあったりすると初期化処理が読み込まれない



512 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 10:11:03 ID:FSheiMK60]
> 前にホットキーラベルがあったりすると初期化処理が読み込まれない
この仕様はいい加減に止めてほしいな。
大域変数の初期化も面倒だし。
ホットキーやラベルがあったらreturnまで読み捨てる、ってのじゃダメ?

513 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/10(水) 15:13:15 ID:ejM0T2Mo0]
お前らThx

#include ThumbRemap.ahkを一番最初に書いたら
ちゃんと動いたぜ。






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

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

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