Bonjour,
Voila une petite routine pour trouver l'association d'un fichier avec le programme par defaut. voir ici http://www.koakdesign.info/news/?url=4d&val=42
Cordialement,
GallyHC
Rechercher le programme associer a un fichier...
Rechercher le programme associer a un fichier...
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Rechercher le programme associer a un fichier...
Salut Gallyhc,
Chez moi lorsque je tente la procédure avec un .avi, j'ai un retour null
Chez moi lorsque je tente la procédure avec un .avi, j'ai un retour null
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Rechercher le programme associer a un fichier...
Salut Ar-S,
Bizzard cela fonctionne bien chez moi, c'est une adaptation d'un code VB6. Je vais faire des recherche la dessus. Tu as essayer avec d'autres fichiesr?
Cordialement,
GallyHC
Bizzard cela fonctionne bien chez moi, c'est une adaptation d'un code VB6. Je vais faire des recherche la dessus. Tu as essayer avec d'autres fichiesr?
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Rechercher le programme associer a un fichier...
Moi aussi, je n'arrive pas à la faire fonctionner, bizarre car sur ton site j'ai trouvé ça
ça fonctionne mais uniquement avec des "documents".
On peut ajouter les codes d'erreurs :
Pour que ça fonctionne avec toutes les extensions, j'ai trouvé un code de Flaith :
Mesa.
Code : Tout sélectionner
File.s = "win.ini"
Path.s = "c:\windows\"
Result.s = Space(#MAX_PATH)
i = FindExecutable_(@File.s, @Path.s, @Result.s)
Debug Result
On peut ajouter les codes d'erreurs :
Code : Tout sélectionner
File.s = "win.ini"
Path.s = "c:\windows\"
Result.s = Space(#MAX_PATH)
i = FindExecutable_(@File.s, @Path.s, @Result.s)
Debug Result
Select i
Case #SE_ERR_FNF
Debug "The specified file was Not found"
Case #SE_ERR_PNF
Debug "The specified path is invalid."
Case #SE_ERR_ACCESSDENIED
Debug "The specified file cannot be accessed."
Case #SE_ERR_OOM
Debug "The system is out of memory Or resources"
Case #SE_ERR_NOASSOC
Debug "There is no association For the specified file type With an executable file"
Default
Debug "no error"
EndSelect
Code : Tout sélectionner
; code de Flaith
Procedure get_exe_from_exe(Assoc.s)
Enumeration
#ASSOCSTR_COMMAND = 1
#ASSOCSTR_EXECUTABLE
#ASSOCSTR_FRIENDLYDOCNAME
#ASSOCSTR_FRIENDLYAPPNAME
#ASSOCSTR_NOOPEN
#ASSOCSTR_SHELLNEWVALUE
#ASSOCSTR_DDECOMMAND
#ASSOCSTR_DDEIFEXEC
#ASSOCSTR_DDEAPPLICATION
#ASSOCSTR_DDETOPIC
#ASSOCSTR_INFOTIP
#ASSOCSTR_QUICKTIP
#ASSOCSTR_TILEINFO
#ASSOCSTR_CONTENTTYPE
#ASSOCSTR_DEFAULTICON
#ASSOCSTR_SHELLEXTENSION
#ASSOCSTR_DROPTARGET
#ASSOCSTR_DELEGATEEXECUTE
#ASSOCSTR_MAX
EndEnumeration
Enumeration
#ASSOCF_INIT_NOREMAPCLSID = $00000001
#ASSOCF_INIT_BYEXENAME = $00000002
#ASSOCF_OPEN_BYEXENAME = $00000002
#ASSOCF_INIT_DEFAULTTOSTAR = $00000004
#ASSOCF_INIT_DEFAULTTOFOLDER = $00000008
#ASSOCF_NOUSERSETTINGS = $00000010
#ASSOCF_NOTRUNCATE = $00000020
#ASSOCF_VERIFY = $00000040
#ASSOCF_REMAPRUNDLL = $00000080
#ASSOCF_NOFIXUPS = $00000100
#ASSOCF_IGNOREBASECLASS = $00000200
#ASSOCF_INIT_IGNOREUNKNOWN = $00000400
EndEnumeration
pcchOut.l = #MAX_PATH
pszOut.s = Space(pcchOut)
flags = #ASSOCF_NOTRUNCATE | #ASSOCF_REMAPRUNDLL
;pszAssoc.s = ".avi";".htm"
pszAssoc.s = Assoc
pszExtra.s = "open"
Res_Lib=OpenLibrary(#PB_Any, "Shlwapi.dll");#PB_Any ne fonctionne pas ?
*AssocQueryString = GetFunction(Res_Lib, "AssocQueryStringA")
If *AssocQueryString
hresult = CallFunctionFast(*AssocQueryString, flags, #ASSOCSTR_EXECUTABLE, @pszAssoc, @pszExtra, @pszOut, @pcchOut)
Select hresult
Case #S_OK
Debug "Executable name for '"+pszAssoc+"' : "+pszOut
Case #S_FALSE
Debug "pszOut is NULL. pcchOut contains the required buffer size"
Case #E_POINTER
Debug "The pszOut buffer is too small to hold the entire string"
Default
Debug "No association defined for extension '"+pszAssoc+"'"
EndSelect
EndIf
CloseLibrary(Res_Lib)
EndProcedure
Debug get_exe_from_exe(".avi")
Dernière modification par Mesa le mar. 07/févr./2012 10:19, modifié 1 fois.
Re: Rechercher le programme associer a un fichier...
bonjour Mesa,
c'est normal je ne vois pas pourquoi ce If
avec
je penses que cela ira mieu 
Cordialement,
GallyHC
c'est normal je ne vois pas pourquoi ce If
Code : Tout sélectionner
Rs_Lib=If OpenLibrary(#PB_Any, "Shlwapi.dll")
Code : Tout sélectionner
Rs_Lib = OpenLibrary(#PB_Any, "Shlwapi.dll")

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Rechercher le programme associer a un fichier...
En effet, c'est tout bête, je corrige mon post.
Merci.
Mesa.
Merci.
Mesa.