2010-07-09 105 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 

我有同样的问题,无论如何也找不到答案,但我看着我旧代码,并找到答案:)

祝你好运