IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Problème avec Shellexecute


Sujet :

Composants VCL Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut Problème avec Shellexecute
    Bonjour,

    J'aimerai lancer avec une commande Delphi, l'aperçu Windows avec mon fichier image.

    J'utilise ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
     
    ShellExecute(0,'open','rundll32.exe','C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen','C:\Data\Delphi\Apercu image\cauetetcindy.jpg',SW_SHOW); 
     
    end;
    J'obtiens bien l'ouverture de l'aperçu Windows mais sans mon fichier photo.

    Par le bouton démarrer et Exécuter, je tape ceci :

    rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen C:\Data\Delphi\Apercu image\cauetetcindy.jpg
    Et cela fonctionne.

    Quelqu'un a t'il une solution pour Delphi avec ShellExecute.

    Merci,

    Cincap

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Le dernier paramètre chaîne de ShellExecute est le répertoire courant ! Pas un paramètre supplémentaire.

    Tu dois mettre tous les paramètres dans l'avant-dernier paramètre chaîne, en les séparant par des espaces, et en les encadrant éventuellement de guillements doubles ".
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut Déja fait
    Merci d'avoir répondu si vite, mais j'avais déjà essayé et j'obtiens une erreur de type incompatibles Integer et Pchar.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0,'open','rundll32.exe','C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen, C:\Data\Delphi\Apercu image\cauetetcindy.jpg',SW_SHOW);
    Essai aussi avec "

    @+

  4. #4
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ShellExecute(0, 'open', 'rundll32.exe',
      'C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen '+
      '"C:\Data\Delphi\Apercu image\cauetetcindy.jpg"',
      nil, SW_SHOW);
    As-tu déjà programmé dans un autre langage, auparavant ? Je serais tenté de dire que oui, au vu de ce que tu codes. Et je pencherais même pour du VB.
    J'ai raison ?
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut Désolé déjà essayé
    Ok pas de problème à la compilation mais à l'exécution rien pas d'aperçu image et donc pas de photos.

    Avec Winexec pas de problème mais j'aurai bien aimé le faire avec ShellExecute.

    Sinon, je ne joue qu'avec Delphi depuis ma prépension car c'est plutôt l'électronique et le droit qui me passionnait.

    @+

  6. #6
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut
    Et comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0,'open','rundll32.exe','C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen C:\essai.jpg',nil,SW_SHOW);
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut Très très fort !
    Bonsoir à toutes et à tous,

    @ Qwazerty, très très fort mon ami, cela fonctionne.

    J'avais aussi essayé en plaçant directement la photo dans le même dossier que le viewer mais sans résultat.

    Grand merci comme quoi, la virgule ou le + me faisait des caprices.

    @+,

    Cincap

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut TopenDialog
    Excusez moi, mais avec un TopenDialog cela ne fonctionne pas même en mettant une variable String

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var
    fName: string;
    begin
      if op1.Execute then begin
      fname:= 'C:\Data\Delphi\Apercu image\cauetetcindy.jpg' ;
     
      ShellExecute(0,'open','rundll32.exe',
      'C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen fname',Nil, SW_SHOW);
    end;
     end;
    Uniquement à titre d'info pour ne pas mourir idiot.

    @+,

    Cincap

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut me suis Trompé
    Il faut lire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Button1Click(Sender: TObject);
    var
    fName: string;
    begin
      if op1.Execute then begin
      fname:=op1.FileName ;
     
      ShellExecute(0,'open','rundll32.exe',
      'C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen fname',Nil, SW_SHOW);
    end;
    end;

  10. #10
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Re
    C'est normal regarde ce que tu passe en paramettre, tu passe 'fname' or fname ca n'est pas fname, c'est comme si tu mettais
    Il faut faire comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         fname := 'c:\essai.jpg';
         fname := 'C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen ' + fname;
    ShellExecute(0,'open','rundll32.exe',pchar(fname) ,nil, SW_SHOW);end;
    a++
    Bonne nuit
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut Très très fort
    Encore merci por tout et pour cette leçon de logique.

    @+,

    Cincap

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec Shellexecute sous Vista
    Par scara dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2007, 18h09
  2. Problème avec ShellExecute
    Par lou_delphdev dans le forum Web & réseau
    Réponses: 3
    Dernier message: 28/08/2007, 13h59
  3. [VBA]Problème avec ShellExecute()
    Par Sunchaser dans le forum SDK
    Réponses: 1
    Dernier message: 24/06/2007, 19h27
  4. Problème avec ShellExecute
    Par Xav++ dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/05/2006, 13h58
  5. Problème avec ShellExecute
    Par SkYsO dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo