!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
レス数が900を超えています。1000を超えると表示できなくなるよ。
1名無しさん@お腹いっぱい。 (ワッチョイ 3b70-YIQo)
2019/04/20(土) 23:32:53.28ID:cTmLtZyf0811名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)
2020/01/31(金) 23:57:38.75ID:Qxhc6BbA0 やっぱりその辺りを経由するしか方法ないですかね
MouseGestureLはとてもいいスクリプトなので
監視ルーチンを寄生させるとかは避けたかったですが
ファイルやクリップボード経由しか手段がないならば
マウスボタンの押し始めタイミング自体は
改変しなくともMouseGestureL側で検知できると思うので
ボタンの押し始めに所定の位置にあるファイル名xxxをyyyにリネーム
ボタンが離されたらファイル名をxxxに戻す
子スクリプトは起動時にそのファイル名をチェック
とかの方法でやってみようかと思いました
アドバイスありがとうございました!
MouseGestureLはとてもいいスクリプトなので
監視ルーチンを寄生させるとかは避けたかったですが
ファイルやクリップボード経由しか手段がないならば
マウスボタンの押し始めタイミング自体は
改変しなくともMouseGestureL側で検知できると思うので
ボタンの押し始めに所定の位置にあるファイル名xxxをyyyにリネーム
ボタンが離されたらファイル名をxxxに戻す
子スクリプトは起動時にそのファイル名をチェック
とかの方法でやってみようかと思いました
アドバイスありがとうございました!
812名無しさん@お腹いっぱい。 (ワッチョイ ad05-Y6bJ)
2020/02/01(土) 00:43:32.08ID:ka52WFEb0 マウス操作を記録する機能は持ってないからなあ
AHKスクリプトにするツールもない
AHKスクリプトにするツールもない
813名無しさん@お腹いっぱい。 (ワッチョイ 5d0d-Y6bJ)
2020/02/01(土) 01:59:53.61ID:2stcDCgC0814名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)
2020/02/01(土) 06:49:34.23ID:RcLxcGeu0 やりたいことは>>806に書いた通りです
>個別に実行されるスクリプトでMouseGestureLから実行するわけではないです
>コンパイルして特定の拡張子と関連付けしてあり
>ファイル実行時にこのマウスボタンが同時に押されていたらこのアプリを
>こっちのボタンならこのアプリをといった感じでラッパーとして機能させてます
MouseGestureLとは一切関係なく、ある拡張子のファイルを実行したときに
たとえば拡張子.txtならば本来のメモ帳の前にシステム側から関連付け設定で呼び出され
8ボタンマウスの5つの拡張ボタンのどれかを押す押さないで
実際に実行するアプリをメモ帳から他の物へ変更するラッパーを作ってて
管理者権限でMouseGestureLがつかんでるマウスボタン押下の情報を
一般権限しかもたないこのラッパーに伝達したい、というものです
>個別に実行されるスクリプトでMouseGestureLから実行するわけではないです
>コンパイルして特定の拡張子と関連付けしてあり
>ファイル実行時にこのマウスボタンが同時に押されていたらこのアプリを
>こっちのボタンならこのアプリをといった感じでラッパーとして機能させてます
MouseGestureLとは一切関係なく、ある拡張子のファイルを実行したときに
たとえば拡張子.txtならば本来のメモ帳の前にシステム側から関連付け設定で呼び出され
8ボタンマウスの5つの拡張ボタンのどれかを押す押さないで
実際に実行するアプリをメモ帳から他の物へ変更するラッパーを作ってて
管理者権限でMouseGestureLがつかんでるマウスボタン押下の情報を
一般権限しかもたないこのラッパーに伝達したい、というものです
815名無しさん@お腹いっぱい。 (ワッチョイ 7db1-b3gp)
2020/02/01(土) 08:24:10.05ID:+/Lmpd8T0 未だに何やりたいのかがハッキリと分からないけど、
ファイルをダブルクリック(またはエンターキー押下)した"後"に開くアプリをいくつかの選択肢から選びたい、ってこと?
ならMGL側じゃなく実行するスクリプト側でGetKeyStateして何ボタンが押されてるか取得すればいいのでは?
管理者権限とか一般権限とかの話はよく分からんので適当
ファイルをダブルクリック(またはエンターキー押下)した"後"に開くアプリをいくつかの選択肢から選びたい、ってこと?
ならMGL側じゃなく実行するスクリプト側でGetKeyStateして何ボタンが押されてるか取得すればいいのでは?
管理者権限とか一般権限とかの話はよく分からんので適当
816名無しさん@お腹いっぱい。 (ワッチョイ c558-unxX)
2020/02/01(土) 10:26:51.57ID:bRlwZEbJ0817名無しさん@お腹いっぱい。 (ワッチョイ c558-unxX)
2020/02/01(土) 10:34:43.14ID:bRlwZEbJ0 逆だった
自前⇒MGLね
自前⇒MGLね
818名無しさん@お腹いっぱい。 (ワッチョイ 5994-unxX)
2020/02/01(土) 14:06:32.32ID:3oSMwgZs0 ラッパーって何だYO!
819名無しさん@お腹いっぱい。 (ワッチョイWW 2afa-CNbV)
2020/02/01(土) 16:04:24.14ID:ONoXH+kb0 なんか独自関連付けしたいって話に見える
そんならうぷろだに前俺が作った独自関連付けプラグインがあるからそれ見てみりゃいい
そんならうぷろだに前俺が作った独自関連付けプラグインがあるからそれ見てみりゃいい
820名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)
2020/02/01(土) 20:38:42.73ID:RcLxcGeu0 説明が拙くて申し訳ありません
目的は関連付けされたコンパイル済みスクリプトの動作ではありますが
そこ自体はちゃんと動いてるので、質問したいのはこのスクリプトが実行される瞬間に
「どのマウスボタンが同時に押されていたか知りたい」ということです
x1 := GetKeyState("XButton1", "P")
x2 := GetKeyState("XButton2", "P")
Msgbox, %x1% %x2%
Return
このスクリプトをマウスの拡張ボタンを押しながらダブルクリックしても
MouseGestureL が動いていると、GetKeyStateではボタンの状態を見れませんでした
MouseGestureL を終了させると拡張1・2のボタンがそれぞれ 1 となります
目的は関連付けされたコンパイル済みスクリプトの動作ではありますが
そこ自体はちゃんと動いてるので、質問したいのはこのスクリプトが実行される瞬間に
「どのマウスボタンが同時に押されていたか知りたい」ということです
x1 := GetKeyState("XButton1", "P")
x2 := GetKeyState("XButton2", "P")
Msgbox, %x1% %x2%
Return
このスクリプトをマウスの拡張ボタンを押しながらダブルクリックしても
MouseGestureL が動いていると、GetKeyStateではボタンの状態を見れませんでした
MouseGestureL を終了させると拡張1・2のボタンがそれぞれ 1 となります
821名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)
2020/02/01(土) 20:39:30.24ID:RcLxcGeu0 そこでスクリプトをこうして
DetectHiddenWindows, On
SendMessage, DllCall("RegisterWindowMessage", "Str", "何か適当な関数名", "UInt"),,,, "ここはMouseGestureLのスクリプトまでのパス" ahk_class AutoHotkey
x1 := (ErrorLevel & 2)
x2 := (ErrorLevel & 1)
Msgbox, %x1% %x2%
Return
更にMouseGestureL側のAuto-executeセクションに
"何か適当な関数名" := DllCall( "RegisterWindowMessage", "Str", "WM_USER_XBUTTONREQ", "UInt" )
OnMessage( WM_USER_XBUTTONREQ, "RsvMessage" )
こう書いて、あとはMouseGestureLのどこかに下の関数を定義しておけば
RsvMessage( wp, lp, msg, hWnd ) {
global WM_USER_XBUTTONREQ
r := 0
If( msg == WM_USER_XBUTTONREQ )
{
If GetKeyState("XButton1", "P")
r += 2
If GetKeyState("XButton1", "P")
r += 1
}
Return r
}
先ほどの子スクリプトはアプリ間でうまく通信してちゃんと
マウスボタンの押し下げを検知します
DetectHiddenWindows, On
SendMessage, DllCall("RegisterWindowMessage", "Str", "何か適当な関数名", "UInt"),,,, "ここはMouseGestureLのスクリプトまでのパス" ahk_class AutoHotkey
x1 := (ErrorLevel & 2)
x2 := (ErrorLevel & 1)
Msgbox, %x1% %x2%
Return
更にMouseGestureL側のAuto-executeセクションに
"何か適当な関数名" := DllCall( "RegisterWindowMessage", "Str", "WM_USER_XBUTTONREQ", "UInt" )
OnMessage( WM_USER_XBUTTONREQ, "RsvMessage" )
こう書いて、あとはMouseGestureLのどこかに下の関数を定義しておけば
RsvMessage( wp, lp, msg, hWnd ) {
global WM_USER_XBUTTONREQ
r := 0
If( msg == WM_USER_XBUTTONREQ )
{
If GetKeyState("XButton1", "P")
r += 2
If GetKeyState("XButton1", "P")
r += 1
}
Return r
}
先ほどの子スクリプトはアプリ間でうまく通信してちゃんと
マウスボタンの押し下げを検知します
822名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)
2020/02/01(土) 20:40:45.88ID:RcLxcGeu0 ただ、OSを入れ替えたのを機にもうさすがにUACを全オフするのはないかなと思い
MouseGestureLを除いて全部一般の権限で使ったらアプリ間で通信できなくなり
代替え案はありませんか?と質問した次第です
現在もMouseGestureLを一般権限で動かせばちゃんと動作しますが
それだと管理者権限でしか動かないアプリを制御できないので案としては除外してます
MouseGestureLを除いて全部一般の権限で使ったらアプリ間で通信できなくなり
代替え案はありませんか?と質問した次第です
現在もMouseGestureLを一般権限で動かせばちゃんと動作しますが
それだと管理者権限でしか動かないアプリを制御できないので案としては除外してます
823名無しさん@お腹いっぱい。 (ワッチョイ 5957-unxX)
2020/02/01(土) 20:52:59.53ID:4DvAyfEb0 >>822
じゃあそのスクリプトも管理者権限で動かせばいいじゃん?
じゃあそのスクリプトも管理者権限で動かせばいいじゃん?
824名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)
2020/02/01(土) 21:25:17.41ID:RcLxcGeu0 >>806,814,820に書いてある通りこれはファイルに関連付けされて動作するスクリプトなので
プロパティから「管理者としてこのプログラムを実行する」にレ点を入れてしまうと
ファイルを開くたびに管理者権限での動作を許可するか確認するダイアログが出るので
とてもとてもやりたくないのです(txt,zip,jpgなど殆どをスクリプト経由にしてます)
タスクスケジューラでタスクを事前に定義しておき
そのタスクの「全般」タグにある「最高位の特権で実行する」にレ点を入れて
Run, C:\Windows\System32\schtasks.exe /run /tn "事前に定義したタスクの名前"
と実行させてUACのメッセージを回避する方法もすでに試してはいたのですが
そうすると実行する度に変化する引数をスクリプトまで渡す方法が見つからずに断念してました
プロパティから「管理者としてこのプログラムを実行する」にレ点を入れてしまうと
ファイルを開くたびに管理者権限での動作を許可するか確認するダイアログが出るので
とてもとてもやりたくないのです(txt,zip,jpgなど殆どをスクリプト経由にしてます)
タスクスケジューラでタスクを事前に定義しておき
そのタスクの「全般」タグにある「最高位の特権で実行する」にレ点を入れて
Run, C:\Windows\System32\schtasks.exe /run /tn "事前に定義したタスクの名前"
と実行させてUACのメッセージを回避する方法もすでに試してはいたのですが
そうすると実行する度に変化する引数をスクリプトまで渡す方法が見つからずに断念してました
825名無しさん@お腹いっぱい。 (ワッチョイ 5957-unxX)
2020/02/01(土) 21:37:19.74ID:4DvAyfEb0 >>824
管理者権限での動作を許可するか確認するダイアログはUACレベル下げれば出ないように出来る
俺もいくつか必要に応じて管理者権限で実行してるからUACの設定下げて確認ダイアログは出ないようにしてる
所詮UACなんて初心者に対する注意喚起でしかないんだから通知オフで何も問題はない
どのプログラムが管理者権限で動いているかをしっかり把握できてりゃいいだけ
管理者権限での動作を許可するか確認するダイアログはUACレベル下げれば出ないように出来る
俺もいくつか必要に応じて管理者権限で実行してるからUACの設定下げて確認ダイアログは出ないようにしてる
所詮UACなんて初心者に対する注意喚起でしかないんだから通知オフで何も問題はない
どのプログラムが管理者権限で動いているかをしっかり把握できてりゃいいだけ
826名無しさん@お腹いっぱい。 (ワッチョイ 5957-unxX)
2020/02/01(土) 21:51:39.45ID:4DvAyfEb0 ちなみに管理者権限で動いてるスクリプトから一般権限でアプリケーションを起動したい場合は
Run, Explorer "(一般権限で起動したいプログラムのフルパス).exe"
で一般権限で起動出来る
Run, Explorer "(一般権限で起動したいプログラムのフルパス).exe"
で一般権限で起動出来る
827名無しさん@お腹いっぱい。 (ワッチョイ 3a83-ol1H)
2020/02/01(土) 22:01:30.61ID:RcLxcGeu0 回答ありがとうございます
あと勘違いさせていたらごめんなさい
この問題自体は>>810さんのアドバイスを元に>>811で書いた通り
MouseGestureL側でマウスのボタンが押される度にあるファイルをリネームして
ボタンが離されたら元に戻すというめちゃくちゃなゴリ押しで解決しており
今は望んだ状態で快適に使ってます
なのでもしもアドバイスいただけるとしたら
「自分の希望する前提条件をひっくり返せ」ではなく前提条件の元でなにか他の手段があるよ
だととても助かります、まぁすでに解決済みなので
「そんな手段ないよ」とかでも「ですよねー」といった感じです
>ちなみに管理者権限で動いてるスクリプトから一般権限でアプリケーションを起動したい場合は
の件は>>809に書いてますが
>MouseGestureL から何かを起動する場合はRunは使用せずに
>ComObjCreateを利用して一般権限で起動するようにしています
本家フォーラムにLexikosさんが投稿していらっしゃったのを参考に
ComObjCreate("{9BA05972-F6A8-11CF-A442-00A0C90A8F39}")系でわたしはやってました
教えていただいてありがとうございます
あと勘違いさせていたらごめんなさい
この問題自体は>>810さんのアドバイスを元に>>811で書いた通り
MouseGestureL側でマウスのボタンが押される度にあるファイルをリネームして
ボタンが離されたら元に戻すというめちゃくちゃなゴリ押しで解決しており
今は望んだ状態で快適に使ってます
なのでもしもアドバイスいただけるとしたら
「自分の希望する前提条件をひっくり返せ」ではなく前提条件の元でなにか他の手段があるよ
だととても助かります、まぁすでに解決済みなので
「そんな手段ないよ」とかでも「ですよねー」といった感じです
>ちなみに管理者権限で動いてるスクリプトから一般権限でアプリケーションを起動したい場合は
の件は>>809に書いてますが
>MouseGestureL から何かを起動する場合はRunは使用せずに
>ComObjCreateを利用して一般権限で起動するようにしています
本家フォーラムにLexikosさんが投稿していらっしゃったのを参考に
ComObjCreate("{9BA05972-F6A8-11CF-A442-00A0C90A8F39}")系でわたしはやってました
教えていただいてありがとうございます
828名無しさん@お腹いっぱい。 (ワッチョイ 7d76-unxX)
2020/02/01(土) 22:06:21.69ID:1OVWO3Ck0 無駄な長文が多すぎて前提とか知らねえから
UACレベル下げてやりたいことが出来ればそれでいいだろ
UACレベル下げてやりたいことが出来ればそれでいいだろ
829名無しさん@お腹いっぱい。 (ワッチョイWW b673-k9qz)
2020/02/01(土) 22:18:23.85ID:Iz5L6+2y0 UACの回避法についての質問であってAutoHotkey関係ない件
830名無しさん@お腹いっぱい。 (アタマイタイーWW 2afa-CNbV)
2020/02/02(日) 04:24:20.95ID:fsCu82Qy00202 Runasで解決しそうじゃん
831名無しさん@お腹いっぱい。 (アタマイタイー 7db1-b3gp)
2020/02/02(日) 05:00:56.00ID:mNfoQi9a00202 >>829
長文レスの連続だったが結局はahk関係ないよな、マジで同意する
長文レスの連続だったが結局はahk関係ないよな、マジで同意する
832名無しさん@お腹いっぱい。 (アタマイタイー 4a09-unxX)
2020/02/02(日) 06:07:36.95ID:xJqdmfyP00202 UACの設定下げる事を拒む理由も分からん
833名無しさん@お腹いっぱい。 (アタマイタイー 6644-oZmp)
2020/02/02(日) 16:06:20.48ID:ua+O16JY00202 Gui,Add,UpDownって0.1〜10.0みたいな小数点対応はしていないのですか?。
834787 (アタマイタイーWW b5b1-9jkA)
2020/02/02(日) 20:35:45.97ID:BBAscVbG00202 >>788-791
レスありがとうございます
休みの間色々検討した結果、意図することは、マクロで出来そうな気がしてきました
マクロでIEとの連携ですね
uwscというのも良さげですが、既存のもの使って、となるとやはりマクロかなと
AHKは、マウスジェスチャーで使ってるのですが、連携となるとマクロに分がありそうですね
レスありがとうございます
休みの間色々検討した結果、意図することは、マクロで出来そうな気がしてきました
マクロでIEとの連携ですね
uwscというのも良さげですが、既存のもの使って、となるとやはりマクロかなと
AHKは、マウスジェスチャーで使ってるのですが、連携となるとマクロに分がありそうですね
835名無しさん@お腹いっぱい。 (アタマイタイー MM92-k9qz)
2020/02/02(日) 20:38:57.45ID:4FWtWLmZM0202 uwscはマクロの一種です
スクリプトも書けますが手順の保存再生できるので
スクリプトも書けますが手順の保存再生できるので
836名無しさん@お腹いっぱい。 (ワッチョイ 5d0d-Y6bJ)
2020/02/03(月) 02:26:25.69ID:YrlH3/AV0 >>833
アップダウンコントロールの増減量を変更
UpDown - Non-unitary increments.ahk
http://numeric.nerim.net/AutoHotkey/Scripts/UpDown%20-%20Non-unitary%20increments.ahk
https://www.autohotkey.com/boards/viewtopic.php?p=75010#p75010
修正版: x64対応、指定ミス
https://pastebin.com/5h8rySan
https://pastebin.com/KAggw1PP
アップダウンコントロールの増減量を変更
UpDown - Non-unitary increments.ahk
http://numeric.nerim.net/AutoHotkey/Scripts/UpDown%20-%20Non-unitary%20increments.ahk
https://www.autohotkey.com/boards/viewtopic.php?p=75010#p75010
修正版: x64対応、指定ミス
https://pastebin.com/5h8rySan
https://pastebin.com/KAggw1PP
837名無しさん@お腹いっぱい。 (ワッチョイ 66ac-unxX)
2020/02/03(月) 09:03:46.86ID:JFIzm4Vd0 >>835
834の言ってるはExcelVBAマクロの事だと思うよ
UWSCもAHKもExcelVBAもマクロ
ただ、当のExcelVBAについては、操作手順を記述してるわけじゃないから、マクロからかなり逸脱してる感あって、
一番マクロじゃないのだけをマクロと呼んでる事に、もやっとする
834の言ってるはExcelVBAマクロの事だと思うよ
UWSCもAHKもExcelVBAもマクロ
ただ、当のExcelVBAについては、操作手順を記述してるわけじゃないから、マクロからかなり逸脱してる感あって、
一番マクロじゃないのだけをマクロと呼んでる事に、もやっとする
838名無しさん@お腹いっぱい。 (ワッチョイWW 5de5-SuLP)
2020/02/03(月) 10:56:49.47ID:llPhOCHJ0 VBAには自動記録機能あるよ
そういう意味ではVBAもUWSCもAHKもマクロ機能のあるスクリプトだ
旧ahkには一応マクロ化ツールのAutoScriptWriterが同梱されてたが
なんか不完全でうまく記録されなかった記憶
ほとんどの人は使っておらず話題にもならなかった
そういう意味ではVBAもUWSCもAHKもマクロ機能のあるスクリプトだ
旧ahkには一応マクロ化ツールのAutoScriptWriterが同梱されてたが
なんか不完全でうまく記録されなかった記憶
ほとんどの人は使っておらず話題にもならなかった
839834 (ワッチョイWW b5b1-9jkA)
2020/02/03(月) 20:49:50.35ID:ZP73R6UN0 >>834です
当方の意図してたのはExcelVBAマクロです
マクロって、調べたらプログラミング全般の概念なんですね。言葉足らずでした
で、そのVBAで今日出社してやってみたんですが、オートメーションエラー連発!
なかなか難しいですね
当方の意図してたのはExcelVBAマクロです
マクロって、調べたらプログラミング全般の概念なんですね。言葉足らずでした
で、そのVBAで今日出社してやってみたんですが、オートメーションエラー連発!
なかなか難しいですね
840名無しさん@お腹いっぱい。 (ワッチョイ b758-56gX)
2020/02/07(金) 02:45:59.20ID:3oIzKiS00 ・DOSコマンドをDOS窓表示せずにahkから実行したい
現在はDOSコマンドを拡張子.cmd のファイルに書き込んで保存し、
DOS窓を非表示にするためVBSファイルを作成してVBScriptから上記cmdファイルを vbHide 付けて実行
さらにahkからそのVBSファイルを実行する
という三度手間?な方法をやってるんだけど、もう少しスマートな方法ありませんか?
現在はDOSコマンドを拡張子.cmd のファイルに書き込んで保存し、
DOS窓を非表示にするためVBSファイルを作成してVBScriptから上記cmdファイルを vbHide 付けて実行
さらにahkからそのVBSファイルを実行する
という三度手間?な方法をやってるんだけど、もう少しスマートな方法ありませんか?
841名無しさん@お腹いっぱい。 (ワッチョイ 7fbe-RXZG)
2020/02/07(金) 03:11:52.27ID:y2s/VZ9K0 >>840
Run, Target,, Hide
Run, Target,, Hide
842名無しさん@お腹いっぱい。 (ワッチョイ b758-56gX)
2020/02/07(金) 03:38:26.96ID:3oIzKiS00843名無しさん@お腹いっぱい。 (オッペケ Sr0b-mA3f)
2020/02/07(金) 05:15:25.66ID:gVGECi9Gr てか確かrunからDOSコマンド使えたような気がする
844名無しさん@お腹いっぱい。 (ワッチョイ b758-56gX)
2020/02/07(金) 05:52:57.08ID:3oIzKiS00 >>843
run, %comspec% /c でAHKからDOSコマンド実行できるみたいですが
一つのDOS窓で複数行のコマンド実行する方法が分からず
cmdファイルに書き込んでから実行してます
後出しになってしまい申し訳ありません
run, %comspec% /c でAHKからDOSコマンド実行できるみたいですが
一つのDOS窓で複数行のコマンド実行する方法が分からず
cmdファイルに書き込んでから実行してます
後出しになってしまい申し訳ありません
845名無しさん@お腹いっぱい。 (ワッチョイ b758-56gX)
2020/02/07(金) 06:28:10.70ID:3oIzKiS00846名無しさん@お腹いっぱい。 (ワッチョイ d7dc-8Apu)
2020/02/09(日) 00:12:08.21ID:x40WBKc10 WinHide, ahk_class Button
たまにWinShowしてもウィンドウズボタンが表示されなくなるんだけど、解決策ないかな?。
今は仕方なく再ログインしてる。
たまにWinShowしてもウィンドウズボタンが表示されなくなるんだけど、解決策ないかな?。
今は仕方なく再ログインしてる。
847名無しさん@お腹いっぱい。 (ワッチョイ d7dc-8Apu)
2020/02/09(日) 00:17:35.36ID:x40WBKc10 あごめん、WinHide, ahk_class Shell_TrayWndだった。
848名無しさん@お腹いっぱい。 (ワッチョイ 376e-56gX)
2020/02/09(日) 00:54:57.92ID:bRFqNBrR0 >>847
Shell_TrayWndってタスクバーのことだろ?
F1::
WinHide, ahk_class Shell_TrayWnd
Return
F2::
WinShow, ahk_class Shell_TrayWnd
Return
だけのスクリプトで試したけど何も問題無いぞ
そもそもこんなことしなくてもOS側設定の自動的に隠すオンと、WinActivateだけで事足りると思うんだが
Shell_TrayWndってタスクバーのことだろ?
F1::
WinHide, ahk_class Shell_TrayWnd
Return
F2::
WinShow, ahk_class Shell_TrayWnd
Return
だけのスクリプトで試したけど何も問題無いぞ
そもそもこんなことしなくてもOS側設定の自動的に隠すオンと、WinActivateだけで事足りると思うんだが
849名無しさん@お腹いっぱい。 (ワッチョイ 370a-RXZG)
2020/02/09(日) 03:21:09.07ID:zu3MaBNR0 >>846-848
タスクバーとスタートボタンは別なので両方操作する必要がある
OnExitでスクリプト終了時にはWinShowさせると安全
ahk_exe Explorer.EXE ahk_class Shell_TrayWnd ; Taskbar
ahk_exe Explorer.EXE ahk_class Button ; Start Button
タスクバーとスタートボタンは別なので両方操作する必要がある
OnExitでスクリプト終了時にはWinShowさせると安全
ahk_exe Explorer.EXE ahk_class Shell_TrayWnd ; Taskbar
ahk_exe Explorer.EXE ahk_class Button ; Start Button
850名無しさん@お腹いっぱい。 (ワッチョイ 57b8-56gX)
2020/02/09(日) 03:25:44.77ID:xdymvCRc0851名無しさん@お腹いっぱい。 (ワッチョイ 370a-RXZG)
2020/02/09(日) 04:19:29.40ID:zu3MaBNR0 >>850
win7以前 タスクバーとスタートボタンが別
win8 スタートボタンがない
win8.1以降 タスクバーとスタートボタンが一体型
スタートボタンだけ消えるならwin7以前だと思われるのでボタンも指定しないと
win7以前 タスクバーとスタートボタンが別
win8 スタートボタンがない
win8.1以降 タスクバーとスタートボタンが一体型
スタートボタンだけ消えるならwin7以前だと思われるのでボタンも指定しないと
852名無しさん@お腹いっぱい。 (ワッチョイ 57b8-56gX)
2020/02/09(日) 04:59:21.08ID:xdymvCRc0 まだ7なんて使ってる奴居んのか・・・
もう完全にサポート終わってんのに
もう完全にサポート終わってんのに
853名無しさん@お腹いっぱい。 (ワッチョイ ff44-8Apu)
2020/02/09(日) 15:43:04.49ID:Ocp+8UND0 >>836
イエース!有難う。
イエース!有難う。
854名無しさん@お腹いっぱい。 (ワッチョイ d7dc-8Apu)
2020/02/11(火) 23:56:48.73ID:x/+BH3gC0 みんなタスクバーの件すまない。
Classic Shell絡みの問題で、完全に環境依存だった・・・。
Classic Shell絡みの問題で、完全に環境依存だった・・・。
855名無しさん@お腹いっぱい。 (ワッチョイ cb76-gRil)
2020/02/13(木) 09:14:54.16ID:esDus5ra0 式展開、変数展開を一切しないただのヒアドキュメントってどうやって書くんですか?
urls=
(
http://www.foo.net/search?q=aaa%20bbb
)
とかくと変数20bbbを展開しようとしたけどできなかった的なエラーが出てしまいます
ヒアドキュメントの中身をエスケープせずにエラーを取り除きたいです
urls=
(
http://www.foo.net/search?q=aaa%20bbb
)
とかくと変数20bbbを展開しようとしたけどできなかった的なエラーが出てしまいます
ヒアドキュメントの中身をエスケープせずにエラーを取り除きたいです
856名無しさん@お腹いっぱい。 (ワッチョイ 1f11-swhV)
2020/02/13(木) 09:29:49.82ID:cbImo1Ju0857名無しさん@お腹いっぱい。 (ワッチョイ b7be-Bd93)
2020/02/13(木) 09:29:59.61ID:UHeFoqSi0 (%
hoge
)
hoge
)
858名無しさん@お腹いっぱい。 (ワッチョイ dfb1-mCmx)
2020/02/13(木) 21:49:14.43ID:dCULbdKN0 「%」が一個だけなら「`%」でも良いのかな?よく分からんけど
数十個とか数多い時は>>857だよね当然
数十個とか数多い時は>>857だよね当然
859名無しさん@お腹いっぱい。 (ワッチョイW 63bc-bduJ)
2020/02/14(金) 03:33:04.21ID:pw6jil4Z0 Windows10 x64日本語、AutoHotkey U64の環境で
WinTitle系の引数に日本語を書いたスクリプトをUTF-8で保存するとタイトルがマッチしないのはなんで?
ASCII文字だけにするとマッチするのは確認してます
あと何故かShift JISで保存するとマッチする
Unicode版とは一体
WinTitle系の引数に日本語を書いたスクリプトをUTF-8で保存するとタイトルがマッチしないのはなんで?
ASCII文字だけにするとマッチするのは確認してます
あと何故かShift JISで保存するとマッチする
Unicode版とは一体
860名無しさん@お腹いっぱい。 (中止 b702-OOeE)
2020/02/14(金) 08:26:21.34ID:hIxdQ+FM0St.V ちゃんとBOM付けて保存してるか?
861名無しさん@お腹いっぱい。 (中止W 63bc-bduJ)
2020/02/14(金) 19:10:29.35ID:pw6jil4Z0St.V >>860
完全にそれが原因でしたありがとう
完全にそれが原因でしたありがとう
862名無しさん@お腹いっぱい。 (ワッチョイ 0358-D5WE)
2020/02/19(水) 21:51:29.80ID:PeAf8/1k0 古い自社製アプリの画面に、CB FF 00..などのデータが
EXCELのセル状に縦横に並んでいます。
Windows spyで調べると、ClassNN:MSFlexGridWndClass##と表示されました。
この中から或る位置のセルの値を取り出したいのですが、方法が分からないです。
どうすればよいか、何か情報頂きたいです。
EXCELのセル状に縦横に並んでいます。
Windows spyで調べると、ClassNN:MSFlexGridWndClass##と表示されました。
この中から或る位置のセルの値を取り出したいのですが、方法が分からないです。
どうすればよいか、何か情報頂きたいです。
863名無しさん@お腹いっぱい。 (ワッチョイ 230d-p4c1)
2020/02/20(木) 01:34:34.25ID:55zU6WW20 >>862
VB6 フレキシブルグリッド(MSFlexGrid)コントロール
ListViewならSendMessageでメッセージ送れば操作や取得できるが
MSFlexGridにはメッセージが用意されて無いらしい(ざっと検索した限りでは)
アプリ側で何かしら用意されて無いなら外部から取得できないと思う
代案としては
アプリですべて出力できるならそこから抜き出す
座標やキー入力で移動してCtrl+C
VB6 フレキシブルグリッド(MSFlexGrid)コントロール
ListViewならSendMessageでメッセージ送れば操作や取得できるが
MSFlexGridにはメッセージが用意されて無いらしい(ざっと検索した限りでは)
アプリ側で何かしら用意されて無いなら外部から取得できないと思う
代案としては
アプリですべて出力できるならそこから抜き出す
座標やキー入力で移動してCtrl+C
864名無しさん@お腹いっぱい。 (ワッチョイ a38d-icXw)
2020/02/20(木) 17:21:06.89ID:luePz1Sb0 タブレットペンの「消しゴム」に該当するキーってあります?
SAI Ver2などのペイントソフトで、タブレットのボリュームボタンなどを押している間だけ一時的に消しゴムツールに切り替えたいのですが
単純にeキーを割り当てると、ボタンを離した後もツール自体が切り替わってしまい困ってます
SAI Ver2などのペイントソフトで、タブレットのボリュームボタンなどを押している間だけ一時的に消しゴムツールに切り替えたいのですが
単純にeキーを割り当てると、ボタンを離した後もツール自体が切り替わってしまい困ってます
865名無しさん@お腹いっぱい。 (ワッチョイ 23e5-dWJr)
2020/02/20(木) 18:10:35.06ID:/B+c6ePE0 >>864
SAIは使ったことないが過去にPhotoshopで似たようなことしてた人がいたよ
https://hibari.5ch.net/test/read.cgi/software/1317156599/195-204
ググってで出てきたショートカット集によるとSAIもキー押しっ放しで一時切り替えモードになるみたいだし
押してる間中キーリピート発生させ続ければいけるのでは
http://blackstraycat.nobody.jp/digitalillustration/painttool-sai/painttool-sai-shortcut.html
SAIは使ったことないが過去にPhotoshopで似たようなことしてた人がいたよ
https://hibari.5ch.net/test/read.cgi/software/1317156599/195-204
ググってで出てきたショートカット集によるとSAIもキー押しっ放しで一時切り替えモードになるみたいだし
押してる間中キーリピート発生させ続ければいけるのでは
http://blackstraycat.nobody.jp/digitalillustration/painttool-sai/painttool-sai-shortcut.html
866名無しさん@お腹いっぱい。 (ワッチョイ 631c-Nz9x)
2020/02/21(金) 22:05:20.72ID:Oardne8I0 >>864
AHKでやるとしたらボタンを押したときにE、ボタンを離したときにNやVを送って鉛筆や筆ツールにするとかその程度
「押してる間だけ」とか「一つ前のツールに戻る」みたいな機能がSAIというソフト側にあるかどうかはSAIの問題であって
AHKと関係ないのでスレチ
一行目の聞き方からしてAHKが何をするソフトか根本的に分かって無さそう
AHKでやるとしたらボタンを押したときにE、ボタンを離したときにNやVを送って鉛筆や筆ツールにするとかその程度
「押してる間だけ」とか「一つ前のツールに戻る」みたいな機能がSAIというソフト側にあるかどうかはSAIの問題であって
AHKと関係ないのでスレチ
一行目の聞き方からしてAHKが何をするソフトか根本的に分かって無さそう
867名無しさん@お腹いっぱい。 (ワッチョイ 23e5-dWJr)
2020/02/22(土) 01:57:19.30ID:F7J0Py2h0 KeyHistory (AHKウィンドウの Key History and script info)で操作履歴は追えるから
ペンタブで消しゴム使った直後に見ればどういうキーコード吐いてるかはわかるよ
多分 eキーリピートしてるだけな気がするけど
ペンタブで消しゴム使った直後に見ればどういうキーコード吐いてるかはわかるよ
多分 eキーリピートしてるだけな気がするけど
868名無しさん@お腹いっぱい。 (ワッチョイW 83cf-HLUH)
2020/02/22(土) 12:56:15.49ID:0s4DtZjs0 クライアント領域の幅と高さを取得できる方法ってある?
WinGetPosだとウインドウ領域の幅と高さしか取得できなくて困ってる
現状やってる取得方法
➀
WindowSpyのActiveWindowPostionのwの差とhの差を自力で計算→それぞれwidthDifference, heightDifferenceと定義する
A
WinGetPosでwWidth, wHeightを取得
B
cWidth := wWidth - widthDifference
cHeight := wHeight - heightDifference
こんなめんどいことしなくてもWinGetPosでクライアント領域の幅高を一発で取得したい
それが無理ならせめて➀の自力計算の部分だけでもなんとかならないかと思う
ActiveWindowPostionのClientのw,hだけでも取得できれば…
誰かヒントでもいいからお願いします
WinGetPosだとウインドウ領域の幅と高さしか取得できなくて困ってる
現状やってる取得方法
➀
WindowSpyのActiveWindowPostionのwの差とhの差を自力で計算→それぞれwidthDifference, heightDifferenceと定義する
A
WinGetPosでwWidth, wHeightを取得
B
cWidth := wWidth - widthDifference
cHeight := wHeight - heightDifference
こんなめんどいことしなくてもWinGetPosでクライアント領域の幅高を一発で取得したい
それが無理ならせめて➀の自力計算の部分だけでもなんとかならないかと思う
ActiveWindowPostionのClientのw,hだけでも取得できれば…
誰かヒントでもいいからお願いします
869名無しさん@お腹いっぱい。 (ワキゲー MMdf-xPG3)
2020/02/22(土) 13:21:41.85ID:7FrnOqnoM GetClientRect
870名無しさん@お腹いっぱい。 (ワッチョイW 83cf-HLUH)
2020/02/22(土) 14:00:48.91ID:0s4DtZjs0 AHKにクライアント領域の幅高の組み込み変数って実装されてないのかな?
WindowSpyにあるからありそうではあるんだけど…まあとりあえず解決
>>869
ありがとう助かった
DllCall使うのは頭になかった
WindowSpyにあるからありそうではあるんだけど…まあとりあえず解決
>>869
ありがとう助かった
DllCall使うのは頭になかった
871名無しさん@お腹いっぱい。 (ワッチョイ cf44-dW+f)
2020/02/22(土) 14:15:22.16ID:sYYV+jbj0 exeの指定アドレスに数値を書き込みたいんですけど、参考になるサイト等はありますか?。
872名無しさん@お腹いっぱい。 (ワッチョイ 23bd-L7zd)
2020/02/22(土) 22:48:11.32ID:d6k+6QIl0 「現在何か作業中である」というのを AHK で感知するにはどんな方法があるでしょうか
現在は以下のようなスクリプト (AHK x64 用) で画面の電源状態を取得しているのですが
最近たまに動かなくなってしまいました
スクリプトはかなり前にいろいろ調べながら書いたもので、内容はほとんど理解していません
(無駄に関数化されていますがご容赦ください)
現在は以下のようなスクリプト (AHK x64 用) で画面の電源状態を取得しているのですが
最近たまに動かなくなってしまいました
スクリプトはかなり前にいろいろ調べながら書いたもので、内容はほとんど理解していません
(無駄に関数化されていますがご容赦ください)
873名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/22(土) 23:20:25.65ID:ezexSTr8a874名無しさん@お腹いっぱい。 (アウアウウーT Sae7-lut+)
2020/02/22(土) 23:37:39.08ID:ezexSTr8a >>871
「exeの指定アドレス」て実行中に使用されている
メモリ中のアドレスを書き換えたいってことじゃなく
EXEファイル中の特定アドレスを書き換えたいってことだよね
単に
File := FileOpen(Filename, "rw")
して
File.Seek(Distance, [, Origin = 0])
して
File.RawWrite(VarOrAddress, Bytes)
すればいいように思うけど
「exeの指定アドレス」て実行中に使用されている
メモリ中のアドレスを書き換えたいってことじゃなく
EXEファイル中の特定アドレスを書き換えたいってことだよね
単に
File := FileOpen(Filename, "rw")
して
File.Seek(Distance, [, Origin = 0])
して
File.RawWrite(VarOrAddress, Bytes)
すればいいように思うけど
875名無しさん@お腹いっぱい。 (ワッチョイ 43b1-p4c1)
2020/02/23(日) 11:15:48.32ID:pxQEnU210 ラベルの動的生成ってできませんよね?
なので、必要な個数のラベルを羅列したfileを動的生成し、
そのfileを追加スクリプトとして読み込もうと思ってますが、
この方法であってるでしょうか?
なので、必要な個数のラベルを羅列したfileを動的生成し、
そのfileを追加スクリプトとして読み込もうと思ってますが、
この方法であってるでしょうか?
876名無しさん@お腹いっぱい。 (ワッチョイ 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ってのを使えばできるんじゃない(よく知らない)
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【サッカー】天皇杯決勝戦 町田×神戸 [久太郎★]
- 【サッカー】「国立ガラガラじゃん!」 「タダ券ばら撒かないんだっけ?」天皇杯決勝、6万7750人収容のスタンドに目立つ空席 [鉄チーズ烏★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★13 [BFU★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… [尺アジ★]
- ゼレンスキー氏、アメリカの支援失う危険あるとウクライナ国民に演説 米和平案めぐり [1ゲットロボ★]
- 台湾有事での集団的自衛権行使に賛成48.8%、「反対」が44.2% ★3 [♪♪♪★]
- 他サポ 2025-261
- 2025 SUPER FORMULA Lap18
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap600
- 京都競馬4回5日目エリザベス女王杯★3
- 福島競馬3回5日目
- とらせん IP
- 中国「日本は国家存亡の危機といい満州事変を起こした。そして今回も高市は同じことを言ってる」 [931948549]
- ほんこん さん「日本人はホタテ食べて漁師を応援しようぜ!」 [201193242]
- 高市早苗「G20サミット、なめられない服を選びました。外交交渉でマウント取れる服買わないとなぁ」大炎上 [165981677]
- 【悲報】田崎史郎氏「発言撤回したら高市政権は終わる」 [115996789]
- 悟空vsサイタマvs五条vs俺
- 【実況】博衣こよりのえちえちゼルダの伝説 ムジュラの仮面🧪 ★6
