Ouvrir un document avec son programme en vb.net et recupere l'id du process

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 217 fois - Téléchargée 28 fois

Contenu du snippet

La fonction execute permet de lancer l'executable et de recuper son id.

Cet id permet apres de travailler (Attendre la fin, arreter , ...) sur le process même

(Appel d'Api en .net)

Source / Exemple :


Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As _
String, ByVal lpDirectory As String, ByVal lpResult As String) As Int32

    Function TrouveExe(ByVal nomfich) As String
        'cette fonction recherche l'executable du fichier. Elle utilise une fonction API

        Dim FileDir As String 'Je n'utilise pas ce parametre mais je le crée
        Const MAX_PATH As Integer = 255 'valeur maximum de la réponse
        Dim FilePath As New String(" "c, MAX_PATH) 'initialisation de la chaine en 255 caractes
        If FindExecutable(nomfich, FileDir, FilePath) > 32 Then
            TrouveExe = FilePath
        Else
            TrouveExe = ""
        End If
        'si la fonction c'est bien executee, je recupere le chemin et le nom de l'executable
    End Function

    Public Function Execute(ByVal Nomfich As String) As Integer
        'en parametre : le chemin et le nom du fichier avec son extention
        Dim nomexe As String = TrouveExe(Nomfich)
        'nom exe contient le chemin et le nom de l'executable
        Dim proc As New Process()
        'process est une classe de vb.net
        If nomexe <> "" Then
            proc.StartInfo.FileName = nomexe 'chemin et nom de l'executable
            proc.StartInfo.Arguments = Nomfich 'chemin et nom du fichier
            proc.StartInfo.WindowStyle = ProcessWindowStyle.Normal 'Ouvre dans une fenetre normale (peut etre cache, minimisee, ...)
            proc.StartInfo.UseShellExecute = True 'Utilise le shell pour l'execution
            proc.StartInfo.CreateNoWindow = False 'cree une fnouvelle fenetre
            proc.Start() 'lance l'executable en ouvrant le document
            Execute = proc.Id 'recupere le handle . ce handle permer via d'autre fonction de gerer le process
        Else
            Execute = 0
        End If

    End Function

Conclusion :


Pour ouvrir le document, lancer la fonction execute avec en parametre le chemin et le nom du document

A voir également

Ajouter un commentaire

Commentaires

cs_mestari
Messages postés
29
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
12 mars 2006
-
une source apparement utile mais sans commentaire comprends rien
-c qoi le ipResult
-comment tu fais pour renseigner FileDir (il est pas ds les arg de ta fonction trouvexe)
-pr filepath comprends rien au " "c ????!!
-au lieu de "TrouveExe = FilePath" en .NET on met "return filepath"
-a qoi sert le "dim a as long" ????
cs_Funny
Messages postés
6
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
17 septembre 2006
-
petit code tres interressant pour ma part, dommage que les fonctionnalitées proposées (Attendre la fin, arreter , ...) ne soit pas détaillées.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.