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

Dotnet Discussion :

Manipulation de processus. Comment éviter les exceptions dues aux accès refusés ?


Sujet :

Dotnet

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Manipulation de processus. Comment éviter les exceptions dues aux accès refusés ?
    Bonjour à tous,

    Je suis en train de réaliser une application qui permet de lancer des processus dans un ordre bien défini, et de pouvoir basculer une fenêtre en premier plan via une fenêtre de sélection...

    En gros, je manipule des processus ( disons plutot que je les consulte ! )
    Pour pas que ca soit trop lourd, toutes les 5 secondes, je me fais une list de processus avec

    System.Diagnostics.Process.GetProcesses()

    Le soucis, c'est qu'après je consulte très régulièrement cette liste, et de manière très différentes à chaque fois ( parfois je cherche a obtenir le MainWindowHandle, parfois je compare le MainWindowTitle, parfois je cherche a connaitre le MainModule.ModuleName )

    Bref, si j'épure pas ma liste au maximum, j'ai sans cesse des Exception de ce type :
    MainModule = 'pr.MainModule' a levé une exception de type System.ComponentModel.Win32Exception' "Accès refusé" (ici pour le process crsss)...

    Ya t'il une manière propre de vérifier les accès a un processus ? Afin d'éviter de devoir gérer les exception a chaque fois ( 90 process, donc +sieurs 10aines lancent des exceptions ttes les 5 secondes, ca rame !)

  2. #2
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    La méthode consiterait peut-être à lire la DACL du process et ensuite de la valider avec la méthode AccessCheck. Cependant il faut faire de l'interop car ce n'est pas inclu dans le framework .net

    Tu peux peut-être récupérer les informations que tu souhaites avec la méthode OpenProcess avec la valeur PROCESS_QUERY_LIMITED_INFORMATION

    Tu trouveras un peu d'informations sur la sécurité des processus par la
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 30/04/2015, 13h36
  2. Réponses: 3
    Dernier message: 05/02/2010, 14h09
  3. comment éviter les bugs dus aux majsucules et accents
    Par tomo0013 dans le forum Langage
    Réponses: 2
    Dernier message: 04/12/2008, 11h41
  4. [Exception]Comment gérer les exceptions ?
    Par Gildas Huart dans le forum Général Java
    Réponses: 7
    Dernier message: 29/03/2005, 18h01
  5. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 12h18

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