2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

AutoHotkey スレッド part27

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)


952 :名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g):2020/03/10(火) 01:46:07 ID:0mQe+mq20.net
>>951
win10枠線の設定が有効になっている
スタート → 設定 または デスクトップ右クリック
個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)


サイズ変更(0x00040000)も切らないと枠が消えないアプリがあったのでこれでテストしてみたら?
切るかどうかはWinGetでウィンドウスタイルを調べればいい

https://pastebin.com/AuD7BQ0R

953 :名無しさん@お腹いっぱい。 (ワッチョイ 0bc1-xiWk):2020/03/10(火) 01:46:25 ID:KqOKOizd0.net
俺も残るよ
Win10の仕様だと思ってた

954 :951 :2020/03/10(火) 19:47:06.79 ID:fBPGX49e0.net
>>952
>個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)
ここはアクティブウインドウがどれか分からなくなるので個人的にチェック有りじゃないと駄目なんで

スクリプトどうも
そのスクリプト実行した結果ウインドウ下部が画像赤矢印のようになり上手く行かなかった(0X00C00000 ではならない)
https://dotup.org/uploda/dotup.org2084284.png
その後ggってみたものの海外でもタイトルバー消すのに 0X00C00000 使ってるケースが多いようで…

>>953
そうすか、俺環だけじゃないのね…

Win10の仕様と判断して諦めるわ(´・ω・`)

955 :名無しさん@お腹いっぱい。 (ワッチョイ b9b1-9blg):2020/03/12(Thu) 15:41:57 ID:YtMEv69+0.net
win奴隷にだけはなりたくない

956 :名無しさん@お腹いっぱい。 :2020/03/13(金) 13:40:58.49 ID:FajN12cx0.net
ひとつのスクリプトで、


LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

としておいて、別のスクリプトで、

GetKeyState, g_stateL, LButton, P

とやったら、マウス左ボタンを押しっぱなしにしていても
Uが帰ってきて、Lが来ない

どうしてでしょうか

957 :名無しさん@お腹いっぱい。 :2020/03/13(金) 13:58:43.47 ID:6RSofPyV0.net
>>956
Lってなんや?
実際にスクリプト2つ作って試したけど左ボタン押しっぱにしてるときは普通にDが返って来るぞ

958 :名無しさん@お腹いっぱい。 :2020/03/13(金) 14:02:16.81 ID:FajN12cx0.net
ありがとうございます。Dでした。おかしいなあ、私の環境なのかなあ
3時以降に時間が出来ますので、そこでまた詳細調べてみます

959 :名無しさん@お腹いっぱい。 :2020/03/13(金) 14:10:30.77 ID:6RSofPyV0.net
環境のせいにするより前に単なる勘違いやイージーミスをまず疑うべきだろ

○1.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

○2.ahk
F1::
GetKeyState, g_stateL, LButton, P
msgbox, %g_stateL%
return

これを実行してF1だけ押せばU、左クリック押しながらF1押せばDが返って来る

960 :名無しさん@お腹いっぱい。 (ワッチョイ 01b3-Zv6Q):2020/03/13(金) 18:37:36 ID:FajN12cx0.net
○1.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

○2.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return
F5::
GetKeyState, g_stateL, LButton, P
MsgBox,,, g_stateL = %g_stateL%,1
return

と、両方にLButtonのスクリプトがありました。
これだと、2.ahkを後にロードすると出来ますが、1.ahkを後にロードすると、Uしか返りません。

1.ahkだけ、2.ahkだけ、双方をロードして使うことがあるためこうなってしまっているのですが
これはしょうがないのでしょうか
必ず2.ahkをあとからロードするようにするしかありませんか

961 :名無しさん@お腹いっぱい。 (ワッチョイ a1b1-0uzQ):2020/03/13(金) 19:25:22 ID:LN/Q5YZj0.net
そのすく見る限りスクリプトは二つ必要ないでしょ
だから、○1.ahkは廃止して○2.ahkだけにする

○2.ahk
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return

#If (条件) ;ここで切り分けすれば良いと思う(例えばウインドウAがアクティブなら↓が働く、とか)
F5::
GetKeyState, g_stateL, LButton, P
MsgBox,,, g_stateL = %g_stateL%,1
return
#If

と、適当に答えてみる

962 :名無しさん@お腹いっぱい。 (ワッチョイ 01b3-Zv6Q):2020/03/13(金) 20:50:04 ID:FajN12cx0.net
なるほど、#ifを使ってきりわける方法がありましたか
実際のスクリプトはそんなに簡単ではないのですが、これはとても良い
ヒントになりました。ありがとうございました

963 :名無しさん@お腹いっぱい。 (ワッチョイW 0176-hwU2):2020/03/16(月) 20:33:25 ID:zDNwJGtk0.net
夜間モードのオンオフをキーボードのどこかに割り当てたいんですが、どう書けば良いですか?

964 :名無しさん@お腹いっぱい。 :2020/03/16(月) 22:38:48.18 ID:RukI6SGP0.net
>>963
まず、その動作の一連の流れを書き出す。後はそれをAutoHotkeyの記述に落とし込む
コマンドで対応できるなら確実で速い。ショートカットキーは分かりやすいから無難
マウスでしかできない部分は、それらに比べるとちょっと難しくなる

965 :名無しさん@お腹いっぱい。 :2020/03/17(火) 00:13:19.40 ID:PptbWypp0.net
>>963
https://www.reddit.com/r/AutoHotkey/comments/bl2rpo/a_script_to_toggle_the_night_light_in_windows_10/

966 :名無しさん@お腹いっぱい。 :2020/03/17(火) 00:55:30.05 ID:S4FhfJwN0.net
>>964,965
ありがとうございます

967 :名無しさん@お腹いっぱい。 :2020/03/20(金) 12:41:13.41 ID:YktARklY0.net
書き込みできないんだけどなんで?

968 :名無しさん@お腹いっぱい。 :2020/03/20(金) 12:43:27.15 ID:YktARklY0.net
できたので再開させてもらいます
利用者少ないかとは思うのですが、AHKv2 について質問させてください
以下のスクリプトを通常の AHKv1 で動かすと "a" というメッセージボックスが出ます
clrs := Object()
clrs[1, 1] := "ff0000", clrs[1, 2] := "00ff00", clrs[1, 3] := "0000ff"
clrs[2, 1] := "a", clrs[2, 2] := "b", clrs[2, 3] := "c"
MsgBox % clrs[2,1]
; AHKv2 のときは上の % を外す

969 :名無しさん@お腹いっぱい。 :2020/03/20(金) 12:44:04.66 ID:YktARklY0.net
しかし AHKv2 で動かすと下記のようなエラーがでます
私がオブジェクト型を理解していないことが原因ですが、次どうしてよいかさっぱりわかりません
識者のみなさんご教示願えないでしょうか

Error: This value of type "Object" has no property named "__Item".
--> 002: clrs[1, 1] := "ff0000"

970 :名無しさん@お腹いっぱい。 (ワッチョイ 0b69-6w0H):2020/03/20(金) 17:27:46 ID:alE7Ns8K0.net
ちら見なんでよく分かってないけどv2は配列の実装が変わったんじゃない?
なんかドキュメント見るとArray Objectを使うようになってるみたいだけど
__ItemはArray Objectの中で使ってる何かみたいだし

971 :名無しさん@お腹いっぱい。 :2020/03/20(金) 18:16:04.13 ID:8awlI5pq0.net
v2は、Arrayオブジェクトという配列用のものをObjectオブジェクトとは別に用意して、
Arrayオブジェクト用のプロパティはObjectオブジェクト自体に持たせなくなってる

v1(の途中から)は、Object()でもArray()でも動くけど、v2ではわかれている

972 :名無しさん@お腹いっぱい。 :2020/03/20(金) 18:19:51.89 ID:YktARklY0.net
ドキュメントを読むと Array() てのはベクトル型配列のみ対応のようで
複数行 x 複数列の行列型配列にはならないようなのです
2 x 複数なら Map() という型があるのですが、それもうまく行かず…
公式フォーラムも調べてみます

973 :名無しさん@お腹いっぱい。 :2020/03/20(金) 18:51:40.95 ID:8awlI5pq0.net
このスレッドはちょくちょく書き込みできなくなりますね

言語上1次元配列しかなくても、多次元配列は作れますし、やりたいことがわからないと
あまり何もいえないかもしれない

https://pastebin.com/aXgqrFQN

974 :名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe):2020/03/20(金) 20:06:33 ID:YktARklY0.net
>>973
おー、こんな方法もあるのですね。ご助言ありがとうございます
v1 用スクリプトを v2 用に移植しようとしていて
>>968 のような形で記載していた配列型オブジェクトが全然期待通りに動かず困っていました

やりたいことは縦 1,440 x 横 10-20 マトリックスの CSV ファイルを読み込み
(縦は 1 日あたりの分で 24 x 60 = 1,440、横はさまざまな項目)
時間毎に各項目を集計するのに多次元配列型オブジェクトを使っていました

975 :名無しさん@お腹いっぱい。 (ワッチョイW 2b73-t1ZY):2020/03/20(金) 20:10:43 ID:xBrxoFsB0.net
細かい内容しらないから何ともだけど
それってahkでやるべき処理なのかな
普通にpythonとか使ったほうがいい気がするんだけど

976 :名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe):2020/03/20(金) 20:11:34 ID:YktARklY0.net
本当は Python などの方がいいのかもしれませんが
自分は AHK くらいしかマトモに動かせないので
ちょっとしたルーチンの自動化は AHK にやらせることが多いのです
この用途別言語の点についてもご助言いただけますと助かります

977 :名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe):2020/03/20(金) 20:13:58 ID:YktARklY0.net
>>975 さんと投稿がかぶってしまった
先月から Python を学び始めたのですが若干コケまして、
あきらめて再度 AHK に戻ってきたのですが、何か学ぶ気はあったので AHKv2 に手を出した次第です

978 :名無しさん@お腹いっぱい。 :2020/03/20(金) 20:23:24.77 ID:xBrxoFsB0.net
自分に言ってたわけじゃないのか
ちょっとしたデータ処理ならいいと思うけど
集計となるとpythonでやったほうが楽だと思うけどね
python挫折したならしょうがない

979 :名無しさん@お腹いっぱい。 :2020/03/20(金) 20:47:06.60 ID:YktARklY0.net
>>978 そうなんですよ
keyhac という Python ベースのキーカスタマイズツールへの以降ついでに学んでいたのですが
Python は逆に情報があふれすぎていて独習するにはちょっとハードル高めでした
ちょうど先週くらいにモチベーション低下して今にいたります
また再開するつもりではいるのですけどね

集計目的なら R でもいいかもですね

980 :名無しさん@お腹いっぱい。 (ワッチョイ 0b76-cULp):2020/03/21(土) 19:49:48 ID:al5jEN1q0.net
OneNoteで文字を赤色にするホットキーとして、下記のように設定してみました。

^\::Send, {Alt}hf1{Down 7}{Left 4}{Enter}

結論としては希望の動作にはなりませんでした。
なぜか{Alt}が送信されていないようで、"hf1"と入力された後カーソル移動しました。
関係あるかはわかりませんが、SendModeはEventでもInputでも結果は同じでした。

そこで試しに、MouseGestureLで^\::から後ろを割り当てて見たところ、
こちらではなぜか正常にAltも送信され、赤文字にすることができました。

原因がわかりません。Altが阻害されるような要因として、何が考えられるでしょうか?
^\は他に使用していません。

981 :名無しさん@お腹いっぱい。 (ワッチョイ 0bba-ED79):2020/03/21(土) 20:23:09 ID:5n/nqQyA0.net
>>980
原因はCtrlを押してるからだろう
変換無変換キーやAppsKeyなどを修飾代わりに使えばAltを送信できる

どうしても ^\ でやりたいなら KeyWait を使ってCtrlを離した後にSendするとか

982 :名無しさん@お腹いっぱい。 :2020/03/21(土) 21:49:16.10 ID:EIvdEDpE0.net
>>980
^\ Up::
IME_SET(0)
Send, !hf1{Down 7}{Left 4}{Enter} or Send, {Alt}!hf1{Down 7}{Left 4}{Enter}
return

983 :名無しさん@お腹いっぱい。 :2020/03/21(土) 22:04:03.93 ID:rtzpQlb30.net
>>982
!h は質問者のやりたい事と違うやろ

>>980
質問者もまずはメモ帳とか誰でも試せるソフトで動作確認した方がいいぞ
その方が答える側も検証しやすいし

^\::
KeyWait, Ctrl
Send, {Alt}vs ;メモ帳のステータスバー表示/非表示
Return

984 :名無しさん@お腹いっぱい。 (ワッチョイ 0bf2-ED79):2020/03/21(土) 22:10:49 ID:rqhRpjO/0.net
>>980
Wikiによると、Sendコマンドが始まるとき、仮想的に修飾キーを離した状態になる と書いてある
でも、Key History 見ると、なぜか、Ctrl up がAlt down , up の後に来てるね

試しに、{Alt} の前に、{Ctrl up} を入れてみたら、うまく動いたよ

985 :名無しさん@お腹いっぱい。 :2020/03/21(土) 23:54:21.38 ID:al5jEN1q0.net
皆さんありがとうございます。
トリガーのCtrlの影響が尾を引いているとは思いませんでした。
お陰様で解決いたしました。

また、修飾キーのUpが遅れる現象について、把握いたしました。

>>981
>>983
KeyWaitを使う方法もあるのですね。勉強になります。

>>983
検証しやすい状況設定について、配慮が足りていませんでした。以後気をつけます。
ご指摘ありがとうございます。

>>984
KeyHistoryを見る発想がありませんでした。未熟でした。ありがとうございます。
KeyWaitもよいですが、強制的にUpを入れてしまう方が直感的ですので、採用させていただきます。

986 :名無しさん@お腹いっぱい。 (ワッチョイ 5590-2iv1):2020/03/26(Thu) 21:52:04 ID:mJhZa4a/0.net
https://www.autohotkey.com/boards/viewtopic.php?t=70645
このページをみながら、AHK x64 でディスプレイの状態取得を試みています。
それで下記スクリプトを書いてみたのですが、どうにも動きません。
おそらく例題ページのスクリプトは AHK x86 用で、AHK x64 にするにはポインターサイズなどを
再検討せねばならないのでしょうが、そのあたり全然理解していません。
どこがダメなのか、ご教示いただけないでしょうか

987 :名無しさん@お腹いっぱい。 (ワッチョイ 6911-s0li):2020/03/26(Thu) 22:04:32 ID:aty0SoET0.net
この手口は前にも見た

988 :名無しさん@お腹いっぱい。 :2020/03/26(木) 22:11:19.15 ID:mJhZa4a/0.net
だめだコードを載せようとすると規制で書けない…

989 :名無しさん@お腹いっぱい。 :2020/03/26(木) 22:13:53.38 ID:mJhZa4a/0.net
hDISP := RegisterPowerSettingNotification("{6fe69556-704a-47a0-8f24-c28d936fda47}")
OnMessage(0x218, "WM_POWERBROADCAST")
OnExit(Func("UnRegisterNotification").Bind(hDISP))

990 :名無しさん@お腹いっぱい。 :2020/03/27(金) 05:00:20.34 ID:t1j7w9SC0.net
>>1では64bitOSには64bit版を推奨してるみたいだけど
自分の場合64bit版にするメリットとデメリット比べたらデメリットしかなかったから32bit版使ってるな
32bit時代(XP、7)に集めた32bitで動くスクリプトが使えなくなるのは大変なことだからねえ(直せるスキル無いし)

991 :名無しさん@お腹いっぱい。 (ワッチョイ 09e5-F5Qr):2020/03/27(金) 14:41:36 ID:iIR98/+J0.net
>>986
その記事の投稿 2019年だしポインタ型はUIntじゃなくてPtr使ってるし
POWERBROADCAST_SETTING構造体のポインタ位置も下にある 2012 の説明から変わってないんで86/64関係ないと思うけど
自分で判断できない時は AutoHotkeyA32.exe / AutoHotkeyU32.exe に.ahkドラッグしてx86で動くのか確認したらいいと思うよ

というか>989じゃなくてWM_POWERBROADCAST() の中身晒してくんないと
そのままコピペじゃBeep鳴るだけで値をどうにかする処理入ってないし
うちでは msgbox,% NumGet(lP+20,0,"uInt") 追加して
電源オプションでディスプレイの電源切る設定を1分にしてから実行したら変化値取れてたけど

>>990
旧版AHKからLへの移行では64化よりUnicode化のほうが手間恩恵共に大きかったけどね
過去スプリクトのエンコードを全部SJISからUTF-8に保存しなおし AをWに直すのは結構骨が折れたが
2byte圏でANSI版を使い続けるのはデメリットがでかすぎた
x64へのPtr対応はそのついで修正で案外たいしたことはなかった
98/2000時代に集めたスプリクトはさすがに捨てた

992 :名無しさん@お腹いっぱい。 (ワッチョイ 09e5-F5Qr):2020/03/27(金) 14:43:23 ID:iIR98/+J0.net
次スレ立てられなかったので誰かよろしく
!extend:on:vvvvv:1000:512
!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/

993 :名無しさん@お腹いっぱい。 (ドコグロ MMe1-SPh5):2020/04/03(金) 14:29:34 ID:+MnRjk7EM.net
インストールしようとして配布元ページからダウンロードページをChromeで開くとセキュリティ警告出るんだがまずいのか?
前は普通に出来たんだが

994 :名無しさん@お腹いっぱい。 :2020/04/03(金) 17:37:58.24 ID:KeyiwkKR0.net
https://autohotkey.com/download/

リンク先直行でアクセスできた


次スレ建てられる人お願いします

995 :名無しさん@お腹いっぱい。 (ワッチョイ 1bf9-bVUD):2020/04/03(金) 18:37:48 ID:/YRSlUCD0.net
次スレ立てました

AutoHotkey スレッド part28
https://egg.5ch.net/test/read.cgi/software/1585906506/

996 :名無しさん@お腹いっぱい。 (ドコグロ MM93-SPh5):2020/04/03(金) 18:54:37 ID:6tFkG0MrM.net
>>994
ありがと
フォーラム見たらに過去にも同様のことがあったみたいだ
>>995
乙です

997 :名無しさん@お腹いっぱい。 :2020/04/03(金) 21:01:56.35 ID:gvLOj/rx0.net
すれたておつ

998 :名無しさん@お腹いっぱい。 :2020/04/03(金) 21:03:13.78 ID:SCPanhQM0.net


999 :名無しさん@お腹いっぱい。 (アンパン 1bf9-bVUD):2020/04/04(土) 10:32:30 ID:RU4pmP7j00404.net
埋め

1000 :名無しさん@お腹いっぱい。 :2020/04/04(土) 11:24:31.96 ID:QE38uOhG00404.net
せーーーん

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
392 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★