|
ども、杉浦 まさき です。
WinNT 上のみでの現象ですが、
マクロの run 文でマクロサーバ(もしくは拙作の田楽鯖)を
実行して、
ddeexecute "run command.com";
を実行するとコンソールウィンドウに延々と「ハンドルが無効です」
という文字が出続けます。
また、他の 16bit DOS アプリ(例えば lha)も
ddeexecute "run lha.exe";
とするとコンソールに何も表示せずに終了してしまいます。
#正常なら lha の使い方の説明が表示されるはず。
なお、マクロ中で run するのでなくマクロを実行する前に
サーバを起動しておくと上のような現象は発生しません。
マクロの run 文は子プロセスのコンソール出力を
秀丸ウィンドウにリダイレクトするために
CreateProcess の *STARTUPINFO 引数に
色々設定を行っているものと思いますが、
それが孫プロセスにまで影響を与えているみたいなのです。
(NT の)CreateProcess API のバグのような気もしますが、
もし秀丸側で対処できるならよろしくお願いしますm(_ _)m。
#CreateProcess で DOS アプリを実行すると
return は TRUE なのに LastError 値が
「ハンドルが無効です」となる怪現象?を確認してますが、
この辺の話がらみかもしれません。
|
|