1

Process.Start 経由で開始された ClickOnce 展開アプリケーションの位置とサイズを設定する方法があるかどうかを知りたいです。通常の (.exe) アプリケーションでは問題ありません。次のようなことができます。

var externalAppProcess = Process.Start("calc");
var externalAppPtr = externalAppProcess.MainWindowHandle;

次に、呼び出された MoveWindow を使用して、位置やサイズなどを設定します。ただし、appref-ms ファイルを開始すると、問題なく実行されますが、その MainWindowHandle にアクセスできず、「プロセスが終了しました。そのため、要求された情報は利用できません。」何か案は?

4

1 に答える 1

0

*.appref-ms を起動すると、rundll32 または dfshim プロセスが実行されます。ClickOnce のチェックを行い、最終的に ClickOnce でデプロイされたアプリケーションの実行可能ファイルを開始します。

したがって、次のようにメイン ウィンドウ ハンドルを見つけてみてください。

var processes = Process.GetProcessesByName("ClickOnceDeployedApp");
foreach (Process p in processes)
{
    IntPtr windowHandle = p.MainWindowHandle;

    // do something
}
于 2013-10-17T22:19:15.823 に答える