AutoHotkey スレッド part28

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 (ワッチョイ aef9-dJm7)
垢版 |
2020/04/03(金) 18:35:06.00ID:/YRSlUCD0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

■配布元
http://ahkscript.org/download/

■前スレ
AutoHotkey スレッド part27
http://egg.5ch.net/test/read.cgi/software/1555770773/

■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/

■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2020/09/01(火) 19:35:28.85ID:+mtd3kPjM
>>347
まだ挙動がちょっと変だけど、教えてもらった修正版で動くようになったよ。
ありがとう。
ちなみに環境はWin10 Pro 64bit。

エクスプローラーならエクスプローラーだけ、
Google ChromeならGoogle Chromeだけというように、
複数立ち上がっている同一アプリの中でしか切り替わらなかったり、
切り替わる順番も、タスクバー上の隣ってわけじゃなくて今一つ安定しないものの、
やりたいことに少し近づいた気がする!
ソースいじって確認していくしかないか……
2020/09/01(火) 20:15:10.08ID:bAfqoxH70
自分はよく使うアプリを利用頻度順にPin留めしておいて、そのうち最初の3つを「Win+1〜3」でダイレクトに切り替えてる(他は素直に「Alt+Tab」で選択)
2020/09/03(木) 06:41:44.08ID:vJfgepHe0
入力ボックスの作成でアドバイスお願いいたします

したいこと
入力補助用のメニューをコンボボックス上のキャレット位置に挿入

サンプルコード
ttp://pastebin.com/raw/neGABRrF
2020/09/03(木) 11:00:46.05ID:vJfgepHe0
キャレット位置の監視ならびにクリックすることで一応希望動作になりました
他にアイデアなどありましたら、引き続きお願いいたします

SetTimer, 500ms, 500
500ms:
 X := A_CaretX ? A_CaretX : X
 return

;ComboBox/キャレット位置
GuiControl, Focus, Edit?
MouseClick,, %X%, A_CaretY
Clipboard := "hoge"
Send ^v
2020/09/04(金) 13:00:52.93ID:pmB3eQ1YM
keywaitでキー指定せずどれかのキーが押されるまで待つっていうのはできませんか?
2020/09/04(金) 14:11:22.93ID:WYlJxJA+0
Input でどうぞ
2020/09/05(土) 12:22:11.77ID:k1215Yye0
修飾キーではない3つのキーの組み合わせ(例えば変換キーと無変換キーとKキーみたいな組み合わせ)を使用したい場合はどのようなコマンドを使えばいいのでしょうか?
2020/09/05(土) 12:34:58.21ID:IeDZCFx80
>>354
コンビネーションキーとGetKeyStateの併用
356名無しさん@お腹いっぱい。 (ワッチョイ bf11-th+2)
垢版 |
2020/09/05(土) 14:04:34.58ID:k1215Yye0
>>355
ありがとうございます
2020/09/07(月) 20:42:26.83ID:uheywDGu0
無変換と左クリックでctrlと左クリックの動作にさせたいのですがどのようなスクリプトを書けばよいのでしょうか。
vk1D & LButton::
send,{CtrlDown}
MouseClick, LEFT
send,{CtrlUp}
Return
こういうスクリプトだとドラッグアンドドロップができないんですよね…
2020/09/07(月) 21:02:20.28ID:zmAyLEpT0
>>357
MouseClickも押し下げと離すを分けて書いて
間にKeyWaitを入れてボタンを離したらクリックとCtrlをUpする
2020/09/07(月) 21:09:20.80ID:4I4OQpb80
send, {ctrl down}{Lbutton down}
keywait
send, {ctrl up}{Lbutton up}
2020/09/07(月) 21:40:17.42ID:zmAyLEpT0
>>359
それだと正常に動作しない
keywait はキー指定しないとエラー吐くし
Sendも一つずつ書いて確実にLButton離した後にCtrl離すようにした方が良い
左クリック離したら{Lbutton up}、無変換離したら{ctrl up}をSendする
2020/09/07(月) 23:59:55.95ID:4I4OQpb80
すまん丸コピペ用ではなくkeywaitの部分は適切に設定してねというつもりだった
2020/09/08(火) 10:13:23.09ID:aB6Rq+kj0
無変換キーにEnterキーを割り当てたくて

vk1D::Send {Enter down}{Enter up} 
vk1D:Enter

とかを試してみたら、無変換キーを押すとEnterキーとして機能するんだけど
なぜか『�@�@�@』というテキストも同時に入力されるようになった

これは記載方法が何か間違ってるの?
2020/09/08(火) 10:39:24.20ID:aB6Rq+kj0
自己解決しました

ATOKのキーカスタマイズと競合していたようです
無変換のキーアクションを全て無効にしたところ、問題なくEnterキーとして機能しました
364名無しさん@お腹いっぱい。 (キュッキュ b5b1-psz/)
垢版 |
2020/09/09(水) 18:23:49.17ID:hL0M52Ax00909
PhotoshopのShift + Alt + Lのハードミックスのショートカットを無効化することは可能でしょうか?
Photoshop上だけで入力がバグってshiftからaltを押すだけでレイヤーやブラシがハードミックスになって困っています。
Shift + Altの組み合わせは用途があるので無効化したくありません。
一方、ハードミックスのショートカットは不要なので消し去りたいです。
autohotkeyのスクリプトは書いてみましたが素人なので全く動作せず。。
どうか助けてください。

OSはwin10 home 64
Photoshopは2020ですが19、17でも同じでした。
2020/09/09(水) 18:32:44.01ID:M/EV9AG600909
書いたコードまず貼りな
366名無しさん@お腹いっぱい。 (キュッキュ b5b1-psz/)
垢版 |
2020/09/09(水) 18:49:45.47ID:hL0M52Ax00909
>>365
たぶん何もかもダメだと思い消し去りました
2020/09/09(水) 18:51:44.35ID:M/EV9AG600909
じゃ一からやり直して書いたもの貼りな
答え丸投げする場所じゃないから
2020/09/09(水) 20:15:30.19ID:YCK8GMty00909
>>364
まずは、タスクトレイのAutoHotkeyのアイコンをダブルクリックして、Ctrl+Kでキー履歴を見る。
ShiftとAltを同時に押した瞬間に L が入力されているかどうかの確認。
2020/09/09(水) 20:33:21.86ID:wOD155n800909
>>364
そもそもAHK以前の問題でPhotoshopのキーショートカットを無意識に弄っただけじゃねえの
ショートカット無効にしたいならそれもPhotoshop側でやればいいじゃん
使ってないから知らんけどカスタマイズくらいできるんだろ
https://helpx.adobe.com/jp/photoshop/using/customizing-keyboard-shortcuts.html
2020/09/09(水) 20:39:13.75ID:YCK8GMty00909
>>369
Shift+Alt+〇 だけは特別みたいよ
371名無しさん@お腹いっぱい。 (キュッキュ b5b1-psz/)
垢版 |
2020/09/09(水) 21:43:51.88ID:hL0M52Ax00909
>>367
申し訳有りません
+!l::return
こんなんしか私の理解では無理でした

>>368
ログの見方がわからず、理解ができませんでしたが、
他のちゃんと動作しているスクリプトと比べると、そもそも動作していないようでした。
サイト上で入力を確認できるものを使ってみたところ、Lは出力されていないようです。
あくまでPhotoshopだけのようです。もしPhotoshop上もLが出力されていないのだったら絶望的だと思うのですが。。

altからshiftを押してもPhotoshop上も問題なく、shiftからalt、または同時押しでショートカットが呼び出されるようです。

>>369
370の仰る通り、設定では変えられないショートカットです。
2020/09/09(水) 22:23:37.62ID:JM7IfwIs0
CCはもってないからわからんけど
サブスクリプションになる前のPhotoshop CS6では +!l::return で普通にキー殺せたよ

昔MSのMouse without BordersのグローバルホットキーがAHKで殺せなかったことならある
技術知識ない人間の妄想だがホットキー管理のレイヤー層みたいなので優先度が違ってるのかもしれんね
2020/09/09(水) 22:35:40.47ID:YCK8GMty0
俺の、Photoshop CC 20.0.6 でも
+!l::return
で無効にできたぞ
2020/09/09(水) 22:44:44.86ID:AgH7rqJLM
マジですかー
2020/09/09(水) 23:10:39.17ID:wOD155n80
>>371
だからAHKでAlt Shift Lを無効にしても意味無いに決まってんじゃん
おま環のPhotoshopの問題なんだから根本的な問題の原因探れよって
これ以上は完全にスレチ
2020/09/09(水) 23:13:34.70ID:JM7IfwIs0
すまん Shift+Alt+L がフックできないってことじゃなく Shift+Alt が フォトショ上で Shift+Alt+L として認識されるって話なのか
alt → shift の順で押せばOKなん?

したらこんな感じで Shift+Alt の挙動をブロックしたらいいんかね
sleepの時間は適当に調整して
https://pastebin.pl/view/3fadc078
2020/09/09(水) 23:20:18.35ID:YCK8GMty0
altから先に押す癖を付けろ
今のところ、そんなアドバイスしかできんわ
2020/09/09(水) 23:21:47.52ID:JM7IfwIs0
ごめん Loop { の行は
While (GetKeyState("Shift","P")) {
に差し替えで

https://pastebin.pl/view/f751a89e
2020/09/09(水) 23:26:37.20ID:YCK8GMty0
まぁ、タスクトレイを空っぽにするくらいの勢いで常駐ソフトを終わらせて実験かな
380名無しさん@お腹いっぱい。 (ワッチョイ b5b1-psz/)
垢版 |
2020/09/09(水) 23:44:57.42ID:hL0M52Ax0
皆さん検証と意見ありがとうございます。
お騒がせして申し訳有りません。

原因が判明しました。
Photoshop上でaltを押すとメニューバーにフォーカスがいってしまうのを防ぐために入れたスクリプトが原因かと思います。
*~Alt::Send {Blind}{vk07}
コイツを停止したらならなくなりました。
しかしaltのシングル押しは乱用するのでメニューバーにフォーカスがいってしまうのは防ぎたいです。
どうすれば良いでしょうか?
381名無しさん@お腹いっぱい。 (ワッチョイ b5b1-psz/)
垢版 |
2020/09/09(水) 23:54:18.84ID:hL0M52Ax0
>>378
本当にありがとうございます。
2020/09/09(水) 23:58:29.70ID:wOD155n80
>>380
{vk07}って何?
Alt単押しを無効にしたいなら何も送らなきゃいいじゃん
チルダ付けてる意味あんの?
2020/09/10(木) 00:02:19.52ID:2fAi9aLg0
>>380
photoshop autohotkey 単独alt無効
とかでググれば
2020/09/10(木) 00:32:46.56ID:Cm6y8Cq00
Photoshopがアクティブか否かでキーの割り当て変えたいなら #IfWin[Not]Active とか #If 〜 とか覚えた方が良い
2020/09/10(木) 09:36:00.17ID:fNpuGnD40
自宅PCでChangeKeyでCapsLockとカタカナ/ひらがなキーをF13・F14にして、AutoHotkeyで機能を割り当てしてて
会社PCでも同様のキー配列にしたいけど、ChangeKeyは管理者権限が必要で会社PCでは導入できないんだよね

管理者権限なしでキー配列を変更するソフトかAutohotkeyのみでCapsLock類を変更する方法ってないかな?

ちなみに以下を試してみた、らCapsLockキーが押しっぱなしな判定をされて上手く機能しなかった

;CapsLockキーにCtrlキーの仕事をさせる
Capslock::Ctrl
sc03a::Ctrl
2020/09/10(木) 14:01:22.75ID:QDyGjbxh0
今気づいたけどマスクキーの推奨が、vk07からvkE8/vkFFに変更されてるね
2020/09/10(木) 14:45:53.08ID:QDyGjbxh0
>>380
単独押しの無効化は、のどかやTAALTなどの外部アプリを試してみては
2020/09/10(木) 15:18:17.84ID:6lvL52Oq0
>>380
単独のみを無効にしたいなら"*"はいらない
wikiのホットキーの修飾シンボルの項を読み直したほうがいい
2020/09/10(木) 15:50:58.91ID:6lvL52Oq0
本家wikiに書いてあるけど>>386がレスしているように
windows10 1909からvk07がreservedになっているらしいからついでに変えたほうがいいかも
忘れたころにゲームバーが突然開くようになって面倒な思いをするかもしれない
2020/09/10(木) 16:04:05.90ID:I8YcnkKO0
>>386 >>389
無効にしたいなら何もSendしなきゃいいだけじゃないの
391名無しさん@お腹いっぱい。 (ワッチョイ b5b1-psz/)
垢版 |
2020/09/10(木) 16:05:27.96ID:2KL8uN270
皆さんありがとうございます。
>>378のスクリプトを調整すると改善されました。
しかし私の交互に連打するようなキー操作では時折例のバグが出てしまいました。
私でも調整できるようなスクリプトを提供頂き本当にありがとうございます。

vk07は no mappingを意味するらしいです。
vkE8やvkFFに置き換えてみましたが、例のバグは出てしまいました。

altのみを押してPhotoshopの表示と設定を切り替える機能があり、1日何百回も押します。
単独押し無効化をしてもこれは使えるのですが、0.1〜0.5秒程のラグができるので避けていました。
しかしバグよりもマシなので単独押し無効化しラグを容認しようと思います。
外部アプリを試してラグがなかったら、そちらに変更しようと思います。
皆さん本当にありがとうございました。
2020/09/10(木) 16:15:14.23ID:A5yC1cZ60
>>385
>18
OSに起因してる問題なので他のアプリでも無理と思う
英語版Windowsならワンチャン

keystate取れなくてリピート発生してるならタイムアウト張れるかなと試してみたが
Caps+A とか他のキーと同時押しした後はリピートも発生しなくなるから無理やった

*sc03a::
SetTimer,caps_timout,600
Send,{CtrlDown}
return

caps_timout:
Send,{CtrlUp}
SetTimer,caps_timout,OFF
return
2020/09/10(木) 17:35:40.17ID:QDyGjbxh0
>>390
LAlt::return
RAlt::return ってことかな?
これだと、他のホットキー(Alt+Dなど)も無効になってしまいよろしくないので
~LAlt::Send {Blind}{vkE8}
のようにDownとUpの間に特定のキーを挟むことでAltならメニューモードへの移行を抑止しているわけ
このような動作は、外部アプリも同様のことをしていますよ
2020/09/10(木) 17:47:55.95ID:I8YcnkKO0
>>393
Alt::Return
で単独押しはメニューバーにフォーカスしない
複数キー押しは使える

質問者もメニューバーにフォーカスするのを防ぎたいだけだろ?
何か問題あるの?
2020/09/10(木) 18:03:53.26ID:QDyGjbxh0
> Alt::Return
> で単独押しはメニューバーにフォーカスしない
> 複数キー押しは使える

で、同様の動作をしないのはおま環かな
Win7 HP SP1 x64
1.1.33.02
2020/09/10(木) 18:07:01.61ID:YkKqN8hX0
おま環だろ
2020/09/10(木) 18:34:50.10ID:I8YcnkKO0
>>395
Win10 1909
AHK U64 1.1.31.00

てか未だにWin7なんて使ってんのかよ
セキュリティ穴だらけのサポート切れてるOSなんか使うなよ
2020/09/10(木) 19:16:40.23ID:QDyGjbxh0
ID:I8YcnkKO0 さんへ

  OS違いのおま環みたいですね。ご無礼しました。<(_ _*)>
2020/09/10(木) 19:33:45.48ID:b3mtVJQc0
>>398
OSも関係ない気がするけどな
L R 指定しなけりゃAlt::ReturnでAlt+Tabなどは普通に使える
2020/09/10(木) 20:09:47.04ID:F0qFHywe0
確かに右Altだけ元の機能を残そうとか思わなければ、Alt::Returnでいけるね
Photoshopだけのスクリプトにすればこれで良いよね
2020/09/11(金) 22:56:55.34ID:G1QxvIFs0
ATOKで無変換キーを押したときに日本語入力OFF、AutoHotkeyで以下のように記載して
『無変換+2』で F2になるように設定してるんだけど、
『無変換+2』でファイル名を変更使用とすると、必ず日本語入力がOFFになる

多分『無変換+2』を入力する際に、先に無変換キーが押された判定になってると思うんだけど
AutoHotkeyの記載方法を変えて回避する方法ってあれば教えて

vk1D & 2::Send,{Blind}{F2}
2020/09/11(金) 23:10:08.16ID:nVvz5fCg0
>>401
IME.ahk使うとか
2020/09/11(金) 23:52:35.75ID:vWH9Lnrv0
ahk側の問題じゃないのでATOKの設定を変えない限り無理じゃね
IME OFFごとahkでやってしまうことは可能

・ATOKで無変換の設定を外す
・>160のIME.ahkを入れる
vk1D::IME_SET(0)
2020/09/11(金) 23:59:58.98ID:3NK9sCUm0
>>401
>多分『無変換+2』を入力する際に、先に無変換キーが押された判定になってると思うんだけど

まず「多分」とか言う前にちゃんと検証してから書き込めよ
その1行のスクリプトのみを動作させる分には「先に無変換キーが押された判定」なんてならんし
それで「先に無変換キーが押された判定」されてるとしたら他に余計な邪魔してる記述があるんじゃねえの

そもそも「ATOKで無変換キーを押したときに日本語入力OFF」というのはAHKでやってるのか、
それともATOK側のキー設定でやってるのか
もし前者ならそれが邪魔してる可能性大だから後者の方法に変えればいいし
ATOK使ってないけどIMEですら出来るんだからATOKでもキー設定くらい出来るだろ
2020/09/12(土) 00:28:29.23ID:WXHgevBG0
>>402,>>403
IME.ahkを調べてみます

>>404
無変換キーを押したときに日本語入力OFFはATOK側のキー設定を利用
vk1D & 2::Send,{Blind}{F2} のみ記載した『テスト.ahk』でも同じ症状になるから、余計な記述が原因ではないはず
2020/09/12(土) 00:50:44.32ID:B6pfhp8P0
>>405
じゃあ権限の問題ですり抜けてんじゃね
そのスクリプトを管理者顕現で実行してる?
2020/09/12(土) 01:27:21.44ID:wwfoc5Tq0
すり抜けもなにも単体押し動作についてはコード記述してないし
ATOK側で 他キーとの同時押し を考慮せず押したら必ず発火するようになってるだけでしょ
本来モデファイヤキーではないんだからある意味当然の動作
2020/09/12(土) 01:39:19.80ID:B6pfhp8P0
>>407
コンビネーションキー書いたら普通は一つ目のキーは乗っ取られるぞ
例えば
Space & 1:: Send,0
としたらチルダを付けない限りSpaceは乗っ取られるから単独押しでSpaceとして使えなくなる
Space::Space
を付け加えるとSpaceも使えるようになる(この場合はSpace単独押しはキー離した時点で送信)
無変換キーにしても普通は同じ
本来乗っ取られるはずのものが乗っ取れてないということはすり抜けてるということ
2020/09/12(土) 01:53:55.84ID:B6pfhp8P0
なので管理者権限で実行して正常に無変換キーを乗っ取れれば
vk1D & 2::Send,{Blind}{F2}
vk1D::vk1D
とすることで『無変換+2』を押した時はF2のみ送信して無変換は送信されず
単独押しした場合はキーを離した時点で無変換が送信されて日本語OFFになる
2020/09/12(土) 15:29:33.58ID:Z7QY2LvR0
ctrl+tabやctrl+shift+tabにもAltTabと似たようなスクリプトってないんですか?
例えばvscodeはctrl+tabでリストが表示されてタブが巡回されるんですけど普通に Send,^{Tab}ってやるとまともに動かなくなって不便なんですよね…
2020/09/12(土) 16:50:21.88ID:5xppWT9b0
>>410
デフォ設定だとそうなんだっけ?
自分の環境だとchrome等と同じ動作だが...
2020/09/12(土) 17:06:32.81ID:I8w0giUO0
>>410
一つずつDownとUpとKeyWait組み合わせて書けば同じことは出来るだろ
2020/09/12(土) 17:35:39.79ID:ilxyNZyz0
>>410
ttp://kantaro-cgi.com/blog/tool/vscode_tabmovekey_like_chrome.html
2020/09/12(土) 17:52:48.91ID:Z7QY2LvR0
>>412
vk1D & f::
send,{CtrlDown}
send,{Blind}{Tab}
Keywait, vk1D
send,{CtrlUp}
Return
僕の力だとこのスクリプトが精一杯で…
でもこれだと思っていたものとは全く違いすぎて詰まってしまいました…
>>413
ありがとうございます。
しかし僕はあくまでもvscodeではリスト表示にし続けたいんです。
2020/09/12(土) 18:14:30.04ID:I8w0giUO0
>>414
すまんKeyWaitは連続でTab押したいときダメだったな
vk1D & f::
send,{Ctrl Down}
send,{Blind}{Tab}
Return

~vk1D up::
send,{Ctrl Up}
Return

これなら行けんじゃね?
2020/09/12(土) 19:37:06.09ID:Z7QY2LvR0
>>415
ありがとうございました!
417名無しさん@お腹いっぱい。 (アウアウオーT Sa12-9YDN)
垢版 |
2020/09/12(土) 20:34:07.29ID:rBhzcfbaa
AHKからスクリーンセーバーを起動したいのですが
Run, "C:\Windows\System32\ssText3d.scr" /s
のように書くと、何故かファイルが存在しないというエラーが出ます
エクスプローラから見るとちゃんとファイルはありますし
コマンドラインから
"C:\Windows\System32\ssText3d.scr" /s
と入力したらちゃんとスクリーンセーバーが起動します
どうすればAHKからスクリーンセーバーを起動できるのでしょうか?
2020/09/12(土) 20:46:53.67ID:6fTrh62k0
%comspec% /c
2020/09/12(土) 21:00:14.31ID:4W6E5sSV0
>>417
その2行目コピーして実行したらエラーなく起動したけど
2020/09/12(土) 21:45:16.45ID:je+/x62Z0
>>417
SendMessage, 0x112, 0xF140, 0,, Program Manager
2020/09/12(土) 23:01:39.08ID:MCt0GW2X0
64bit版Windowsで32bit版AutoHotkey使ってない?
だったらSystem32じゃなくてSysnativeにすればいけるはず
Run, "C:\Windows\Sysnative\ssText3d.scr" /s
422417 (アウアウオーT Sa12-9YDN)
垢版 |
2020/09/13(日) 13:05:54.81ID:VsDdvnlFa
ご返答ありがとうございます
まさに64bit Windowsで32bitのAHKを使っていることが原因でした
ファイルシステムリダイレクタというメカニズムをはじめて知りました
ありがとうございました
2020/09/13(日) 16:29:57.61ID:HKoAmkYr0
wikiをみてて思ったんですけ#UseHookのデメリットってなんですか?
反応が早くなるのならとりあえずオンにしとけばいいんですかね?
424名無しさん@お腹いっぱい。 (ワッチョイ 89bd-jF+x)
垢版 |
2020/09/13(日) 19:35:14.15ID:BYR+nd6M0
>>423
全てのホットキーに$をつけたときと同じになる(ソフトウェア的なキーボードイベントを無視する)
これがメリットでありデメリット
個別に細かい調整がしたいなら#UseHookは書かない

メリット: $書く手間が省ける
デメリット: 個別に$なしのホットキーにできない
2020/09/13(日) 20:25:54.96ID:2su4JZVF0
#UseHookはON/OFF出来るし複数の箇所に記述することも可能
だからフックするエリアをON-OFFで囲うことでフックしないエリアと別にできる
スクリプトが長くなるとフックしてるエリアか否か分かりにくくなるかもしれない → デメリットかな?
2020/09/13(日) 20:42:26.32ID:3sOtZfCH0
>>423
俺もよく分かってないけどとりあえず#UseHook ONにして使ってるよ
2020/09/14(月) 09:19:01.24ID:pZOOkKBQ0
今のところ、ONで困ることがないからONにしてる
2020/09/16(水) 05:19:25.53ID:uM6IGn9Q0
sysgetで現在のモニターリフレッシュレートを取得したいのですが、どうにもうまくいきません。
どなたか助けて下さい。
429名無しさん@お腹いっぱい。 (ワッチョイ f776-lMKa)
垢版 |
2020/09/16(水) 10:26:38.51ID:6p38klUn0
左Alt + Ctrl で ShiftAltTab 機能するようにしているのですが
その後にAltキーを離したら、アクティブになったウィンドウに
マウスカーソルを飛ばしたいのですが、下記では上手くいきません。
どのようにしたらよいでしょうか教えて下さい、、

LAlt & Ctrl::ShiftAltTab
KeyWait, Alt
Sleep, 200
WinGetActiveStats, Title, Width, Height, X, Y
MouseMove, Width / 2, Height / 2
return
2020/09/16(水) 12:04:50.41ID:ZEJxUAhI0
>>428
sysgetにはそんな機能元から無いんじゃね

>>429
ホットキーを一行で表記したコマンドは二行目以降は実行されない(一行で完結してる)
ShiftAltTabは一行表記専用コマンドなので他の動作を追加したいなら>>415を参考に一つずつバラして書きな
2020/09/16(水) 16:18:52.64ID:uLS/Sq6S0
英字キーボードでワンキーでディスプレイ切るとしたら、どのキーに割り当てますか?
Pause?Ins?
Functionキーはなんかで使うかもしれないから避けたいです
2020/09/16(水) 18:16:32.55ID:uM6IGn9Q0
リフレッシュレートの取得ですが、海外本スレでみつけました。
おさわがせ。
VarSetCapacity(DM,156,0), NumPut(156,&DM,36, "UShort")
DllCall( "EnumDisplaySettings", UInt,0, UInt,-1, UInt,&DM )
msbox, % NumGet(DM,120)
2020/09/16(水) 19:08:18.37ID:dPBJtla40
>>429
ウィンドウ切替時のイベントをフックすればいい
ttp://sites.google.com/site/agkh6mze/howto/winevent
2020/09/17(木) 11:55:02.84ID:PwvllNHp0
windowsアップデートで以下の記述が機能しなくなってしまいました。
どうすれば機能する様になりますかね…。

;Apple_keyboard_wired
#USEHOOK
sc071 Up::Send,{vkF4}
sc072 Up::Send,{vk1D}
#USEHOOK off
2020/09/17(木) 15:54:57.20ID:4vwGVhL7a
#Includeが関数の中だとエラーだといわれて使えなくなるんですけど使えるようにする方法ってないですか?



動く
#Include %A_ScriptDir%\hoge.ahk


動かない
aaaaa()
aaaaa()
{
#Include %A_ScriptDir%\hoge.ahk
}
2020/09/17(木) 16:26:15.37ID:tO5z1xrf0
>>435
関数内でも使えなくならない
エラーになるのは別の理由

エラーの内容くらいちゃんと読みなさい
2020/09/17(木) 17:05:24.36ID:4vwGVhL7a
エラーでググってもわかりませんでした・・・
line text: findtext_Gui(cmd,arg1:="")
error.funcitons cannot contain functions.

細かく書くと
”hoge.ahk”は”FindText.ahk”というImagesearchの便利版みたいなので作るファイルですが、(”hoge.ahk”で”FindText.ahk”を呼び出して動作するようです)
原因も対処法もさっぱりです・・・
2020/09/17(木) 18:54:36.60ID:tVqWQN2B0
>>437
関数の中に関数を含むことはできません
https://www.google.co.jp/search?q=AHK%20cannot%20contain%20functions%2E
2020/09/17(木) 19:12:30.56ID:4vwGVhL7a
>>438
そうでしたか・・・
FindText.ahkはボタンを押すのに便利だと思ったけど別の方法を考えてみますありがとうございました
2020/09/17(木) 19:16:46.85ID:in4j28AM0
>>437
少なくとも再現できる最少のコード貼ってもらえないとこっちも"さっぱり"なんだが…

>line text: findtext_Gui(cmd,arg1:="")
関数の引数に「arg1:=""」のような「:=」は書けなかったような → 「arg1=""」と修正したらどうか?
動かなかったらスマンね
2020/09/17(木) 19:18:37.25ID:in4j28AM0
>>440
何かオレ頓珍漢なこと言ってたみたいね、恥ずかし(´・ω・`)
2020/09/17(木) 19:49:31.71ID:EXtdT3ICM
多分FindText.ahkで関数使ってるのにそれごと#Includeした上で関数で包もうとしてるんでしょ

hoge.ahkの#includeを外して

#Include FindText.ahk
aaaaa()
aaaaa()
{
#Include %A_ScriptDir%\hoge.ahk
}
でいけんじゃね

まあ自分ならaaaaa()はhoge.ahk側で関数化するけど
2020/09/17(木) 20:17:00.79ID:yCKYDmYd0
ID:4vwGVhL7a
FindText.ahkの使い方が間違っている気がするけど...

>>440
引数のデフォ値のコロンなしは今は推奨されてないよ
> The use of = (without a colon) is permitted for backward-compatibility, but not recommended, and will not be permitted by AutoHotkey v2.
> Regardless of which operator is used, default values which are strings must always be enclosed in quote marks.
2020/09/17(木) 21:34:25.52ID:in4j28AM0
>>443
どうも
そうだったのか…自分は1.1.33.02使用中だがあらためて付属の英語版ヘルプ読んでみたらそういう表記になっていた
でも中途半端だよな、スクリプトへの引数の数や内容を変数に代入する時は「=」と「:=」表記で内容変わってくるし
個人的には全て「:=」表記に統一して欲しいよ、ややこしくて仕方ない(あと「%」表記も)
2020/09/17(木) 23:26:30.53ID:NLqmKNHf0
01234567890abcdefghi・・・って文字列があったとして
n番目の位置の文字を抽出するってどうやるんですか?
2020/09/17(木) 23:32:33.20ID:tO5z1xrf0
http://ahkwiki.net/Commands_Category#str
2020/09/17(木) 23:33:31.85ID:lrp/kY8K0
>>445
autohotkey 文字列 n番目
でググると3つ目に出てきた、SubStr()を使うと良いのでは?
■ このスレッドは過去ログ倉庫に格納されています