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)
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
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 !
"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 !
"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 !