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


369 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/05(水) 21:17:10 ID:n/eX0LD90]
とりあえず >363に拍手

370 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/05(水) 23:43:14 ID:3a4UBRCdP]
マウスジェスチャ?マウスコマンド?はぁ?

キーボード使おうぜ!

371 名前:325 mailto:sage [2007/09/06(木) 00:56:25 ID:CgUEgPrj0]
>>326
期待通りの動作になりました。改めて感謝を。

372 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 01:17:57 ID:MpeKuTu20]
>>363の基地害対応力に嫉妬

373 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 10:13:43 ID:nPLCSJdD0]
Win2000SP4です。
Winキー+uをホットキーに割り当てたいのですが、ユーティリティーマネージャーが起動して困っています。
このユーティリティーマネージャーが起動しないようにすることは出来ますでしょうか?

374 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 10:57:08 ID:oGNJCOoO0]
#u::run, notepad でメモ帳しか起動しないですけど
(XP Pro SP2)

375 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 11:08:04 ID:nPLCSJdD0]
>>374
www1.tcnet.ne.jp/k-saku/low_visions/accessibility/sub_01.htm

これをみるとWin+uで起動しますね。ググったところたくさんヒットしました。
ところで
Win::return
としてもWinキーが死なないのですが、どうしてでしょうか?マニュアルのスクリプトをコピペしたのにうまくいきません。

376 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 11:26:02 ID:h7dZV9To0]
>>375
「Win」じゃなくて「LWin(左Winキー)」か「RWin(右Winキー)」と書く。

RWin::
LWin::
Return

これでWinキーは無効になるはず。

377 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 11:49:53 ID:nPLCSJdD0]
>>376
ありがとうございます。確かにできました。
ところで#IfWinActiveを使って、特定のソフトでだけWin+uをhotkeyとして使いたいのですが、ユーティリティーマネージャが起動して困っていました。
#IfWinActive,hogehoge
RWin::
LWin::
Lwin & u::send,{return}
Return
としたらユーティリティーマネージャーが起動しなくなりました。でも、なぜかLWinキー押下でreturnキーが送信されます。
Lwin & uを#uとしてもWinキーを押しただけでreturnキーが送信されます。どこに文法ミスがあるのでしょうか?



378 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 12:09:01 ID:nPLCSJdD0]
実験しました。下記でもWinキーのみの押下でメモ帳が起動しました。
どうやら、Winキーに何もアサインしないとコンビネーションがうまく働かないようです。2番目のキーを待たずに動き出すようです。
このあたりの事情は既出でしょうか?
RWin::
LWin::
#n::
Run Notepad
return

379 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 12:34:39 ID:nPLCSJdD0]
連投すみません。
ユーティリティーマネージャーが起動しないようにできました。コンピューターの管理→サービス→スタートアップの種類を無効でできました。
でも、Winキー+uは相変わらず、何も割り当てられませんでした。OSが確保しているのでだめなんでしょうかね?

380 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 12:44:15 ID:9dcdoup50]
ここの 「キーラベルの仕様」嫁
lukewarm.s101.xrea.com/Hotkeys.html

>378の書き方だと RWin,LWin,#n に対してNotepad起動をアサインしてることになる。
LRWinを無効にしたいなら Return入れなきゃダメ

381 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 12:55:01 ID:nPLCSJdD0]
>>380
ありがとうございます。
読み直していたら、このページ(lukewarm.s101.xrea.com/misc/Override.html)で
You can disable all built-in Windows hotkeys except Win+L and Win+U
という記述を見つけました。Win+Uはだめですね。ほかのソフトで試してみます。


382 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/06(木) 12:58:41 ID:nPLCSJdD0]
またまた連投すみません。
keybatで試したらあっさり出来ました。
keybatは初心者向けですけど、autohotkeyで出来ないことが簡単に出来ることがあるから手放せませんね。


383 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/07(金) 00:43:08 ID:Leyowai10]
マウスの左ボタン押してから右ボタンを押したとき、Ctrl+Vを押したことにしてペーストしたいんですが
LButton & RButton::send ^v とすると左ボタンの本来の機能が失われます。(クリックとかドラッグとかできない)
それで ~LButton & RButton::send ^v として左ボタンが普通に使えるようにしたんですが
これだとペーストするとき左クリックしたままCtrl+Vを押したことになり、アプリによってはペーストできません。
そこで LButton & RButton::send ^v
     LButton::send {Click Left} としたんですが、これだとドラッグできませんw

どうしたらいいですか?

384 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/07(金) 00:53:34 ID:ON1eM8dz0]
~LButton & RButton::
{
MouseClick, LEFT, , , , ,U
send ^v
Return
}

385 名前:383 mailto:sage [2007/09/07(金) 01:10:50 ID:Leyowai10]
おぉぉ、ありがとうございます!AutoHotkeyは使い始めたばかりで、まだよく分かってませんが
いろいろ便利に出来そうで、夢がひろがりんぐ!

386 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/07(金) 04:01:35 ID:rakY4+Fe0]
まったくひろがりんぐツールやで

387 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/07(金) 04:45:25 ID:uvgGAP260]
夢がひろがりんぐって、もう死語化してないか?



388 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/07(金) 22:55:54 ID:FhrmnyhW0]
MouseClick, R,,,,,D
で右ボタンを押している状態からシステムに動作を渡さずに右ボタンを離す方法はないでしょうか

HotKey, RButton up, return
MouseClick, R,,,,,U
HotKey, RButton up, Off

return:
return

などとやってみたのですがどうしてもコンテキストメニューが開いてしまいます

389 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/07(金) 23:08:27 ID:8w//OG5f0]
>>388
具体的に何がしたいのか書いた方が良さげ。
OnMouseDownイベントだけを断続的に起こしたいってことだろうか。いまいち状況がわからない。

390 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 00:39:13 ID:iCGYlQBF0]
コンテクストメニューって押下時じゃなくて押下解除時に表示される場合のほうが多いと思う
開かさせない方法はわからんが、開いてしまったものを閉じたいのなら send で Esc か Alt を投げてみたら?

391 名前:388 mailto:sage [2007/09/08(土) 00:59:07 ID:l8tyTWRw0]
マウスジェスチャのスクリプトを作っています
通常の右ドラッグを阻害せず動作させようとしています

Escなどでメニューを閉じるのも考えては見たのですが一瞬表示されるのが気になるうえ
メニュー表示されないソフトじゃ使えなくね?と思い

RButton::
MouseClick, R,,,,,D
マウス動きの判定処理(右ボタン離すで終了)
if(ジェスチャに対応した命令が有れば)
{
ドラッグ中止(とりあえずSend,{Esc}で)
右ボタン開放
命令
}
else
MouseClick, R,,,,,U

のようにしてみたのですがどうしてもメニューが開いてしまって
そして今見るとドラッグ中止の方法も甘い気がしてきました


392 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 01:07:43 ID:ZOf7JEAM0]
>>391
マウスジェスチャなら流行らせるページのMy Scriptsにあるよ。

393 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 06:32:58 ID:zWESSSjS0]
ノートPCタッチパッド使用者用Thumbsense風拡張スクリプトw

いや、単純にこの構成が一番使いやすかった&
いろいろなものに影響少ない構成かなと。
(右Altキーを起点にすると、いろいろなところが正常動作しなくなることが多い)

AppsKey & j:: IfNotEqual, A_ThisHotkey,%A_PriorHotkey%, Send,{LButton Down}
AppsKey & j up:: Send,{LButton Up}
AppsKey & l:: IfNotEqual, A_ThisHotkey,%A_PriorHotkey%, Send,{RButton Down}
AppsKey & l up:: Send,{RButton Up}

AppsKey & i:: Send,{WheelUp}
AppsKey & k:: Send,{WheelDown}
AppsKey & m:: Send,{XButton1}
AppsKey & .:: Send,{Xbutton2}
AppsKey & ,:: Send,{F5}
AppsKey & h:: Send,!{Space}{n}
AppsKey & 8:: Send,!{Space}{x}
AppsKey & 7:: Send,!{Space}{r}
AppsKey & o:: Send,^w
AppsKey & p:: Send,^c
AppsKey & +:: Send,^v
AppsKey & 0:: Send,^x
AppsKey & n:: Send,!{Home}
AppsKey & u:: Send,#d
AppsKey & 9:: Send,!{F4}
AppsKey & /:: Send,!{Up}

394 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 10:35:12 ID:iCGYlQBF0]
AppsKey起点か、コンテクスト出す以外は使わないキーだからいいかも知んない。
だが自分の旧チンコパッドには AppsKeyがついてない orz
WinKeyもないので使いにくくてしゃぁないわ

395 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 10:58:20 ID:zWESSSjS0]
>>394
Altキーでもそれなりに使いやすく出来ることは出来たよ。

問題点を挙げると
問題は、Alt+nとかにキーを割り当てたら最小化がうまく動かなくなって困る、とか
実際のAltキーとの組み合わせの奴が単純に動かなくなるとか、そんなん。
あと、癖でAlt押しっぱなしにしちゃうようになるから、Winキー起点のデフォ
Win+DとかがWin+Alt+Dとかに認識されちゃって動かない、みたいな。

こうして列挙すると、問題点だらけに見えるから困る。

とりあえずAlt小指にホームポジションのJKLであとは拡張すればいいんじゃないか?

追記、俺は別のソフトでMクリックを右クリ+左クリに割り当ててるから
スクリプトに中クリック入れてないけど、入れたい人は、
AppsKey & Alt:: Send,!{MButton}
あたりを追加して、
更に自分用に適当に配置換えしたらいいかな。

396 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 11:48:52 ID:iCGYlQBF0]
アドバイスd
でも右AltはWinKeyとして割付けてあるんよ(AHKじゃなくてIBMのキーコンフィグのほうで)
Appsはなくても困らんがWinはないとやっていけん。流石に左Altは潰せないしね。

397 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 14:50:33 ID:ZjvPgMwV0]
変換起点にしちゃだめなのか?
小指でApp押しっぱってしんどいような気がするが



398 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 16:16:09 ID:9UwE3hiH0]
カタカナ/ひらがなキーにリマップでAltキーを指定すると
Altキーが押しっぱなし状態になるんだけど

399 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 16:39:27 ID:7LDvdjav0]
勝手にコマンドが実行されたりするんだがどうなってるんだろ?
Autohotkey.iniを編集するキーを設定してたりすんだけど
フトした時に勝手にエディタ起動されてしまう・・・

400 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 17:12:09 ID:zWESSSjS0]
>>397
変換起点、ってことは、アプリキーを押すことで、
マウスモードとキーボード入力を切り替える、ってこと?

なるほど、一番やりやすい方法かもしれん。
かつアプリキー無いような人もできそうだしな。
ちょっとスクリプト考えてみる。

401 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 17:32:34 ID:ibiZR8M40]
変換キーを使うという事じゃ……

402 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 17:46:09 ID:ZjvPgMwV0]
変換キーを起点にして親指おしっぱのほうが
楽なんじゃないかなと思っただけ
分かりにくくてスマン

403 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 18:12:20 ID:zWESSSjS0]
>>401-402
あ、いやいや、それだと「Thumbsense風」の意味が全くなくなっちゃうよ。

親指はタッチパッドに常においておいて、カーソル動かすのに使わないと。

全てを右手だけで出来るようにする、が目的だから。

押すごとにモードを変える、が出来れば変換キーでもアプリキーでも良いと思うんだけどね。

404 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 19:27:58 ID:ibiZR8M40]
んじゃ無変換の方を使うのはどうなんでしょ

モード切替は避けた方がよいのだと思うのだがな。viとか

405 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 20:51:45 ID:vnArU7SW0]
マウスカーソルが動いている間とその後数ミリ秒間有効とかどうよ

406 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 21:30:30 ID:zWESSSjS0]
モード切替やろうとしたけど、
Altおしっぱなしとかからしか起動できないなぁ。

AppsKeyおしっぱスクリプト書いてもダメな感じだ。

こっち方面は諦めた方が良いかも。


俺のは無変換じゃなく変換の方だけど、いけると思う。
中指薬指小指でマウスボタン操作、ってのが
ちょっとやりにくい気もするけど。

あと小指の長さと器用さがどうしても劣る気もする。
つまり自在に右側のショートカットキーを押せない、とかあるかな。

>>404
その辺を除けば、指疲れないしベストかもね。

てかアットマークとか+ボタン*ボタンを小指で起点にして、
そこに割り当てられてたのは別キーに割り当てる、が実は一番なのかもしれんw

できるだけデフォの設定変えたくないなら前者のがいいだろうけど。

407 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 21:42:42 ID:gLCyJSIe0]
>>398
俺もそれ気になってた
vkF2sc070::
Send, {Alt Down}
KeyWait, Alt
Send, {Alt Up}
return
見たいにやってもうまく拾ってくれないし



408 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 22:40:49 ID:XjeHu6dt0]
漏れもたったいまそこで躓いてたところだw
ひらがなキーって押しっぱなしの検知出来ないのかな

409 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/08(土) 22:45:10 ID:ZOf7JEAM0]
まあ最悪>>4の方法で。

410 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/09(日) 07:09:31 ID:SfSorzkm0]
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/62
これ読んだ人いる?

411 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/09(日) 15:55:46 ID:90jRKVaz0]
いま読んでる。面白い。

412 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/09/09(日) 16:27:31 ID:4071f5mN0]
>>410
>>112付近のツンツンした流れの理由はこれかしら……なんて詮索は野暮か。
出版されたら予約してでも買うので、頑張って下さい。

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
関連付けて実行に決まってる。
それ以外、何があるのか謎でしょうがない・






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

前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