AutoHotkey スレッド part12

このエントリーをはてなブックマークに追加
942名無しさん@お腹いっぱい。:2011/09/15(木) 22:45:41.38 ID:s3oqIGJg0
わかりにくくてすいません

キーボードのqwerty->dvorak配列の
スクリプト1と
その他のスクリプト2−3を同時起動しているとき
スクリプト1で実質ハードウェアで配列を変更したのと同じ作用にすることは
$を使えば可能なのでしょうか?
943名無しさん@お腹いっぱい。:2011/09/15(木) 22:48:41.77 ID:qoFWOSaQ0
1.1.04.01 - September 15, 2011

Fixed FileRemoveDir setting ErrorLevel incorrectly.
944名無しさん@お腹いっぱい。:2011/09/16(金) 01:40:47.31 ID:maP3ZTsj0
>>941-942
**凄く適当だけど**

[キーボード]
  ↓
[ドライバ]
  ↓
〜〜〜〜
  ↓@
[システム] ←☆
  ↓A
  ↓
[アクティブウィンドウ]

AHKのキー定義方法は上記の@かAで、キーを拾ったら☆のところで別キーを吐き出すことで
キーアサインを変えてる。で、それぞれ特色は以下:

 @ キーフック(k-hook)
  多重に掛けることができる。後からフックしたやつほど先に処理ができる
 A OSへのホットキー登録(reg)
  OSが管理するホットキー機能を使う。別アプリとかで宣言されてたら使えない。

つーことで、@でベース作って、Aで味付けってことになるが、問題がある。

リマップ( a::b )はフックなんで、☆で吐いてるのを拾えないし、同一キーへの多段設定は
後からやったやつのみ有効になるので >>941 の例は破綻。

script2でリマップをやめて [ o::Send,2 ] みたくすりゃ何とかなるかもしれんけど
Aで設定できない場合@に自動で切り替わるんで、すべてがうまくいくとは限らない。

確実にやりたいなら〜〜〜のところで動作するレジストリいじるのがいいと思う。 >>5 の下段
945名無しさん@お腹いっぱい。:2011/09/16(金) 09:37:15.37 ID:2zvrmLBr0
Fn+F5を他のキーに割り当てたいのですがどうすればいいですか?
見たところマニュアルにFnキーの記述がありませんでした。
946名無しさん@お腹いっぱい。:2011/09/16(金) 10:47:46.10 ID:2zvrmLBr0
#IfWinActiveはホットキーの定義にしか使えないですが、OnClipboardChangeみたいにウィンドウがアクティブになった時にサブルーチンをコールバックすることはできないものでしょうか?
やはり地道にループで常時監視するやり方しか無いのでしょうか?
947名無しさん@お腹いっぱい。:2011/09/16(金) 11:38:32.59 ID:RzsuRQdG0
948名無しさん@お腹いっぱい。:2011/09/16(金) 12:25:52.03 ID:2zvrmLBr0
>>947
できました。
すごい、こんな合わせ技が、しかもAutoHotKeyだけで完結できた。
ありがとうございます。
949名無しさん@お腹いっぱい。:2011/09/16(金) 13:44:41.88 ID:HU1lbVZ90
>>944
reieditで
google IMEの KBDJPN.DLL→KBDDV.DLL
いじって出来ました
>>945
fnは無理だったような…
950名無しさん@お腹いっぱい。:2011/09/16(金) 14:29:45.41 ID:2zvrmLBr0
>>949
Fnはダメですか…
なんか対応するキーがハードウェアに直結するようなものばっかりだから難しいのかなと思ってました。
マウス操作でFn+F5をコントロールしてモニター明るさを調整したかったんです。

DLighter.exeというソフトで明るさを変えられるのですが「Fn+F5」とは違いソフトウェアで制御しているので、なんか変な明るさになっちゃうのが難点で…

Windowsのイベントにでもあればなんとかなるかもしれないかな…
951名無しさん@お腹いっぱい。:2011/09/16(金) 15:00:51.19 ID:RzsuRQdG0
>>950
http://www.autohotkey.com/forum/topic73513.html
輝度の取得方法はあった。
WmiMonitorBrightnessMethodsでセット出来るらしいけど、WMIとかワカンネ。

http://edgylogic.com/projects/display-brightness-vista-gadget/
ここのコンソールアプリを使うのが簡単だと思うけど。
952949:2011/09/16(金) 20:28:05.19 ID:lZtIw/Y80
Alt+`
で日本語入力と直接入力が切り替わらなくなって
偉い難儀しましたが
たまたま見つけたスキャンコードをSendしてどうにかなりました
私の環境ではsc219でした

regeditでgoogle 日本語入力とdvorakの両立を企てる人は参考にしてください
953名無しさん@お腹いっぱい。:2011/09/16(金) 22:11:31.43 ID:t9sRtH2T0
EpgDataCap_Bonの画面の無効や削除ボタンを押したいです。
9系だとButton番号を取得できたのですが、10系になって取得できなくなりました。
どうすればボタンの番号を取得したり押せるようになりますか?
コアな質問ですみません。
954949:2011/09/16(金) 22:46:03.34 ID:4br0nXP10
ノートのUSキーボードで英語OS
ためしにアルファベットのscの出力の動作をためそうと
どっかのページから拾ってきたものをSendしたら
たまたまAlt+` が再現できたという次第です
 
955名無しさん@お腹いっぱい。:2011/09/17(土) 15:54:43.97 ID:9NovKKPf0
autohotkey定番のこのスクリプト
(変換キー+Mで、Firefoxが起動してなければ起動を。起動していたらFirefoxウインドウを最前面に)
ってやつが、Windows7 64bit、autohotkey.exeバージョン1.1.3.0で実行すると
すでに起動していたFirefoxが最前面に来る+常にFirefoxが新ウインドウで起動
の両方が起こってしまうんだけど、
妥当な処理にするためにはどう書き換えればいいんだろ?

vk1Csc079 & m::
Process,Exist,firefox.exe
If ErrorLevel<>0 ;起動していた場合(ErrorLevel変数にプロセスIDが格納される)
WinActivate,ahk_pid %ErrorLevel% ;そのプロセスのウィンドウをアクティブにする
else ;起動していなかった場合
Run,firefox
return
956名無しさん@お腹いっぱい。:2011/09/17(土) 16:21:59.82 ID:+XO8s+3Q0
いつ定番になったんだろうか
957名無しさん@お腹いっぱい。:2011/09/17(土) 16:29:26.40 ID:YHtm6ZTQ0
Firefoxなんてそれ自体が排他制御やってるんだからそのまま起動でいいんじゃね

あるいはとりあえずこれでしのぐとか。
自分はいつもこれだけどたまーに誤動作するけど気にしないw
IfWinExist,Calc
{
WinActivate
}
else
{
Run,Calc.lnk
}
958名無しさん@お腹いっぱい。:2011/09/17(土) 16:46:08.06 ID:9NovKKPf0
>>957
なるほど、それもシンプルでいいかも。
サンクス。

Firefox以外にもいろいろショートカット作ってて、あくまで一例
959名無しさん@お腹いっぱい。:2011/09/18(日) 11:27:17.53 ID:4KJMnPCr0
つーか7 64bitはシフトJISがだめになってるのか。
>>955をUTF8で保存すると普通に問題なく動く。
960名無しさん@お腹いっぱい。:2011/09/18(日) 11:56:54.55 ID:IPJoTUNH0
組み合わせキーの二つ目に何が押されたか取得する良い方法はないでしょうか?
自分で思いつくのは↓くらいです。。

Ctrl::
KeyWait, foo,L T3
tooltip, %foo%が押されました
Send ^%foo%
return
961名無しさん@お腹いっぱい。:2011/09/18(日) 12:06:43.56 ID:ALm+HAW10
別にダメではない 。
x64版はユニコード版でデフォルトでUTF-8として読もうとしてるだけ。
スクリプトの文字コードの自動判定機構はないので、起動オプション /CP932 を指定すりゃシフトJISで読む。
962名無しさん@お腹いっぱい。:2011/09/19(月) 12:41:04.90 ID:xnu8/hiX0
Win7でApatch起動
RunAsで管理者権限が拒否されて起動できない
963名無しさん@お腹いっぱい。:2011/09/19(月) 15:53:57.85 ID:uEGiJ2dZ0
>>962
アカウントにパスワードを設定していない場合はパスワードを設定する、
もしくはApatchの実行ファイルを右クリック→プロパティ→互換性(タブ)
→「管理者としてこのプログラムを実行する」を有効にして適用
964名無しさん@お腹いっぱい。:2011/09/19(月) 16:18:17.40 ID:etd0+fIuP
Windows標準の「名前を付けて保存」ダイアログで
開いているフォルダをAHKで制御できないでしょうか?

やりたいことは、名前を付けて保存でフォルダの選択に
外部ツール(fenrirなど)を用いたいということです

ControlSendなどで制御しようにもアプリケーションによってクラスが変わるらしく…
なにか良いアイディアはないでしょうか
965名無しさん@お腹いっぱい。:2011/09/19(月) 16:33:09.12 ID:TqmcQwli0
>>964
>788
966名無しさん@お腹いっぱい。:2011/09/19(月) 18:28:17.70 ID:xnu8/hiX0
>>963

>アカウントにパスワードを設定していない場合はパスワードを設定する、
パスワードを設定しても弾かれる

>→「管理者としてこのプログラムを実行する」を有効にして適用
これだとRunAsは関係なくなる
RunAsで設定すれば右クリックの管理者として実行と同じと思ってたが違うのか
967名無しさん@お腹いっぱい。:2011/09/20(火) 09:42:47.17 ID:fTxNe1fd0
XButton1 & LButton
みたいに戻るキー+左クリックに別の機能を割り当てたいんだけど、
この記述方法では、Xbutton1単体で押した場合の機能が殺されてるみたい。

これを殺さずに、単体でXbutton1押した場合の動作をちゃんと「戻る」にするにはどうすればいいんだっけ?
968名無しさん@お腹いっぱい。:2011/09/20(火) 10:37:47.42 ID:fTxNe1fd0
自己解決?

Xbutton1 up::send,{xbutton1}
を別で設定すればいけそうかな?
969名無しさん@お腹いっぱい。:2011/09/20(火) 10:46:41.26 ID:NyaPSUyt0
チルダ付ける。
~XButton1 & LButton::
970名無しさん@お腹いっぱい。:2011/09/20(火) 11:12:42.94 ID:fTxNe1fd0
>>969
それもやってみたんだ。
そうしたら、Xutton1 & Lbuttonで設定した機能と、戻るコマンドも一緒に実行されてしまうんだ。
それぞれの機能はそれぞれで実行されて欲しいから、それは嬉しくないなぁ・・・と。
971名無しさん@お腹いっぱい。:2011/09/21(水) 13:17:06.40 ID:UgFH3yez0
iTunesなどにWinMenuSelectItemって動作しますか?
Firefox(3.6)も動作しないのですが、メモ帳は動作します。

#IfWinActive, ^iTunes$
a::
WinMenuSelectItem, ^iTunes$, , &1, &1
return
#IfWinActive


最小化はされていないので、使える条件はクリアし得ると思うのですが。
972名無しさん@お腹いっぱい。:2011/09/21(水) 14:12:10.72 ID:Obt0+ITH0
>>971
「など」と書いたら答えなんぞ出せなくなるぞ

WinMenuSelectItem は昔ながらの標準メニューにだけ効果があるので、
自前描画系のものはほぼ全てNG。

一応、判断としては以下のスクリプト動かせば分かるはず。

Pause::
MouseGetPos,,, hwnd
ptrType := (A_PtrSize > 0) ? "Ptr" : "UINT"
Tooltip, % "標準メニュー" . (DllCall("GetMenu", ptrType, hwnd, ptrType) ? "あり" : "なし")
Return
973名無しさん@お腹いっぱい。:2011/09/21(水) 14:42:44.95 ID:Ht6H4SXN0
そろそろ次スレの季節
974名無しさん@お腹いっぱい。:2011/09/21(水) 14:50:29.28 ID:UgFH3yez0
>>972
ありがとうございます。
なるほど、標準メニューと言っても見分けがつきづらいですね。
Resource Hackerでも確認できました。


今時のソフトはほとんどが標準じゃないのですね…
調べてみてびっくりしました。

エディター系しか使えない…、残念。
クールじゃないですが、ショートカットキーで何とか対応するようにします。
975名無しさん@お腹いっぱい。:2011/09/22(木) 18:46:16.04 ID:oDOlKfqo0
iTunesの早送りのCtrl+Alt+→で
 Send, ^!{Right}
を実行しても無視されます。

他のウィンドウはこの辺の組み合わせは問題ないのですが…
976名無しさん@お腹いっぱい。:2011/09/23(金) 07:32:38.74 ID:SkvlKqk80
http://hibari.2ch.net/test/read.cgi/software/1280482227/330-332
DragDrop/DropFilesで右D&Dを行わせるにあたってお知恵を拝借させてください。
安直にWM_DROPFILES前にWM_RBUTTONUPを差し込む他に必要な処理はありますか?
977名無しさん@お腹いっぱい。:2011/09/24(土) 12:59:53.76 ID:ulNGbHRB0
Windows7の64bitでタスクマネージャやWindowsサービスの画面がアクティブになっている状態で
ランチャー呼び出しのショートカットキーを送っても反応がありません。

上記がアクティブ中にキーボードから同じショートカットキーを送ると動作しますが、AutoHotKeyからだと動作しません。
タスクマネージャやWindowsサービスの画面以外がアクティブの場合は動作します。

AutoHotKeyでショートカットを送る前に、一度デスクトップをアクティブにしてからキーを送ると正しく動作します。

ダメ
Send, #{F12}

うまく動作
WinActivate , Program Manager
Send, #{F12}

タスクマネージャやWindowsサービスの横取り?しているのかわかりませんが、これはなぜでしょうか?
ちなみにかざぐるマウスの画面下をアクティブにする動作も、タスクマネージャやWindowsサービスがアクティブだとカーソル下のアプリがアクティブになりません。
978名無しさん@お腹いっぱい。:2011/09/24(土) 15:01:21.63 ID:JzSv3qYm0
スクリプトを管理者権限で動かしてみてダメならもう一度報告汁
979名無しさん@お腹いっぱい。:2011/09/26(月) 12:58:56.63 ID:CSCk8rBZ0
>>978
C:\Program Filesにインストールできるユーザなので、管理者権限だと思います。
Windows7の64bitのタスクマネージャで全プロセスを表示ボタンを押すとAlt-Tabの動作もおかしいです。
しかもAutoHotKey起動していない時でも。
なんかこのタスクマネージャが明らかにおかしい…
980名無しさん@お腹いっぱい。:2011/09/26(月) 18:41:47.28 ID:HjyQvQrz0
ユーザーアカウントが管理者権限であっても
スクリプトは管理者権限で動いてない。
Autohotkeyスクリプトを全て終了させ、
AutoHotkey.exeを右クリックしてプロパティを開き、
「互換性」タブにある「管理者としてこのプログラムを実行」にチェック入れて「適用」、
もしくはスクリプトをAhk2Exe.exeでコンパイル(exe化)して↑と同様に
「管理者としてこのプログラムを実行」にチェック入れて「適用」し、
(他にも管理者として実行する方法がある)
スクリプトを実行する。
981名無しさん@お腹いっぱい。:2011/09/27(火) 00:55:40.63 ID:vPSLAqi30
>>980
ありがとうございます。出来ました。
でも全く理解出来ないです。なんでこんなことに…


しかもマウ筋とかざぐるマウスを併用しているのですが、こちらにも権限を与えないとダメですね。
権限がある方だけ実行される…

ん〜あ〜チョーめんどくさいWindows7!

どうもありがとうございました。
982名無しさん@お腹いっぱい。:2011/09/27(火) 10:16:18.36 ID:BXbl5yU90
画面の四隅の縁に赤線をつけて、画面の輪郭を際だたせることはできますか?
983名無しさん@お腹いっぱい。:2011/09/27(火) 21:04:41.32 ID:6NUid3Hd0
OSの設定でやったほうがいいんでないのかね。
984名無しさん@お腹いっぱい。:2011/09/27(火) 22:07:39.96 ID:41pxA6iq0
950でも980でもいいから次スレよろしく
立てられないのなら代行頼んできてね
985名無しさん@お腹いっぱい。:2011/09/28(水) 09:30:27.87 ID:9lfGaIOv0
>>983
色付けを動的にしたくて、かざぐるマウスの全面表示した場合にわかりやすいように枠を付ける機能にほれてしまって。
986名無しさん@お腹いっぱい。:2011/09/28(水) 12:41:07.91 ID:R0Kv1NtK0
せっかく次スレ立てたなら重複しないように貼ろうぜ

AutoHotkey スレッド part13
http://hibari.2ch.net/test/read.cgi/software/1317156599/
987名無しさん@お腹いっぱい。:2011/09/28(水) 18:51:13.12 ID:9lfGaIOv0
テキストボックスに値をセットする場合は ControlSetText, Edit11, %A_Now% のように「Edit」+番号で対応できましたが、
ボタンクリックで「ControlClick, Button1, A」や「ControlClick, 追加, A」を実行しても、左上から見て最初にある「追加」ボタンが押せませんでした。
ちなみに「ControlClick, Add, A」もダメでした。

左上から見て最初にある「追加」ボタンを押すにはどうすればよろしいでしょうか?
988名無しさん@お腹いっぱい。:2011/09/28(水) 19:13:34.94 ID:hycmOHZn0
>>986
ごめんなさい
こっちにスレ建てレスするのを忘れてそのまま出社してもうた
989名無しさん@お腹いっぱい。:2011/09/29(木) 18:33:36.89 ID:jrWRjZh30
うめ
990名無しさん@お腹いっぱい。:2011/09/30(金) 18:15:25.50 ID:K1IEae8s0
うめ
991名無しさん@お腹いっぱい。
#ume