GNT sans publicité, site mobile, fonctionnalitées exclusives...

Recherche de fichier EXE associé

Le
Bruno Frisque
Bonjour le groupe,

Il s'agit ici de retrouver, par code, le Viewer associé à un type d'image.
voici le code complet :
'
Option Compare Database
Option Explicit
Public ViewerPath

'APIs: Trouver le fichier EXE associé à un document
' find the default viewer of the image 16/02/06 (Lebans Stephen site)

'*********** Code Start ************
Const cMAX_PATH = 260
Const ERROR_NOASSOC = 31
Const ERROR_FILE_NOT_FOUND = 2&
Const ERROR_PATH_NOT_FOUND = 3&
Const ERROR_BAD_FORMAT = 11&
Const ERROR_OUT_OF_MEM = 0

Private Declare Function apiFindExecutable Lib "shell32.dll" _
Alias "FindExecutableA" _
(ByVal lpFile As String, _
ByVal lpDirectory As String, _
ByVal lpResult As String) _
As Long

Function fFindEXE(stFile As String, _
stDir As String) _
As String
'Usage Example:
' ?fFindEXE("test.xls","c:\temp")
'ou bien, at form level : call fFindExe("I73D50.TIF","C:\Data")

Dim lpResult As String
Dim lngRet As Long
Dim pos
lpResult = Space(cMAX_PATH)
lngRet = apiFindExecutable(stFile, stDir, lpResult)

If lngRet > 32 Then
pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 '< correction
by 3stone
fFindEXE = Left(lpResult, pos) ''< correction by 3stone
ViewerPath = Left(lpResult, pos)
Else
Select Case lngRet:
Case ERROR_NOASSOC: fFindEXE = "Error: No Association"
Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found"
Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found"
Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format"
Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory"
End Select
End If
Debug.Print "viewer's name at MODULE:" & ViewerPath & "."
'
-
Ce code marche parfaitement sur mon PC (XP Pro SP1) et sous A2K
Dès que l'on place le programme.MDB sur un autre PC, cela ne va plus du
tout
Stations Win XP Home, Win XP Pro et Millenium .
sur ces stations : le code Debug.Print "viewer's name at MODULE:" &
ViewerPath & "."
donne :viewer's name at MODULE . et c'est tout.

Ce code est-il valable pour tous les OS ??
D'avance grand merci
Lire la réponse

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #5970511
Salut,

"Bruno Frisque"
| Il s'agit ici de retrouver, par code, le Viewer associé à un type d'image.
| voici le code complet :
| '---------------------------------------------------------------
<snip>


Si le nom de la fonction ne te convient pas, change le !!!
en ViewerPath si le coeur t'en dis et si tu préfère ;-)

Cela t'évitera la déclaration de variable et une fonction
qui renvoit... inutilement la valeur du path !


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Publicité
Suivre les réponses
Poster une réponse
Anonyme