探検


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/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()を使うと良いのでは?
2020/09/17(木) 23:45:39.08ID:vGzWcsVz0
正規表現でしょうね
2020/09/18(金) 03:11:07.54ID:N7Izm2Ama
>>442

hoge.ahkの#includeを外して

#Include FindText.ahk をあらかじめ書いておくことで動作しました

ありがとうございました
2020/09/18(金) 14:36:49.81ID:tdDbvR3p0
>>430
>>430
アドバイスありがとうございました!
全部バラしてやってみようと思います。
451名無しさん@お腹いっぱい。 (オッペケ Srcb-olMd)
垢版 |
2020/09/19(土) 01:22:57.56ID:LPvHgbsEr
無理だとは思うのですが、エクスプローラにて、
「今現在自分がいる場所のフォルダ名をペーストする」という機能はさすがに作れないですよね…
動画制作の際、フォルダ名を付け、その中にプロジェクトファイルの雛形をコピペするのですが、その際にプロジェクトファイルにもフォルダ名と同じ名前を付けなければいけません。
今現在のフォルダ名、というか一つ上の階層名をコピーというものがあれば実現は出来そうなのですが…さすがに厳しいでしょうか?
宜しくお願い致します。
2020/09/19(土) 02:05:40.95ID:ijfcb9lz0
タイトルバーにフルパス表示する設定にしてwingettitleするか
アドレスバーからパスを取得
substrなりregexなりStrSplitなりで最右の \ から右側の文字列を取り出す
2020/09/19(土) 02:25:43.69ID:jl8WgP3W0
むしろタイトルバーにフルパス表示しない設定にしといてウィンドウタイトル取得すれば今いるフォルダ名を取得できる
2020/09/19(土) 04:45:30.29ID:u6F+ZqQE0
>>451
Explorer関連はShellオブジェクトを使うと大体解決する

選択されたファイル/フォルダまたはカレントフォルダのパスを取得
https://www.autohotkey.com/boards/viewtopic.php?style=17&;t=60403
2020/09/19(土) 15:12:47.55ID:nTmhGbnM0
>>452->>454
ありがとうございます
フォルダタイトルを取得してコピペという動作にすればいいのは分かったのですが、その書き方がどれだけ調べても分かりません

;エクスプローラのタイトル取得してコピー
;Alt+Shift+Cでタイトルをコピー
#IfWinActive,ahk_class CabinetWClass ;エクスプローラのクラスがある時
!+c::
WinGetTitle,title,

これ以降のフォルダタイトルを取得、クリップボードにコピー、ペーストの一連の書き方が分からず手詰まってします。
どなたか分かる方いらっしゃいますでしょうか。お願いします。
2020/09/19(土) 15:17:29.28ID:Fn8EPBHg0
>>451
1) ファイル作成
  今現在自分がいる場所のフォルダ名をペーストする.ahk → %ProgramFiles%\AutoHotkey\Scripts
2) レジストリ登録
3) 実行
  ファイル選択 右クリック→リネーム→

■今現在自分がいる場所のフォルダ名をペーストする.ahk
SplitPath, 1, FileName, FolderPath
SplitPath, FolderPath, FolderName
;追加
nName := RegExMatch(FileName, "^" FolderName) ? FileName : FolderName "_" FileName
;リネーム
IfNotEqual, FileName, %nName%, FileMove, %1%, %FolderPath%\%nName%

■レジストリ登録
MsgBox, 262452, AutoHotkey, レジストリに値を書き込みますか?
IfMsgBox, No, ExitApp
RegWrite, REG_SZ, HKCR\*\Shell\リネーム, MUIVerb, リネーム
RegWrite, REG_SZ, HKCR\*\Shell\リネーム, SubCommands
RegWrite, REG_SZ, HKCR\*\Shell\リネーム\Shell\1,, 今現在自分がいる場所のフォルダ名をペーストする
RegWrite, REG_EXPAND_SZ, HKCR\*\Shell\リネーム\Shell\1\Command,, "`%ProgramFiles`%\AutoHotkey\AutoHotkey.exe" "`%ProgramFiles`%\AutoHotkey\Scripts\今現在自分がいる場所のフォルダ名をペーストする.ahk" "`%1"
2020/09/19(土) 22:28:05.81ID:nTmhGbnM0
>>456
ありがとうございます。
ただ本当に分からなくて申し訳ないのですが、このレジストリ登録の記述は、vbsでは無いのでしょうか?
.vbsで記述して実行してもエラーが出るので…。申し訳有りませんがご教授いただけるとありがたいです。
2020/09/19(土) 22:48:36.12ID:jl8WgP3W0
>>455
エクスプローラーの設定でフルパスを表示しない(今いるフォルダ名をウィンドウタイトルにする)
WinGetActiveTitleでウィンドウタイトル=今いるフォルダ名を取得して
Clipboard = %title%
にしてファイル名にペースト
2020/09/19(土) 23:12:30.24ID:Fn8EPBHg0
>>457
AutoHotkey Script(.ahk) です

参考程度に今日の成果物おいときます
ttp://pastebin.com/raw/sNywf1Aj
2020/09/21(月) 07:25:31.36ID:r/YWuZyE0
AHKスクリプトの呼び出し用にUSBテンキー買おうかと思ってるんだけど
キーボード側のテンキーと区別して
XNUM1~XNUM9みたいに特別なキーとして振る舞ったり出来るやつないかな
2020/09/21(月) 09:59:07.93ID:YT0rcHXY0
>>460
一番簡単なのはプログラマブルテンキーやOrbweaverなど買ってF13〜F24や直接スクリプト実行を割り当て

普通のテンキーで何とかしたいならAHKHID.ahkでデバイス判別
2020/09/21(月) 10:53:21.35ID:D1yU57jf0
AHKHID.ahkはデバイス一覧取得して判別&選択用の設定部UI作ったら
汎用で使いやすくなりそうなんだけど
そこ作るのが一番面倒くさそうで放置してるわ
2020/09/21(月) 12:54:50.83ID:8BA0BlpWM
すり抜けが多発するようになったのでkeyhacに乗り換えます。
2020/09/24(木) 17:17:31.43ID:X28ILbsz0
右下ら辺にウィンドウとか出さずただ文字だけを表示する様なGUI操作をしたいのですがどうすればいいのでしょうか?
2020/09/24(木) 18:21:19.01ID:1NTOBJJR0
ahk osd とかでググるとサンプル出てくると思うが
タイトルバーや枠のないGUI作って背景を透明化
2020/09/24(木) 19:04:51.33ID:VpwFtp1l0
同じ動作を2パターンのショートカットキーに割り当てる方法は、2回同じ記述をするしかないのでしょうか?
2020/09/24(木) 19:11:29.35ID:aPeNe1Ff0
>>466
同じ動作ならまとめて書くことは出来る

F1::
F2::
Msgbox, F1またはF2が押されました
Return
2020/09/25(金) 19:40:29.19ID:R2uxAA1p0
管理者権限で起動したAutoHotkeyのEdit This Scriptは管理者権限でメモ帳が開かれてしまうのですが何か管理者権限として実行しない対策はないんですかね?
■ このスレッドは過去ログ倉庫に格納されています