2010-07-09 6 views
0

J'ai un programme que je veux invoquer à partir du service Windows.exécuter un programme à partir d'un service Windows

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

Le même code fonctionne très bien si j'écris dans une application de la console, mais de service Windows courir coutume, je vois le psftp est en cours de démarrage dans le gestionnaire de tâches, mais il ne fera pas quoi que ce soit ..

des idées ? Merci! Srin

+0

Quelle version de Windows est sur? –

+0

Windows XP, Vb.net 2005 – Sr7

+0

toute aide s'il vous plaît? J'essaye toujours de trouver les ans. – Sr7

Répondre

0

Comment déterminez-vous qu'il ne fait rien? Si vous êtes à la recherche d'une interface graphique, celle-ci peut s'exécuter sous un utilisateur différent, sans accès à votre bureau.

+0

le script.bat a des commandes de ftp pour mettre le dossier au serveur. Je ne vois aucun fichier sur le serveur. et la dernière commande est 'bye' donc techniquement elle aurait du sortir après l'exécution. - C'est ce qui arrive quand je cours le même code à partir de l'application console. – Sr7

1

Je ne sais pas si vous avez encore besoin de ce .. mais vous devez définir le UseShellExecute false:

p.StartInfo.UseShellExecute = False 

je le même problème et ne pouvait pas trouver une réponse de toute façon, mais je regardais dans mon ancien code et trouvé la réponse :)

Bonne chance

Questions connexes