Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Command() et nom de fichier en 8.3

2 réponses
Avatar
J. Smith
Voici un bout de code utilisé pour associer un type de fichier à une
application.

Dim oRegKey As RegistryKey = Registry.ClassesRoot oRegKey =
oRegKey.CreateSubKey(".shl")
oRegKey.SetValue("", ".shl")
oRegKey.Close()

oRegKey = Registry.ClassesRoot

Dim oRegKeyOpenCommand As RegistryKey
oRegKeyOpenCommand = oRegKey.CreateSubKey(".shl\shell\open\command")
oRegKeyOpenCommand.SetValue("", theApp.GetType.Assembly.Location & " %1")
oRegKeyOpenCommand.Close()

oRegKey.Close()


Et voici le bout de code utilisé pour récupérer le fichier double cliqué
dans l'explorateur (en très résumé).

Dim param As String = Microsoft.VisualBasic.Command()
Dim tmp As String() = param.Split("\")
fileName = tmp(tmp.Length - 1)


Tout cela fonctionne bien, mais lorsque l'on ouvre un fichier en double
cliquant dessus, le nom de fichier récupéré dans param est un nom en 8.3.
Avez-vous une idée sur la manière de récupérer le nom long du fichier ?

Merci

2 réponses

Avatar
Olivier Huet
De mémoire, il me semble que si tu met à la place du %1 un %L, ça te mettra
le nom complet.

NB : il n'y aurait pas un truc tout fait pour associer une extension à une
applicatoin, en .Net ?????

Olivier Huet

"J. Smith" wrote in message
news:41978e13$0$6205$
Voici un bout de code utilisé pour associer un type de fichier à une
application.

Dim oRegKey As RegistryKey = Registry.ClassesRoot oRegKey > oRegKey.CreateSubKey(".shl")
oRegKey.SetValue("", ".shl")
oRegKey.Close()

oRegKey = Registry.ClassesRoot

Dim oRegKeyOpenCommand As RegistryKey
oRegKeyOpenCommand = oRegKey.CreateSubKey(".shlshellopencommand")
oRegKeyOpenCommand.SetValue("", theApp.GetType.Assembly.Location & " %1")
oRegKeyOpenCommand.Close()

oRegKey.Close()


Et voici le bout de code utilisé pour récupérer le fichier double cliqué
dans l'explorateur (en très résumé).

Dim param As String = Microsoft.VisualBasic.Command()
Dim tmp As String() = param.Split("")
fileName = tmp(tmp.Length - 1)


Tout cela fonctionne bien, mais lorsque l'on ouvre un fichier en double
cliquant dessus, le nom de fichier récupéré dans param est un nom en 8.3.
Avez-vous une idée sur la manière de récupérer le nom long du fichier ?

Merci




Avatar
J. Smith
Merci.
Cela fonctionne.

Que veux-tu dire par "un truc tout fait" ?

"Olivier Huet" a écrit dans le message
de news:%23d6n5$

De mémoire, il me semble que si tu met à la place du %1 un %L, ça te


mettra
le nom complet.

NB : il n'y aurait pas un truc tout fait pour associer une extension à une
applicatoin, en .Net ?????

Olivier Huet

"J. Smith" wrote in message
news:41978e13$0$6205$
> Voici un bout de code utilisé pour associer un type de fichier à une
> application.
>
> Dim oRegKey As RegistryKey = Registry.ClassesRoot oRegKey > > oRegKey.CreateSubKey(".shl")
> oRegKey.SetValue("", ".shl")
> oRegKey.Close()
>
> oRegKey = Registry.ClassesRoot
>
> Dim oRegKeyOpenCommand As RegistryKey
> oRegKeyOpenCommand = oRegKey.CreateSubKey(".shlshellopencommand")
> oRegKeyOpenCommand.SetValue("", theApp.GetType.Assembly.Location & "


%1")
> oRegKeyOpenCommand.Close()
>
> oRegKey.Close()
>
>
> Et voici le bout de code utilisé pour récupérer le fichier double cliqué
> dans l'explorateur (en très résumé).
>
> Dim param As String = Microsoft.VisualBasic.Command()
> Dim tmp As String() = param.Split("")
> fileName = tmp(tmp.Length - 1)
>
>
> Tout cela fonctionne bien, mais lorsque l'on ouvre un fichier en double
> cliquant dessus, le nom de fichier récupéré dans param est un nom en


8.3.
> Avez-vous une idée sur la manière de récupérer le nom long du fichier ?
>
> Merci
>
>