设置ClickOnce应用程序的位置和大小

时间:2013-10-06 21:00:31

标签: c# clickonce

我想知道是否有任何方法可以设置ClickOnce部署的应用程序的位置和大小,通过Process.Start启动。使用普通(.exe)应用程序没有问题,我可以这样做:

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

然后使用调用的MoveWindow来设置位置,大小等内容。但是,当我启动appref-ms文件时,它运行没有任何问题,但我无法访问其MainWindowHandle,它说“进程”已退出,因此无法获取所要求的信息“。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当您启动* .appref-ms时,将运行rundll32或dfshim进程。它执行ClickOnce检查并最终启动ClickOnce部署应用程序的可执行文件。

所以你可以尝试找到这样的主窗口句柄:

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

    // do something
}