簡體   English   中英

Process.Start()問題-沒有顯示GUI

[英]Process.Start() issue - No GUI displayed

我正在嘗試從VisualWebGUI(基本上在網絡上為winforms)應用程序啟動WPF .exe。 當我在VS2010中運行時,一切正常。 但是,當我將站點部署到IIS時,它確實會啟動.exe(我可以看到它寫到日志文件中),但沒有顯示WPF應用程序的GUI。 我也可以看到任務管理器中正在運行的進程! 真的很簡單,只是通過了一項爭論:

Process p = new Process();
p.StartInfo.FileName = Security.ExePath
p.StartInfo.Arguments = ID
p.Start();

我嘗試擺弄不同的startinfo參數,但無濟於事,我錯過了什么嗎?

這可能是因為該應用程序是在AppPool身份(例如ApplicationPoolIdentity)下啟動的。 嘗試將AppPool的“高級設置”下的身份設置為已登錄的用戶,並應看到該應用程序。

您將需要為您的進程指定適當的窗口站,以便它可以訪問與當前Windows登錄會話相同的UI。

在這里查看: http : //support.microsoft.com/kb/165194並繼續閱讀有關Windows API的信息,例如在這里: http : //msdn.microsoft.com/zh-cn/library/windows/desktop/ms682429(v = vs.85).aspx

附帶說明一下,從工作進程啟動GUI確實不是一個好主意-主要是因為您從不保證在任何時間點都存在任何交互式用戶。 使用IIS時,您的主要假設必須是沒有人看着服務器屏幕。

最好在用戶登錄時自動啟動GUI應用程序(或輕量級存根),然后偵聽來自后台進程的信號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM