[resolu]Recupérer le fichier pointé par un raccourcis .Ink
-
- Messages : 510
- Inscription : dim. 25/mars/2007 13:44
- Localisation : Toulouse, France
- Contact :
[resolu]Recupérer le fichier pointé par un raccourcis .Ink
salut a vous,
je voudrais savoir comment obtenir le chemin du fichier vers lequel pointe un raccourcis.
merci a vous
je voudrais savoir comment obtenir le chemin du fichier vers lequel pointe un raccourcis.
merci a vous
Dernière modification par lepiaf31 le dim. 27/mai/2007 15:39, modifié 1 fois.
Dobro a pondu le code ci-desous !
Il fonctionne pas mal !
Il fonctionne pas mal !

Code : Tout sélectionner
ProcedureDLL.s ShellLink_GetPath(ShellLinkFile.s)
Protected ShellLink.IShellLinkA, PersistFile.IPersistFile, *buffer, result.s
If CoInitialize_ (0) = #S_OK
If CoCreateInstance_ (?CLSID_ShellLink, 0, 1, ?IID_IShellLink, @ShellLink) = #S_OK
If ShellLink\QueryInterface(?IID_IPersistFile, @PersistFile) = #S_OK
*buffer = AllocateMemory ( #MAX_PATH )
If *buffer
If MultiByteToWideChar_ ( #CP_ACP , 0, @ShellLinkFile, -1, *buffer, #MAX_PATH )
If PersistFile\Load(*buffer, 0) = #S_OK
If ShellLink\Resolve(0, 1) = #S_OK
RtlZeroMemory_ (*buffer, #MAX_PATH )
ShellLink\GetPath(*buffer, #MAX_PATH , 0, 0)
result = PeekS (*buffer)
EndIf
EndIf
EndIf
FreeMemory (*buffer)
EndIf
PersistFile\Release()
EndIf
ShellLink\Release()
EndIf
CoUninitialize_ ()
EndIf
ProcedureReturn result
DataSection
CLSID_ShellLink: Data.q $0000000000021401,$46000000000000C0
IID_IShellLink: Data.q $00000000000214EE,$46000000000000C0
IID_IPersistFile: Data.q $000000000000010B,$46000000000000C0
EndDataSection
EndProcedure
Debug ShellLink_GetPath( "c:\purebasic.lnk" )
Denis
Bonne Jounée à tous
Bonne Jounée à tous
-
- Messages : 510
- Inscription : dim. 25/mars/2007 13:44
- Localisation : Toulouse, France
- Contact :
Ca ne marche pas chez moi, j'ai mis:
et le message du debogueur est vide
Code : Tout sélectionner
Debug ShellLink_GetPath( "C:\Documents and Settings\<user>\Bureau\Audacity.Ink")
En fait ce code est de moi, une traduction d'un code trouvé sur le web. 
[Edit: j'ai retrouvé le post du code que j'avais posté et apparemment il ne fonctionne plus, celui-ci est mieux et il n'est pas de moi
)

[Edit: j'ai retrouvé le post du code que j'avais posté et apparemment il ne fonctionne plus, celui-ci est mieux et il n'est pas de moi

Dernière modification par nico le dim. 27/mai/2007 15:58, modifié 1 fois.