2012-05-09 47 views
0

我有一個使用Runtime.getRuntime()。exec()打開notepad.exe的java應用程序。從由Windows服務啓動的Java應用程序打開新進程

我想運行這個應用程序作爲一個Windows服務。所以我使用C#創建了一個Windows服務。

我可以使用'installutil'命令成功安裝該服務。

但是,雖然我的Java應用程序由Windows服務正確啓動,但它不會打開notepad.exe。

我認爲問題在於服務作爲SYSTEM進程運行,而不是當前的登錄用戶。因此,我通過在installutil命令中提供用戶憑據,在當前用戶下安裝了該服務。

然後服務和Java應用程序在當前用戶下正常啓動,我可以看到notepad.exe也是在同一用戶下創建的。但記事本不可見。

任何人都可以引導發生在這裏的事情。

謝謝

回答

0

這聽起來像是它在另一個環境中啓動。

在服務選項中,嘗試選中「本地系統帳戶」單選按鈕,然後選中「允許服務與桌面交互」複選框。

+0

感謝您的建議。但它在cmd提示符下顯示我的java應用程序。 – Kelum

+0

你是什麼意思? – animaonline

+0

它彈出一個'交互式服務檢測'消息框,並告訴'在這臺計算機上運行的程序試圖顯示一條消息',並且一旦點擊了消息,就會顯示我在控制檯上運行的Java應用程序。 – Kelum

相關問題