2010-07-09 139 views
0

我有一個程序,我想從Windows服務調用。從Windows服務運行程序

xsftp.StartInfo = New ProcessStartInfo("c:\stage\psftp.exe", "[email protected] -b c:\stage\script.bat -pw XXX") 
xsftp.Start() 

相同的代碼工作正常,如果我在一個控制檯應用程序寫的,但是從Windows服務,它不會跑,我看到PSFTP正在啓動任務管理器,但它不會做任何事情..

有任何想法嗎 ? 謝謝! Srin

+0

什麼版本的Windows是這樣的? – 2010-07-09 17:31:41

+0

windows XP,Vb.net 2005 – Sr7 2010-07-09 17:34:33

+0

請幫忙嗎?我仍然試圖找到答案。 – Sr7 2010-07-12 18:43:33

回答

0

你如何確定它沒有做任何事情?如果您正在尋找GUI,它可能在不同的用戶下運行,無法訪問您的桌面。

+0

script.bat有一個ftp命令將文件放到服務器上。我沒有看到服務器上的任何文件。而最後一條命令是'再見',所以在技術上它應該在執行後退出。 - 這是當我從控制檯應用程序運行相同的代碼時發生的情況。 – Sr7 2010-07-09 17:32:39

1

不知道,如果你仍然需要這個..但您需要將UseShellExecute設置爲false:

p.StartInfo.UseShellExecute = False 

我有同樣的問題,無論如何也找不到答案,但我看着我舊代碼,並找到答案:)

祝你好運