~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période. Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes. ~ Rechercher ~
~ Annuaire VB ~
~ Partenaires ~
|
Procédure : LanceAssoExe (ByVal hwnd As Long, ByVal lpszOp As String, ByVal lpszFile As String, _ ByVal lpszParams As String, ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long Const SW_SHOWNORMAL = 1 Const SE_ERR_FNF = 2& Const SE_ERR_PNF = 3& Const SE_ERR_ACCESSDENIED = 5& Const SE_ERR_OOM = 8& Const SE_ERR_DLLNOTFOUND = 32& Const SE_ERR_SHARE = 26& Const SE_ERR_ASSOCINCOMPLETE = 27& Const SE_ERR_DDETIMEOUT = 28& Const SE_ERR_DDEFAIL = 29& Const SE_ERR_DDEBUSY = 30& Const SE_ERR_NOASSOC = 31& Const ERROR_BAD_FORMAT = 11& Public Sub LanceExeAsso(stFichier As String) Dim lghDC As Long, lgRep As Long Dim stErreur As String lghDC = GetDesktopWindow() lgRep = ShellExecute(lghDC, "Open", stFichier, "", "C:\", SW_SHOWNORMAL) If lgRep <= 32 Then ' Erreur à afficher en cas d'échec de l'appel Select Case lgRep Case SE_ERR_FNF stErreur = "Fichier non trouvé" Case SE_ERR_PNF stErreur = "Chemin non trouvé" Case SE_ERR_ACCESSDENIED stErreur = "Accès refusé" Case SE_ERR_OOM stErreur = "Pas assez de mémoire" Case SE_ERR_DLLNOTFOUND stErreur = "DLL non trouvée" Case SE_ERR_SHARE stErreur = "Une violation de partage est apparue" Case SE_ERR_ASSOCINCOMPLETE stErreur = "Association incomplète ou invalide" Case SE_ERR_DDETIMEOUT stErreur = "DDE Délai dépassé" Case SE_ERR_DDEFAIL stErreur = "DDE transaction abortée" Case SE_ERR_DDEBUSY stErreur = "DDE occupé" Case SE_ERR_NOASSOC stErreur = "Pas d'association enregistrée pour ce type de fichier" Case ERROR_BAD_FORMAT stErreur = "Fichier EXE invalide" Case Else stErreur = "Erreur inconnue" End Select MsgBox stErreur, vbExclamation, "Erreur" End If End Sub |