わかりにくくてすいません
キーボードのqwerty->dvorak配列の
スクリプト1と
その他のスクリプト2−3を同時起動しているとき
スクリプト1で実質ハードウェアで配列を変更したのと同じ作用にすることは
$を使えば可能なのでしょうか?
1.1.04.01 - September 15, 2011
Fixed FileRemoveDir setting ErrorLevel incorrectly.
>>941-942 **凄く適当だけど**
[キーボード]
↓
[ドライバ]
↓
〜〜〜〜
↓@
[システム] ←☆
↓A
↓
[アクティブウィンドウ]
AHKのキー定義方法は上記の@かAで、キーを拾ったら☆のところで別キーを吐き出すことで
キーアサインを変えてる。で、それぞれ特色は以下:
@ キーフック(k-hook)
多重に掛けることができる。後からフックしたやつほど先に処理ができる
A OSへのホットキー登録(reg)
OSが管理するホットキー機能を使う。別アプリとかで宣言されてたら使えない。
つーことで、@でベース作って、Aで味付けってことになるが、問題がある。
リマップ( a::b )はフックなんで、☆で吐いてるのを拾えないし、同一キーへの多段設定は
後からやったやつのみ有効になるので
>>941 の例は破綻。
script2でリマップをやめて [ o::Send,2 ] みたくすりゃ何とかなるかもしれんけど
Aで設定できない場合@に自動で切り替わるんで、すべてがうまくいくとは限らない。
確実にやりたいなら〜〜〜のところで動作するレジストリいじるのがいいと思う。
>>5 の下段
Fn+F5を他のキーに割り当てたいのですがどうすればいいですか?
見たところマニュアルにFnキーの記述がありませんでした。
#IfWinActiveはホットキーの定義にしか使えないですが、OnClipboardChangeみたいにウィンドウがアクティブになった時にサブルーチンをコールバックすることはできないものでしょうか?
やはり地道にループで常時監視するやり方しか無いのでしょうか?
>>947 できました。
すごい、こんな合わせ技が、しかもAutoHotKeyだけで完結できた。
ありがとうございます。
>>944 reieditで
google IMEの KBDJPN.DLL→KBDDV.DLL
いじって出来ました
>>945 fnは無理だったような…
>>949 Fnはダメですか…
なんか対応するキーがハードウェアに直結するようなものばっかりだから難しいのかなと思ってました。
マウス操作でFn+F5をコントロールしてモニター明るさを調整したかったんです。
DLighter.exeというソフトで明るさを変えられるのですが「Fn+F5」とは違いソフトウェアで制御しているので、なんか変な明るさになっちゃうのが難点で…
Windowsのイベントにでもあればなんとかなるかもしれないかな…
952 :
949:2011/09/16(金) 20:28:05.19 ID:lZtIw/Y80
Alt+`
で日本語入力と直接入力が切り替わらなくなって
偉い難儀しましたが
たまたま見つけたスキャンコードをSendしてどうにかなりました
私の環境ではsc219でした
regeditでgoogle 日本語入力とdvorakの両立を企てる人は参考にしてください
EpgDataCap_Bonの画面の無効や削除ボタンを押したいです。
9系だとButton番号を取得できたのですが、10系になって取得できなくなりました。
どうすればボタンの番号を取得したり押せるようになりますか?
コアな質問ですみません。
954 :
949:2011/09/16(金) 22:46:03.34 ID:4br0nXP10
ノートのUSキーボードで英語OS
ためしにアルファベットのscの出力の動作をためそうと
どっかのページから拾ってきたものをSendしたら
たまたまAlt+` が再現できたという次第です
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
いつ定番になったんだろうか
Firefoxなんてそれ自体が排他制御やってるんだからそのまま起動でいいんじゃね
あるいはとりあえずこれでしのぐとか。
自分はいつもこれだけどたまーに誤動作するけど気にしないw
IfWinExist,Calc
{
WinActivate
}
else
{
Run,Calc.lnk
}
>>957 なるほど、それもシンプルでいいかも。
サンクス。
Firefox以外にもいろいろショートカット作ってて、あくまで一例
つーか7 64bitはシフトJISがだめになってるのか。
>>955をUTF8で保存すると普通に問題なく動く。
組み合わせキーの二つ目に何が押されたか取得する良い方法はないでしょうか?
自分で思いつくのは↓くらいです。。
Ctrl::
KeyWait, foo,L T3
tooltip, %foo%が押されました
Send ^%foo%
return
別にダメではない 。
x64版はユニコード版でデフォルトでUTF-8として読もうとしてるだけ。
スクリプトの文字コードの自動判定機構はないので、起動オプション /CP932 を指定すりゃシフトJISで読む。
Win7でApatch起動
RunAsで管理者権限が拒否されて起動できない
>>962 アカウントにパスワードを設定していない場合はパスワードを設定する、
もしくはApatchの実行ファイルを右クリック→プロパティ→互換性(タブ)
→「管理者としてこのプログラムを実行する」を有効にして適用
Windows標準の「名前を付けて保存」ダイアログで
開いているフォルダをAHKで制御できないでしょうか?
やりたいことは、名前を付けて保存でフォルダの選択に
外部ツール(fenrirなど)を用いたいということです
ControlSendなどで制御しようにもアプリケーションによってクラスが変わるらしく…
なにか良いアイディアはないでしょうか
>>963 >アカウントにパスワードを設定していない場合はパスワードを設定する、
パスワードを設定しても弾かれる
>→「管理者としてこのプログラムを実行する」を有効にして適用
これだとRunAsは関係なくなる
RunAsで設定すれば右クリックの管理者として実行と同じと思ってたが違うのか
XButton1 & LButton
みたいに戻るキー+左クリックに別の機能を割り当てたいんだけど、
この記述方法では、Xbutton1単体で押した場合の機能が殺されてるみたい。
これを殺さずに、単体でXbutton1押した場合の動作をちゃんと「戻る」にするにはどうすればいいんだっけ?
自己解決?
Xbutton1 up::send,{xbutton1}
を別で設定すればいけそうかな?
チルダ付ける。
~XButton1 & LButton::
>>969 それもやってみたんだ。
そうしたら、Xutton1 & Lbuttonで設定した機能と、戻るコマンドも一緒に実行されてしまうんだ。
それぞれの機能はそれぞれで実行されて欲しいから、それは嬉しくないなぁ・・・と。
iTunesなどにWinMenuSelectItemって動作しますか?
Firefox(3.6)も動作しないのですが、メモ帳は動作します。
#IfWinActive, ^iTunes$
a::
WinMenuSelectItem, ^iTunes$, , &1, &1
return
#IfWinActive
最小化はされていないので、使える条件はクリアし得ると思うのですが。
>>971 「など」と書いたら答えなんぞ出せなくなるぞ
WinMenuSelectItem は昔ながらの標準メニューにだけ効果があるので、
自前描画系のものはほぼ全てNG。
一応、判断としては以下のスクリプト動かせば分かるはず。
Pause::
MouseGetPos,,, hwnd
ptrType := (A_PtrSize > 0) ? "Ptr" : "UINT"
Tooltip, % "標準メニュー" . (DllCall("GetMenu", ptrType, hwnd, ptrType) ? "あり" : "なし")
Return
そろそろ次スレの季節
>>972 ありがとうございます。
なるほど、標準メニューと言っても見分けがつきづらいですね。
Resource Hackerでも確認できました。
今時のソフトはほとんどが標準じゃないのですね…
調べてみてびっくりしました。
エディター系しか使えない…、残念。
クールじゃないですが、ショートカットキーで何とか対応するようにします。
iTunesの早送りのCtrl+Alt+→で
Send, ^!{Right}
を実行しても無視されます。
他のウィンドウはこの辺の組み合わせは問題ないのですが…
Windows7の64bitでタスクマネージャやWindowsサービスの画面がアクティブになっている状態で
ランチャー呼び出しのショートカットキーを送っても反応がありません。
上記がアクティブ中にキーボードから同じショートカットキーを送ると動作しますが、AutoHotKeyからだと動作しません。
タスクマネージャやWindowsサービスの画面以外がアクティブの場合は動作します。
AutoHotKeyでショートカットを送る前に、一度デスクトップをアクティブにしてからキーを送ると正しく動作します。
ダメ
Send, #{F12}
うまく動作
WinActivate , Program Manager
Send, #{F12}
タスクマネージャやWindowsサービスの横取り?しているのかわかりませんが、これはなぜでしょうか?
ちなみにかざぐるマウスの画面下をアクティブにする動作も、タスクマネージャやWindowsサービスがアクティブだとカーソル下のアプリがアクティブになりません。
スクリプトを管理者権限で動かしてみてダメならもう一度報告汁
>>978 C:\Program Filesにインストールできるユーザなので、管理者権限だと思います。
Windows7の64bitのタスクマネージャで全プロセスを表示ボタンを押すとAlt-Tabの動作もおかしいです。
しかもAutoHotKey起動していない時でも。
なんかこのタスクマネージャが明らかにおかしい…
ユーザーアカウントが管理者権限であっても
スクリプトは管理者権限で動いてない。
Autohotkeyスクリプトを全て終了させ、
AutoHotkey.exeを右クリックしてプロパティを開き、
「互換性」タブにある「管理者としてこのプログラムを実行」にチェック入れて「適用」、
もしくはスクリプトをAhk2Exe.exeでコンパイル(exe化)して↑と同様に
「管理者としてこのプログラムを実行」にチェック入れて「適用」し、
(他にも管理者として実行する方法がある)
スクリプトを実行する。
>>980 ありがとうございます。出来ました。
でも全く理解出来ないです。なんでこんなことに…
しかもマウ筋とかざぐるマウスを併用しているのですが、こちらにも権限を与えないとダメですね。
権限がある方だけ実行される…
ん〜あ〜チョーめんどくさいWindows7!
どうもありがとうございました。
画面の四隅の縁に赤線をつけて、画面の輪郭を際だたせることはできますか?
OSの設定でやったほうがいいんでないのかね。
950でも980でもいいから次スレよろしく
立てられないのなら代行頼んできてね
>>983 色付けを動的にしたくて、かざぐるマウスの全面表示した場合にわかりやすいように枠を付ける機能にほれてしまって。
テキストボックスに値をセットする場合は ControlSetText, Edit11, %A_Now% のように「Edit」+番号で対応できましたが、
ボタンクリックで「ControlClick, Button1, A」や「ControlClick, 追加, A」を実行しても、左上から見て最初にある「追加」ボタンが押せませんでした。
ちなみに「ControlClick, Add, A」もダメでした。
左上から見て最初にある「追加」ボタンを押すにはどうすればよろしいでしょうか?
>>986 ごめんなさい
こっちにスレ建てレスするのを忘れてそのまま出社してもうた
うめ
うめ
#ume