Lancer le programme "Aperçu des images et des télécopieurs Windows" pour affiche [Résolu]

cs_bonagad 87 Messages postés vendredi 22 décembre 2006Date d'inscription 19 mai 2012 Dernière intervention - 22 oct. 2010 à 14:40 - Dernière réponse : cs_Le Pivert 5454 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 octobre 2018 Dernière intervention
- 26 oct. 2010 à 18:14
Salut les amis,
je suis entrain d'écrire un petit code qui, lorsque je clique sur un bouton nommé <Ouvrir>, il m'affiche une image jpeg (stocké sur disque) avec le programme "Aperçu des images et télécopieurs windows".
Alors cela revient à faire un clic droit physiquement sur le fichier, ensuite de faire "ouvrir avec" et de choisir parmi les programmes "Aperçu des images et télécopieurs windows".

Voici le bout de code que j'ai branché à l'événement clic de mon bouton et dont je n'ai pas le résultat escompté:

'Instance de la classe Process
Dim proc As New System.Diagnostics.Process()
'Nom de l'executable à lancer
proc.StartInfo.FileName = "c:\windows\system32\shimgvw.dll"
'Arguments à passer à l'éxécutable à lancer
proc.StartInfo.Arguments = "c:\test.jpg"
'Démarrage du processus
proc.Start()
'On libère les ressources dont on a plus besoin.
proc.Close() 'Attention Close ne met pas fin au processus.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_Le Pivert 5454 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 octobre 2018 Dernière intervention - 26 oct. 2010 à 11:27
3
Merci
Tu as tout à fait raison, cela n'ouvre que dans le dernier logiciel.
Le code ci-dessous ouvre un fichier Tif dans le logiciel que l'on lui a spécifié en l'occurence "Microsoft Document Imaging" parce que l'ouverture se fait avec un executable contrairement à "Aperçu des images et télécopieurs Windows" qui est une DLL, je t'ai mis un site qui traite ce sujet.
'Instance de la classe Process
        Dim proc As New System.Diagnostics.Process()
        'Nom de l'executable à lancer
        proc.StartInfo.FileName = "C:\Program Files\Fichiers communs\Microsoft Shared\MODI\11.0\MSPVIEW.EXE"
        'Arguments à passer à l'éxécutable à lancer
         proc.StartInfo.Arguments = "Chemin du fichier.tif"
        'Démarrage du processus
        proc.Start()
        'On libère les ressources dont on a plus besoin.
        proc.Close() 'Attention Close ne met pas fin au processus.


Voici le site
http://duson.perso.sfr.fr/Telechargt/diapo_apercu_wXP.pdf
@+ Le Pivert

Merci cs_Le Pivert 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
Meilleure réponse
cs_bonagad 87 Messages postés vendredi 22 décembre 2006Date d'inscription 19 mai 2012 Dernière intervention - 26 oct. 2010 à 17:33
3
Merci
bonsoir Le Pivert,
D'abord, laisse moi te remercier infiniment pour n'avoir ménagé aucun effort pour m'aider à enfin trouver la solution à la problématique dont j'étais confronté il y 4 jours. Alors j'explique comment j'y suis arriver:
j'ai d'abord téléchargé le fichier pdf dont tu m'as indiqué (http://duson.perso.sfr.fr/Telechargt/diapo_apercu_wXP.pdf). A la fin de ce fichier il est indiqué un site (Un raccourci pour l'Aperçu des images et des télécopies - Windows XP) sur lequel j'y suis allé.
Pour mes tests j'ai décidé de créer le raccourci et je remarque que le programme "Aperçu des images et télécopieurs Windows" s'ouvre très bien.lorsque je fais un glissé déposé de l'image dessus l'image s'affiche bien.
j'ai eu alors l'intuition de récupérer le nom du raccourci du programme (qui est myRaccour.lnk).Et alors lorsque j'ai redéfini cette instruction (
 proc.StartInfo.FileName = "C:\Documents and Settings\Administrateur\Bureau\myRaccour.lnk"
),
j'étais follement surpris de'obtenir le resultat escompté.
mille fois merci.
@+

Merci cs_bonagad 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_bonagad
cs_Le Pivert 5454 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 octobre 2018 Dernière intervention - 22 oct. 2010 à 17:30
0
Merci
Bonjour,
Voici un code qui ouvre tous les fichiers dans leur programme par défaut

  ' Ouvrir programme par défaut 
    Public Function OpenFile(ByRef File As String, Optional ByRef Parametres As String = "") As Object
        Process.Start(File)
        OpenFile = 1
    End Function


Dans un bouton:
Try
            'Ouvre le fichier dans son programme par défaut
            OpenFile("chemin du fichier")
        Catch ex As Exception
        End Try

@+ Le Pivert
Commenter la réponse de cs_Le Pivert
cs_bonagad 87 Messages postés vendredi 22 décembre 2006Date d'inscription 19 mai 2012 Dernière intervention - 25 oct. 2010 à 11:36
0
Merci
bonjour Le Pivert,
merci pour ta réponse. En fait j'ai un autre code qui fait la même chose que le tient. Alors l'inconvénient que je trouve tout de suite, c'est que ça dépend de la dernière application installée sur la machine.Si par exemple Nero est installé en dernier lieu sur la machine ton affichera l'image avec Nero Snapshot .ce qui pour moi n'est le résultat escompté.Je veux spécifiquement afficher mon image avec le programme "Aperçu des images et télécopieurs Windows".
merci de me comprendre et j'espère de quelqu'un la solution tant attendue.
@+
Commenter la réponse de cs_bonagad
cs_Le Pivert 5454 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 octobre 2018 Dernière intervention - 25 oct. 2010 à 12:06
0
Merci
J'ai cela aussi a te proposer, chez moi il ouvre dans "Aperçu des images et télécopieurs Windows".
 'Instance de la classe System.Diagnostics.Process
        Dim proc As New Process()
        'Nom du fichier dont l'extension est connue du shell à ouvrir
        proc.StartInfo.FileName = "Chemin du fichier.jpg"
        'Démarrage du processus. Notepad (si il est associé aux fichiers .txt) sera alors lancé et ouvrira le fichier monfichier.txt
        proc.Start()
        'On libère les ressources
        proc.Close()



@+ Le Pivert
Commenter la réponse de cs_Le Pivert
cs_bonagad 87 Messages postés vendredi 22 décembre 2006Date d'inscription 19 mai 2012 Dernière intervention - 26 oct. 2010 à 09:54
0
Merci
bonjour Le Pivert,
alors ton code c'est celui dont je t'ai parlé je dispose. Alors ce code marche évidemment que lorsque l'image par défaut doit s'ouvrir dans "Aperçu des images et télécopieurs Windows".
Je te propose de tester quelque chose: Repère ton fichier jpg et fait (clic droit -> Propriété-> clic sur modifier-> parmi la liste des programmes, choisi un autre programme qui peut ouvrir ton image jpg ->Ensuite clique sur Ok); reviens alors sur ton code, exécute le et fait moi un Feedback sur ce que cela retourne dans ta prochaine réponse.

C'est dommage que personne n'arrive à m'aider à part toi qui te démerde.
Merci quand même et idyllique journée.
Commenter la réponse de cs_bonagad
cs_Le Pivert 5454 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 20 octobre 2018 Dernière intervention - 26 oct. 2010 à 18:14
0
Merci
C'est très bien, je suis content que ton problème soit résolu.
Maintenant je vais te proposer une solution pour éviter de mettre un chemin en dur pour le raccourci.Tu déplaces le fichier de ton raccourci dans le dossier Debug de ton application et tu mets ce code:
 Dim raccourci As String
        raccourci = My.Application.Info.DirectoryPath & "\myRaccour.lnk" 'chemin du raccourci
        'Instance de la classe System.Diagnostics.Process
        Dim proc As New Process()
        'Nom du fichier dont l'extension est connue du shell à ouvrir
        proc.StartInfo.FileName = raccourci
        'Arguments à passer à l'éxécutable à lancer
        proc.StartInfo.Arguments = "Chemin du fichier image.jpg"
        proc.Start()
        'On libère les ressources
        proc.Close()'Attention Close ne met pas fin au processus.

Comme cela ton application est autonome

Le Pivert
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.