IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[VB.Net] Lancement d'une application console depuis un webform


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut [VB.Net] Lancement d'une application console depuis un webform
    Bonjour,

    J'ai un programme qui fonctionne en mode application console, mais qui ne fonctionne pas quand je lance cette même application depuis un webform...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim myProcess As System.Diagnostics.Process 
    myProcess = System.Diagnostics.Process.Start("C:\prog.exe", "")
     
    WordPrinterProcess.WaitForExit()
    En fait prog.exe lance une impression (côté serveur donc pour le webform, ce qui n'est certes pas très courant)

    L'appli ne plante pas, mais l'impression ne se fait pas

    Est-ce qu'il y a un moyen de forcer l'application console à fonctionner comme si je me contentais de cliquer dessus?

    PS: si je veux passer par une application console, c'est parce qu'un copier coller du code source de prog.exe sur le webform ne fonctionne pas... ca fait deja 2 semaines que je galère, aidez-moi par pitié...

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Essaye avec Shell(..)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    C'est toujours pareil

    Je pense que ca peut avoir un rapport avec l'utilisateur qui lance le processus....

    Parce que le programme fonctionne en webform avec une imprimante normale, mais dès que j'utilise l'imprimante virtuelle (pdfFactory), ca n'imprime plus...

    Comment je peux régler ca?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Encore que.... quand je regarde le nom d'utilisateur dans le gestionnaire des taches, ca affiche SYSTEM

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Points : 93
    Points
    93
    Par défaut
    Faut essayer de lancer ton processus sous un autre user (ce user devra pouvoir ce loguer et faire ce tu veux faire, creer un user local avec les droit qui vont bien), car asp.net est user trop restreint..
    J'ai déjà vu du code qui permet de faire çà sur codeproject je crois.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    J'ai trouvé ca en faisant des recherches:

    http://www.dotnet247.com/247referenc...48/244903.aspx

    Il s'agit de quelqu'un qui aurait un problème similaire, et on lui a dit d'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CreateProcessWithLogonW
    Le souci, c'est que cette fonction se trouve apparemment dans advapi32.dll, et je ne sais pas comment l'importer...

    J'ai trouvé ca, mais visual studio me dit que DllImport n'est pas déclaré, ainsi que MarshalAs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <DllImport("C:\\Windows\\System32\\advapi32.dll")> _
       Public Shared Function CreateProcessWithLogonW( _
       <MarshalAs(UnmanagedType.LPWStr)> ByVal lpUsername As String, _
       <MarshalAs(UnmanagedType.LPWStr)> ByVal lpDomain As String, _
       <MarshalAs(UnmanagedType.LPWStr)> ByVal lpPassword As String, _
       ByVal dwLogonFlags As Integer, _
       <MarshalAs(UnmanagedType.LPWStr)> ByVal lpApplicationName As String, _
       <MarshalAs(UnmanagedType.LPWStr)> ByVal lpCommandLine As String, _
       ByVal lpCreationFlags As Integer, _
       ByVal lpVoid As Integer, _
       <MarshalAs(UnmanagedType.LPWStr)> ByVal lpCurrentDirectory As String, _
       ByRef lpStartupInfo As STARTUP_INFO, _
       ByRef lpProcessInfo As PROCESS_INFO) As Boolean
    Comment je dois m'y prendre pour importer cette dll?

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Faut la rajouter dans Références et faire un import dans ta classe

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Ô malheur, Ô désespoir....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    createProcessWithLogonUserW
    fonctionne en windows form, mais pas en webform...

    Mais j'ai maintenant la certitude que c'est un probleme d'utilisateur, car j'ai essayé en changeant la balise <processmodel> de machine.config, et ca passait!!!

    Comment je peux faire autrement???

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Pour choisir l'utilisateur qui va lancer le processus:

    http://www.codeproject.com/csharp/RunAs.asp

    Mais il faut avoir les droits au moins égaux à l'utilisateur qu'on veut associer au processus.

    J'ai donc fini par mettre l'utilisateur ASPNET dans un groupe d'utilisateurs avec les bons droits...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/12/2009, 09h40
  2. Réponses: 3
    Dernier message: 21/11/2006, 22h05
  3. [c#, .net 2.0] Lancement d'une application depuis un serveur
    Par SesechXP dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/11/2006, 08h40
  4. Lancement d'une application depuis ligne de comande
    Par goldorax113 dans le forum Langage
    Réponses: 7
    Dernier message: 08/10/2006, 12h47
  5. Réponses: 6
    Dernier message: 06/07/2006, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo