AutoHotkey スレッド part30

■ このスレッドは過去ログ倉庫に格納されています
2022/02/07(月) 21:22:19.36ID:eoboeZNM0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑スレ立てする時は3行にして下さい

■配布元
https://autohotkey.com/download/

■前スレ
AutoHotkey スレッド part29
https://egg.5ch.net/test/read.cgi/software/1620768466/

■日本語解説等
AutoHotkey Wiki
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/

■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/

■その他のテンプレ(5chのURL規制が厳しいのでpastebinに退避しました)
https://pastebin.com/raw/bWipuNmt

次スレは>>950が建てましょう。建てられなかったらレス番指定して頼みましょう
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/03/04(金) 13:32:10.89ID:ljvEuR8a0
Windowが最小化(タスクバーに収納)されてるか否かで、分岐条件を書きたいんだけど、方法はあるのでしょうか?
2022/03/04(金) 13:43:31.58ID:GcVXrzsN0
winget
2022/03/04(金) 13:49:12.82ID:ZUYcCarh0
>>67
WinGet の第二引数 MinMax
70名無しさん@お腹いっぱい。 (ワッチョイ 03dc-xbwq)
垢版 |
2022/03/04(金) 15:02:15.44ID:td9njwVp0
ウィンドウがアクティブ/非アクティブで処理を分岐させたいのですが、よい関数ありますでしょうか?
これがうまく動かなくて。
https://www.autohotkey.com/board/topic/59059-wintrigger-watch-deactivationunexistance-of-windows/page-2
2022/03/04(金) 15:25:40.83ID:u6iSGFuE0
WinActive()
非アクティブかつ存在してるかの確認も必要なら WinExist() も一緒に使う
2022/03/05(土) 00:18:32.81ID:KfWmd2Ba0
>>70
Thanks助かった!
2022/03/05(土) 00:21:07.69ID:KfWmd2Ba0
>>69
アンカーミス。
ありがとう助かった69さん。
2022/03/05(土) 04:09:57.58ID:HBl5uDMh0
>>71
ありがとうございます。
SetTimerとIfWinActiveで奮闘中です。
2022/03/05(土) 04:15:09.12ID:HBl5uDMh0
2つ質問です。
短縮URL展開が目的で、2行目クリップボード部分でエラーが出ます。
適当な変数で代入しても効果なし。どうすればいいでしょうか?
ClipboardにURL平打で入れると動きます。

req := ComObjCreate("WinHttp.WinHttpRequest.5.1") ;URL展開準備
req.Open("HEAD", "%Clipboard%") ;URL展開開始
req.Option(6) := False ; Disable auto redirect
req.Send()
origin_url := req.GetResponseHeader("Location") ;出力結果

2つ目
日本語URLを正規表現で取りたく %..* でマッチしたのですが正規表現のAHK構文がわかりません。どうすればいいでしょうか?
76C言語100段 ◆iD93.8lby6 (ワッチョイ eff4-irv2)
垢版 |
2022/03/05(土) 06:51:42.34ID:NK/bMZpv0
>>61
なぜか知らんけど ControlClickの引数の NA を
取り除いたら
ウインドウがアクティヴじゃない場合でも
Control"Send" がちゃんと機能して 数字3 キーを送れるようになった。

ControlClick, x%cx% y%cy%, ahk_id %actWin%,,,,
ControlSend, ,{3},ahk_id %actWin%
2022/03/05(土) 08:04:53.28ID:xdg9IakK0
MsgBox, % "%Clipboard%"
2022/03/05(土) 08:12:49.07ID:n/sXRmRH0
>>75
1. req.Open("HEAD", Clipboard) ;URL展開開始
2. ahkの正規表現はPCRE準拠
http://ahkwiki.net/RegEx

ワッチョイ dc- ってことは>17と同一人物?
あの時も書いたけど関数へ変数渡すのに"%%"で括ったらあかん
コマンドと関数の違いも分かってなさそうだし
一旦ちゃんとチュートリアルに目を通したほうがいいと思う
79C言語100段 ◆iD93.8lby6 (ワッチョイ eff4-irv2)
垢版 |
2022/03/11(金) 02:54:41.09ID:6OOGMPCK0
1週間ほど使った感想

まず、気に入った点。
スクリプト言語で記述がお手軽。
コンパイルも簡単、コンパ後に生で実行ファイルを庶民どもへ配布できるのもいい。
しかも、庶民側でランタイムライブラリが不要、
ここは相当に高く評価したい。

次に気になった点。
動作の保証および厳密さが、ややフワフワしている感じがある。
ただし、この欠点は個人で使う分にはさして問題にならないので無視できるといえよう。

そんな感じ ( '‘ω‘)ちなみにケンカ100段です
2022/03/11(金) 17:34:05.98ID:e4IMEGGD0
なんだこいつ
気持ち悪いクソコテage厨だな
NGだ
81C言語100段 ◆iD93.8lby6 (ワッチョイ 06f4-omDX)
垢版 |
2022/03/12(土) 12:06:46.92ID:lyO/cUgw0
{80}:: YanaYatsu
return
2022/03/14(月) 13:16:55.74ID:LX6x3Q3L0Pi
他のプログラミング言語を知らずにAHKを使い倒す事に限界を感じてる。
AHKの理解に役立つ言語って何?

Dll関数が奥深いとか言うから、やっぱりC言語をやらなきゃダメなのか。
pythonってやつが簡単そうだけど、それで勉強してもAHKと関連ないか?
2022/03/14(月) 13:25:15.06ID:skBuJIMU0Pi
中途半端に他の言語知っても逆に違いで混乱するだけじゃね?
84C言語100段 ◆iD93.8lby6 (オーパイ 06f4-omDX)
垢版 |
2022/03/14(月) 13:49:12.47ID:sU3yfQx90Pi
>>82
何かを学ぶのは良い姿勢だが
「なぜそれが必要か、本当に必要なのか?」
これがもっとも重要なことだ。

後学のため、または、泊をつけるために
C言語やJava, Visual C#を学ぶという人もいるかもしれないが、
それは単に目的もなく英語の学習をする女子大生と変わらない。

たまにいるけど、DQN家庭が自分の子(幼児)に英語学習の教材を
やらせているのをみるけど悲しくなる。
代書屋や通訳さんにするつもりなんだろうか…。
目的を持たない学びはかえって有害だよね。( '゜ω゜)
2022/03/14(月) 14:09:30.70ID:2WBKjXLgrPi
関数のスコープ?とか変数に名前つけるルールとか そういう予備知識みたいなもの少しでもあったらラクかなあとは思うわたしもビギナー
86名無しさん@お腹いっぱい。 (オーパイW eedc-OnfK)
垢版 |
2022/03/14(月) 18:29:08.40ID:uPS2e/4d0Pi
>>78
ありがとうございます。
最終的にこうなりました。(?:%[[:xdigit:]]{2})+
2022/03/15(火) 00:44:56.51ID:LT/lXTek0
>>82

AHKの構造を簡単に言うとメッセージポンプという機能に介入するソフトなんで
C/C++でWindowsAPIで叩くところをやらないといけない。
ほかの言語だとこの部分が隠蔽されてる。
なぜなら一般のアプリでは殆どいじる必要がないので。
2022/03/15(火) 12:11:36.20ID:2J4RhbhJ0
>>82
AHKの理解ってのが何を言いたいのか良く分からんけど、他の人が書いたDllCallの部分が何をしてるかを知りたいならC言語一択かな
APIの呼び出しに関してはAHKよりCから呼び出す方が遥かに楽
とうかAHKから呼び出す場合はとても面倒くさいことをしなければならないので、始めて見るAPIコールがAHKのコードならまず理解できないと思う

python自体は使える言語だけど覚えたところであなたの言うAHKの理解には結び付かないと思う
2022/03/15(火) 12:15:58.04ID:2J4RhbhJ0
連投失礼
C++だとMFCというクラスライブラリを使うのが一般的で、APIがラッパーで覆われた感じになってしまっているから
DllCallを理解したいなら++ではなく無印Cのソースを見た方が良い
2022/03/15(火) 13:53:15.23ID:XEsZbqbM0
C/WindowsAPI→DllCall
C++/COM→ComObject
C#/.NET→CLR.ahk
AHKで出来ることの幅が広がるのはこの辺かな
91名無しさん@お腹いっぱい。 (ワッチョイW 69dc-OnfK)
垢版 |
2022/03/15(火) 15:10:30.50ID:re97+6F/0
置換処理について質問です。
StringReplaceとRegExReplaceを3回記述していますがこれもっとスマートに処理する方法あるでしょうか?AHKでの処理はそういうものなのでしょうか?

置換前https://tanaka.aaa.com/post/51975486261/%E3%81%9F%E3%81%AA%E3%81%8B

置換後
https://www.aaa.com/edit/51975486261/
2022/03/15(火) 15:51:09.19ID:+deaD77J0
その三回の記述を貼らないと
93名無しさん@お腹いっぱい。 (ワッチョイW 69dc-OnfK)
垢版 |
2022/03/15(火) 16:41:02.34ID:re97+6F/0
貼るまでもなく、tanakaとpostとURLエンコードを置換してるだけです。
2022/03/15(火) 16:54:58.14ID:EscCaD9Qa
じゃあ答えるまでもないな
2022/03/15(火) 17:57:21.64ID:qN1jBt150
>>87
>>88
やっぱりCかぁ。
ポインタあたりで、オレは家電のコードでも書くつもりか?と疑問に思って
勉強をストップしてたから、また始めてみるわThanks
WinAPIの参考書も買うわ。
2022/03/15(火) 18:06:45.14ID:PZVzUiLD0
説明不足だから
51975486261だけ抜き取ればええんじゃない?となる
2022/03/15(火) 18:38:55.54ID:GBPBSABrM
>>93
正規表現の基礎くらい学習してから来いよ
してたら>>91みたいな疑問は出ないはず
98名無しさん@お腹いっぱい。 (ワッチョイW 69dc-OnfK)
垢版 |
2022/03/15(火) 19:14:03.73ID:re97+6F/0
>>96
ありがとうございます。確かに、、よく見たら数字だけ抽出で良い感じに出来ました。
RegExMatch \d{5,}
2022/03/15(火) 19:24:45.33ID:TL0yCQF/0
ワッチョイ dc-
2022/03/15(火) 19:40:21.80ID:LT/lXTek0
>>89

昔MFCやVCLで作ってたようなアプリは今はみんなC#に移行してて、
今更C/C++でやってる少数派はビジネスアプリ作ってるわけじゃないんで
それこそWIN32++でもQtでもなんでもござれだよ。
2022/03/15(火) 19:40:23.17ID:+deaD77J0
ええ?俺もかよw
2022/03/15(火) 21:24:25.21ID:0cVGIK6W0
>>101
巻き込まれ事故カワイソw
2022/03/16(水) 00:54:54.22ID:U+Ng5L9M0
dllcallで呼べるAPIの仕様は昔はVBのDeclareの解説を探して形確認してたなあ
今はMS公式のドキュメントがググれば出てくるから楽でいいよね
2022/03/16(水) 09:45:10.99ID:exh4xln+0
WinSetのRegionを使ってウインドウの一部を透明にすると、一部は隠れるのですが、全体の輪郭が薄く残ります
Windows10のときです
Windows7のときは問題ありませんでした

これなんとかなりませんか?
ちなみにVer1.1.33.06
です
2022/03/16(水) 14:50:12.83ID:f/WB1z690
>>104
OS仕様の問題なのでAHK側が対応しない限り無理なんじゃね
106C言語100段 ◆iD93.8lby6 (ワッチョイ 06f4-omDX)
垢版 |
2022/03/16(水) 16:28:14.43ID:3icnZoL60
関数?の仕様とサンプルを斜め読みすれば
習得できると思っていたけど
結構苦戦している。
しょうがねぇからチュートリアルをちゃんと読むか…。

母をたずねて三千里、
ローマへの道は1日にしてならず、
急がば迂回、関西渋滞抜け道マップ
って言う言葉もあるくらいだし…。( '‘ω‘)さてとほなら究めてやりますか
107C言語100段 ◆iD93.8lby6 (ワッチョイ 06f4-omDX)
垢版 |
2022/03/16(水) 16:59:17.37ID:3icnZoL60
とりま、1つを GitHubに載せて
仕上がったら RedditのClicker Game 系のスレで宣伝しようっと。
108C言語100段 ◆iD93.8lby6 (ワッチョイ 22f4-omDX)
垢版 |
2022/03/17(木) 23:30:13.57ID:iby1jzaY0
よしっ
2022/03/22(火) 22:39:40.49ID:+N00RM+Md
ようやくXInput.ahkで箱コンのボタンに任意のコマンド割り当てる方法が分かった

#Include %A_ScriptDir%\xinput.ahk
SetTimer, CheckInput, 100

CheckInput:
XInput_Init()
state := Xinput_GetState(0)
if(state)
{
a_pressed := state.wButtons & 0x1000
if(a_pressed)
{
Msgbox, A Button
}
}

しかしSetTimerやLoopなどで入力監視するスタイルなのはホットキーに慣れてると少し気持ち悪いけど仕方ないかな
2022/03/22(火) 22:41:28.77ID:+N00RM+Md
なんかPCからだとこのスレだけ書き込めなくてスマホから書いてるけど
俺環かな?
111名無しさん@お腹いっぱい。 (ワッチョイ 1373-SjDQ)
垢版 |
2022/03/22(火) 23:43:37.05ID:JUHafrWs0
>>109
xinput.ahkって何?

まあ、基本は定期監視だよね…w
俺も箱コンでPC操作してるけど…w

JoyToKeyとかもそうだし… w
2022/03/22(火) 23:53:01.45ID:+N00RM+Md
>>111
前スレ450にあるAHKでXInputの入力を検知出来るようにするためのスクリプト

今の箱コンwin10ドライバーだと
Joy1::
などが使えなくなってしまったのでその代用
113名無しさん@お腹いっぱい。 (ワッチョイW 59dc-Bv4F)
垢版 |
2022/03/23(水) 01:34:06.27ID:fhS2Ecw00
前スレでinspector.ahk知って頑張るも入力が安定しなかったので、同じ作者が作っているこちらおすすめです。
midiもxinputもなんでもいけます。
https://github.com/Snoothy/UCR
114名無しさん@お腹いっぱい。 (ワッチョイ 1373-SjDQ)
垢版 |
2022/03/23(水) 08:53:01.44ID:CrewHN6W0
>>112
なるほど。

良さ気ですね…w
115名無しさん@お腹いっぱい。 (ワッチョイ 1373-SjDQ)
垢版 |
2022/03/23(水) 08:54:09.80ID:CrewHN6W0
>>
これも良さ気ですね…w
116名無しさん@お腹いっぱい。 (ワッチョイ 1373-SjDQ)
垢版 |
2022/03/23(水) 08:54:22.65ID:CrewHN6W0
>>113
これも良さ気ですね…w
117名無しさん@お腹いっぱい。 (ワッチョイ 1373-SjDQ)
垢版 |
2022/03/23(水) 16:41:36.08ID:CrewHN6W0
>>113
これって、
あるコントローラーで、他のコントローラーの操作を再現(シミュレーション)するやつ?
118名無しさん@お腹いっぱい。 (ワッチョイW 59dc-Bv4F)
垢版 |
2022/03/23(水) 20:12:16.70ID:ylEcSZ6+0
>>117
OSレベルのインターセプトとAPIのようです。
119名無しさん@お腹いっぱい。 (ワッチョイ 1373-SjDQ)
垢版 |
2022/03/23(水) 20:27:09.67ID:CrewHN6W0
>>118

最終的に、何をやるのが目的のソフトなんでしょうか?
2022/03/24(木) 08:40:13.01ID:BzTI7Kgi0
>>105
誰もこれ気にならないのですかねえ。誰も文句を言わないのかな
そういう声が出ればAHK側も対応すると思うが、私くらいかな、困ってるのは
2022/03/24(木) 09:06:45.67ID:3IV6p2M50
公式フォーラムに要望出してきた?
ここで同意者募る直接声を届けたほうが早いと思うよ

7→10のウィンドウ周りつったらエアロ関係かね
もしそうなら10以降はアプリ側で弄れないようにOS側で徹底的に潰してたから難しいのかもね
その辺の事情も公式フォーラムで対応状況聞いてきたら答えが得られるかも
それをここにフィードバックした上で話のネタにすれば賛同者は増えるかもね
2022/03/24(木) 10:21:31.33ID:PlNUtGR30
>>120
透明化自体があまり使い勝手良くないというか必要性感じないからだろうな
部分的に透明化したいと思うこと自体が無い
だから文句も出ない
2022/03/24(木) 11:00:57.32ID:BzTI7Kgi0
>>121-122
たとえばリアルタイムに動いているもの、動画でも時計でもグラフでもなんでもいいが、そのウインドウで見たい部分だけを
切り出していつも前面に設定して画面のすみに表示をしてほかの作業をしている
2022/03/24(木) 18:26:29.24ID:NQpXF0Iba
いや声を上げる相手はMSだろ
なんでAHKに対応させようとするんだよ
2022/03/24(木) 19:03:13.21ID:PtEjJtnZ0
OSの仕様が変わったら基本的にアプリがOSに合わせるしかないんだよ
特定のアプリのためだけにOSが仕様を戻すなんてことは余程の事じゃない限りしないから
2022/03/25(金) 01:39:51.07ID:JNqRM5b9a
SetLayeredWindowAttributes()を呼び出す機能なんだから
勝手に余計なことをさせたら本来の動作ができなくなるだろ

お前は言ってるのは
printf()は自分の好きな詩が出力されるべきだ!
っていうのと同じだぞ
2022/03/25(金) 08:11:21.04ID:7xNOE2L/r
ならランボオがいいなあ
2022/03/25(金) 11:53:12.01ID:PEozJtKL0
>>126
何言ってんだコイツ
無いものねだりの駄々っ子かよ
2022/03/25(金) 12:04:23.74ID:fnUuETY9a
アンカミスかも知れないけど
無いものねだりの駄々っ子はAHKにめちゃくちゃな要求してる人だよ
2022/03/25(金) 12:06:35.51ID:PEozJtKL0
MSがAHKのWinSet,Region のためだけに仕様を変えるとでも思ってるなら脳味噌お花畑だな
2022/03/25(金) 12:22:53.91ID:5Om1QN760
ミッション車とトルコン車の違いみたいなもんだね
2022/03/25(金) 12:55:06.10ID:+rdrHrAJ0
いやMSマターだからどうやっても無理って言ってるだけじゃね?
Lexikosへの筋違いな要求なら通ると思ってるならそっちのがお花畑では
2022/03/25(金) 13:06:24.46ID:PEozJtKL0
>いや声を上げる相手はMSだろ
>いや声を上げる相手はMSだろ
>いや声を上げる相手はMSだろ

どこを読んだらそう見えるんだろう
2022/03/25(金) 13:29:38.27ID:u5MGkL/bM
読んだらというか仕組みや相互関係を考え違いしてるんじゃないかな
2022/03/25(金) 13:39:01.20ID:PEozJtKL0
>>134
だれが?
2022/03/25(金) 13:46:27.64ID:u5MGkL/bM
124
2022/03/25(金) 15:10:32.03ID:+rdrHrAJ0
>>133
>124は単に筋の話をしているだけだとおもうけど
言うべき相手が誰なのかと、その相手に言ったら対応してくれそうかは別の話ですやん
2022/03/25(金) 16:01:40.56ID:PEozJtKL0
>>137
そもそも124はお前の発言>>121に対するレスだろ
どの立場で喋ってんだ
2022/03/25(金) 20:17:31.75ID:ZJrxhJqp0
質問させてください。
Enterを押した後にSpaceを押す機能を右ボタンに割り当てたいのですが、どうすればよろしいでしょうか?

Right::
Send, {Enter}
Send, {Space}
return

Right::
Send, {sc01C}
Send, {sc039}
return

どちらもメモ帳では動作するのですが、アプリケーション上では反応しません。
2022/03/25(金) 21:05:02.82ID:ZJrxhJqp0
自己解決しました。

Send, {ENTER down}
Sleep 50
Send, {SPACE down}
Sleep 50
Send, {ENTER up}
Sleep 50
Send, {SPACE up}
return
141C言語100段 ◆iD93.8lby6 (ワッチョイ 53f4-MawJ)
垢版 |
2022/03/25(金) 21:43:59.88ID:ld7Kv1l+0
KeyToKey という
便利なアプリケーションがあるから
女子供の方はそれを使った方がいい。
あれで大抵のゲームには対応できる。

AHK は選ばれし強者にのみ許された聖なる言語なり。
女子供、みだりに触れること、これ此れまかりならぬ。 ( '‘ω‘)喃?
2022/03/28(月) 00:32:06.35ID:QCzBf9KF0
GT7の金策用にAHKが使われててなんかワロタ
2022/04/03(日) 01:53:56.32ID:eLTZ4uaOM
指定したアプリがアクティブになったタイミング、
指定したアプリが非アクティブになったタイミングで処理をさせたいのですが
タイマーでアクティブなアプリをチェックして処理する、
みたいな泥臭い方法以外の方法はありますか?
2022/04/03(日) 03:44:17.46ID:KdAa9idB0
アクティブウィンドウが替わったイベントをフックすればいいのでは
WindowsのAPIを使うとできるから詳しいところは検索で
145名無しさん@お腹いっぱい。 (ワッチョイW 4bdc-aGOC)
垢版 |
2022/04/03(日) 21:37:07.53ID:kHciJG830
>>143
どんぴしゃで >>70 なんですが、もし動いたらやりかた教えてほしいです。。

ちなみに5年前のi3cpuでも、settimerを10msでまったく重くないです。
2022/04/03(日) 22:05:27.10ID:enG/Nf8N0
>>143
そのものズバリ、「アクティブウィンドウが切り替わった時に、指定の関数が呼ばれる」というサンプルスクリプトがある
直リンはマズいと思うのでトップのURLだけ
https://sites.google.com/site/agkh6mze/Home
ここの[便利に使う]→[Windowsのイベントを拾う]

ここって昔このスレから行けたような気がしたがテンプレから行けなかったっけ?
気のせいだったらスマン
2022/04/03(日) 22:58:35.44ID:VP1vUB3l0
>>146
直リンクがまずいって違法なスクリプトなん?w
2022/04/03(日) 23:14:18.22ID:IBXUkr77M
>>144, 146
ありがとうございます
WindowsのAPIについては詳しくないのですが見よう見まねで書いたら、うまく動きました
2022/04/03(日) 23:32:25.71ID:enG/Nf8N0
>>147
>直リンはマズいと思うので
このサイト主に失礼だろうという意味でだったんだが…小心者でスマンね
2022/04/03(日) 23:38:10.35ID:SvZ2Q2570
ネット黎明期90年代にはそんな風習があったような気がするけど今もあるのかねそのローカルマナーみたいなの
「リンクはトップページにお願いします」とか書いてるサイトも昔はあったが最近それもあまり見なくなった気がする
2022/04/05(火) 23:12:42.47ID:B47hSuc20
dllで呼び出した関数に、複数の引数があってビット論理和→| で区切れと書いてあるんだがAHKだとどうやって複数指定するのでしょうか?
2022/04/09(土) 05:54:52.08ID:3gVcQWrE0
runで、Office製品の内部リンクを実行できるのでしょうか?
ファイルはrunで実行して起動できますが、ファイル内の例えば自分で設定した
目次のリンクとかに一気に飛んでほしいのですが。

こういうアプリ独自のリンクを踏んでほしいのですが、方法は何かありますでしょうか?
2022/04/09(土) 07:38:31.13ID:JS7k7caG0
Office 製品のコマンド ライン スイッチのリスト
https://support.microsoft.com/ja-jp/office/microsoft-office-%E8%A3%BD%E5%93%81%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%83%A9%E3%82%A4%E3%83%B3-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-079164cd-4ef5-4178-b235-441737deb3a6

それっぽいスイッチは見当たらないので正攻法では無理じゃね
やるとしたらoffice側のマクロでそういう動作するものを組んでおいて
/mマクロ起動するか
もしくは起動後にRPAぽい挙動をさせるべくコード組むか
自動化はahkよりuwscやPower Automate Desktopの方が楽だと思うけど
2022/04/09(土) 09:59:20.36ID:xOM+R2nq0
>>152
AutoItならwordとexcelを直接操作できるが、やろうとしてることが操作できるかは知らない
また、この二つ以外のOffice製品を操作できるかも分からない
155名無しさん@お腹いっぱい。 (ワッチョイ 7bb0-jTyu)
垢版 |
2022/04/11(月) 21:14:26.55ID:SJm4XO0C0
>>151
a := 1
b := 2
c := a | b

| はビット演算の OR.
1 | 2 は 3
なので、自分で計算して 3 と書いても良いし(値が固定の場合)、
一旦変数に入れて
a | b
と書いても良い

DllCall("TargetFunction", "UInt", a | b)
DllCall("TargetFunction", "UInt", 3)
DllCall("TargetFunction", "UInt", 1 | 2)

上記のどれでも良い
156名無しさん@お腹いっぱい。 (ワッチョイ 7bb0-jTyu)
垢版 |
2022/04/11(月) 21:18:40.05ID:SJm4XO0C0
>>146
すごく参考になった
イベントをフックする方法は、かなり応用が効きそう
不要なwindowを閉じるとか、特定のwindowに特定の処理をするとか
2022/04/13(水) 13:35:14.84ID:AScOuOVW0
■質問
あるスクリプトにて、サウンド再生するときの音量変更ってできますか?

SoundPlayは音量機能がないので。
2022/04/13(水) 14:21:53.45ID:AvmJn2oq0
>>157
SendでメディアキーVolume_Up/Downを送る
2022/04/13(水) 14:24:30.27ID:AScOuOVW0
>>158
あ、PC全体じゃなくて、
そのスクリプトで再生される音声だけ変えたいって話です。
2022/04/13(水) 14:33:06.15ID:AvmJn2oq0
>>159
そのスクリプトで再生する直前直後に入れてマクロ化すれば?
2022/04/15(金) 22:08:53.06ID:C8PtiUVXa
>>157
Windwsの音量ミキサーに個別の項目として表示されるなら
それをコントロールすることは可能
直接値をセットするのは
https://docs.microsoft.com/ja-jp/windows/win32/api/audioclient/nf-audioclient-isimpleaudiovolume-setmastervolume
これを呼ぶにはそこそこの数のCore Audio APIを使う必要がある

ここでセットする値 0〜1.0 は全体のボリュームに対しての割合で
1.0をセットすれば100%、0.5なら50%となる
つまり全体のボリュームを超える音量をセットすることはできない

ちなみに全体のボリューム(たとえば「スピーカー」と表示されているもの)は
https://docs.microsoft.com/ja-jp/windows/win32/api/endpointvolume/nf-endpointvolume-iaudioendpointvolume-setmastervolumelevel
2022/04/15(金) 22:45:01.22ID:oEXLkbvE0
音量ミキサーで一見スクリプト毎の名前で出てきて個別調整できるように思えるけど
実際にはAutoHotkey.exeとして一緒になっちゃうんじゃなかったっけ
2022/04/15(金) 22:45:34.51ID:MduPQi780
>>159
こんなの見つけた(試してないから満足するものか分からない)

Setting the volume of a specific window/application - AutoHotkey Community
https://www.autohotkey.com/boards/viewtopic.php?t=47888
2022/04/16(土) 00:55:39.38ID:/sBIz6E80
>>161
ありがとうございます。
2022/04/16(土) 00:56:09.24ID:/sBIz6E80
>>162>>163
ありがとうございます。

ちょっと >>163のスクリプトを試してみます。

以前、似たようなことをしたら、スクリプトを同時に動かしている状態だと、
他のスクリプトの音量も一緒に変更されてしまったような…
2022/04/18(月) 10:17:29.70ID:k5/c1f5m0
>>165
>>163だけど、動作検証したらあれだけでは動かずもう一つスクリプト追加で動いたので報告…解決済みかも分からないが一応
原因は「GetVolumeObject()」という関数が存在しないため

追加するのは以下のGetVolumeObject()関数スクリプト
"System Sounds" in Win 10 mixer. - AutoHotkey Community
https://www.autohotkey.com/boards/viewtopic.php?t=61554

長文になって申し訳ないが、まとめると動かすために必要なスクリプトは3つ
1.>>163ページのスクリプト
 Setting the volume of a specific window/application - AutoHotkey Community
 https://www.autohotkey.com/boards/viewtopic.php?t=47888
2.1.のスクリプトに#includeする VA.ahk(1.のスクリプト内にURL記述されている)
 Vista Audio Control Functions - Scripts and Functions - AutoHotkey Community
 https://www.autohotkey.com/board/topic/21984-vista-audio-control-functions/
 の「Download v2.3 for AutoHotkey 1.1」からzipをDL
3.GetVolumeObject()関数スクリプト
 URLは上に記述
2022/04/18(月) 11:19:55.94ID:w3MR3fy50
>>166
ありがとうございます!
動きますねw

ただ、やはり、setWindowVol()ですが、実行すると、
その後に起動する別のAHKスクリプトの音量にも反映されてしまいますね…w
exeを対象に処理してるようなので…。
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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