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

VB.NET Discussion :

Object Process et System.Diagnostics


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Par défaut Object Process et System.Diagnostics
    Bonjour,

    Je souhaite faire un exe en VB.NET qui vide le cache IE. J'ai pu récupérer un code à partir de différent sites (notamment developpez.com) mais j'ai constaté que, IE ouvert, les fchiers temporaires n'étaient pas supprimés.

    Du coup, j'ai mis dans le main() un bout de script tuant la tâche iexplore. Avec le framework 2.0, pas de souci. Mais lorsque je compile avec un framework 1.1 (le script doit tourner sur des postes ayant cette version du framework .NET), j'ai une erreur

    Voici le début du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Imports System
    Imports System.IO
    Imports System.Environment
    Imports System.Collections
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.VisualBasic
     
    Module mdlMain
        Dim IECachePath As String = Environment.GetFolderPath(SpecialFolder.InternetCache)
     
        Sub Main()
            logue(" Exécution du script " & System.DateTime.Now & " ")
     
            'Fermeture des instances de IEXPLORE.EXE si cette appli est ouverte
            'on récupère la liste des processus de Windows: ATTENTION ce sont des tableaux
            Dim Prc() As Process = Process.GetProcesses() 
     
     
            'on fait toute la liste dans une boucle
            For x As Integer = 0 To UBound(Prc) 
                If Prc(x).ProcessName.ToUpper(New System.Globalization.CultureInfo("fr-FR", False)) = "IEXPLORE" Then 'Cette application nous embete ?
                    Prc(x).Kill() 'on la tue !!!!
                End If
            Next
     
            IECacheErase()
        End Sub
    J'ai bien importé System.Diagnostics et pourtant, au moment de compilé, je me retrouve avec cette erreur :

    C:\>vbc mdlMain.vb
    Microsoft (R) Visual Basic .NET Compiler version 7.10.3052.4
    for Microsoft (R) .NET Framework version 1.1.4322.573
    Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.

    C:\IE Cache Eraser\mdlMain.vb(16) : error BC30002: Type 'Process' is not defined.

    Dim Prc As Process = Process.GetProcessesByName("iexplore")
    J'ai passé pas mal de temps sur Google à chercher d'où cela pouvait venir et j'en reviens toujours à "il faut importer System.Diagnostics". Chose que j'ai bien faite ...

    Auriez-vous une idée de l'origine du probleme ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Est-ce que par hasard, en version 1.1, cette classe n'était pas définie dans un autre assembly ? Il faudrait vérifier ça avec l'explorateur d'objets...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Par défaut
    Je suis allé voir sur MSDN

    A la fin de la page on voit bien

    Configuration requise

    Espace de noms : System.Diagnostics

    Plates-formes : Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Édition familiale, Windows XP Professionnel, Famille Windows Server 2003

    Assembly : System (dans System.dll)
    Syntaxe basée sur le .NET Framework version 1.1.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    bizarre quand-même... tu as essayé en précisant le nom complet du type (System.Diagnostics.Process) ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Par défaut
    En précisant le nom complet au niveau de l'import, le compiler m'indique qu'il ne connait pas le "Namespace" System.Diagnostics.Process.

    Si je remplace le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Prc() As Process = Process.GetProcesses()
    Par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Prc() As System.Diagnostics.Process = Process.GetProcesses()
    Il m'indique la même erreur :
    Type 'System.Diagnostics.Process' is not defined.
    C'est rageant
    En tout cas j'apprécie que tu te penches sur mon probleme !

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/01/2010, 21h27
  2. Envoi Mail Systems.Diagnostic.Process
    Par olibara dans le forum C#
    Réponses: 2
    Dernier message: 09/09/2008, 11h15
  3. [C#] System.Diagnostics.Process et resources
    Par vince3320 dans le forum C#
    Réponses: 5
    Dernier message: 06/05/2008, 16h04
  4. Ouverture de document via System.Diagnostics.Process
    Par Spoonnny dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/01/2008, 18h24
  5. System.Diagnostics.Process.GetProcesses Accès refusé
    Par Courgette17 dans le forum VB.NET
    Réponses: 6
    Dernier message: 03/07/2007, 10h11

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