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

Windows Forms Discussion :

[VB.NET]Rendre IE invisible


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut [VB.NET]Rendre IE invisible
    Bonjour a tous,

    alors voici mon problème:
    J'ai une application qui doit appeller et imprimer des rapports générés à l'aide de reporting service.
    Pour ce faire je crée a la demande de l'utilisateur l'url souhaitée contenant les paramètres du rapport.
    Je lance un process IE qui ouvre cette url, et propose donc une boite de dialogue d'impression.
    Jusque la tout va bien.

    Seulement le prob c'est qu'après il me reste cette page d'IE blanche qui ne sert strictement a rien.
    Je ne vois pas comment capter le bon momet pour éventuellement la fermer moi meme, donc je me demandais s'il n'était pas possible d'avoir un process IE mais ou le browser ne serait pas visible...

    Je suis ouvert a tte piste/proposition

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    quel est le code utilisé pour appeler IE :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          Process.Start("C:\Program Files\Internet Explorer\iexplore.exe", MyUrl)
    bon rien ne m'empeche de prendre son handle a ce moment la mais je asis pas trop quoi en faire après...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Sa ne marche pas avec ceci ?:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim ps As New ProcessStartInfo("IEXPLORE.EXE")
    ps.CreateNoWindow = True
     
    Dim process As Process = System.Diagnostics.Process.Start(ps)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par guillaume1998
    Sa ne marche pas avec ceci ?:
    Mmmh je viens de tester mais non :/
    le createnowindow en fait réutilise une fenetre IE si il y en a deja une qui existe mais si pas il en fait une nouvelle.
    Bref meme prob mais j'y ai cru
    bon ej vais aller manger, je réfléchirai peut etre mieux le ventre plein

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Je vois pas trop, peut-etre que en essayer d'imprimer autrement tes rapports.
    Sinon calculer le temps d'impression et fermer ie au bout de ce temps.

    Enfin vaut mieux chercher comment imprimer tes rapport sans internet explorer.

  7. #7
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    Dim ps As New ProcessStartInfo("IEXPLORE.EXE")
     
    Dim process As Process = System.Diagnostics.Process.Start(ps)
     
    Thread.Sleep(10000) ''une minute
     
    process.Close()
    'ou
    process.Kill()
    avec ça tu va fermer le process (La premiere est moins barbare que la deuxieme qui tue completement le process même s'il n'a pas fini )
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci a tous pour vos réponses

    guillaume1998=>j'utilise IE pq il faut que je fasse appel a une url dans notre intranet, url ou se trouve notre repotrserver.
    maintenant si il y a moyen d'appeller cette url sansIE je suis preneur

    dev01=>j'ai testé, process.close() ne le ferme jamais, par conter le kill est effectivement bien barbare et je peux pas me permettre d'estimer le temps que va mettre l'utilisateur a cliquer sur le bouton d'impression
    genre je met 5sec et si jamais d'un coup il est détourné de son pc qd il revient sur l'écran la fenetre est pas la... ils vont pas trop aimer je pense.

  9. #9
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par biau
    dev01=>j'ai testé, process.close() ne le ferme jamais, par conter le kill est effectivement bien barbare et je peux pas me permettre d'estimer le temps que va mettre l'utilisateur a cliquer sur le bouton d'impression
    genre je met 5sec et si jamais d'un coup il est détourné de son pc qd il revient sur l'écran la fenetre est pas la... ils vont pas trop aimer je pense.
    ben dans ce cas pourquoi ne pas mettre un bouton sur ta page internet qui te permet de fermer la fenetre ? C'est un pauvre code javascript à faire ça prend 30 sc de copié-collé à partir de developpez.com
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par dev01
    ben dans ce cas pourquoi ne pas mettre un bouton sur ta page internet qui te permet de fermer la fenetre ? C'est un pauvre code javascript à faire ça prend 30 sc de copié-collé à partir de developpez.com
    Bin vi mais bon pour faire ça alors qu'ils cliquent sur la croix ça revient au meme
    Mon objectif serait qu ils voient jamais la fenetre IE, qu'ils aient juste la fenetre d'impression de IE qui s'affiche, ils cliquent ok pis revienne a leur appli.

    Mais bon je commence a me demander si c est possible :/

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bon j'ai réussi a cacher la fenetre IE avec cette ligne en +

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            Dim ps As New ProcessStartInfo("IEXPLORE.EXE", MyUrl)
           ps.WindowStyle = ProcessWindowStyle.Hidden
            Dim process As Process = System.Diagnostics.Process.Start(ps)
    je pensais pouvoir me garder un process IE en mémoire et caché pour gérer tt ça mais bon ça me prend direct 30Mo en mémoire donc bof

    maintenant je suis en tran de me demander si je gèrerais pas un evennement qd mon applic reprend le focus, je kill le process IE si il existe (et a été créé par mon appli sinon je vais leur bousiller ttes leurs pages web ^^)

    edit: bon bin ça fonctionne comme ça...
    mais bno c est un bof comme méthode je trouve mais disons que ça remplit ce que je veux faire.

    Faut pas que l'utilisateur reclique sur mon appli avant d'avoir imprimé

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

Discussions similaires

  1. Rendre contrôle invisible dans un formulaire
    Par nadia68 dans le forum IHM
    Réponses: 5
    Dernier message: 19/05/2007, 12h08
  2. Rendre formulaire invisible
    Par nadia68 dans le forum IHM
    Réponses: 4
    Dernier message: 03/02/2007, 10h42
  3. Rendre visible / invisible plusieurs éléments en même temps
    Par Bluespike62 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/01/2006, 17h43
  4. [FLASH 8] Rendre visible/invisible un bouton sur un clic
    Par PrinceMaster77 dans le forum Flash
    Réponses: 11
    Dernier message: 10/01/2006, 15h08
  5. Réponses: 2
    Dernier message: 06/05/2005, 21h45

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