ディオゲネス・クラブ
XPの存続について
- ひろ
2025/10/13 (Mon) 08:14:03
たわしとさん
私もXP環境を存続させたくて苦労しましたので情報共有します
XPを仮想化してHyper-Vに移行すれば存続できます
これだと物理マシンがいらなくなる上に、仮想マシンファイルでの引越もできるので、Windows10→11への引越もできます
リモートデスクトップ接続して使用するので、XP時代は使えなかった広い画面解像度で利用できるので、むしろ快適になります
手順の記憶と、いくつかハマったところを書きます。ご参考まで
Disk2vhd_v1.62を利用
XPのライセンス認証は電話対応
PC本体のBIOS設定でリモートを有効に
Advanced>CPU configration>Intel(R) Virtualization technology
をenableに
仮想マシンはクイック作成ではなく、Hyper-Vマネージャーで「新規」で作成する
第1世代で作成(ゲストOSがXPの場合、32bit対応かつBIOSである必要があるらしい)
クイック作成の場合、自動的に第2世代で作成されてしまう、BIOSではなくUEFIで作成されるため
マウスが利用できない
これはHyper-V上では解決は難しく
リモートデスクトップで利用。これで利用上は問題ない
→ネットワークカードを追加。ネットワークカードを共有
※参考にしたサイトは内部利用のみにしているが、外部にした
仮想マシンに仮想スイッチを設定
仮想スイッチマネージャー
種類は外部(内部の場合、ホストPCからしか接続できないらしい)
ハードウェアの追加でレガシネットワークアダプター
さっき設定したスイッチを選択
ファイル共有
→仮想PCのフォルダを共有すると他のPCからは参照できる
おそらくsmb1.0などの古いプロトコルなのだろう。
Re: XPの存続について
- たわしと
2025/10/13 (Mon) 18:11:43
ひろ さん、こんばんは。
| 私もXP環境を存続させたくて苦労しましたので情報共有します
| XPを仮想化してHyper-Vに移行すれば存続できます
書き込みと情報提供、ありがとうございます。
私も、仮想化すればXPが使えると言う話をどこかで聞いたことがあったのですが、手近で古いXPパソコンが手に入ったので、そちらにしてしまいました。ひろさんはXP環境をかなりお使いになっているようですが、私はこのソフトのコンパイル以外、使うわけではないので。
それにしても、
| XPのライセンス認証は電話対応
とか、
| マウスが利用できない
とか、
| 仮想マシンに仮想スイッチを設定
とか。
仮想化なんて面倒そうだなあ……と思っていたのですが、やっぱりかなり面倒なんですね。正直、私にはよくわからないところが多かったです。仮想化で悩んでいる方がご覧になったら、参考になると思います。
マイクロソフトもなあ。Win10 の時の話になるけど、「これが最後の Windows だ」なんて言うんじゃないよ。まあ、あれを信じている人はあんまりいなかったかもしれないけど、それにしてもあれだけ堂々と「あれは、嘘だ」をやるとは思いませんでした。
asc関数のエラーについて - たたくん
2025/08/14 (Thu) 14:48:17
たわしとさん、こんにちわ。
KMmacro 試用中なのですが、 asc関数でエラーとなり困っています。 対処方法か、回避方法をご教示ください。
getpixel で取得した色を、判定しようと、文字コードに変換しようとしています。
以下のようにコードを書いてみましたが以下のようなエラーが出ます。
「Err: 引数が不正です : asc F」
<コード>
SET %Color (getpixel (& %x "," (+ %y %2)))
SET %blue (substr %Color 1 1)
SET %nblue (asc %blue)
(各変数は、事前に宣言しています。)
回答、お待ちしております。
Re: asc関数のエラーについて - たわしと
2025/08/15 (Fri) 10:12:23
たたくん さん、こんばんは。
| KMmacro 試用中なのですが、 asc関数でエラーとなり困っています。 対処方法か、回避方法をご教示ください。
すみません、完全なバグです。実装時にテストはしたと思うんですが、その後で余計な引数チェックを入れてしまったようです。わりと長いこと、誰も気がつかなかったんですね。まあ、キーボードマクロソフトの asc 関数なんて、そんなに使わないだろうからなあ。
Vector に修正版をアップしましたので、登録されましたら、そちらをご使用ください。
ところで今回、ソースを直すのは簡単だったんですが、その後が大変でした。
どこかにも書いたと思いますが、このソフトは Delphi 3 という古い開発環境で作っており、最近のマシンにはインストールできないため、それ用のXPマシンを用意してあります。が、久しぶりにそのXPマシンを起動させたところ、液晶に何も表示されません。しかたなく外部モニターに接続しようとしても、HDMI 端子がない。RGB→HDMI コンバータを引っ張り出して接続したら、やっぱり何も写らない。本体液晶画面の角度を変え、何度かマシンを再起動させたら、ようやく写りました。その後は何の苦労もなかった……と思いきや、マシンのカレンダーが止まっていて exe ファイルなどの日付が大昔になっていたので、通常使用しているマシンにコピーする際、うっかり「日付が新しければコピーする」を選んで、exe ファイルなどが古いままになるところでした。
さすがにそろそろ、このマシンも潮時かなあ……。
Re: asc関数のエラーについて - たたくん
2025/08/15 (Fri) 11:06:53
早速の対応、ありがとうございます。
登録できたら早速入手させていただき、試してみます。
最後の投稿が昨年だったので、チェックされているかと不安だったのですが、解決いただき早速の登録手続き助かります。 ありがとうございました。
Windows10 もそろそろ使えなくなってくるので、メンテ限界そうですね。 ご苦労お察しします。
試してみたら、報告させてもらいます。
Re: Re: asc関数のエラーについて - たたくん
2025/08/26 (Tue) 08:40:00
vectorさん、まだ更新してくれてないんですかね?
kmmacroで検索しても、新しいバージョンが見当たりません。 探し方とか違うのかな?
Re: asc関数のエラーについて - たわしと
2025/08/26 (Tue) 20:39:18
たたくん さん、こんばんは。
| kmmacroで検索しても、新しいバージョンが見当たりません。 探し方とか違うのかな?
私も作者用ページを確認してみたところ、「審査中」のままでした。ヘルプによると「1週間程度で公開」されるはずなのですが……「繁忙期にはさらに時間がかかる場合がございます」ともあるので、夏休みとかぶって遅くなった、なんてことがあるのかなあ。もう少し待ってみて、それでもまだ登録されないようなら、問い合わせしてみましょうか。
なお、新版のバージョンナンバーは「0.74a」となるはずです。「0.72」は旧版ですので、念のため。
Re: Re: asc関数のエラーについて - たたくん
2025/08/27 (Wed) 08:36:52
確認ありがとうございます
審査中なのですね。
もう少し待ってみますね。
返信、確認、ありがとうございます
Re: asc関数のエラーについて - たわしと
2025/09/04 (Thu) 16:15:43
kmmacro の Vector への登録の件ですが、今日も登録はされていませんでした。Vector では週1回程度まとめて登録されるようなので、登録は早くても来週。作者ページを確認しても、「審査中」のまま……参ったな。問い合わせしてもいいんだけど、まだアップロードして2週間ちょっとなので、めちゃくちゃ遅れている、とまでは言えないし。もう1週間だけ、待ってみましょうか。
Vector 以外に、フリーソフトをアップロードできる(そしてセキュリティチェックもしてくれる)サイトって、あるんですかね?
Re: asc関数のエラーについて - たたくん
2025/09/06 (Sat) 07:55:28
確認ありがとうございます。
今日もまだ更新されていませんね。
フリーソフトは、「窓の杜」とかもあるけど、そちらは、どうなんでしょうね。
Re: asc関数のエラーについて - たたくん
2025/09/06 (Sat) 16:10:14
Vector の作者用の差し替え登録のヘルプにに以下の記載がありました。
問い合わせてもよさそうですね。
===============
公開までには1週間(5営業日)程度のお時間をいただく場合がございます。
数日経ってもソフトが公開されない場合は、登録ソフト一覧ページの公開進捗状況をご確認の上、弊社までお問い合わせください。
お問い合わせ先
メールアドレス:vector@vector.co.jp
メールフォーム:https://vecauthor.vector.co.jp/libauthor/inquire/default.php
==================
Re: asc関数のエラーについて - たわしと
2025/09/07 (Sun) 15:46:39
たたくん さん、こんばんは。
登録作業から3週間が経ちましたので、Vector に問い合わせをしてみました。現在回答待ちです。次の公開日(水曜日にまとめて公開されるようです)に間に合えばいいのですが。
ちなみに「窓の社」ですが、あれは先方がいいなと思ったソフトを集めて公開しているサイトで、作者の方で登録作業をすると公開される、という仕組みではないようです。作者側から送ることもできますが、必ずしも掲載される、というわけではないみたいですね。
Re: asc関数のエラーについて - たたくん
2025/09/07 (Sun) 21:58:51
いろいろとお手数をおかけしてしまっていますね。
対応ありがとうございます。
公開日も決まっているのですね。
もう少しですね。 お待ちしてましょう。
「窓の社」はそうだったのですね。 知りませんした。
Re: asc関数のエラーについて - たわしと
2025/09/08 (Mon) 21:29:18
Vector より回答がありました。
それによると、「ライブラリ作品とのリンク設定がされておらず、審査の対象となっておりませんでした」だそうです。……と言われても、よくわからないんですけどね。こっちは Vector のページのメニューにしたがって、登録しただけだし。というか、メニューに従わなければ、登録なんてできないし。それに、作者ページの「審査中」の表示は、何だったんだろう……。
「今週末の審査にて、公開予定となります」だそうなので、登録は来週の水曜日になるのかな。
うーん、こうなるんだったら、もっと早く問い合わせておけば良かった。
Re: asc関数のエラーについて - たたくん
2025/09/13 (Sat) 23:43:36
Vector さんの 作業ミスということですね。
来週確認してみます。
大変お手数をかけてしまいました。
ありがとうございます。
Re: asc関数のエラーについて - たわしと
2025/09/18 (Thu) 10:42:28
水曜日が過ぎましたが、まだ公開されていない……と思って「シェアレジ作者ページ」を見ると、「公開中」になっていました。何だこれ?
うーん、よくわからないので、もう一度登録をしなおしてみました。問い合わせをして回答をもらって、よりもこちらの方が早そうだし。もしかしたら、こちらの登録作業で、何かミスしてたのかもしれないし。
こんなに遅くなってしまってすみません。まさか1ヶ月以上かかるとは思わなかった……。
Re: asc関数のエラーについて - たわしと
2025/09/25 (Thu) 20:02:53
Kmmacro の Vector への登録の件ですが、ずいぶん遅くなりましたが、ようやく更新されたようです。とりあえずご報告まで。
Re: asc関数のエラーについて - たたくん
2025/09/28 (Sun) 11:37:39
たわしとさん、ありがとうございます。
074a 無事入手できました。
asc関数、無事正常に動いています。 あとは、こちらのマクロの作りですね。
ありがとうございました。 あとで、シェアレジ手続きさせていただきます。
Re: asc関数のエラーについて - たわしと
2025/09/28 (Sun) 20:17:18
たたくん さん、こんばんは。
| 074a 無事入手できました。
| asc関数、無事正常に動いています。 あとは、こちらのマクロの作りですね。
ずいぶんと遅くなってしまいましたが、無事に動いたようで良かったです。
それから、シェアレジの方もありがとうございました。このソフトは一応、シェアウェアの扱いになっていますが、特に機能制限はありません。それでも時々、こうして登録をしてくれる方がいるのはありがたいことですね。
Openformのエラーについて - ys
2024/12/21 (Sat) 17:51:24
初学者につき、以下のエラーで困っております。
解決策についてわかる方がいらっしゃいましたら、ご教示ください。
下記、プログラムの中でOpenformのコマンドが不正なものとしてエラーが直せません。
つきましては、改善点等ありましたらご教示ください。
よろしくお願いいたします。
エラーの表示画面は添付の画像の通りとなります。
:MENU
if (= %0 "YES") then
openform "Dummy3.FRM" until (= "[END]" $0)
else
message "" "Error: Dummy3.FRM not found"
endif
else
end
endif
; デバッグ用メッセージ
message "" "Checking cell values"
if (= (cell 1) 1) then
goto :ALL
elseif (= (cell 2) 1) then
goto :TTM
else
message "" "! Error !"
ENDIF
END
Re: Openformのエラーについて - たわしと
2024/12/21 (Sat) 20:28:51
anj さん、こんばんは。
| 下記、プログラムの中でOpenformのコマンドが不正なものとしてエラーが直せません。
ざっと見ただけですが、とりあえず気がついたところを。
画像のエラーメッセージが「KMmacro 0.72」となっていますが、これは KMmacro.exe を実行したのでしょうか? それとも KMMacroP.exe?
KMmacro を実行したのだとしたら、「Openform」などのコマンドや関数は KMMacro ではなく KMMacro「P」の方のものですので、エラーになるのは当然です。どうしてそんな取り違えが起きるのか、がちょっと不思議ではありますが……。あ、でも goto とかがあるなあ。とりあえず、そのあたりをご確認ください。
それにしても最近、KMmacroP の方はあんまり触ってないな。プログラムをいじっていないのもそうですが、実行もしてません。その手の仕事をしていた時は、form を使った入力ってすごく便利だったんですが、そこからは離れてしまったので……。
ジョイスティックのホットキー指定についてリクエスト - anj
2024/08/15 (Thu) 11:53:41
とてもお世話になっております。
hotkey=[JOYBUTTON]で、監視できるボタン数を増やしていただけるととてもありがたいです。
貴作KMMacroを利用して、小さいゲームパッドにショートカットキーを仕立て、左手コントローラーとして使っています。
現状、ジョイスティックの監視は4ボタンまでなので、監視ボタン数が増えればホットキーを追加でき、作業効率をもっと上げることができます。
なぜKMMacroを使うかというと、例えば「保存コマンド」→Gettitleで保存ウィンドウが出るのを待つ→KMMacroでファイル名を生成→保存、みたいな高度な処理が、KMMacroだと1ボタンで作れてとても便利だからです。
ご検討いただけると幸いです。
Re: ジョイスティックのホットキー指定についてリクエスト - たわしと
2024/08/16 (Fri) 21:23:48
anj さん、こんばんは。
| 現状、ジョイスティックの監視は4ボタンまでなので、監視ボタン数が増えればホットキーを追加でき、作業効率をもっと上げることができます。
この件についてですが、ジョイスティックの監視は普通、「Direct Input」という仕組みを使うと思います。が、KMmacro では、古い「Windows API」というものを使っています。KMmacro の作成に使っているのは Delphi3 という古いソフトでして、Delphi で Direct Input をどう扱っていいのかよくわからない(そもそも扱えるかどうかもわからない)ためです。そしてこの Windows API では、監視できるボタンが4つまでなのです。
このため、この点の改善は難しいと思います。
ただ、ボタンの同時押し(ボタン1~4と同時に、ボタン5~を押す)でよければ、ボタン5以降を扱うことも可能です。詳しくは、同梱の「Q&A」にある、「常駐モードで、ジョイスティックのボタン5以降にマクロを割り当てたい」の項を参照してください。
Re: ジョイスティックのホットキー指定についてリクエスト - anj
2024/08/19 (Mon) 19:36:08
たわしとさん
回答ありがとうございます。難しいとのこと、理解しました。
現状でも「ジョイスティックのボタンをキーボードのキーに割り当てる常駐ソフト」(例えばJoytoKey等)と併用すれば、ボタン5~も単独でホットキーとして使えています。
しかし、ボタン1~4をホットキーとして直接KMMacroを呼び出した時と比べ、レスポンスがどうしても悪く、KMMacroだけでできたらな、という希望でした。
この件に限らず、有用なソフトを長年更新してくださっていることに感謝しています。
コマンドラインから小文字の変数を指定できない - すけ
2024/05/29 (Wed) 21:16:47
お世話になります。
CMDで
KMMAC /FILE=test.mac /%1=AbCde
test.macの中身を
message "" %1
とすると、
ABCDE
と表示されます。
大文字小文字を判別可能でしょうか?
Re: コマンドラインから小文字の変数を指定できない - すけ
2024/05/29 (Wed) 21:31:24
失礼しました 過去の質問にありました。
いつもお世話になっています。ありがとうございます。
無題 - すけ
2024/05/03 (Fri) 10:43:48
068から愛用しています。
画像に係る機能が追加されたということでアップデートしたかったのですが、
ダウンロードするとNortonさんに
Trojan.Gen.NPE
と指摘されて解決(削除)されちゃいました。
もともとそういうものですか?それともダウンロードサイト側の問題でしょうか?
Re: 無題 - たわしと
2024/05/03 (Fri) 19:25:35
すけ さん、こんばんは。
| ダウンロードするとNortonさんに
| Trojan.Gen.NPE
| と指摘されて解決(削除)されちゃいました。
Norton は持っていないのでわかりませんが、以前のバージョンでは、Microsoft Defender に「脅威」と検知されたことがありました。その時は、なぜか zip ファイルだけが脅威とみなされ、exe は何にも言われなかったので、圧縮ソフトをバージョンアップして(まったく同じファイルを)圧縮し直してみたら、検出されなくなりました。要するに、誤検出だったんでしょうね。
この手のソフトは、「ソフトによってキー入力、マウス入力を操作する」機能がありますので、もしかしたら、ウィルスチェックに引っかかりやすい、ということもあるのかもしれません。
今回の件も、私は誤検出だと思いますが、こういうものは「作者が知らないうちに感染している」可能性がないとは言えないので、断言はできません。Microsoft Defender には何も言われないし、Vector の登録は通っているので、だいじょうぶだとは思いますが……。
ちなみに、最近の Norton は使ったことがないんですが、これは脅威と見なしたファイルは強制的に削除するんでしょうか。それとも問い合わせつき? 後者だとしたら、zip を展開した後でそのフォルダを Norton でチェックして、zip のみが脅威と指摘されるのであれば、前回と同じ騒ぎ、となるんですが……試してみてください、とは言いません。さっきも書いたとおり、感染している可能性はゼロだ、とは言い切れないので。
しかし、こう言う話はこちらからの対応って、難しいですね。Microsoft Defender の時は圧縮のし直しという簡単な方法があったので、し直したものを再度アップロードしたんですけど。
あ、それから、
| もともとそういうものですか?それともダウンロードサイト側の問題でしょうか?
私が直接にアップロードしたのは Vector だけなので、他のサイトについてはよくわかりません。何か処理を加える、なんてことをするサイトがあるんでしょうか? あるとしたら、めちゃくちゃ怪しいサイトだと思いますけど。
Re: 無題 - すけ
2024/05/03 (Fri) 20:40:49
ご回答ありがとうございます。
|最近の Norton は使ったことがないんですが、
|これは脅威と見なしたファイルは強制的に削除
|するんでしょうか。それとも問い合わせつき?
設定次第かも知れませんが、デフォルトでは強制的に削除され、復元しても解凍時に削除されるの繰返しでした。
ですので、自動保護を一時停止して、解凍してから、あらためてNortonさんに判断を仰いだところ
ファイル名: KMrec.exe
脅威名: Heur.AdvML.C
ファイル名: KMrec.exe
脅威名: Trojan.Gen.MBT
といった指摘を受けて、KMrecのみ処理されました。
タイプやクリックのレコードをする部分ですから一番誤検出に遭いやすい部分かと思いますが、私はKMmacro.exeさえあれば十分なので実用上問題ありません。
なお、ダウンロードサイトはVectorです。
ありがとうございました。
別のKMmacroを実行するには ─── - KIC
2024/04/14 (Sun) 17:24:00
3月に質問いたした KIC です。その節はご回答いただき、ありがとうございました。
そのご回答中に「別の KMmacro を起動して、3秒たったら KEY コマンドを実行する」という記述があったことを覚えていて、先日マクロを手直ししている際にここで使用できるとよいなぁと思い、組んでみました。
結果は、しかし、「すでに常駐しています」というメッセージが表示され、別の KMmacro を実行させることはできませんでした。
そこでお尋ねいたします。
当方は KMmacro を常駐させて毎日利用していますが、メッセージの内容からすると、この使い方は主となる KMmacro が非常駐で起動している場合のみ有効な使い方なのでしょうか。
ついでながら、KMmacro.txt ファイルの内容を読んでいて気になった箇所について質問させてください。
1.
open コマンドについて説明した L.929 に「ファイルをオープンします。input、write を行うためには、まず open 処理を行う必要があります」とあり、L.932 に 「input コマンドを使うことができる」 とあるところから、この「input、write」が KMmacro のコマンドだということはわかったのですが、「input コマンド」というものが見当たりません。「input コマンド」は現在実装されていないという理解でよろしいでしょうか。
2.
L.679 に「GOTO で IF ~ END の中に飛び込む」とありますが、「END」は「ENDIF」の書き間違いかと存じましたが、それでよろしいでしょうか。
以上です。
お時間がおありの際にご回答いただけましたらたいへん幸いに存じます。よろしくお願いいたします。
Re: 別のKMmacroを実行するには ─── - たわしと
2024/04/15 (Mon) 19:28:38
KIC さん、こんばんは。
| この使い方は主となる KMmacro が非常駐で起動している場合のみ有効な使い方なのでしょうか。
KMmacro は起動時に、既に常駐していないかをチェックして、二重の常駐をしないようにしている……のですが、調べてみたところ、常駐起動でない場合でも、このチェックを行っていました。そのため、常駐している KMmacro からでは、別の KMmacro は(非常駐起動でも)起動できません。ご指摘の通りです。
というわけで、現状ではこの動作なのですが、このチェック、非常駐起動の時はたぶんいらないよなあ……。
| 「input コマンド」というものが見当たりません。
あ、申し訳ありません。
「(1) Input … 入力用にオープンする。これでオープンしたファイルには、input コマンドを使うことができる。」
は、
「(1) Input … 入力用にオープンする。これでオープンしたファイルには、read コマンドを使うことができる。」
の誤記です。
つまり、「read コマンドでファイルを読み込む」には、その前に「input 指定の open コマンドで、ファイルをオープンしておかなければならない」、の意味でした。
この誤記が今まで見逃されてきたのは、キーボードマクロでファイル入出力なんてやる人があまりいなかったのか、そうでなければ、この辺の書き方が昔の BASIC という言語そのままなので、知っている人は読まなくてもわかるから、でしょうかね。
|「GOTO で IF ~ END の中に飛び込む」とありますが、「END」は「ENDIF」の書き間違いかと存じましたが、それでよろしいでしょうか。
これもご指摘の通りで、正しくは「ENDIF」です。
マニュアルにいくつも誤りがありまして、申し訳ありません。ご指摘、ありがとうございました。
Re: 別のKMmacroを実行するには ─── - KIC
2024/04/19 (Fri) 15:48:48
早速のご返信、ありがとうございます。
>> 常駐している KMmacro からでは、別の KMmacro は(非常駐起動でも)起動できません
L.1198 に「常駐→非常駐は KMmacro 自身のホットキーで自動的に切り替えられる」とありますが、これは実質的に
〈常駐モードで起動した KMmacro から別の KMmacro を非常駐モードで起動することはできない〉
ということだと理解しておりましたが、
「二重の常駐をしないようにしている」とのことで、結局
〈常駐モードで起動している KMmacro からは別の KMmacro を起動させることはできない〉
というわけですね。
よくわかりました。ありがとうございます。
>> このチェック、非常駐起動の時はたぶんいらないよなあ……
もし非常駐起動時に常駐チェックしなかったら、
主となるマクロが非常駐モードの KMmacro で実行されているなかで別の KMmacro をすでに従として起動している際に、
さらに別の KMmacro を起動しようとした場合に常駐チェックがされなくならないのかが心配になりました。
しかし、〈非常駐モードがあればチェックしない〉ではなく、〈常駐モードがあればチェックする〉という仕様にすればよいだけですから、杞憂ですね。
最後に、「input コマンド」の件ですが、「read コマンド」と読み替えればよいだけだったのですね。
すっきりしました。
KMmacro はとても重宝しており、マクロを自ら書けるようにまでなれたのは KMmacro.txt のおかげなので、
当方のような KMmacro 初心者にとってこのファイルがいまより少しでもよいものになればと願い、お尋ねした次第です。
今回も本当にありがとうございました。
readkey 関数で指定秒経過しても処理が先に進まない - KIC
2024/03/02 (Sat) 14:31:44
毎日ありがたく利用させていただいております。
下記マクロが昨日から急に意図どおりに動作しなくなりました。
具体的には、(readkey 3) の部分で、3秒経過しても処理が先に進みません。
それまでは問題なく動作しておりましたし、もちろんマクロの変更もありません。
無変換キーを押せば意図どおりに動き、別のキーを押せば次に進んでくれますが、
一昨日までは何も押さなければ、3秒後に次に進んでくれましたし、それが意図した処理です。
元々は readkey 関数を使用した部分はなく、一時停止機能があると便利な場面があって付け足しました。
ですので、自動で8回繰り返してもらいたいのですが、このままでは自動化されず、困っております。
KMmacro のバージョンは 0.72 です。
ご診断いただけませんでしょうか。
また、何か別の方法で一時停止機能を装備できるようでしたら、ご教示いただけませんでしょうか。
よろしくお願いいたします。
***** マクロ抜粋部分 ここから *****
DIM %times %rest %readKey
SET %times 0
FOR %0=1 TO 8
INCLUDE SubRoutine_1.mac
INC %times 1
SET %readKey (readkey 3)
IF (= %readKey "[MUHENKAN]") EXITFOR
NEXT
IF (= %times 8) THEN
GOTO :LS2B_1
ELSE GOTO :Restart_1
ENDIF
:Restart_1
(message 一時停止中 再開は[Ctrl]+[Alt]+ Q を押下)
PAUSE [Ctrl]
PAUSE [Alt]
PAUSE Q
SET %rest (- 8 %times)
FOR %0=1 TO %rest
INCLUDE SubRoutine_1.mac
NEXT
:LS2B_1
INCLUDE SubRoutine_2.mac
***** マクロ抜粋部分 ここまで *****
以上
Re: readkey 関数で指定秒経過しても処理が先に進まない - たわしと
2024/03/02 (Sat) 22:22:33
KIC さん、こんばんは。
| 下記マクロが昨日から急に意図どおりに動作しなくなりました。
| 具体的には、(readkey 3) の部分で、3秒経過しても処理が先に進みません。
当方でも readkey の動作を試してみましたが、こちらでは特に異常はありませんでした(win10環境)。win11 では違ってくる可能性もありますが、念のため、ごく単純なマクロ、例えば
SET %0 (readkey 3)
(message %0)
と言ったようなマクロを実行して、readkey の時間待ちが動作するかどうか、確認してみていただけないでしょうか。
このマクロも上手く動かないようなら、readkey の動作がうまくいっていないことになります。この場合は……今のところ、簡単な対処方法は思いつきません。
実は、「別の KMmacro を起動して、3秒たったら KEY コマンドを実行する」でいいんじゃない? と思って試してみたのですが、うまく行きませんでした。readkey(で使っている仕組み)は、ソフト的なキー入力には反応してくれないようです。
となると、readkey の時間待ちの部分のコードを修正して作り直す、しかなさそうですが……とりあえず、結果をお待ちしています。
Re: readkey 関数で指定秒経過しても処理が先に進まない - KIC
2024/03/03 (Sun) 11:06:42
早速のご返信、ありがとうございます。
結論から申し上げますと、Windows を再起動したら3日前までの状態に戻りました。
お騒がせして申し訳ございませんでした。
今朝、こちらを開き、ご教示いただいたことを確認(NG)し、
エディタをメモ帳に変えて試行(NG)し、
そこまでしたのでまさかと思いつつ、いつもなら試行する Windows の再起動をしたところ、動作しました。
そこまでせずに投稿してしまい、申し訳ございませんでした。
この機会にもう一点だけ質問させてください。
昨秋から KMmacro を使い始め、とてもすばらしいアプリケーションでしたので、もっときちんと知りたいと思い、
KMmaro.txt を土台にして自分用のマニュアルを作成し、今も更新し続けております。
そのなかで1つだけわからないことがございます。
それは、KEY コマンドの項にある「[KEY-x]で、キーx を入力できます」という部分です。
たとえば、サクラエディタ上で以下を実行すると、置換ウィンドウを開いて1秒後に閉じることができます。
***** 例 ここから *****
KEY [OEM-162]++ R [OEM-162]--
delay 1000
KEY [OEM-164]++ X [OEM-164]--
***** 例 ここまで *****
このうちの R と X の部分を [KEY-x] の形式にして実行すると、KMmacro に「[]の中が不正です」と叱られます。
これは一例ですが、[KEY-x] 中の 「x」 にいかなるものを入れたら正しく実行されるようになりますか。
ご回答賜れましたらたいへん幸いに存じます。
追伸
Windows のエディションは Windows 10 Pro で、バージョンは 22H2 です。
Re: readkey 関数で指定秒経過しても処理が先に進まない - たわしと
2024/03/03 (Sun) 21:01:45
KIC さん、こんばんは。
| 結論から申し上げますと、Windows を再起動したら3日前までの状態に戻りました。
| お騒がせして申し訳ございませんでした。
ご報告、ありがとうございます。
上手く動いたとのことで、ほっとしました。
| そのなかで1つだけわからないことがございます。
| それは、KEY コマンドの項にある「[KEY-x]で、キーx を入力できます」という部分です。
すみません、これはマニュアルの誤りです。コードを読み直してみたところ、そのような機能は作っていませんでした。
というか、これ、何をしようとしたんだろう。これに類するものを作ろうとした……ような記憶はうっすらとあるんですが、この説明のままだと、意味不明な機能ですよね。うーん、思い出せない。
ご指摘いただき、ありがとうございました。
Re: readkey 関数で指定秒経過しても処理が先に進まない - KIC
2024/03/04 (Mon) 12:02:18
ふたたび早速ご返信くださり、本当にありがとうございます。
[KEY-x] に関しまして、わざわざコードを読み直していただいたとのことで、感謝に堪えません。
KMmaro.txt につきましては、しっかり理解したと思っている点でも、時間をおいて読み直すと発見があり、これまで何度もマクロを短くするうえで役立っております。
またわからない点がございましたら質問させていただくかもしれませんが、今回はこれにて失礼申し上げます。
お忙しいなか、貴重なお時間をおさきくださリ、誠にありがとうございました(ご返信は不要です)。
ありがとうございます - ゆず
2024/01/14 (Sun) 10:53:41
これはイイです。
シンプル、かんたんで面白い。
PowerAutomateにがっくりしてこちらへ辿り着きました。久々にシェアレジしました。
ICカード書込みソフトの操作を自動化するのに、APIやらOCXやらVBを組むやら面倒なので、起動しておいて書込みボタンをKMmacroでクリックすることにしました。
これからもご活躍期待しております。
Re: ありがとうございます - たわしと
2024/01/14 (Sun) 21:14:09
ゆず さん、こんばんは。
| これはイイです。
| シンプル、かんたんで面白い。
わざわざ投稿いただきまして、ありがとうございます。それからシェアレジの方も、ありがとうございました。
添付した「はじめに.txt」にも書いたとおり、開発環境が非常に古いものなので、最近はあまり触っておりません。が、この前動かした時には、 Windows XP マシンもまだ動いていたようです。もしも何かご要望がありましたら、マシンがまだ動くうちに、お早めにお知らせください(マシンが動いても、私が対応できない可能性はありますけど)。
ドラッグの記憶方法 - きゃめる
2023/12/17 (Sun) 09:58:14
左クリックのドラッグを記録したいのですが、keyコマンドと「++」を直接書き込む他に方法はないのでしょうか。
ただその場でドラッグするだけで記録する方法はないのでしょうか。
あと、ドラッグの軌跡を記録する方法があれば教えてほしいです。
Re: ドラッグの記憶方法 - たわしと
2023/12/17 (Sun) 16:41:07
きゃめる さん、こんばんは。
| 左クリックのドラッグを記録したいのですが、keyコマンドと「++」を直接書き込む他に方法はないのでしょうか。
KMmacro ではドラッグの開始や、ドラッグの軌跡を記録する方法はありません。
ただ、常駐モードを使えば、ある程度簡単にキーの位置の記録をすることはできます。
例えば、KMmacro.hot に次のように記入して、KMmacro を常駐モードで起動してください。
F1 キーを押すたびに、その時点でのマウスカーソルの位置を「drag.mac」(KMmacro.exe と同じフォルダに)というファイルに記録します。
------------ KMmacro.hot ------------
hotkey=[F1] : クリック位置の記憶
LOG drag.mac (& "moveto " (getmouse) )
; LOG drag.mac "Key [LCLICK]++" ; key コマンドも一緒に記録したければ、これも入れておく。
-------------- ここまで --------------
残念ながら、常駐モードのホットキーには [LCLICK] などのマウスクリックは使えないので、上の例では別のキー(F1)を使っています。
Re: Re: ドラッグの記憶方法 - きゃめる
2023/12/19 (Tue) 18:37:12
丁寧に返信とても助かります。ありがとうございます。
自動的にドラッグを記録する方法や軌跡を記録する方法を知りたかったのは、通信待機のあるソフトウェアにマウス操作の自動化を施したかったのですが、記録を止めて書き込みながら記録する方法だとdelay時間を上手く測定できず、後から作ろうにも長いコードになる予定で、後からでは見返した時にどこの事か分からなくなりだったからです。
ですが、あれから事前にドラッグ部分のみ作っておいて、記録の時は、ドラッグする直前で、キーを押してコードに印を付けることで見返すことができるようにし、そこにドラッグのコードをはめ込むことで解決しました。
また機会があれば教えていただいた方法も有難くやってみたいと思います。
別の疑問が出て恐縮なのですが、コードにコメントのようなものを残すことは可能でしょうか。コード上に描いても実行時には無視される文章です。
Q&Aに既に記載済みならすみません。
Re: ドラッグの記憶方法 - たわしと
2023/12/19 (Tue) 20:10:24
きゃめる さん、こんばんは。
| 別の疑問が出て恐縮なのですが、コードにコメントのようなものを残すことは可能でしょうか。コード上に描いても実行時には無視される文章です。
これは、「;」を使ってください。「;」以降は、コメントと見なして無視します。
Re: Re: ドラッグの記憶方法 - きゃめる
2023/12/19 (Tue) 20:31:43
わかりました。ありがとうございます。