ClickOnceと非ClickOnceのアプリケーションを透過に起動する
以前のエントリで、ClickOnceアプリケーションを他から起動する方法を書いたが、今度は対象のパスがClickOnceか、通常のアプリケーションなのかがはっきりしない場合に、透過に起動するメソッドを考えてみた。
private void LaunchFromPath(string path) { Process proccess = new Process(); ProcessStartInfo startInfo = new ProcessStartInfo(path); if (Path.GetExtension(path).Equals("application", StringComparison.CurrentCultureIgnoreCase)) { startInfo = new ProcessStartInfo("IExplore.exe", path); startInfo.WindowStyle = ProcessWindowStyle.Hidden; } proccess.StartInfo = startInfo; proccess.Start(); }
普通に起動できるのだが、どうも気に入らない。
- ClickOnceアプリケーション判定の拠り所を拡張子"application"にしている
登録MIMEとかで判定できないか
- "IExplore.exe"をハードコードしている
これは前にも書いたが、エクスプローラを使わずに(当然余計なウインドウを表示させずに)起動できないものか
今回のはとりあえず叩きで使う。