!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)
AutoHotkey スレッド part27
レス数が950を超えています。1000を超えると書き込みができなくなります。
1名無しさん@お腹いっぱい。 (ワッチョイ 3b70-YIQo)
2019/04/20(土) 23:32:53.28ID:cTmLtZyf0876名無しさん@お腹いっぱい。 (ワッチョイ 43b1-p4c1)
2020/02/23(日) 11:27:04.07ID:pxQEnU210877名無しさん@お腹いっぱい。 (ワッチョイ ff76-zTrs)
2020/02/23(日) 11:27:07.71ID:2+m3euNG0 >>875
何やりたいんだかイメージできないけど
複数回その処理した場合ラベル名が重複してたら破綻するし
重複しないならしないで際限なくスクリプトが増えてきそうな気もするし
単純な文字列処理にすることはできないのか
例えばポップアップメニューのラベルということなら
ラッパー関数作ってしまえば
key := Menu("&File,&Edit,&Help");
if(key = "F")
...
if(key = "E")
...
と表向きラベルに依存しない実装にすることもできる
何やりたいんだかイメージできないけど
複数回その処理した場合ラベル名が重複してたら破綻するし
重複しないならしないで際限なくスクリプトが増えてきそうな気もするし
単純な文字列処理にすることはできないのか
例えばポップアップメニューのラベルということなら
ラッパー関数作ってしまえば
key := Menu("&File,&Edit,&Help");
if(key = "F")
...
if(key = "E")
...
と表向きラベルに依存しない実装にすることもできる
878名無しさん@お腹いっぱい。 (ワッチョイW 8f73-4oQp)
2020/02/23(日) 13:57:45.64ID:0PLAAEEu0 どうしてラベルの動的生成とかって発想になるのか、、、
詳細がわからんので何ともだが
このままだとどのみちif文のお化けになりそうな予感
ifをloopで回すとかで綺麗に書けると思うぞ
詳細がわからんので何ともだが
このままだとどのみちif文のお化けになりそうな予感
ifをloopで回すとかで綺麗に書けると思うぞ
879872 (ブーイモ MMff-L7zd)
2020/02/23(日) 17:06:19.15ID:v9Hizc1sM880名無しさん@お腹いっぱい。 (ワッチョイ cf44-dW+f)
2020/02/23(日) 18:49:49.06ID:xgQ7ijY50881名無しさん@お腹いっぱい。 (ワッチョイ 6fa5-Nz9x)
2020/02/23(日) 18:56:49.81ID:Qp2poSFh0 >>880
ここはクレクレスレじゃないからあとはwikiで使い方勉強しな
ここはクレクレスレじゃないからあとはwikiで使い方勉強しな
882名無しさん@お腹いっぱい。 (ワッチョイW 8f73-xPG3)
2020/02/23(日) 19:29:40.06ID:0PLAAEEu0 バイナリーファイルのオフセットのことをアドレスとか言われることに違和感しか感じない
てか動的に実行ファイル書き換えてなにしたいんだろうね
そもそもahkでやるべき処理じゃない気がする
exe複数作って呼び分けりゃいいだけのような
てか動的に実行ファイル書き換えてなにしたいんだろうね
そもそもahkでやるべき処理じゃない気がする
exe複数作って呼び分けりゃいいだけのような
883名無しさん@お腹いっぱい。 (イルクン MMdf-VJax)
2020/02/23(日) 21:37:04.33ID:obxOZYA5M アセンブラやってた頃は普通にアドレスって使ってたわ
stirlingとか使って手作業でやるんじゃあかんんの?
それかマクロ機能のあるテキストエディタでバイナリモードでゴニョゴニョするとか
stirlingとか使って手作業でやるんじゃあかんんの?
それかマクロ機能のあるテキストエディタでバイナリモードでゴニョゴニョするとか
884名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/23(日) 22:26:37.57ID:nVMPXZkZa >>880
利用場面がよくわからないが
使うなら必ず元のファイルを別箇所に保存した上で
https://pastebin.com/zKBrmi8v
一回書き換えるためだけにこれを使うなら
>>883 さんのいうように
https://www.vector.co.jp/soft/win95/util/se079072.html
のようなバイナリエディタ使うほうが
自分が何をしているのか直接はっきりわかるので安心感があると思う
どっちみち書き換えた後に確認するだろうし
あと
書き換え後の10 10がもし10進だとすれば当然
NumPut() のパラメータは 0x0A0A となります
ここではたまたま1バイト目も2バイト目も0x10(または0x0a)だけど
下位バイトから先に書き込まれるので
もしデータが0x1234ならファイルに書かれる順番は0x34 0x12になるので注意
利用場面がよくわからないが
使うなら必ず元のファイルを別箇所に保存した上で
https://pastebin.com/zKBrmi8v
一回書き換えるためだけにこれを使うなら
>>883 さんのいうように
https://www.vector.co.jp/soft/win95/util/se079072.html
のようなバイナリエディタ使うほうが
自分が何をしているのか直接はっきりわかるので安心感があると思う
どっちみち書き換えた後に確認するだろうし
あと
書き換え後の10 10がもし10進だとすれば当然
NumPut() のパラメータは 0x0A0A となります
ここではたまたま1バイト目も2バイト目も0x10(または0x0a)だけど
下位バイトから先に書き込まれるので
もしデータが0x1234ならファイルに書かれる順番は0x34 0x12になるので注意
885名無しさん@お腹いっぱい。 (ワッチョイ ffdc-dW+f)
2020/02/24(月) 00:00:14.68ID:lBWWHpPw0 >>884
ありがとうございます!このスクリプトは墓まで盛っていきます!。
ところで5バイト書き込みたいのに、4バイトしか書き込まないのは何故でしょうか?。
(&datToWrite, 5)にしているんですけどね。
ありがとうございます!このスクリプトは墓まで盛っていきます!。
ところで5バイト書き込みたいのに、4バイトしか書き込まないのは何故でしょうか?。
(&datToWrite, 5)にしているんですけどね。
886名無しさん@お腹いっぱい。 (ワッチョイ cff2-Nz9x)
2020/02/24(月) 13:03:34.74ID:EVs7CHWY0887名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/24(月) 14:23:08.95ID:dYC5j4aEa >>885
まず
https://pastebin.com/zKBrmi8v
でNumPut()のtype指定に間違いがありました
同じURLで訂正版を上げました
NumPut(... UInt)
は間違いで
NumPut(... "UInt")
が正しい指定です
さらにサンプルで実際に書き込むのは2バイトなので
"UShort"の指定があれば足ります
指定を間違っていると
デフォルトの"UInt"が指定されたとみなされます
この場合は結果として"UInt"が指定されたのと同じことになります
指定されているtypeがUInt(Int)だと4バイト分のサイズなので
下位バイト分以上のデータは入りません
参考 UChar:1バイト UShort:2バイト UInt:4バイト UInt64:8バイト
またRawWrite()で有効なサイズ以上の書き込みサイズが指定されると
不足分には0x00が書き込まれます
なので5バイトのデータを書き込みたければ"UInt64"を使う必要があります
8バイト以上のデータを書き込みたければ
単純にNumPut()とRawWrite()を続けて使えば続けて書き込まれます
たとえば
すべてNumPut()で"UChar"1バイトのデータを指定し
RawWrite()で1バイトづつ書いていけば
サイズや書き込まれる順番などを考えず書き込むことができます
まず
https://pastebin.com/zKBrmi8v
でNumPut()のtype指定に間違いがありました
同じURLで訂正版を上げました
NumPut(... UInt)
は間違いで
NumPut(... "UInt")
が正しい指定です
さらにサンプルで実際に書き込むのは2バイトなので
"UShort"の指定があれば足ります
指定を間違っていると
デフォルトの"UInt"が指定されたとみなされます
この場合は結果として"UInt"が指定されたのと同じことになります
指定されているtypeがUInt(Int)だと4バイト分のサイズなので
下位バイト分以上のデータは入りません
参考 UChar:1バイト UShort:2バイト UInt:4バイト UInt64:8バイト
またRawWrite()で有効なサイズ以上の書き込みサイズが指定されると
不足分には0x00が書き込まれます
なので5バイトのデータを書き込みたければ"UInt64"を使う必要があります
8バイト以上のデータを書き込みたければ
単純にNumPut()とRawWrite()を続けて使えば続けて書き込まれます
たとえば
すべてNumPut()で"UChar"1バイトのデータを指定し
RawWrite()で1バイトづつ書いていけば
サイズや書き込まれる順番などを考えず書き込むことができます
888名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/24(月) 14:24:16.08ID:dYC5j4aEa >>886 の指摘があるまで
"00 00"を5バイトのデータとは思いもしなかった
そういうことなのか?
"00 00"という文字列を"10 10"という文字列で
上書きしたいということなのか?
サンプルはあくまでも
0x00, 0x00の2バイトを0x10,0x10の2バイトで上書きする
という例です
"00 00"を5バイトのデータとは思いもしなかった
そういうことなのか?
"00 00"という文字列を"10 10"という文字列で
上書きしたいということなのか?
サンプルはあくまでも
0x00, 0x00の2バイトを0x10,0x10の2バイトで上書きする
という例です
889名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/24(月) 14:54:03.36ID:dYC5j4aEa もしやりたいことが文字列の書き換えだとすると
実行するAutoHotkey*.exeが
A32版で書き込み先のEXE中の文字列も
CP932やANSIなのだとしたら
datToWrite := "10 10"
としてRawWrite()で5バイト書き込めばいいと思うが
AutoHotkey*.exeがU版で書き込み先の対象文字列がCP932やANSIの場合
AutoHotkey*.exeがA版で書き込み先がの対象文字列がUTF16LEなどの場合
はそれぞれの状況に合わせて対応する必要がある
実行するAutoHotkey*.exeが
A32版で書き込み先のEXE中の文字列も
CP932やANSIなのだとしたら
datToWrite := "10 10"
としてRawWrite()で5バイト書き込めばいいと思うが
AutoHotkey*.exeがU版で書き込み先の対象文字列がCP932やANSIの場合
AutoHotkey*.exeがA版で書き込み先がの対象文字列がUTF16LEなどの場合
はそれぞれの状況に合わせて対応する必要がある
890名無しさん@お腹いっぱい。 (ワッチョイ ffdc-dW+f)
2020/02/24(月) 17:25:33.16ID:lBWWHpPw0891名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/24(月) 18:55:55.05ID:dYC5j4aEa >>887
>下位バイト分以上のデータは入りません
下位4バイト分以上のデータは入りません
>>888
>0x00, 0x00の2バイトを0x10,0x10の2バイトで上書きする
>という例です
正確には書き換え元のデータをチェックすることはなく
指定位置の2バイトを0x10,0x10の2バイトで上書きするという例です
>>889
文字として扱う場合には文字コード変換を考える必要があるが
短いデータならもちろんバイナリを直接指定可能
"10 10"のバイナリは ASCII だと 0x3130203130
UTF-16LE だと 0x00310030002000310030 なので
; ASCII/CP932
NumPut(0x3031203031, &datToWrite, 0, "UInt64")
File.RawWrite(&datToWrite, 5)
; UTF-16LE
NumPut(0x300031002000, &datToWrite, 0, "UInt64")
; 最初に"10 "だけ書き、次に残りの"10"を書く
File.RawWrite(&datToWrite, 6)
File.RawWrite(&datToWrite, 4)
もちろん実行するのがA版でもU版でも問題ない
>>890
"00 00","10 10"というのは文字列の例だったのか
それとも2バイトのバイナリデータの例で
5バイトというのはそれとはまた別の例だったのか
どっちだったの
>下位バイト分以上のデータは入りません
下位4バイト分以上のデータは入りません
>>888
>0x00, 0x00の2バイトを0x10,0x10の2バイトで上書きする
>という例です
正確には書き換え元のデータをチェックすることはなく
指定位置の2バイトを0x10,0x10の2バイトで上書きするという例です
>>889
文字として扱う場合には文字コード変換を考える必要があるが
短いデータならもちろんバイナリを直接指定可能
"10 10"のバイナリは ASCII だと 0x3130203130
UTF-16LE だと 0x00310030002000310030 なので
; ASCII/CP932
NumPut(0x3031203031, &datToWrite, 0, "UInt64")
File.RawWrite(&datToWrite, 5)
; UTF-16LE
NumPut(0x300031002000, &datToWrite, 0, "UInt64")
; 最初に"10 "だけ書き、次に残りの"10"を書く
File.RawWrite(&datToWrite, 6)
File.RawWrite(&datToWrite, 4)
もちろん実行するのがA版でもU版でも問題ない
>>890
"00 00","10 10"というのは文字列の例だったのか
それとも2バイトのバイナリデータの例で
5バイトというのはそれとはまた別の例だったのか
どっちだったの
892名無しさん@お腹いっぱい。 (ワッチョイ a311-byEd)
2020/02/24(月) 19:15:12.50ID:3dtV+3Wi0 迷惑きわまりない
893名無しさん@お腹いっぱい。 (イルクン MMdf-VJax)
2020/02/24(月) 20:09:50.30ID:611TGluuM クレクレにやりたがり説明したがりが加担すると猛烈に面倒くさくなるという実例
クレクレはクレクレなので細かく説明されてもわかりませんてなもんだろうし
こうなると誰のための長文なのか謎
クレクレはクレクレなので細かく説明されてもわかりませんてなもんだろうし
こうなると誰のための長文なのか謎
894名無しさん@お腹いっぱい。 (ワッチョイW 8f73-xPG3)
2020/02/24(月) 20:23:03.96ID:/MP7M1wt0 知識ひけらかしたいだけのゴミクズ
895名無しさん@お腹いっぱい。 (ワッチョイ cff2-Nz9x)
2020/02/24(月) 21:14:01.12ID:EVs7CHWY0 これはクレクレになりすました吊りだろ
896名無しさん@お腹いっぱい。 (ワッチョイ 83ee-p4c1)
2020/02/24(月) 22:24:56.38ID:8wlFL2l+0 なにもしていない人が文句だけ言いに出てくる方が迷惑
897名無しさん@お腹いっぱい。 (ワッチョイ ffdc-dW+f)
2020/02/24(月) 23:11:47.59ID:lBWWHpPw0898名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/24(月) 23:40:29.31ID:dYC5j4aEa899名無しさん@お腹いっぱい。 (ワッチョイ ff90-Nz9x)
2020/02/24(月) 23:59:35.92ID:ukQ72hwI0 自己満足オナニーを見せびらかすのが趣味のキチガイ
900名無しさん@お腹いっぱい。 (ワッチョイ ff93-IPX/)
2020/02/25(火) 14:02:29.67ID:ZSNcjZkB0 x=a かつ y=b の時 って if (x=a && y=b) って書きますけど
x=a かつ y=b かつ zはc か d の時場合に〜をするって書きたい時は
if (x=a && y=b && (z=c || z=d ) )
って書き方って正しいんですかね?
動いてはいるんですけど、偶々なのか仕様上アリな書き方なのか
x=a かつ y=b かつ zはc か d の時場合に〜をするって書きたい時は
if (x=a && y=b && (z=c || z=d ) )
って書き方って正しいんですかね?
動いてはいるんですけど、偶々なのか仕様上アリな書き方なのか
901名無しさん@お腹いっぱい。 (ワッチョイ cfac-Nz9x)
2020/02/25(火) 16:28:56.89ID:9JpJZY+40 >>900
何を気にしてるかいまいちわからないけど、
If(...) は、() 内の式の演算結果が0かそれ以外かで条件分岐を行うコマンド
式は演算子や関数、()等を組合わせて複雑な処理が行える(どうもAHK的には()は演算子(operator)ではなくsub-expressionらしい)
&&も||も=も、+-*/とかと同じ演算子の一種で、優先順位に従って前後を評価してるだけだから、仕様上普通にアリだぞ
何を気にしてるかいまいちわからないけど、
If(...) は、() 内の式の演算結果が0かそれ以外かで条件分岐を行うコマンド
式は演算子や関数、()等を組合わせて複雑な処理が行える(どうもAHK的には()は演算子(operator)ではなくsub-expressionらしい)
&&も||も=も、+-*/とかと同じ演算子の一種で、優先順位に従って前後を評価してるだけだから、仕様上普通にアリだぞ
902名無しさん@お腹いっぱい。 (ワッチョイ 6f88-Nz9x)
2020/02/25(火) 17:02:57.72ID:HxYSIL/v0 コピって正しく動くか確認しようとしたら正しく動かなくておや?と思ったら全角zだった
紛らわしいもん貼るなクソが
仕様上はありだろ
紛らわしいもん貼るなクソが
仕様上はありだろ
903名無しさん@お腹いっぱい。 (ワッチョイ ff93-IPX/)
2020/02/25(火) 17:32:02.22ID:ZSNcjZkB0 ありがとうございます
何かを気にしているわけでもなく、自分にとって初めてのパターンだったので
今後の為に確かめとこう、というだけです
何かを気にしているわけでもなく、自分にとって初めてのパターンだったので
今後の為に確かめとこう、というだけです
904名無しさん@お腹いっぱい。 (ワッチョイ b3b1-oL1e)
2020/02/26(水) 14:06:22.50ID:7F6rsf3I0 trimって`tは使えますが、`nは効いてくれないっぽいですね?
正規表現の方で取り除きますか。
用意されてる位だからtrimの方が正規表現より処理が高速なんだと思いますが
正規表現の方で取り除きますか。
用意されてる位だからtrimの方が正規表現より処理が高速なんだと思いますが
905名無しさん@お腹いっぱい。 (ワッチョイ 2abe-oL1e)
2020/02/26(水) 15:16:59.88ID:c4GFwtAD0 >>904
`r 忘れてませんか?
`r 忘れてませんか?
906名無しさん@お腹いっぱい。 (ワッチョイ b3b1-oL1e)
2020/02/26(水) 15:24:07.37ID:7F6rsf3I0 >>905
即できました。感謝です
即できました。感謝です
907名無しさん@お腹いっぱい。 (ワッチョイ ff90-1B47)
2020/02/27(木) 21:31:24.10ID:AaLdFJJt0 AHK で今やっていることの一部 (テキスト処理) などを Python に移植・移行させようと検討中
なにかアドバイスいただけないでしょうか
なにかアドバイスいただけないでしょうか
908名無しさん@お腹いっぱい。 (ワッチョイ 9fcf-/0SP)
2020/02/27(木) 21:56:51.63ID:XNLpv4aZ0 ここはヤフー知恵袋ではありません
検討が終わって「試した結果」アドバイスがほしいなら
その試行結果を書きましょう
検討が終わって「試した結果」アドバイスがほしいなら
その試行結果を書きましょう
909名無しさん@お腹いっぱい。 (ワッチョイ 46a5-DFeu)
2020/02/27(木) 22:14:57.75ID:KO2TY9Xf0 >>907
適切なアドバイス:やる気、根気、元気
適切なアドバイス:やる気、根気、元気
910名無しさん@お腹いっぱい。 (ワッチョイ c673-hCBP)
2020/02/27(木) 23:28:22.65ID:paT1bPoi0 PyAutoGuiってのを使えばできるんじゃない(よく知らない)
911名無しさん@お腹いっぱい。 (ヒッナー 4adc-I9gd)
2020/03/03(火) 19:37:26.03ID:Be6uMdaa00303 同一サイズのファイルを比較して分岐したいんですけど、VersionやCRC32比較以外で使用出来るコマンドってありますか?。
912名無しさん@お腹いっぱい。 (ヒッナーT Sa2f-p7ie)
2020/03/03(火) 21:53:29.37ID:nxxZcT/xa0303 ファイルのサイズが同一のときに、そのファイル同士の何を比較したいのか
要求をもってる本人しかわからないのでは
要求をもってる本人しかわからないのでは
913名無しさん@お腹いっぱい。 (ワッチョイ cb76-tZ9n)
2020/03/06(金) 02:01:57.18ID:kl9tBovc0 powershell compare file (hash)
でググってPSに丸投げするのが楽そう
でググってPSに丸投げするのが楽そう
914名無しさん@お腹いっぱい。 (ワッチョイ 0f76-g6LZ)
2020/03/06(金) 02:08:23.38ID:fycGgJoa0 AHKにMGLの関数をIncludeで移植できないですか?
横スクロール関数とかそのまま使いたいんですが
横スクロール関数とかそのまま使いたいんですが
915名無しさん@お腹いっぱい。 (ワッチョイW 4be5-eQKf)
2020/03/06(金) 13:28:07.26ID:2PcikLRF0 依存関係がなく単体で動く関数集ならいける
外部関数やグローバル変数参照してるなら適宜修正
ここよりMGLスレで聞くほうがいいのでは?
外部関数やグローバル変数参照してるなら適宜修正
ここよりMGLスレで聞くほうがいいのでは?
916名無しさん@お腹いっぱい。 (ワッチョイ 0f76-o1n2)
2020/03/06(金) 15:28:23.83ID:fycGgJoa0 確かにそうですね。
ところで、AHKで、Shift+Wheelに横スクロールをあてる方法がわからないのですが、
うまい方法はありませんか?
それこそMGLの作者様はうまい方法でそれをしていたのでIncludeしたいと思ったわけですが、
それを解析できるほどの能力はなく、困っています。
ところで、AHKで、Shift+Wheelに横スクロールをあてる方法がわからないのですが、
うまい方法はありませんか?
それこそMGLの作者様はうまい方法でそれをしていたのでIncludeしたいと思ったわけですが、
それを解析できるほどの能力はなく、困っています。
917名無しさん@お腹いっぱい。 (ワッチョイ 9faa-xiWk)
2020/03/06(金) 15:42:14.15ID:vpOIQ0360 >>916
普通にリマップでShift+Wheelに横スクロールを割り当てればいいだけ
やり方はwikiに書いてあるし、その通りにやって出来ないというならまずそのスクリプトを貼れ
調べもせずに答えクレクレしてるならお門違い
普通にリマップでShift+Wheelに横スクロールを割り当てればいいだけ
やり方はwikiに書いてあるし、その通りにやって出来ないというならまずそのスクリプトを貼れ
調べもせずに答えクレクレしてるならお門違い
918名無しさん@お腹いっぱい。 (ワッチョイ cbb1-5EiH)
2020/03/06(金) 16:13:50.53ID:ZxS77oU90919名無しさん@お腹いっぱい。 (ワッチョイ abb1-o1n2)
2020/03/06(金) 16:24:37.14ID:wYD9JGiR0 >>918
ただリマップするだけならそんな余計な手間かける必要ないだろう
たった二行書くだけなんだからリマップの使い方調べた方が早い
リマップすら分からん奴がそれの中身を調べる方が遥かに手間がかかるわ
ただリマップするだけならそんな余計な手間かける必要ないだろう
たった二行書くだけなんだからリマップの使い方調べた方が早い
リマップすら分からん奴がそれの中身を調べる方が遥かに手間がかかるわ
920名無しさん@お腹いっぱい。 (ワッチョイ ef11-o1n2)
2020/03/06(金) 16:42:09.76ID:ax+hR1Y10 #IfWinExist, ahk_class Fallout4
*RButton Up::
If (Toggle := !Toggle){
Send {Click Down Right}
}
Else{
Send {RButton up}
}
Return
これにshiftとwキー同時押しで右クリック押上の機能を追加したいと思い
~w & ~LShift::Send {RButton up}を書き足し
#IfWinExist, ahk_class Fallout4
*RButton Up::
If (Toggle := !Toggle){
Send {Click Down Right}
}
Else{
Send {RButton up}
}
Return
~w & ~LShift::Send {RButton up}
これで実行してみたが右クリック押下中にshiftとwキー同時押しするともう一度押下するのに二回右クリックする必要があった
上の問題を起こさずshiftとwキーで右クリック押上を追加する方法はありますか
*RButton Up::
If (Toggle := !Toggle){
Send {Click Down Right}
}
Else{
Send {RButton up}
}
Return
これにshiftとwキー同時押しで右クリック押上の機能を追加したいと思い
~w & ~LShift::Send {RButton up}を書き足し
#IfWinExist, ahk_class Fallout4
*RButton Up::
If (Toggle := !Toggle){
Send {Click Down Right}
}
Else{
Send {RButton up}
}
Return
~w & ~LShift::Send {RButton up}
これで実行してみたが右クリック押下中にshiftとwキー同時押しするともう一度押下するのに二回右クリックする必要があった
上の問題を起こさずshiftとwキーで右クリック押上を追加する方法はありますか
921名無しさん@お腹いっぱい。 (ワッチョイ 9faa-xiWk)
2020/03/06(金) 17:09:41.48ID:vpOIQ0360922名無しさん@お腹いっぱい。 (ワッチョイ 0f76-o1n2)
2020/03/06(金) 19:49:27.70ID:fycGgJoa0 すごい剣幕の人いて草
そんなにあっさりしたスクリプトならどうぞやってみていただいて。
まあ普通に割り当てる「横スクロール」があればの話だけど
そんなにあっさりしたスクリプトならどうぞやってみていただいて。
まあ普通に割り当てる「横スクロール」があればの話だけど
923名無しさん@お腹いっぱい。 (ワッチョイ 9f31-xiWk)
2020/03/06(金) 19:53:36.60ID:ncNTsugM0924名無しさん@お腹いっぱい。 (ワッチョイ 6bee-Ff7g)
2020/03/06(金) 20:59:17.22ID:RZyYlbFQ0925名無しさん@お腹いっぱい。 (ワッチョイ 3bcf-Inmc)
2020/03/06(金) 21:00:46.44ID:zXXWZlRK0 このスレ定期的にガイジが登場するね!
926名無しさん@お腹いっぱい。 (ワッチョイ 9f31-xiWk)
2020/03/06(金) 21:06:44.23ID:ncNTsugM0927名無しさん@お腹いっぱい。 (ワッチョイ 4be5-qyrA)
2020/03/06(金) 21:18:35.26ID:2PcikLRF0 単純にチルトを割り当てるレベルの話なら
+WheelUp::WheelLeft
+WheelDown::WheelRight
だけでいい
けどMGL内のMG_Scroll2() 相当のことがしたいという話ならいきなり面倒になるね
MG_Scroll2()の中身を見たが基本は WheelAccel.ahk (WheelScroll.ahk)からの改造っぽいので
とりあえずWheelScroll.ahkを#Includeで組み込んでみては
Shift+Wheelでの横スクロールはデフォでリマップされてるのでそのままでいけるはず
WheelScroll.ahk
https://w.atwiki.jp/eamat/pages/30.html
+WheelUp::WheelLeft
+WheelDown::WheelRight
だけでいい
けどMGL内のMG_Scroll2() 相当のことがしたいという話ならいきなり面倒になるね
MG_Scroll2()の中身を見たが基本は WheelAccel.ahk (WheelScroll.ahk)からの改造っぽいので
とりあえずWheelScroll.ahkを#Includeで組み込んでみては
Shift+Wheelでの横スクロールはデフォでリマップされてるのでそのままでいけるはず
WheelScroll.ahk
https://w.atwiki.jp/eamat/pages/30.html
928名無しさん@お腹いっぱい。 (ワッチョイ 9f31-xiWk)
2020/03/06(金) 21:23:05.15ID:ncNTsugM0 ほらな
質問の「Shift+Wheelに横スクロールをあてる方法」だけなら2行で済む話
質問の「Shift+Wheelに横スクロールをあてる方法」だけなら2行で済む話
929名無しさん@お腹いっぱい。 (ワッチョイ 1bf0-xiWk)
2020/03/06(金) 21:28:04.94ID:PlejuA1b0 そもそも、どのソフトに対して横スクロールを割り当てたいのかということも含めて
途中経過でいいから自分なりに作ってみたものを出すべきでしょう
途中経過でいいから自分なりに作ってみたものを出すべきでしょう
930名無しさん@お腹いっぱい。 (ワッチョイ 0f76-o1n2)
2020/03/06(金) 21:39:18.65ID:fycGgJoa0 「普通のやり方」では普通に動作してたわ
ごめんやでみんな
+WheelDown::Send, {WheelRight}
Return
+WheelUp::Send, {WheelLeft}
Return
ゆっくりスクロールしてみたら確かに横スクロールしていったけど、
普通に弾くようなスクロールだとスクロールがされないソフトもあるようで、気が付かなんだ
MGLの組み込み関数だとこれがしっかり動作してるけど、何が違うんだろう
ジェスチャー入力後にトリガー押しっぱのホイール回転で音量調整とか作れるくらいには
リファレンス読んでるけど、なにせ素人でこれ以上はわからなかった
ごめんやでみんな
+WheelDown::Send, {WheelRight}
Return
+WheelUp::Send, {WheelLeft}
Return
ゆっくりスクロールしてみたら確かに横スクロールしていったけど、
普通に弾くようなスクロールだとスクロールがされないソフトもあるようで、気が付かなんだ
MGLの組み込み関数だとこれがしっかり動作してるけど、何が違うんだろう
ジェスチャー入力後にトリガー押しっぱのホイール回転で音量調整とか作れるくらいには
リファレンス読んでるけど、なにせ素人でこれ以上はわからなかった
931名無しさん@お腹いっぱい。 (ワッチョイ cbb1-bQEa)
2020/03/06(金) 22:20:27.84ID:pYjTh7GO0 最初から素直に言うこと聞きゃいいのに何で悪態付くんだか
932名無しさん@お腹いっぱい。 (ワッチョイ eb58-xiWk)
2020/03/06(金) 22:22:43.09ID:jUknvGm+0 何が違うんだろうって関数の中を見たなら全く違うのは分かるでしょ
チルトホイールは回転じゃなくて押し倒した状態をホールドする機構だから、ホイールの回転に割り当てても
アプリ側の想定とは違うタイミングでイベントが発生して思ったように動かない場合も当然あるよ
チルトホイールは回転じゃなくて押し倒した状態をホールドする機構だから、ホイールの回転に割り当てても
アプリ側の想定とは違うタイミングでイベントが発生して思ったように動かない場合も当然あるよ
933名無しさん@お腹いっぱい。 (ワッチョイ ef84-o1n2)
2020/03/06(金) 22:33:27.89ID:rpP0pfcH0 弾くようなスクロールとか言ってる時点で普通のマウスじゃないんじゃね
普通のマウスホイールはカチカチ感があって弾くような操作はしないし
標準の横スクロールに対応してるソフトなら>>927の2行だけで問題なく正常に動く
普通のマウスホイールはカチカチ感があって弾くような操作はしないし
標準の横スクロールに対応してるソフトなら>>927の2行だけで問題なく正常に動く
934名無しさん@お腹いっぱい。 (ワッチョイ 8b73-xiWk)
2020/03/06(金) 22:41:59.61ID:+mYlIqSa0 つまり馬鹿ってことだな
935名無しさん@お腹いっぱい。 (ワッチョイ 3b0c-gHpN)
2020/03/06(金) 23:29:43.95ID:693LAOZx0 ID:fycGgJoa0 は素直に謝ってるのに、皆して攻撃しなくても……。
936名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)
2020/03/07(土) 00:05:52.60ID:2hfOjEC40 >>920
~w & LShift だけの場合
修飾キーw を先に押す必要があるので同時押しすると1/2の確立で失敗する
修飾キーShift も追加すると同時押し対応になる
#IfWinExist A
*RButton Up::
~w & LShift:: ; wを先に押す
~+w:: ; Shiftを先に押す
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton up}
return
#If
Esc::ExitApp
~w & LShift だけの場合
修飾キーw を先に押す必要があるので同時押しすると1/2の確立で失敗する
修飾キーShift も追加すると同時押し対応になる
#IfWinExist A
*RButton Up::
~w & LShift:: ; wを先に押す
~+w:: ; Shiftを先に押す
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton up}
return
#If
Esc::ExitApp
937名無しさん@お腹いっぱい。 (ワッチョイ 4be5-qyrA)
2020/03/07(土) 00:38:53.32ID:/iw1tSxU0 >>930
スクロール関係のメッセージは縦横それぞれ2種類あって
縦ホイール(WM_MOUSEWHEEL) / 横ホイール(WM_MOUSEHWHEEL)
縦スクロール(WM_VSCROLL) / 横スクロール(WM_HSCROLL)
縦はさすがにホイールでスクロールできないアプリはほぼ駆逐されたので問題ないが
横(チルト)はいまだに対応していないアプリがちらほらある、ExcelとかExcelとかExcelとかな
なのでMGLではWM_HSCROLL使って動かしてる模様
あとアプリによってはスクロールバーがあちこちにあるので
マウス直下のコントロールを確実にスクロールさせるための特定処理とか
スムースに動かすための加速処理とか諸々
スクロール関係のメッセージは縦横それぞれ2種類あって
縦ホイール(WM_MOUSEWHEEL) / 横ホイール(WM_MOUSEHWHEEL)
縦スクロール(WM_VSCROLL) / 横スクロール(WM_HSCROLL)
縦はさすがにホイールでスクロールできないアプリはほぼ駆逐されたので問題ないが
横(チルト)はいまだに対応していないアプリがちらほらある、ExcelとかExcelとかExcelとかな
なのでMGLではWM_HSCROLL使って動かしてる模様
あとアプリによってはスクロールバーがあちこちにあるので
マウス直下のコントロールを確実にスクロールさせるための特定処理とか
スムースに動かすための加速処理とか諸々
938名無しさん@お腹いっぱい。 (ワッチョイ ef84-xiWk)
2020/03/07(土) 00:52:40.38ID:3dqwd/ss0 >>936
WとShiftどっちを先に押すかはまあ両方書いておくに超したことは無いだろうけど
それだとshiftとwキー同時押し時も押すたびに{Click Down Right}と{RButton up}が交互になってしまうから
質問者のやりたいことと違う
質問者は
>shiftとwキー同時押しで右クリック押上の機能を追加したい
~~~~~~~~~~~~~~~
なので>>920の後半のスクリプトに
Toggle :=
を加えてWとShift同時押しした時にToggleをリセットすればいいだけ
そうすれば次に右クリック押すときは必ず{Click Down Right}に戻るから2回右クリックしなくて済む
あとコマンドが複数行になるからReturnも書き忘れずに
WとShiftどっちを先に押すかはまあ両方書いておくに超したことは無いだろうけど
それだとshiftとwキー同時押し時も押すたびに{Click Down Right}と{RButton up}が交互になってしまうから
質問者のやりたいことと違う
質問者は
>shiftとwキー同時押しで右クリック押上の機能を追加したい
~~~~~~~~~~~~~~~
なので>>920の後半のスクリプトに
Toggle :=
を加えてWとShift同時押しした時にToggleをリセットすればいいだけ
そうすれば次に右クリック押すときは必ず{Click Down Right}に戻るから2回右クリックしなくて済む
あとコマンドが複数行になるからReturnも書き忘れずに
939名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)
2020/03/07(土) 01:22:22.38ID:2hfOjEC40940名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)
2020/03/07(土) 02:01:04.77ID:2hfOjEC40 押されている場合のみ
#IfWinExist A ; ahk_class Fallout4
*RButton Up::
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton Up}
return
#If
~+w:: ; Shiftを先に押す
~w & LShift:: ; wを先に押す
if (Toggle) {
Toggle = 0
ToolTip Send {RButton Up}
}
return
Esc::ExitApp
#IfWinExist A ; ahk_class Fallout4
*RButton Up::
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton Up}
return
#If
~+w:: ; Shiftを先に押す
~w & LShift:: ; wを先に押す
if (Toggle) {
Toggle = 0
ToolTip Send {RButton Up}
}
return
Esc::ExitApp
941名無しさん@お腹いっぱい。 (ワッチョイ 3b0c-gHpN)
2020/03/07(土) 02:20:12.93ID:m5Ine51e0 >>940
横からで申し訳ないんですが、文末に #if を記述する意味ってなんですか?
#IfWinExist A ; ahk_class Fallout4
*RButton Up::
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton Up}
return
#If ← これ。文末は、return で終わるもんだと思ってたんですが。
横からで申し訳ないんですが、文末に #if を記述する意味ってなんですか?
#IfWinExist A ; ahk_class Fallout4
*RButton Up::
if (Toggle := !Toggle)
ToolTip Send {Click Down Right}
else
ToolTip Send {RButton Up}
return
#If ← これ。文末は、return で終わるもんだと思ってたんですが。
942名無しさん@お腹いっぱい。 (ワッチョイ ef11-o1n2)
2020/03/07(土) 02:36:13.74ID:LDzhEuR80 このコードで快適にfallout4をtoggle adsで遊ぶことができるようになりました 920です
回答してくれた方ありがとうございました(´・ω・`)
エラーがでてコード書き込めなかった
回答してくれた方ありがとうございました(´・ω・`)
エラーがでてコード書き込めなかった
943名無しさん@お腹いっぱい。 (ワッチョイ ef84-xiWk)
2020/03/07(土) 03:44:00.38ID:3dqwd/ss0 >>941
#IfWinExist A ; ahk_class Fallout4 から #If まで囲った範囲が全て条件分岐の対象ってこと
#IfとReturnは関係ない
例)
#IfWinActive, ahk_class Notepad ;メモ帳がアクティブな場合
F1::
Msgbox, Notepad F1
Return
F2::
Msgbox, Notepad F2
Return
#If ;ここまで。これより下はメモ帳がアクティブでない場合
F1::
Msgbox, F1
Return
F2::
Msgbox, F2
Return
#IfWinExist A ; ahk_class Fallout4 から #If まで囲った範囲が全て条件分岐の対象ってこと
#IfとReturnは関係ない
例)
#IfWinActive, ahk_class Notepad ;メモ帳がアクティブな場合
F1::
Msgbox, Notepad F1
Return
F2::
Msgbox, Notepad F2
Return
#If ;ここまで。これより下はメモ帳がアクティブでない場合
F1::
Msgbox, F1
Return
F2::
Msgbox, F2
Return
944名無しさん@お腹いっぱい。 (ワッチョイ 3b0c-gHpN)
2020/03/07(土) 04:27:04.26ID:m5Ine51e0 >>943
なるほど。解りやすい説明ありがとうございます。
なるほど。解りやすい説明ありがとうございます。
945名無しさん@お腹いっぱい。 (ワッチョイ 2b76-tZ9n)
2020/03/07(土) 22:59:14.36ID:+RomcdKr0 デバッグログ出力や
自身の.ahkファイル解析してショートカットキー一覧を表示する場合
.md形式で出力してrun,markdown viewerで表示するのが楽だな
自身の.ahkファイル解析してショートカットキー一覧を表示する場合
.md形式で出力してrun,markdown viewerで表示するのが楽だな
946名無しさん@お腹いっぱい。 (ワッチョイ cbb1-5EiH)
2020/03/08(日) 01:43:49.31ID:t7JaPqPz0 WinSet, Style, -0x00C00000, A
Sleep, 3000
WinSet, Style, +0x00C00000, A
これだとタイトルバーの下の数px分が消えない・・・・・
-0x00400000、-0x00800000、-0x00080000とかもやったけども変わらず
どしたら綺麗にタイトルバー消えるようになるべか?
Sleep, 3000
WinSet, Style, +0x00C00000, A
これだとタイトルバーの下の数px分が消えない・・・・・
-0x00400000、-0x00800000、-0x00080000とかもやったけども変わらず
どしたら綺麗にタイトルバー消えるようになるべか?
947名無しさん@お腹いっぱい。 (ワッチョイ 9f20-Ff7g)
2020/03/08(日) 03:24:14.14ID:N6lYmqZp0 >>946
「OS ウィンドウ枠」でググる
「OS ウィンドウ枠」でググる
948名無しさん@お腹いっぱい。 (ガックシ 067f-o1n2)
2020/03/09(月) 13:03:10.44ID:2KencZC16949名無しさん@お腹いっぱい。 (ワッチョイ cbb1-5EiH)
2020/03/09(月) 20:53:57.60ID:qCHS/UCW0 >>947
どうも
以前からレジストリのCaptionHeight → -270 にしてて
今回ggってPaddedBorderWidth → 0 としてみたけど
それでも残り2〜3pxぐらいが消えてくれなかった…
序でにBorderWidth → 0 やSmCaptionHeight → -270 にしてみても変わらずだった
中々うまく行かないな
あ、ahk 1.1.32.00 U32 win10 pro 64bit 1909という環境ですた(情報後出しスマン)
どうも
以前からレジストリのCaptionHeight → -270 にしてて
今回ggってPaddedBorderWidth → 0 としてみたけど
それでも残り2〜3pxぐらいが消えてくれなかった…
序でにBorderWidth → 0 やSmCaptionHeight → -270 にしてみても変わらずだった
中々うまく行かないな
あ、ahk 1.1.32.00 U32 win10 pro 64bit 1909という環境ですた(情報後出しスマン)
950名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)
2020/03/09(月) 23:03:43.14ID:zkenNdqM0 >>949
タイトルバーの下だけ少し残るって見たこと無いから画像UPしてほしい
タイトルバーの下だけ少し残るって見たこと無いから画像UPしてほしい
951949 (ワッチョイ cbb1-5EiH)
2020/03/10(火) 00:24:19.26ID:fBPGX49e0 こんな感じなんだけど…
今になって気づいたんだけどスクリプト実行した時の「メニューバーの色」が白じゃないのは何故だろ?
(他のウインドウも同様)
タイトルバー表示:https://dotup.org/uploda/dotup.org2083742.png
スクリプト実行:https://dotup.org/uploda/dotup.org2083746.png
一応レジストリ設定も
https://dotup.org/uploda/dotup.org2083748.png
…う〜んこんな現象はいわゆる俺環ってやつなのかな?
今になって気づいたんだけどスクリプト実行した時の「メニューバーの色」が白じゃないのは何故だろ?
(他のウインドウも同様)
タイトルバー表示:https://dotup.org/uploda/dotup.org2083742.png
スクリプト実行:https://dotup.org/uploda/dotup.org2083746.png
一応レジストリ設定も
https://dotup.org/uploda/dotup.org2083748.png
…う〜んこんな現象はいわゆる俺環ってやつなのかな?
952名無しさん@お腹いっぱい。 (ワッチョイ 4b0d-Ff7g)
2020/03/10(火) 01:46:07.59ID:0mQe+mq20 >>951
win10枠線の設定が有効になっている
スタート → 設定 または デスクトップ右クリック
個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)
サイズ変更(0x00040000)も切らないと枠が消えないアプリがあったのでこれでテストしてみたら?
切るかどうかはWinGetでウィンドウスタイルを調べればいい
https://pastebin.com/AuD7BQ0R
win10枠線の設定が有効になっている
スタート → 設定 または デスクトップ右クリック
個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)
サイズ変更(0x00040000)も切らないと枠が消えないアプリがあったのでこれでテストしてみたら?
切るかどうかはWinGetでウィンドウスタイルを調べればいい
https://pastebin.com/AuD7BQ0R
953名無しさん@お腹いっぱい。 (ワッチョイ 0bc1-xiWk)
2020/03/10(火) 01:46:25.44ID:KqOKOizd0 俺も残るよ
Win10の仕様だと思ってた
Win10の仕様だと思ってた
954951 (ワッチョイ cbb1-5EiH)
2020/03/10(火) 19:47:06.79ID:fBPGX49e0 >>952
>個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)
ここはアクティブウインドウがどれか分からなくなるので個人的にチェック有りじゃないと駄目なんで
スクリプトどうも
そのスクリプト実行した結果ウインドウ下部が画像赤矢印のようになり上手く行かなかった(0X00C00000 ではならない)
https://dotup.org/uploda/dotup.org2084284.png
その後ggってみたものの海外でもタイトルバー消すのに 0X00C00000 使ってるケースが多いようで…
>>953
そうすか、俺環だけじゃないのね…
Win10の仕様と判断して諦めるわ(´・ω・`)
>個人用設定 → 色 → タイトルバーとウィンドウの境界線(既定チェックなし)
ここはアクティブウインドウがどれか分からなくなるので個人的にチェック有りじゃないと駄目なんで
スクリプトどうも
そのスクリプト実行した結果ウインドウ下部が画像赤矢印のようになり上手く行かなかった(0X00C00000 ではならない)
https://dotup.org/uploda/dotup.org2084284.png
その後ggってみたものの海外でもタイトルバー消すのに 0X00C00000 使ってるケースが多いようで…
>>953
そうすか、俺環だけじゃないのね…
Win10の仕様と判断して諦めるわ(´・ω・`)
955名無しさん@お腹いっぱい。 (ワッチョイ b9b1-9blg)
2020/03/12(木) 15:41:57.11ID:YtMEv69+0 win奴隷にだけはなりたくない
956名無しさん@お腹いっぱい。 (ワッチョイ 01b3-Zv6Q)
2020/03/13(金) 13:40:58.49ID:FajN12cx0 ひとつのスクリプトで、
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return
としておいて、別のスクリプトで、
GetKeyState, g_stateL, LButton, P
とやったら、マウス左ボタンを押しっぱなしにしていても
Uが帰ってきて、Lが来ない
どうしてでしょうか
LButton::
Send, {LButton Down}
return
LButton Up::
Send, {Blind}{LButton Up}
return
としておいて、別のスクリプトで、
GetKeyState, g_stateL, LButton, P
とやったら、マウス左ボタンを押しっぱなしにしていても
Uが帰ってきて、Lが来ない
どうしてでしょうか
957名無しさん@お腹いっぱい。 (ワッチョイ f11f-drwQ)
2020/03/13(金) 13:58:43.47ID:6RSofPyV0958名無しさん@お腹いっぱい。 (ワッチョイ 01b3-Zv6Q)
2020/03/13(金) 14:02:16.81ID:FajN12cx0 ありがとうございます。Dでした。おかしいなあ、私の環境なのかなあ
3時以降に時間が出来ますので、そこでまた詳細調べてみます
3時以降に時間が出来ますので、そこでまた詳細調べてみます
959名無しさん@お腹いっぱい。 (ワッチョイ f11f-drwQ)
2020/03/13(金) 14:10:30.77ID:6RSofPyV0 環境のせいにするより前に単なる勘違いやイージーミスをまず疑うべきだろ
○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が返って来る
○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.09ID:FajN12cx0 ○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をあとからロードするようにするしかありませんか
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.62ID:LN/Q5YZj0 そのすく見る限りスクリプトは二つ必要ないでしょ
だから、○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
と、適当に答えてみる
だから、○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.21ID:FajN12cx0 なるほど、#ifを使ってきりわける方法がありましたか
実際のスクリプトはそんなに簡単ではないのですが、これはとても良い
ヒントになりました。ありがとうございました
実際のスクリプトはそんなに簡単ではないのですが、これはとても良い
ヒントになりました。ありがとうございました
963名無しさん@お腹いっぱい。 (ワッチョイW 0176-hwU2)
2020/03/16(月) 20:33:25.96ID:zDNwJGtk0 夜間モードのオンオフをキーボードのどこかに割り当てたいんですが、どう書けば良いですか?
964名無しさん@お腹いっぱい。 (ワッチョイ e5f0-drwQ)
2020/03/16(月) 22:38:48.18ID:RukI6SGP0 >>963
まず、その動作の一連の流れを書き出す。後はそれをAutoHotkeyの記述に落とし込む
コマンドで対応できるなら確実で速い。ショートカットキーは分かりやすいから無難
マウスでしかできない部分は、それらに比べるとちょっと難しくなる
まず、その動作の一連の流れを書き出す。後はそれをAutoHotkeyの記述に落とし込む
コマンドで対応できるなら確実で速い。ショートカットキーは分かりやすいから無難
マウスでしかできない部分は、それらに比べるとちょっと難しくなる
965名無しさん@お腹いっぱい。 (ワッチョイ 6ec0-VbKM)
2020/03/17(火) 00:13:19.40ID:PptbWypp0966名無しさん@お腹いっぱい。 (ワッチョイW 0176-hwU2)
2020/03/17(火) 00:55:30.05ID:S4FhfJwN0 >>964,965
ありがとうございます
ありがとうございます
967名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)
2020/03/20(金) 12:41:13.41ID:YktARklY0 書き込みできないんだけどなんで?
968名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)
2020/03/20(金) 12:43:27.15ID:YktARklY0 できたので再開させてもらいます
利用者少ないかとは思うのですが、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 のときは上の % を外す
利用者少ないかとは思うのですが、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名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)
2020/03/20(金) 12:44:04.66ID:YktARklY0 しかし AHKv2 で動かすと下記のようなエラーがでます
私がオブジェクト型を理解していないことが原因ですが、次どうしてよいかさっぱりわかりません
識者のみなさんご教示願えないでしょうか
Error: This value of type "Object" has no property named "__Item".
--> 002: clrs[1, 1] := "ff0000"
私がオブジェクト型を理解していないことが原因ですが、次どうしてよいかさっぱりわかりません
識者のみなさんご教示願えないでしょうか
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.78ID:alE7Ns8K0 ちら見なんでよく分かってないけどv2は配列の実装が変わったんじゃない?
なんかドキュメント見るとArray Objectを使うようになってるみたいだけど
__ItemはArray Objectの中で使ってる何かみたいだし
なんかドキュメント見るとArray Objectを使うようになってるみたいだけど
__ItemはArray Objectの中で使ってる何かみたいだし
971名無しさん@お腹いっぱい。 (ワッチョイ b9be-9hUR)
2020/03/20(金) 18:16:04.13ID:8awlI5pq0 v2は、Arrayオブジェクトという配列用のものをObjectオブジェクトとは別に用意して、
Arrayオブジェクト用のプロパティはObjectオブジェクト自体に持たせなくなってる
v1(の途中から)は、Object()でもArray()でも動くけど、v2ではわかれている
Arrayオブジェクト用のプロパティはObjectオブジェクト自体に持たせなくなってる
v1(の途中から)は、Object()でもArray()でも動くけど、v2ではわかれている
972名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)
2020/03/20(金) 18:19:51.89ID:YktARklY0 ドキュメントを読むと Array() てのはベクトル型配列のみ対応のようで
複数行 x 複数列の行列型配列にはならないようなのです
2 x 複数なら Map() という型があるのですが、それもうまく行かず…
公式フォーラムも調べてみます
複数行 x 複数列の行列型配列にはならないようなのです
2 x 複数なら Map() という型があるのですが、それもうまく行かず…
公式フォーラムも調べてみます
973名無しさん@お腹いっぱい。 (ワッチョイ b9be-9hUR)
2020/03/20(金) 18:51:40.95ID:8awlI5pq0 このスレッドはちょくちょく書き込みできなくなりますね
言語上1次元配列しかなくても、多次元配列は作れますし、やりたいことがわからないと
あまり何もいえないかもしれない
https://pastebin.com/aXgqrFQN
言語上1次元配列しかなくても、多次元配列は作れますし、やりたいことがわからないと
あまり何もいえないかもしれない
https://pastebin.com/aXgqrFQN
974名無しさん@お腹いっぱい。 (ワッチョイ 99bd-tqPe)
2020/03/20(金) 20:06:33.27ID:YktARklY0975名無しさん@お腹いっぱい。 (ワッチョイW 2b73-t1ZY)
2020/03/20(金) 20:10:43.90ID:xBrxoFsB0 細かい内容しらないから何ともだけど
それってahkでやるべき処理なのかな
普通にpythonとか使ったほうがいい気がするんだけど
それってahkでやるべき処理なのかな
普通にpythonとか使ったほうがいい気がするんだけど
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
