突如として現れる 警告画面!。
自作のアプリから呼び出したメモ帳が ... 。
コケました。 X(
Visual Studio で作成した アプリ から メモ帳起動 でトラブル発生しています。
環境依存の様で、
同じ OS Version であっても、
正常起動するマシンとそうで無いマシンがあります。
Windows 11 Pro 25H2 Build 26200.8655
Windows メモ帳 11.2605.29.0
此処からは 私見 ですが、
確か、
メモ帳 notepad.exe は UWP App(アプリ)に変わっていて Store から配信されていた筈。
そして、通常の Desktop App は Process Start で呼び出す訳ですが、
相手が Store 等の UWP App の場合、 ひと手間 が必要だったと記憶していますが、
実際には、多くのものが、正常起動します。
無論、Windows 純正のツール類ですが。
調べて見ると、OS の アプリ実行エイリアス(App Execution Alias) で実現しているとの事。
但し、稀なケースでは、コケます。
今回、其の 稀 に遭遇した様で。
それも、実に不思議な コケ方 で、です。
notepad.exe の例では、
Process Start で 単に notepad を呼び出すと駄目で、
cmd.exe から 単に notepad を呼べば動く、 と言った具合。 ?。
因みに、C:¥¥Windows¥¥notepad とフルパスで入れれば Process Start でも OK 。
或いは、C:¥¥Windows¥¥System32¥¥notepad (上と同じもの?)。
恐らく、Code を notepad から cmd に変更し 引数を /C start notepad としても、
一瞬瞬き乍ら、Process が走る筈。
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo();
psi.FileName = "C:¥¥Windows¥¥notepad.exe";
psi.Arguments = log_file;
psi.UseShellExecute = true;
// Can Work
//psi.FileName = "cmd.exe";
//psi.Arguments = " /C start notepad " + log_file;
//psi.CreateNoWindow = true;
//psi.UseShellExecute = true;
System.Diagnostics.Process.Start(psi);
該当マシンでは、 Search の順序が変わったのか?。
UWP 優先になっていて、コケてる と考えれば、納得なのですが ... 。
絶対位置指定なら動くのですが、
もし、将来、格納場所が変わったらとの不安が過ります。
此の様に、マシンに依って挙動が異なるのが 厭らしい処。
さて、 どうしましょうかねぇ ... 。

0 件のコメント:
コメントを投稿