探検


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/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は管理者権限でメモ帳が開かれてしまうのですが何か管理者権限として実行しない対策はないんですかね?
2020/09/25(金) 21:02:28.92ID:+wDzDU+n0
Menu, Tray, add, Edit_hogehoge
Return

Edit_hogehoge:
RunAs, (ユーザー名), (パスワード)
Run, notepad.exe %A_ScriptFullPath%
RunAs
Return

メニューに別途エディットコマンド追加してRunAs
メニューの名前はお好きなように
2020/09/25(金) 22:07:12.14ID:UGj2yKOjM
>>469
やっぱり直接的な対策はないのですね…
ともあれありがとうございました。
2020/09/26(土) 00:11:33.28ID:QPxTUZHr0
>>470
余談だがメニューにエディットコマンド追加はDefaultにしておけばトレイアイコンダブルクリックでエディタ起動も出来て便利
2020/09/26(土) 00:15:07.32ID:QPxTUZHr0
>>470
あと直接的な対策って意味がよく分からんのだが
そもそもエディタが管理者起動されて困る理由は?
起動時に確認メッセージ出てきて煩わしいってならUACの設定を低くしとけばいいだけだし
むしろ俺はエディタは敢えて常に管理者権限起動してるわ
2020/09/26(土) 11:16:13.41ID:+l/xFA1QM
変換キーとタッチパッドのタップでマウスホイールボタンのタップにしたかったのですが、この記述だと変換を押しながらタッチパッドで移動したあとはMButtonが動作しません。何か対策はありますか?
変換キーはf14を割り当てています。
f14 & LButton::Send, {Blind}{MButton}
2020/09/26(土) 14:47:35.77ID:QPxTUZHr0
>>473
問題無く動くぞ
2020/09/26(土) 18:47:48.56ID:gI0ar3qsM
>>474
ありがとうございます。このコメントを見て前に使っていたパソコンで試したら普通に動作しました
新パソコン HP SPECTRE x360 13
旧パソコン NEC 法人向けパソコン (core i5 の第8世代)
両方ともwindows10でアップデートはしています
全く同じスクリプトでosも同じでも動作が変わることがあるんですね
2020/09/26(土) 19:35:37.54ID:QPxTUZHr0
>>475
動作が変わるのは必ず理由がある
そういうのをおま環と言うわけで
2020/09/26(土) 19:58:05.39ID:2y66JUT00
おま環て言葉は全てを飲み込んでて便利だけど
役には立たないな
2020/09/26(土) 20:02:44.95ID:9mJySQ+70
>>477
おま環かおま環じゃないかの切り分けは大事だろ
トラブルシューティングにおける基本中の基本
現に>>473はその切り分けすら出来ずに質問してたわけだしな
2020/09/26(土) 20:55:15.81ID:b8mjfegu0
まずは、新パソコンと旧パソコンに常駐しているソフトが全く同じなのかどうか
2020/09/26(土) 21:29:01.67ID:f4zsWHI60
すいません、お騒がせしてますね。
解決はできなかったですが、スクリプトじゃなくその他が原因だとわかったのはとてもありがたいです。
2台のパソコンは常駐ソフトは似てますが全部は同じではありません。
2020/09/27(日) 14:41:21.39ID:StjMx0SL0
タスクビューが1万倍使いやすくなった

#IfWinActive,
!Tab:: ; Alt+Tabでタスクビューを表示
Send,#{Tab}
return

;; タスクビュー
#IfWinActive, タスク ビュー ahk_exe explorer.exe
+!Q::EditMe(A_LineFile, A_LineNumber)

w::up
a::left
d::right
s::down
q::#^left
e::#^right
2020/09/27(日) 14:49:53.29ID:StjMx0SL0
f::LWin
目当てのアプリがないならfから起動できるとなおいいな
2020/09/27(日) 15:21:40.68ID:7rVPZP7w0
Autohotkeyのアイコンを右クリックしてopenした時と同じ様な動作をするスクリプトはどうやればいいのですか?
2020/09/27(日) 16:28:31.83ID:ZLd5kCP80
>>483
専用のコマンドは無いんじゃないかな
キーボード操作をマクロ化するなら>>221
頭文字「A」の常駐アプリがトレイに複数ある場合はAを複数回押せばいい
2020/09/27(日) 16:45:19.32ID:ZLd5kCP80
今夜はRIZINか
天心がバカンサイ人皇治をボコるの楽しみだな
2020/09/27(日) 16:45:39.69ID:ZLd5kCP80
すまん誤爆った
2020/09/27(日) 17:17:45.48ID:YgR/T/tm0
>>483
ListLinesのこと?
2020/09/27(日) 17:26:55.85ID:mzMuBKWz0
>>483
ListLines

Viewメニュー内のその他の項目も

ListVars
KeyHistory
ListHotkeys

でそれぞれ直接指定可能
2020/09/27(日) 19:15:57.97ID:4+4A5UVO0
>>483
DetectHiddenWindows
SetTitleMatchMode
PostMessage
2020/10/02(金) 15:18:29.95ID:GM4xvjP40
トラックパッドの4本指の左右ジェスチャの仮想デスクトップの切り替えの
にゅるっとした動作の量を測って、何回振ったら何の動作するってやりたいんだけど
仮想デスクトップの切り替え中のアニメーション遷移してるパラメってどこ見ればいいんでしょ
2020/10/02(金) 16:33:04.78ID:voPv3vuf0
トラックパッドの特殊ジェスチャーはAHKであれこれするの無理じゃね
2本指スクロール程度ならキーヒストリーでも検出できてるけど
3本指左右(タスク切り替え)とか4本指左右は何も検出されないし
2020/10/12(月) 15:31:13.11ID:DEG2vDeD0
ctrl alt deleteって割り当てるの不可能?
プログラムキーボードでも割当不可だからやっぱり無理なのかね
2020/10/12(月) 16:00:57.42ID:VphcfQuD0
Send, ^!{Del} は反応しないね
でも使うのってタスクマネージャーくらいじゃね?
Run, taskmgr.exe
で起動できるからctrl+alt+delete割りあてる必要も無いんだが
494名無しさん@お腹いっぱい。 (ワッチョイ db05-IVWr)
垢版 |
2020/10/13(火) 21:15:38.19ID:WIV8aGwm0
IMEがオンの時だけ、
「x」キーと「ー」を入れ替えたい

;;☆Google Chrome
;;☆Microsoft Edge
LAlt & w::Send,^w
2020/10/13(火) 22:07:35.42ID:5Y5Xe4mA0
>>494
>IMEがオンの時だけ、「x」キーと「ー」を入れ替えたい
IME.ahk使えば実現できるんじゃないかな

下3行の意味が分からない
2020/10/14(水) 08:41:21.44ID:WcY97C4k0
>>494
全角のエックスを打てなくなりそうだけど良いの?
2020/10/16(金) 02:29:08.51ID:kB4NCdNb0
キーボードが手元にない時にマウスだけでホットキーが出来ないか試行錯誤してます
やりたいことは下記です

「Lボタンを押しながらマウスホイールを下に回転させた場合に発動」

LButtonWheelDown::
LButton,WheelDown::
{LButton}{WheelDown}::

いずれの方法でもホットキーが実行されませんでした

どなたかアドバイスいただけますでしょうか

またマウスでのホットキー実行についてこの方法の方が便利だなどありましたら
そちらも教えていただきたいです
498名無しさん@お腹いっぱい。 (ワッチョイ 9f5a-fMdf)
垢版 |
2020/10/16(金) 02:39:14.20ID:jICo6JW00
>>497
Wikiをきちんと読もう
2020/10/16(金) 03:30:31.16ID:kB4NCdNb0
>>498
とりあえずホットキー関係とマウス関係のページは読みましたが参考になる記述は見つかりませんでした…
2020/10/16(金) 03:34:12.13ID:UZRXYnGU0
>>499
ホットキーの中に必ず書いてある
ちゃんと一行ずつ理解しながら読め
2020/10/16(金) 05:30:11.79ID:kB4NCdNb0
みつかりました
&でつなぐんですね…なるほど


ホットキーの出し方はわかったものの機能の実現は出来なかったので続けて聞かせてください


・やりたいこと
デュアルモニター使用時に、マウスを使ってアクティブなウィンドウをモニター間を移動させる
(デュアルモニターだけど横に並べずにお互いに見えない位置に置いている、リビング用とキッチン用モニター)

アクティブなウィンドウをモニター間移動するショートカットはシフト+Win+→キーなのでこれを使う


・書いたコード
マウスを右クリしながら左クリックで発動(発動の仕方は何でもよい)

~RButton & LButton::
Send +#{Left}
Return


・結果
アクティブなウィンドウが目の前のモニターにある時は、他のモニターにウィンドウを移動出来た
しかし、見えない他のモニター上のウィンドウを目の前のモニターに移動させることが出来なかった

タスクバー上で目的のウィンドウをクリックしていったんアクティブにしても
ホットキーを使ったとたん、マウスカーソルの位置がクリック状態になるのが原因



ここまでで力つきました、どなたかアドバイスなどお願いします
2020/10/16(金) 05:39:16.59ID:QFUkX31o0
マウス操作がメインならMouseGestureLを使いなさいと
ahkのスクリプト知識がなくても大概のことができる
2020/10/16(金) 09:16:33.87ID:QGtun8kL0
マウスクリックした段階でクリック位置にフォーカス切替わるのがOS仕様なので
>502の言うようにマウスジェスチャソフト使うか
~外してXbutton12などのドラッグに影響のないボタンに割り当てる方がスマートだと思うけど
どうしても右クリトリガでやりたいなら実行前に Send !{Tab} 入れて失ったフォーカスを戻してやったらいいんじゃね
時間調整は適当にsleep入れる

けど根本的な問題としてディスプレイ設定ををミラー(複製)で使うのではあかんのか?
2020/10/16(金) 10:20:29.34ID:kB4NCdNb0
>>502
>>503
マウスジェスチャーをAHKで書くの面倒だなと思ってたんですが
書いて配布してる人がいたんですね、便利、後で試してみます

たしかにデュアルで使う意味あるのかと思われるでしょうが、
HDMI切り替えで更にもうひとつのモニターを拡張?で使う機会があるので、
マウス操作で切り替えが便利なのでした

ありがとうございます
505名無しさん@お腹いっぱい。 (ワッチョイ eb76-T518)
垢版 |
2020/10/18(日) 00:02:18.85ID:Cg8HaPH50
以下のスクリプトについて、改善案を頂きたいです。
https://pastebin.pl/view/0c9f86a2
※PasteBinからコピペして動かしてみてください。

このスクリプトでは、例えば次のように、キーボードをスクリプト実行用の盤面にシフトして運用することができます。
「変換+Aの後R押下::AutoHotkeyをリロード」
「変換+E→C::1行コピー」
「変換+E→D::全消去」

問題点は、
@上記スクリプトにて☆をコメントした部分について、スクリプト登録の際に複数回同じ文言を入力する必要がある。
Atoggle_aが有効な状態でtoggle_eも有効にしてしまうことが可能。
です。

この解決のためにヒントを頂きたく思い、書き込みました。

便利ではあると思いますので、ぜひ使っていただきたいという思いと共に、改善を施せればと思っております。
2020/10/18(日) 00:32:43.14ID:8B492qWs0
function内にstaticでフラグ持っときゃいいんでない?
2ストロークキーについては車輪の再開発な気がしなくもないが
2020/10/18(日) 08:49:56.58ID:IpkYdAIV0
>>505
俺が自前で2ストロークキーを実装した時は、
Input,key,L1 T10.0,{Space}
で次の1キーが押されるのを待って
if(key=="c") とか if(key=="d") で分岐してたなぁ。
2020/10/18(日) 09:08:07.38ID:LZFs63+60
>>507
{
if key = c
ほにゃ
ふが
}else{
じゃあかんの?昔の.ahkにそんな書き方してあるけど

マルチストロークもあった気がするけどどこだろう……
2020/10/18(日) 11:56:02.54ID:tErQ0Iyy0
>>505
自分ならこういじるかな
ttp://pastebin.pl/view/raw/c743ddba
2020/10/18(日) 14:38:25.01ID:tErQ0Iyy0
>>509は、なんかいろいろとおかしいのでスルーしてください。<(_ _*)>
511名無しさん@お腹いっぱい。 (ワッチョイ 8230-8DiG)
垢版 |
2020/10/21(水) 17:33:42.16ID:p/8W4acR0
3を押したらF3を出力して、
その後5000msの間、3を押してもF3を出力させない
というスクリプトをつくりたいんだけど
Blockinputで特定のキーの入力だけブロックすることができないから困ってます。
なにかほかに手はないでしょうか
2020/10/21(水) 18:05:58.87ID:gKsHzB9x0
send前にif分岐してA_TimeSincePriorHotkeyが5000ms未満だったら弾けばいい
513名無しさん@お腹いっぱい。 (ワッチョイ 8230-8DiG)
垢版 |
2020/10/21(水) 19:18:17.24ID:p/8W4acR0
なるほどそんな手が!ありがとう
514名無しさん@お腹いっぱい。 (ガックシ 06e6-bMs7)
垢版 |
2020/10/22(木) 00:36:46.32ID:+oFWEyP36
>>505です

皆さんありがとうございます。
時間が取れなくなったため、お礼だけ言いに来ました。

頂いた情報をもとに、近いうちに改めて検討してみます。
515名無しさん@お腹いっぱい。 (ワッチョイW 712d-rZCk)
垢版 |
2020/10/22(木) 11:29:24.22ID:uHQQeSKa0
ええで
516名無しさん@お腹いっぱい。 (ワッチョイ 46c0-8DiG)
垢版 |
2020/10/22(木) 17:31:33.33ID:k3pJj+AJ0
設定に苦慮しており、助けていただけると嬉しいです。

やりたいこと:テンキーのEnter(NumpadEnter)を押している間、Ctrl+Shiftに置き換えし、
テンキーのEnter(NumpadEnter)を二回押し、2回目を押している間、Ctrlに置き換え。

*NumpadEnter::
Keywait, NumpadEnter,
Keywait, NumpadEnter, D T0.15

で色々試していますが、二度押し&押しっぱなしにしか対応できず困っています……。
よろしくお願いします。
2020/10/23(金) 19:49:38.35ID:6sZqIp1O0
iTunesの再生停止、曲送りを割り当てることって出来ないですかね
Media_Play_Pauseを使っても動かなくて困っています
powermateのような外部デバイスでの再生停止は動くのですが…。
2020/10/23(金) 22:24:48.75ID:xLBME1pE0
>>517
諦めたんじゃなかったのかw

COMオブジェクト操作したり
https://note.com/takanaction/n/n608bd1c598b9
ショートカットキーを送ったりすれば良いんじゃない?
https://www.autohotkey.com/boards/viewtopic.php?t=62090

メジャーなソフト用のスクリプトはいろんな人が作ってるから、「autohotkey itunes」みたいにググって参考にすると良いかも
2020/10/23(金) 23:06:56.54ID:0x9R3Tzg0
>>517
>>336-340辺りのやつか?
まずはメディアキー自体が正常に機能しないお前のPC環境の問題を解決しろって
iTunesに限らずメディアキー自体が効いてないってことはahkの問題じゃないんだから
2020/10/24(土) 02:19:29.00ID:T5kTB8Vu0
>>519
iTunesにメディアキーを送るソフトを使用した所
https://i.imgur.com/0vvO32H.png
このようにFailed to set hotkeyのエラーが出ました。
メディアキーの機能が死んでいるのは明白なのですが、メディアキーを復活させる方法が一向に分かりません。

かなり調べたのですが出てきたこちらの記事を
https://www.reviversoft.com/ja/blog/2014/06/what-to-do-when-your-media-keys-no-longer-work-on-your-keyboard/
試したのですがやはり駄目でした。(Human Interface Device Accessはそもそも動いていた)

windows10のメディアキーが効かない場合に動くようにする方法は無いでしょうか…。
本当に情報がありません。
2020/10/24(土) 02:27:13.11ID:S/98U1OW0
>>520
ス レ チ
2020/10/24(土) 03:24:06.87ID:T5kTB8Vu0
>>521
そうですよね windowsスレやソフトスレで聞いても誰も分からなかったのでつい質問してしまいました
すいません
2020/10/24(土) 03:28:27.47ID:+MpvyafJ0
当たり前だろ
誰もお前のPC環境全く知らないし
触ってみなきゃ分かる訳ねえんだから
2020/10/24(土) 05:43:40.33ID:DDIUlkSX0
>>517
powermateのドライバとかが競合してんじゃないの?
2020/10/25(日) 12:47:57.82ID:aQtH8BBo0
ユーザー切り替えした時切り替え前のアカウントで動作させ続けるのは可能?
loopカウントを数えるだけのスクリプトは裏で動いてたけどメモ帳に文字を送り続けるようなやつは切り替えの時点で途切れてる
UWSCでも同じ感じで駄目だったし元のアカウントでのウィンドウのアクティブ化はやっぱり無理かな
2020/10/25(日) 15:16:53.36ID:cnuvEfeua
>>525
>ユーザー切り替えした時切り替え前のアカウントで動作させ続けるのは可能?
それができたらOSの欠陥だと思うけど
どういう理由でアカウントを切り替えて切り替え前のユーザのプログラムを継続させたいいんだ?
ユーザをログアウトせずにあるプログラムだけ別アカウントで動作させることができる
(runas ソフトによってはできない)が
そういう方法と組み合わせて近いことをすることはできないのかな
2020/10/25(日) 15:30:25.71ID:cnuvEfeua
>>526
ユーザー切り替えなのでログアウトは間違い
誤:ユーザをログアウトせずに
正:現在のユーザーのまま
2020/10/25(日) 15:36:37.14ID:cnuvEfeua
>>526
なんか勘違いしてた
切替えた先のユーザが切替え前のユーザのプログラムを確認すると途切れてるということではなく
前のユーザに戻ったときに途切れてるということか
2020/10/25(日) 17:47:07.25ID:uaVWnWQJ0
>>525
GUIの操作は無理じゃない?
vimとかnanoみたいなコンソール型のテキストエディタのwindows版を使ったら?
2020/10/25(日) 21:50:52.06ID:aQtH8BBo0
裏でGUI操作させたままユーザー切り替えするのは無理そうですね
ありがとうございました
2020/10/26(月) 23:55:07.30ID:0nLQayUp0
最新のMS-IMEの仕様だと、
Autohotkey IME制御用 関数群 (コピペ/組込用)(IME.ahk)
の更新が必要か?
2020/10/30(金) 17:11:57.65ID:Ndf4EDLW0
>>531
IMEが有効な時にキーの置き換えを無効にしたくて、特定のアプリでは無効になってくれるのに
メモ帳では無効になってくれません
これってその仕様のせいですかね?


#include <ime>
#If ! IME_GET()
a::b
#If
Return
2020/10/30(金) 18:12:07.34ID:Ndf4EDLW0
指定したアプリ以外ではスクリプトを無効にしたいのですが、”#IfWinActive”で指定しても、”#If ! IME_GET()”を入れると指定以外のアプリで実行されてしまいます
指定したアプリ以外の場合は”#If ! IME_GET()”の部分を読まないようにするにはどうすればいいでしょうか


#IfWinActive ahk_exe notepad.exe

#include <ime>
#If ! IME_GET()
a::b
#If

Return

#IfWinActive
2020/10/30(金) 18:28:45.29ID:PSQm7T6f0
#If~ は次の #If~ が出現するまで有効、つまり一行目の #IfWinActive ahk_exe notepad.exe は無意味

条件を複数指定したければ式を引数に取る #If を使う。↓こんな感じ

#If WinActive("ahk_exe notepad.exe") && !IME_GET()
2020/10/30(金) 19:23:52.66ID:Ndf4EDLW0
>>534
やりたいことができました!感謝します!!
2020/11/01(日) 18:48:49.89ID:f8skW5aS0
複数のスクリプトを起動させている時のリロードは全てのスクリプトがリロードできるのでしょうか?
2020/11/01(日) 19:11:40.19ID:Lmt/WVPq0
>>536
ABCDの4つのahkが起動している時、Aのahkでreloadを実行すると、BCDのahkもreloadが実行されるのか?
という質問ならノー。
2020/11/01(日) 19:14:51.80ID:cum2FKsZ0
自分だけだよ
ただ親スクリプトのautoexecuteで子スクリプトをまとめて起動して
全ての子スクリプトを #SingleInstance FORCEにしておけばリロード一発で全再起動にはなる
2020/11/01(日) 20:13:11.39ID:f8skW5aS0
>>537-538
ありがとうございます。その方法を調べて試してみます
2020/11/01(日) 21:38:30.40ID:+lp4/pQd0
今まで使えてたんですが、最近のバージョンアップのせいか、気づいたら使えなくなってました。
仕様変更があったみたいなインフォあったらページ教えてくれると嬉しいです。

キーを長押しした場合に分岐する関数です。
この「Time=0.2」の部分が機能しなくなりました。
初期値を指定して省略する、ということをせず、
関数を呼び出す際、省略せずに逐一「,"0.2")」と記述すれば機能するので、
現状すべてそれで修正しました。

また、数値を「Time=0.5」にすると一応分岐が機能するんですが、
体感的にどうも1.0秒くらい押しておかないと長押し判定されないんです。

Hold(Key, SendA, SendB, Time=0.2)
{
KeyWait, %Key%, T%Time%
If (ErrorLevel=0)
{
Send, %SendA%
}
Else
{
Send, %SendB%
KeyWait, %Key%
}
}

F1::Hold("F1", "{F1}", "^{F1}")
2020/11/02(月) 04:26:40.82ID:YjDJU8KL0
すみません自己解決しました!
バージョンアップのせいなんかじゃありませんでした・・・

別の関数の都合で以下のようなものを書いていたのですが、
SetFormat, float, 3.0
これ計算結果に対してだけ効果のあるものだと思ってたんですが、
関数の初期値に指定した数値にも影響するみたいでした。
0.5という指定のときに1.0に四捨五入されるのも納得です。

自分がアホでした、スレ汚しごめんなさい。
2020/11/04(水) 07:17:56.05ID:fAt0anr70
PageUpをWin+L(ロック)にしたいのですが、上手く動きません

PgUp::#l
で動きません…
これは何が原因なのでしょうか
2020/11/04(水) 07:27:24.69ID:fAt0anr70
>>542
自己解決しました
DllCall('LockWorkStation')
2020/11/04(水) 07:50:49.25ID:hfaH06vJ0
珍しいやつがいるな
545名無しさん@お腹いっぱい。 (ワッチョイ 6176-9BKS)
垢版 |
2020/11/04(水) 17:16:09.35ID:1IOEDSZU0
真にマルチスレッド化する方法は、どうしてもないのでしょうか?
例えばAutoHotkey.exeをコピーして、別で実行してみても、それぞれのスクリプトは疑似マルチスレッド的に動作しています。
PCの一般ユーザーでエンジニアではないです。根本の仕組みがわからないために湧いた疑問なのですが、
何とかして別のソフトのように実行できないものでしょうか?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況