[表示 : 全て 最新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以降も参照


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を一番最初に書いたら
ちゃんと動いたぜ。

514 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/13(土) 01:50:26 ID:Rg1bEx6n0]
昨日まではなんともなかったのに
今日からコンパイルするとavastに怒られるようになったんだけど、
俺だけだろうか。

515 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/14(日) 03:18:50 ID:tGnU+5lx0]
ここ3-4日かけてThumbremapのホットキー試行と最適化を繰り返してたら
最強の使いやすさになった。
作者神スクリプトをありがとう。



516 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 14:06:30 ID:cUQnM+Sh0]
AutoHotKey ってUWSC等と比べて現時点ではどれ位使い物になるの?


517 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 14:48:37 ID:UWrcrXPf0]
そんな程度じゃ答えようもない

518 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 15:36:36 ID:nNacPo+50]
ではまずUWSC等の使い物になり度を説明してくれたまえ

519 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 17:22:58 ID:EWyX0Tg10]
UWSCの利点

エンコードが便利。ueと連動とか不要。
capslock制御可能。
IMEの制御
日本語解説本あり。

UWSCのデメリット
プロ版が有料 単体で動作させるにはプロ版でexe化する必要がある。

520 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 17:39:01 ID:tJrK1zXM0]
そいつはマウス2ボタンを同時押しした後、
1ボタンを離しまた別のボタンを押す、といった一連の操作それぞれに
対応して起動する処理を入れることは出来ますか

521 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 18:11:09 ID:y5ZKSC6z0]
>>520
残念ながら出来ません

522 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 19:17:44 ID:IjRB9PLC0]
>>519
> UWSCの利点
IE を含めた OLE や COM の制御が楽なのが一番のアドバンテージだと思うけど。
キー配置かえるとか、そういう用途では AHK のほうがはるかに便利。

523 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 20:52:28 ID:KOkT03Ew0]
要するに目的が違うのでは……
比較するものじゃないような

524 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 21:00:47 ID:OvW65liC0]
UWSC使ってたけど常駐させる意味が薄いからいらない
単なるスクリプト作動機

525 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 22:20:26 ID:uQ5s7gsm0]
AutoHotKeyもネトゲとかの狩り?マクロとかくめるらしいけど、
UWSCのほうがやりやすくて高機能なのが作れるとか、そういうレベルじゃね?
比較してる人は。



526 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 22:35:14 ID:IjRB9PLC0]
>>525
君のレベルはわかった

527 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 22:36:47 ID:tJrK1zXM0]
こういうスレの煽りはネタじゃなくて真性だから嫌だ

528 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/17(水) 23:23:55 ID:kx1GSyku0]
自分が使いやすいの使うって話で。

529 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 00:00:08 ID:cUQnM+Sh0]
>>517-528
UWSCは使ってるけど、AHKは未だ使った事無いのでどうなのかなーと思って質問してみました。
AHKの実用サンプルってUWSCと比べて殆ど見ないので、実際どの程度の事が出来るのか知りたかったもので。

勿論、UWSCにも幾らかの不満が有ります。
正規表現が実装されてないとか、環境変数の値の取得が出来ないとか、3.xで出来た事が4.xで出来なくなってる
(ソースコードが非公開なので、自分で弄る事も出来ない)とか…

JScript や、ActivePerl 等で利用出来る、画像の位置をサーチしたりマウス操作やキー入力を操作が出来る
モジュールが有れば用が足りそうなのですが…


530 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 00:28:03 ID:IZ1KPygF0]
わざわざ乗り換える必要なし

531 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 00:52:03 ID:Ek0hb0vC0]
>>529
で、回答もらって知りたい事はわかったの?

どの程度の事が出来るのか、って言われても、
殆どの人が困ると思うんだが。

AHKの実用サンプルってのが何をさすか知らんが、
スクリプト自体はいくらでも公開されてるよ。



532 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 03:28:07 ID:lANfUSPG0]
実用サンプルって要するに「俺のやりたい自動処理を誰かが既に作って公開しているといいな〜」ってことだろ

533 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 06:36:12 ID:Ocu0rFsm0]
UWSCって知らんけどAHKは軽いのが魅力に感じるなぁ
マウスのサイドボタンとかに機能割り当てるならやっぱコレじゃね

逆に複雑な自動操作には向いてない印象なんだが、やったことねーんでなんとも

534 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 08:41:26 ID:z1eDF73r0]
比較して迷ってる暇があったら使い慣れていったほうが早い

535 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 10:48:28 ID:YxgPrvUq0]
AHKはキーボードやマウスをカスタマイズするのに使うもんだろ



536 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 20:09:43 ID:CAxJ+SA40]
Fnキーにマッピングしたいのですが、Installkeyhookのhistoryに記録されないキーはAHKでは制御できないのでしょうか?

537 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 20:17:41 ID:NLj7moSz0]
>>536
Fnキー(F1〜F12じゃないよね?)はキーボード内部やBIOSレベルでの変更が必要なので無理。
中には機種専用ツールがあったりするけど、一般的に使えるソフトは存在しないはず。

538 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/18(木) 20:38:50 ID:CAxJ+SA40]
>>537
やっぱ無理か…即レスdクス。

539 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 12:04:53 ID:WOANx8YP0]
最近AHKを知り、便利に使わせていただいてます。
さて、質問なのですがあるプログラムにホットキー割り当てをして
常駐しているスクリプトを、対象のプログラムが終了したら自動で
終了させることは可能でしょうか?
スクリプト自身の後ろのステップでLOOPして対象プログラムの終了
監視をしてもだめですし、別のスクリプトで監視するとスクリプトが
2本走ることになってしまいます。
スクリプトが自分自身で完結するような書き方あるでしょうか?

540 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 12:16:37 ID:X0gSkTm70]
#IfWinActiveで対象のプログラムだけに
ホットキーを割り当てるのじゃだめなの

541 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 12:47:55 ID:WOANx8YP0]
>>540
もちろんそうしてます。

こんなスクリプトAでBeckyとそれをホットキーする常駐スクリプトBを起動
run "C:\Program Files\Becky2\B2.exe"
run "C:\Program Files\AutoHotkey\Extras\Scripts\スクリプトB.ahk"

Beckyを終了させると、スクリプトBだけ残ってしまうので、
次回また上のスクリプトAを起動すると
「スクリプトBのインスタンスが残っているけど上書きしますか?」
というメッセージが出て煩わしいのです。

できればスクリプトBの側で、Becky が終了したら自動で自分も終了するような
書き方ができないかなと思ったしだいです。

542 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 12:54:04 ID:X0gSkTm70]
常に常駐しているスクリプトにBecky用のホットキーを書いたらだめなの?

543 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 12:54:22 ID:KnERfVSN0]
>>541
直接の解決方法ではないけど。
#SingleInstance
ttp://lukewarm.s101.xrea.com/commands/_SingleInstance.html

544 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 13:07:29 ID:urDNcbei0]
>>541
winwaitclose
マニュアルくらい嫁よ

545 名前:541 mailto:sage [2007/10/20(土) 13:43:17 ID:WOANx8YP0]
>>543
これいいですね、使わせていただきます。

>>544
ホットキーと同時使用できるんでしょうか?
最初、ホットキー記述の後ろにLOOPでこれを書いたんですが
使い方が悪いのかうまくできませんでした。



546 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 13:55:49 ID:urDNcbei0]
>>545
> ホットキーと同時使用できるんでしょうか?
> 最初、ホットキー記述の後ろにLOOPでこれを書いたんですが
> 使い方が悪いのかうまくできませんでした。
何でホットキーの後にかくの?
B が Becky 起動させて終了するの待つだけでしょ?
winwaitclose か runwait のあとに exitapp でいいじゃん。

547 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 16:14:33 ID:E0hFrWvy0]
スクリプトBの中でベキ専用ホットキー & 終了監視を入れたいってことだよね?
LoopじゃなくてSetTimerで定期的にベキがいなくなったかどうかチェックしたらいいんじゃね?

あと、スクリプトAは常駐しないですぐ終了するの? だったらBのAutoExecute領域で

run "C:\Program Files\Becky2\B2.exe"
return

ってすれば、スクリプトは一個で済むんじゃね?

548 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/20(土) 19:04:15 ID:WOANx8YP0]
ちょっと外出してたらこんなレスが・・・・

>>546-547
やっとわかりました。私がアホでした・・・orz
お二方のおっしゃる通り、スクリプト1個でスマートにBeckyの起動と終了監視、
ホットキーまで操作できることがわかりました。

こんな感じですね。
runwait "C:\Program Files\Becky2\B2.exe"
exitapp
#IfWinActive ahk_class Becky2MainFrame
MButton::Send,!m,l,y
#IfWinActive

ありがとうございました。

549 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 18:56:12 ID:beQZI8wH0]
スイッチを作ろうとして

Aというボタンを一回目に押したら(=スイッチon)αという動作をするようになる
Aというボタンを二回目に押したら(=スイッチoff)βという動作をするようになる
以下繰り返し

ということをしたいのですが
どうもスイッチでなく0と1だけ使った変数になってしまい
長く煩雑になってしまいます

onとoffだけでいいので簡単に書く方法ありますか

550 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 19:52:41 ID:ZnJwDzgT0]
「onとoffだけ」ってこういうことをして条件分岐するの?
 Ifinstring, Switch, ON, Setenv, Switch, OFF
 else Ifinstring, Switch, OFF, setenv, Switch, ON
 else Setenv, Switch, ON
変数は0と1の方が書きやすいとは思うが…

551 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 20:05:49 ID:kRrYsv+Q0]
>>549
flag := flag ? 0 : 1

552 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 20:09:54 ID:R9Mr1voU0]
false = 0
true = ~false = -1
だろうやっぱり。

553 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 20:47:20 ID:ZKxjrr9K0]
フラグをトグルにするための更新判定が繁雑ってことかな

更新は、flag = ~flag
で、判定は最終ビットだけ見るとか

if (flag && 0x0001) {
goto,SwichON }
else {
goto,SwichOFF }

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 20:54:22 ID:ZKxjrr9K0]
>>552
Trueが1ではなく -1なのって、False(0)の全ビット反転だからなのか。
VB暦は結構長いんだけど、今始めて気がついたわ

555 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 21:27:57 ID:M6aKigNV0]
flag=1

A::
If flag=1
XXXXX
Else
XXXXX
flag=flag*-1
Return

こんなんじゃダメ?



556 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 21:55:20 ID:xfn8a7zf0]
AutoHotkey使ってエクスプローラーを指定したサイズで起動する方法ってありませんか?

LoopとWinWaitとか使って監視しようかとも思いましたが起動したときのみという判定が難しいです

557 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 22:08:02 ID:R9Mr1voU0]
>>556
1.現在の explorer.exe の pid か hwnd をすべて取得して
配列かリストに保存。
2. 1 を適当な時間でポーリング
3.変化があったら変化があった hwnd だけ winmove

でどう?
そういえば ahk はリストとかハッシュが実装されて無いね。

558 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/22(月) 22:50:37 ID:ZKxjrr9K0]
>>556
>438-447

質問前に100レス前くらいは遡って読みましょう

559 名前:556 mailto:sage [2007/10/23(火) 00:57:04 ID:C4Dxb34U0]
>>557
WinGet,,Listで100msごとにウィンドウ配列取得して前の配列になければWinMove
これでいけました
ありがとうございます

>>558
失礼いたしました
今後は気をつけます



今回はLoopで無理やりやったのですが
配列に値が存在するかどうかスマートに判断する方法ってありませんか?

560 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/23(火) 08:08:46 ID:n5ZgdZyR0]
>>559
> 配列に値が存在するかどうかスマートに判断する方法ってありませんか?
無いから、リストとかハッシュとかイテレータとか実装してくれると大変助かる。

561 名前:名無しさん@お腹いっぱい。 [2007/10/23(火) 09:41:56 ID:yNWS5b5p0]
Run,www.google.com/search?q=%Clipboard%
↑でクリップボードから検索しているのですが、
www.live.com/のサイトで検索したく、
search.live.com/results.aspx?q=
↑でやっているんですが、文字化けします。
yahooでも文字化けするんですが、
どうやったら文字化けが無くなるんでしょうか?

562 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/23(火) 10:01:52 ID:n5ZgdZyR0]
>>561
urlはきちんとurlエンコードしてください

563 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/23(火) 10:55:58 ID:uae44SIt0]
>>561
ttp://kaede.to/~canada/doc/searchit-for-ahk

564 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/23(火) 12:48:56 ID:53JAye4u0]
AutoHotKeyで
ThumbRemapとマウスジェスチャを両方入れたとする。

んでマウスジェスチャの一つとして、右クリ+←をまぁ適当に「更新(F4)」
に割り当てたとする。

次にThumbRemapでLに右クリを設定したとする。

タッチパッド上に触れながらL押して左に指なぞったときに
ちゃんとマウスジェスチャのほうを認知させるようにしたい場合、
どう書き換えればいいかな?
(今の状態だと、Lを離したときに通常の右クリが発動するだけ)

もちろんThumbRemapでのホットキーを増やせば解決できるのはわかってるが、
いろいろな方法を用意しておきたいと思ってな。

565 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/23(火) 12:56:00 ID:Ig+mw1sJ0]
MG_TriggerDown/Up



566 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/24(水) 19:16:25 ID:9a9f8UyA0]
マウスカーソルの状態を取得できる方法ってないですか?


567 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/24(水) 20:25:05 ID:EcqMC+Se0]
A_Cursor 現在のマウスカーソルの種類

568 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/25(木) 17:47:37 ID:KxJoRAzj0]
AHKからEXCELファイルを開きたいのですが、
管理人さんのMy ScriptsページのActiveX操作サンプルや
WEBのそれらしきページを参考に書いてみましたがうまくいきません。
EXCELは立ち上がるのですが、ファイルが開けません。
どこか勘違いしてるでしょうか?

#include *i %A_ScriptDir%\ActiveX.ahk
ActiveX()
ObjExcel:=CreateObject("Excel.Application")
pp(ObjExcel,"Visible","true")
Inv(Inv(ObjExcel, "Workbooks"), "Open", "C:\Hoge.xls")

;EXCELインスタンスが立ち上がりっぱなしになるのでここでリリース
sleep 5000
Release(ObjExcel)


569 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/27(土) 11:55:17 ID:jCkP2WXL0]
>>567
ありがとうございました。
コマンドばかり見てたので組み込み変数のほうは全く見てませんでした。

570 名前:名無しさん@お腹いっぱい。 [2007/10/27(土) 14:47:45 ID:RjXdUIJ10]
Run,AAA\BBB.vbs CCC
※AAAはフォルダ名、BBBはVBscriptファイル名、CCCはパラメータ
として、CCCというパラメータを指定してBBBを実行したいのですが、
「指定されたファイルが見つかりません。」とのエラーがでます。
エラーメッセージは下のようになっており、
CCCがパラメータとして認識されていないようです。

Action: <AAA\BBB.vbs CCC>
Params: <>

AAA\BBB.vbsやCCCを""でくくったりしてみましたがだめでした。
どのようにすればパラメータCCCを指定してBBBを実行できるでしょうか。

571 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/27(土) 14:51:50 ID:qXYPNrL50]
Pathが通ってないんじゃね?

572 名前:名無しさん@お腹いっぱい。 [2007/10/27(土) 15:18:17 ID:RjXdUIJ10]
>>571ありがとうございます
AAA\BBB.vbsのパスが通っていないということでしょうか?
CCCを削除してRun,AAA\BBB.vbsにすると
パラメータなしでBBB.vbsが実行されるので、
AAA\BBB.vbsのパスは通っていると思うのですが・・

573 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/27(土) 18:02:13 ID:JjlIavqt0]
Windowsキーと他のキーの組み合わせ(Win+Rとか)は生かしたまま
Windowsキー単発で押したときだけスタートメニューが出てくるのを無効にする方法はありますか

574 名前:568 mailto:sage [2007/10/27(土) 18:55:22 ID:1DiNaabz0]
あのう・・・
どなたか>>568
おわかりの方いましたらお答えいただけませんでしょうか?

下の3行はあえてやっているので、これのせいで開かないとかいうわけではありません。
この3行を外してもファイルは開けませんので念のため・・・
;EXCELインスタンスが立ち上がりっぱなしになるのでここでリリース
sleep 5000
Release(ObjExcel)

今は仕方ないのでEXCELファイル開く部分だけVBスクリプトで書いて呼び出しています。

575 名前:名無しさん@お腹いっぱい。 [2007/10/27(土) 22:40:42 ID:feMike230]
>>573
LWin::return
LWin & LWin::return
RWin::return
RWin & RWin::return



576 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/28(日) 00:21:04 ID:oCMwpLPC0]
>>574
敢えてActiveX使ってる理由がわからんので何とも。
Run使った関連づけ実行じゃあかんのか?

577 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/28(日) 07:04:23 ID:jmlI36md0]
>>576
職場内の不特定多数の人に以下の作業をやらせています。
1.EXCELで作ったindex.htmlを開く(開いたデータは各自が手で修正)
2.それをWEBサーバへFTP転送
3.転送後ブラウザで修正結果が正しく表示されるか確認

1〜3をAHKスクリプトで作ってEXE化し、職場内サーバに置いて実行させています。
EXCELファイルの拡張子がxlsでない事、人によってOfficeのインストールドライブや
フォルダが違う事などで、単純にRUNコマンドが使えないのです。

index.htmlをEXCELで作っているのは、表示内容が単純な表データの為と、
1〜3まで自動化してやれば、誰でも簡単にWEBのデータが修正できる為です。






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

前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