元スレ
1 :名無しさん@お腹いっぱい。 :2019/04/20(土) 23:32:53.28 ID:cTmLtZyf0.net
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part26
https://egg.5ch.net/test/read.cgi/software/1524647289/
■日本語解説等
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 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
165 :名無しさん@お腹いっぱい。 :2019/06/04(火) 22:47:51.14 ID:jTUzc3z70.net
54 :名無しさん@お腹いっぱい。 :2019/04/28(日) 21:59:53.64 ID:fWI8wbzJM.net
最近の話じゃないけど
リダイレクトホイールでホイールが急に遅延して
その間まったくスクロールが効かなくなることはよくあった
そのまましばらく放置してると忘れた頃にアクティブウィンドウがスクロールしまくる
最近はだいぶ頻度は下がった
170 :名無しさん@お腹いっぱい。 :2019/06/07(金) 11:14:32.49 ID:0dL4X5eu0.net
動いたんならいいけど それChoromeかつGoogleの時しか動作しないんじゃね
>162の
>もしもアクティブタイトルがGoogleだったら何もしない
とは話違ってきてないか
220 :名無しさん@お腹いっぱい。 :2019/06/28(金) 10:15:09.45 ID:l/xbYwT/0.net
最小化でいいなら
Run,C:¥Program Files¥Everything¥Everything.exe -s “%Clipboard%”, ,MIN
でも行けるで
アプリ側にコマンドラインスイッチない時用な
211 :名無しさん@お腹いっぱい。 :2019/06/26(水) 23:41:40.05 ID:pGhNbyeE0.net
ControlSetText, Edit1, %Clipboard%, ahk_class EVERYTHING
91 :名無しさん@お腹いっぱい。 :2019/05/07(火) 18:41:35.58 ID:QBfahZsV0.net
ChMateのためだけにBlueStacksは重くない?
まあ好き好きだけど
MEmuならAHKなしwin10側デフォルトのMS IMEでエミュのキーボード制御なしで行けたよ
179 :名無しさん@お腹いっぱい。 :2019/06/14(金) 00:52:31.05 ID:FvBTnZwU0.net
再起動してもダメだったのでAutoHotkey関係なしで調べてみます
ありがとうございました
154 :名無しさん@お腹いっぱい。 :2019/06/02(日) 08:45:21.25 ID:0NGkjVV40.net
joyキーの方はたまにだけど
BTの方はリモート制御とかのチェックボックス変更して適用するとほぼ確実に落ちるわ
しかも落ちた時、マウス制御が超鈍重になるからプログラムの終了を押すのが難しい
イヤホンが動作不安定なのが悪いんだけどさ
62 :名無しさん@お腹いっぱい。 :2019/04/29(月) 08:46:17.18 ID:PffOSWws0.net
26 :名無しさん@お腹いっぱい。 :2019/04/22(月) 19:16:52.34 ID:bz+OEW0X0.net
スクリプトを管理者権限で実行しな
それそのまま試したけどタスクマネージャーでも使えたよ
131 :名無しさん@お腹いっぱい。 :2019/05/22(水) 20:17:54.08 ID:/ee0fjiV0.net
すいません。全部説明するとけっこう長くなるのと、
AHKではやりかたが変わるのかあとづけで修正が容易なのかも
はっきり知らなかったので1つずつ試行錯誤しながら質問していました。
F1の件は最低限の組み合わせを作ってテストしてうまくいきました。
F1はラテン文字以外のユニコード文字のまとまりを
複数切り替える想定のもので、^@aの話は日本語キーボードの
英数モードの拡張として試しているものです。
^@a でやっていることの全体像としては、1つのラテン文字
キーボードでできるだけ多くの音声記号つき文字や欧文で使う
合字・記号を出せるようにしようというものです。
ウィンドウズで設定できる外国語キーボードを調べるとどれも
一長一短で、また最も出せる文字が多いと思われるものでも
不足を感じたのと、どうせ切り替えるなら日本語の半角英数モードに
まとめてしまった方がいいのでは?と思いました。
@aや+@aの順次押しのようなやりかたは外国語キーボードで
使われているものです。^を加えたのは秀丸マクロで同じ事をする
場合、日本語英数モードの一部なので同じ場所が@になり、
@も残すために加えていたやり方を援用しようとしただけです。
なのでその先の話としては、^@aでアキュートつきaを出すのは
日本語キーボードの英数モードでのみにするとか、^+@aに更に
キャップスロックが加わる場合とか、英数モードへの集約に問題が
あって断念した場合、通常の言語切り替えで言語別にキーの
修正の仕方を変えられるのか?ということも調べようかと考えて
いました。
上で教えていただいたリンクのkeysUpdateやKeysCheckや
KeysClearというのはAHKwikiには解説の項目がありませんが、
どういった物を読めば使い方がわかりますか?
50 :名無しさん@お腹いっぱい。 :2019/04/28(日) 12:45:22.14 ID:xdMVJpEwp.net
ありがとうございます😊!
今帰省中でコードが手元にないですが帰ってみたらすぐに試してみますね!
181 :名無しさん@お腹いっぱい。 :2019/06/15(土) 13:44:32.12 ID:UFe75xeO0.net
Visual Studio Code に ahk用プラグインがいくつかあるね
VSCodeでahkを入力していないから詳しくはわからない
51 :名無しさん@お腹いっぱい。 :2019/04/28(日) 14:00:44.23 ID:pYczIjyR0.net
177 :名無しさん@お腹いっぱい。 :2019/06/14(金) 00:34:43.83 ID:ZQ1uaq1W0.net
205 :名無しさん@お腹いっぱい。 :2019/06/26(水) 22:47:53.45 ID:aFqC4gPH0.net
んー、つまりは、どこかしらから拾ってきたもので、そのスクリプト自体をよく分かってないってことか
Run,C:¥Program Files¥Everything¥Everything.exe -s “%Clipboard% ”
が、
>との動作を省略してることになるんだが…
AHKだけじゃなく、コマンドラインも理解しないとダメだよ
23 :名無しさん@お腹いっぱい。 :2019/04/22(月) 18:36:26.25 ID:Cf6Byjh40.net
Firefoxを使ってるんですが、他のウィンドウでは効くのですが、Wordとタスクマネージャーのみで効きません。
タスクマネージャーはどうでもいいので、Wordで使えるように修正して下さい。
「ホイールクリックでウィンドウを閉じる」
‾MButton up:: ;タイトルバーをホイールクリック = alt + F4
CoordMode,Mouse,Screen
MouseGetPos, x, y, h
SendMessage,0x84,0,% x|y<<16,,ahk_id %h%
WinGetClass, win_class, ahk_id %h%
;chromeが誤作動するのでchrome以外
If((ErrorLevel=2) && WinActive(“ahk_id ” . h) && (win_class!=”Chrome_WidgetWin_1″))
{
Send,!{F4} ;alt + F4
}
return
7 :名無しさん@お腹いっぱい。 :2019/04/21(日) 00:04:25.65 ID:jvh47c/h0.net
■ IME関連
Q1:IMEのOn/Offの切り替えや、状態を得るにはどうすればいいの?
A1:http://www6.atwiki.jp/eamat/pages/17.html の「IME.ahk」を使いましょう。
Q2:IMEが現在文字を入力している、または変換中であるかどうかを得ることはできる?
A2:↑のIME.ahkで一部可能(IEやFirefox,MS-Wordのようにインライン化しているアプリでは無理)
■ その他
Q1:「a=abc」と「a:=”abc”」って違いがある? / 「If a=1」と「If (a=1)」って違いがある?
A1:意味としては違いは無い。単体では、コマンド形式(共に前者)の方が「式」形式(同後者)より*少し*速い。
複数条件の場合、IfのネストよりはAND(&&)条件で「式」を並べた方が速い。
が、バッチでかなりの回数(数万↑〜)回したりする場合以外は、体感出来るほどの差はない。
Q2:テキストエディタでキーワードの色づけなどをしたいんだけど。
A2:wikiに各種エディタの定義ファイル及びキーワード一覧あり。( http://ahkwiki.net/Tools )
Q3:GUI作るのめんどくせ〜〜
A3:海外の有志が作ったツールを使うと楽。
SmartGUI Creator ( http://www.autohotkey.com/board/topic/738-smartgui-creator/ )
GUI Creator ( http://ahkscript.org/boards/viewtopic.php?f=6&t=303 )
Q4:AHKってマルチスレッドじゃないの?
タイマーやMsgBox, WinWait, KeyWaitを使ってるけど思った通りに動かない。
A4:「擬似マルチスレッド」です。最後に割り込んだスレッドが終わるまで元スレッドは動きません。
MsgBox、WinWait、KeyWait、Process,WaitClose などをタイマーで複数動かす時は注意。
> 要は処理系統が複数同時に走らないってこと。図にするとこんな感じ。
> → 実行中、 …:割り込み終了待ち
> 元スレッド →→→→→→……………………………………→→→→
> ★割込 ↑再開
> 割り込みスレ →→→→…………→→→→→→END
> ◆割込 ↑再開
> 更に割り込み →→→END
252 :名無しさん@お腹いっぱい。 :2019/07/04(木) 11:41:06.72 ID:7l7i5rFa0.net
と思ったけどControlSendでデスクトップに直接送りつけたほうがはやいか
39 :名無しさん@お腹いっぱい。 :2019/04/27(土) 17:04:01.77 ID:wIf5xZ/l0.net
A_PriorHotkey
A_ThisHotkey
A_TimeSincePriorHotkey
この辺組み合わせて適当に判定文をつくる
37 :名無しさん@お腹いっぱい。 :2019/04/26(金) 23:53:20.29 ID:VcGv9X7K0.net
vk1Dsc07B:: ;無変換
Flag += 1 ;判定用に変数に加算していく
If Flag = 1
{
MsgBox,1回目
Return
}
If Flag = 2
{
MsgBox,2回目
※
Return
}
〜〜〜〜〜〜〜〜〜〜〜〜〜中略〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
MsgBox,4回目
Flag = ;変数を空にして1回目に戻る
Return
wikiのサンプルコードに、前回このキーを押してから、3秒以内にこのキーの入力がなければ
Flag=1に戻るコードを組み込みたいんですが、どうしたらいいですか?
※のところに下記コードを入れてみたんですけど何が間違っているんでしょうか?
KeyWait,{vk1Dsc07B},T3
If(ErrorLevel=1)
{
Flag =
}
else
{
}
return
25 :名無しさん@お腹いっぱい。 :2019/04/22(月) 19:13:28.93 ID:e8jPGGEhM.net
109 :名無しさん@お腹いっぱい。 :2019/05/10(金) 15:06:39.63 ID:uOTPr9gE0.net
win10です。
わたしの環境依存かもしれませんね。
たびたびお手数かけてるようで
34 :名無しさん@お腹いっぱい。 :2019/04/24(水) 21:43:23.72 ID:Z7F8AeLba.net
前スレのタイマーでのすり抜け防止、一番効果あった
理屈がわかればなるほどだわな
59 :名無しさん@お腹いっぱい。 :2019/04/29(月) 06:28:55.14 ID:gsQYWf6/0.net
80 :名無しさん@お腹いっぱい。 :2019/05/01(水) 21:06:04.46 ID:VU2a+akWr0501.net
>78
>1文の長さもバラバラ
何のための正規表現だよw
ましてや英文なら一番簡単パターンだろ
最短マッチ
var := RegExReplace(var, “s`n),[¥w¥x20’¥.¥-]*?,”, “,,”)
最長マッチ
var := RegExReplace(var, “s`n),.+,”, “,,”)
64 :名無しさん@お腹いっぱい。 :2019/04/29(月) 10:37:23.86 ID:kkLjthPU0.net
メイン秀丸 サブメモ帳でsubPidだけ変えて実行してみたが
アクティブウィンドウはちゃんとAlt+Jのショートカット動作したし
subPidの非アクティブウィンドウもちゃんと j が入力されたよ
つかFF14の2画面動作時の挙動は知らんけど
2ウィンドウで両方とも同じ挙動させたいのに非アクティブのほうに Alt 送らなくて大丈夫なの?
「アクティブのAltが食われてる」のではなく j しか送ってないsubPidのほうをメインだと思ってて
「非アクティブにAltが送られてない」状態を「食われてる」と勘違いしてたりしない?
125 :名無しさん@お腹いっぱい。 :2019/05/20(月) 01:54:05.75 ID:xmYDYS/R0.net
なんでわざわざそんな変な使い方しなきゃならねえんだ
^@::Send, {u+00e1}
とか
^+@::Send, {u+00e1}
とかでいいだろ
45 :名無しさん@お腹いっぱい。 :2019/04/28(日) 09:38:37.03 ID:RQlzQ/nr0.net
さん
ありがとうございました。16進数は4桁固定を想定なので、ちょっと追加
aStr := 0x0123
SetFormat, INTEGER, D
dec := aStr + 0
SetFormat, INTEGER, H
hex := dec + 0
hex := 0000 . substr(hex,3)
StringRight,hex,hex,4
hex := 0x . hex
msgbox,% aStr= aStr `ndec= dec `nhex= hex
184 :名無しさん@お腹いっぱい。 :2019/06/24(月) 19:21:30.12 ID:CAnB0qRX0.net
AutoGui2.3.8からデバッガがうまく動作しない
同じ人おらんか
174 :名無しさん@お腹いっぱい。 :2019/06/07(金) 12:36:05.08 ID:AB/5CdCc0.net
0.11〜0.14秒だからむしろ速いとは思うんですけどClickは0.03〜0.05秒で終わると思うと遅く感じるんですよね
何回かアクティブにさせるスクリプトだとチリが積もって遅くなるというか…
79 :名無しさん@お腹いっぱい。 :2019/05/01(水) 20:20:21.68 ID:a/vdThoT00501.net
テキスト編集に特化したエディタならそういうコマンドくらいデフォで入ってそうだけど
あるいはそういうプラグインがありそうな開発環境向けの高機能エディタ使うか
248 :名無しさん@お腹いっぱい。 :2019/07/04(木) 10:53:41.71 ID:HjepJlAZ0.net
言葉がたりませんでした
デスクトップの時にalt F4を押した時に出る
シャットダウンやスリープを選ぶ画面を出すのを実現したいのですが
いい方法はありますでしょうか
146 :名無しさん@お腹いっぱい。 :2019/05/30(木) 18:25:53.19 ID:KRcnBsNi0.net
なぜと言われてもAHKはそういう仕様ですとしか
例えば <!a::send,c を消して
LAlt & Tab::AltTab
を追加するだけでもAlt+Tab はもちろん Alt+F4 なども使える様になるし
もっとわかりやすい例だと
LWin::Send,a
だけだと Win+R や Win+D などのショートカットが使えなくなるけど
LWin::Send,a
LWin & R::#r
と書くとWin+R はもちろんのこと、 Win+D や Win+Tab などの複数キー押しが全て使える様になる
(Winキー単押しの時だけSend,a)
修飾キーに関してはそういう仕様なんです
171 :名無しさん@お腹いっぱい。 :2019/06/07(金) 12:13:25.60 ID:AB/5CdCc0.net
WinActivateでアクティブにするより、Clickしたほうが高速で動作する気がするですけど
WinActivateを速くする方法ってありますか?
Clickだとペンタブと画面が近いとカーソルを乗っ取れない?というかバグる時があるから
なるべくClickさせたくないんですよね
141 :名無しさん@お腹いっぱい。 :2019/05/25(土) 19:22:51.38 ID:MJ2GF8zW0.net
アドバイスありがとうございます
しばらく時間ができたらつくってみようと思います
175 :名無しさん@お腹いっぱい。 :2019/06/07(金) 12:41:41.50 ID:Pk+QS0650.net
49 :名無しさん@お腹いっぱい。 :2019/04/28(日) 10:49:09.47 ID:MHWE0sUc0.net
確認してないけど多分それだとhexの入力値は数値じゃなくて文字列になってるで
数値の場合 0x000Aと0xAは記述方法が違うだけで値は同じなのでゼロサプレスする必要はない
130 :名無しさん@お腹いっぱい。 :2019/05/21(火) 05:57:15.89 ID:zoAcTfZP0.net
>キーの押し方はそのあとで考えようと思っていました
いやそれは先にハッキリさせるべきところだろ
3キー同時押しなのか順番押しなのか、それによってやり方も全然変わってくるんだから
質問するなら正確に何をやりたいのか伝えるのが礼儀ってもんだ
でないと答える側はお前が何やりたいのか全く分からねえし話がズレてくだけ
最初にF1で切り替えとか言ってた話はどこ行ったんだよと
129 :名無しさん@お腹いっぱい。 :2019/05/21(火) 05:23:14.44 ID:7W5GDYJe0.net
不慣れでわからないことだらけなので
まずは3〜4つのキーで目的の文字を出せるようにして、
キーの押し方はそのあとで考えようと思っていました。
リンクありがとうございます。あとで試してじっくり読んでみようと
思います。
とりあえず>120でヒントをもらったインプットを使って
^@::
Input,InputChar,C I L1 T10,{Esc},a
if ErrorLevel=Match
{
if InputChar=a
Send,{U+00E1}
}
return
としても ^@a は機能しました。数を増やしていくと何か
問題が出るのかはまだ検証してませんが。
228 :名無しさん@お腹いっぱい。 :2019/07/01(月) 01:26:28.34 ID:0ZD9smhN0.net
下のスクリプトを実行すると、^vの貼り付けがうまくいかないのはなぜでなんでしょうか?
vClipboardAll := ClipboardAll
Clipboard := “”
Clipboard := “Test”
ClipWait
MsgBox, %Clipboard%
Send, ^v
Clipboard := vClipboardAll
「hogehoge」をコピーした上でホットキーを実行
実行結果
メッセージボックス「Test」
テキスト出力「hogehoge」
「Send, ^v」の後ろに「Sleep, 100」を入れるとちゃんと「Test」が出力されますが、それもMsgBoxを消してしまうとそこそこの確率で失敗します。
っていうか前にSleepを入れると上手くいくのならまだ分かるのに……。
それと、Clipboard変数に直接文字を入れる場合、ClipWaitは不要だと思うのですが、合っていますか?
233 :名無しさん@お腹いっぱい。 :2019/07/01(月) 12:08:19.80 ID:m0tl9kEg0.net
119 :名無しさん@お腹いっぱい。 :2019/05/18(土) 22:25:29.83 ID:YTsL4HgD0.net
>114-117
ありがとうございます。順番に試しながらヒントにして
少しずつ追加したり入れ替えたりなんとかやってます。
理想的には秀丸マクロで
[Ctrl] [@] [a] で á
[Ctrl] [Shift] [@] [a] で à
としているのでそれをAHKでも再現したいのですが、
3つ以上はダメらしいですので、せめて
外国語キーボードにある、[@] と [a] で á、
[Shift] と [@] と [a] で à といった出し方はAHKでは再現
できないんでしょうか?
60 :名無しさん@お腹いっぱい。 :2019/04/29(月) 07:17:19.72 ID:IqJQ2Tg/a.net
168 :名無しさん@お腹いっぱい。 :2019/06/06(木) 17:37:34.32 ID:p0DWWQ1S00606.net
216 :名無しさん@お腹いっぱい。 :2019/06/27(木) 21:01:28.47 ID:FFKBRgzw0.net
40 :名無しさん@お腹いっぱい。 :2019/04/27(土) 19:45:13.25 ID:JMzBdnzD0.net
無事望む結果が得られましたありがとうございます
さんのようにキーを指定することも考えていたのですが
こっちの方がシンプルでいいですね
221 :名無しさん@お腹いっぱい。 :2019/06/28(金) 12:26:31.85 ID:ONfMFbQ2a.net
流れぶった切って悪いんだけど、Shutdownコマンドのオプションにある「電源を切る」ってどういう効果?Win8.1以降の電源を切るシャットダウンになるってこと?
73 :名無しさん@お腹いっぱい。 :2019/05/01(水) 12:43:11.11 ID:jXRa0IGJa0501.net
Win10にしたとかアップデートしたとかで効かなくなるものはある
244 :名無しさん@お腹いっぱい。 :2019/07/03(水) 19:52:43.06 ID:wxVLNcr20.net
レスを投稿する(名前省略可)