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

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

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.