从windows服务运行程序

从windows服务运行程序,windows,vb.net,windows-services,external,Windows,Vb.net,Windows Services,External,我想从windows服务调用一个程序 xsftp.StartInfo = New ProcessStartInfo("c:\stage\psftp.exe", "testuser@X.X.X.X -b c:\stage\script.bat -pw XXX") xsftp.Start() 如果我在控制台应用程序中编写,同样的代码也可以正常工作,但是在windows服务中它不会运行,我看到psftp正在任务管理器中启动,但它不会做任何事情 有什么想法吗? 谢谢 Srin您如何确定它不起任何作用?

我想从windows服务调用一个程序

xsftp.StartInfo = New ProcessStartInfo("c:\stage\psftp.exe", "testuser@X.X.X.X -b c:\stage\script.bat -pw XXX")
xsftp.Start()
如果我在控制台应用程序中编写,同样的代码也可以正常工作,但是在windows服务中它不会运行,我看到psftp正在任务管理器中启动,但它不会做任何事情

有什么想法吗? 谢谢
Srin

您如何确定它不起任何作用?如果您正在寻找GUI,它可能在其他用户下运行,无法访问您的桌面。

不确定您是否仍然需要此功能。。但您需要将UseShellExecute设置为false:

 p.StartInfo.UseShellExecute = False
我也遇到了同样的问题,无论如何都找不到答案,但我查看了我的旧代码,找到了答案:)


祝你好运

这是什么版本的windows?有什么帮助吗?我仍在试图找到ans…。script.bat有一个ftp命令将文件放入服务器。我在服务器上看不到任何文件。最后一个命令是'bye',因此从技术上讲,它应该在执行后退出。-这就是我从控制台应用程序运行相同代码时发生的情况。