AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-32%
Le deal à ne pas rater :
-32% sur le purificateur d’air Dyson Pure Cool Air – Bleu / Gris
229 € 339 €
Voir le deal
Le deal à ne pas rater :
Case Logic Snapview Étui pour Apple iPad 10,2″
11.23 €
Voir le deal

 

 lancer/executer un fichier texte relié à une application

Aller en bas 
AuteurMessage
arthuro
Utilisateur confirmé: Rang ****
arthuro

Messages : 1472
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 19:14

langage:C++

Voila, après avec pas mal cherché.

je voudrais relié un type de fichier à une application. (ex: bmp -> mspaint)
et récupéré le chemin dans mon programme.
En gros l'ouvrir dans mon application.



/- sinon c'est pas dans le sujet mais j'en profite pour demander plusieurs choses

Je voulais pouvoir exécuter une application depuis le programme. J'ai utiliser system('call <programme>'), sa marche bien.

Mais j'aurais voulus trouver comment le faire sans utiliser un script batch comme j'ai fait la.
Je crois que c'est avec les fonction: exec et ces dérivé mais je n'ai pas réussit a les faire fonctionner.

_________________
lancer/executer un fichier texte     relié à une application Pochettelancer/executer un fichier texte     relié à une application Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2


Dernière édition par arthuro le Jeu 25 Juin 2009 - 20:04, édité 1 fois
Revenir en haut Aller en bas
bibi675
Utilisateur confirmé: Rang *****
bibi675

Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 19:44

Pour avoir le fichier qui est envoyé en paramètre à l'application tu peux utiliser : parameter_string(1). Pour ton deuxième problème, tu as la DLL ShellExecute qui te permet de passer par l'API Windows.

_________________
lancer/executer un fichier texte     relié à une application 1005394
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas

Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense lancer/executer un fichier texte     relié à une application Panicpr9

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 19:53

Je pense pas qu'il parle de GM.
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
bibi675
Utilisateur confirmé: Rang *****
bibi675

Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 19:57

Bah alors il faut qu'il précise le langage de programmation. happy1

_________________
lancer/executer un fichier texte     relié à une application 1005394
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ****
arthuro

Messages : 1472
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 20:04

ha mince j'ai oublié de dire que c'était en C++. Désolé.

_________________
lancer/executer un fichier texte     relié à une application Pochettelancer/executer un fichier texte     relié à une application Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas

Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense lancer/executer un fichier texte     relié à une application Panicpr9

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 20:05

Étant donné le "system('call <programme>')" ça doit être du C ou du C++

Pour associer une extension à un programme, faut bidouiller avec les clés de registre, mais bon je connais pas par coeur les clés à créer noel

EDIT : bon ben devancé lol
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
arthuro
Utilisateur confirmé: Rang ****
arthuro

Messages : 1472
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 21:16

j'ai trouvé une fonction pour associé l'extention avec le programme, sa marche trés bien.

Code:

void associate(const char *ext, const char *path)
{
  HKEY key;
  DWORD kSize;
  char mem[MAX_PATH] = "";

  if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ext, 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
  {
        RegQueryValueEx(key, NULL, NULL, NULL, (BYTE*)mem, &kSize);

        strcat(mem, "\\Shell\\open\\command");

        if(RegOpenKeyEx(HKEY_CLASSES_ROOT, mem, 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
        {
            sprintf(mem,"\"%s\" \"%1\"", path);
            RegSetValueEx(key, NULL, 0, REG_SZ, (BYTE*)mem, strlen(mem)+1);
        }
  }
  RegCloseKey(key);

  return;
}

trouvé sur le site du zéro, tuto par Mg++.
il s'utilise avec windows.h


Il me reste plus qu'a savoir ou récupéré le chemin du fichier qui appel le programme

_________________
lancer/executer un fichier texte     relié à une application Pochettelancer/executer un fichier texte     relié à une application Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas

Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense lancer/executer un fichier texte     relié à une application Panicpr9

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 21:32

C'est le premier argument avec lequel est lancé le programme :

par exemple : mspaint.exe "C:\image.bmp" ouvre l'image spécifiée avec paint Wink
Il faut donc que t'arrive à récupérer cet argument (je sais faire sous GM mais pas en C++ désolé)
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
arthuro
Utilisateur confirmé: Rang ****
arthuro

Messages : 1472
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 21:41

je pense que je pourrais le trouver dans : int argc ou dans sa char *argv[]

_________________
lancer/executer un fichier texte     relié à une application Pochettelancer/executer un fichier texte     relié à une application Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 22:39

Peut-être comme cela:


#include "windows.h"

///...........

char* path = "\"C:\\Program Files\\..."";

ShellExecute(0, "open", path, path, 0, SW_SHOW);
Revenir en haut Aller en bas
bibi675
Utilisateur confirmé: Rang *****
bibi675

Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyJeu 25 Juin 2009 - 23:25

arthuro a écrit:
Code:

void associate(const char *ext, const char *path)
{
  HKEY key;
  DWORD kSize;
  char mem[MAX_PATH] = "";

  if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ext, 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
  {
        RegQueryValueEx(key, NULL, NULL, NULL, (BYTE*)mem, &kSize);

        strcat(mem, "\\Shell\\open\\command");

        if(RegOpenKeyEx(HKEY_CLASSES_ROOT, mem, 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
        {
            sprintf(mem,"\"%s\" \"%1\"", path);
            RegSetValueEx(key, NULL, 0, REG_SZ, (BYTE*)mem, strlen(mem)+1);
        }
  }
  RegCloseKey(key);

  return;
}
Oh le C++, quel bordel... troll face

_________________
lancer/executer un fichier texte     relié à une application 1005394
Revenir en haut Aller en bas
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyVen 26 Juin 2009 - 6:36

bibi675 a écrit:
arthuro a écrit:
Code:

void associate(const char *ext, const char *path)
{
  HKEY key;
  DWORD kSize;
  char mem[MAX_PATH] = "";

  if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ext, 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
  {
        RegQueryValueEx(key, NULL, NULL, NULL, (BYTE*)mem, &kSize);

        strcat(mem, "\\Shell\\open\\command");

        if(RegOpenKeyEx(HKEY_CLASSES_ROOT, mem, 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS)
        {
            sprintf(mem,"\"%s\" \"%1\"", path);
            RegSetValueEx(key, NULL, 0, REG_SZ, (BYTE*)mem, strlen(mem)+1);
        }
  }
  RegCloseKey(key);

  return;
}
Oh le C++, quel bordel... troll face

Pas plus que d'autre langage faut juste bien aligner son code et respecter ces conventions personnelles. Comme moi, j'utilise la notation hongroise.
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ****
arthuro

Messages : 1472
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyDim 28 Juin 2009 - 14:09

Merci CoDeAVE, sa marche bien.
moi je tombait totalement sur autre chose quand je cherchais


bibi675, oui la c'est vrai que c'est bien moche.
mais bon, en même temps, c'est le code pour utiliser le registre windows qui est comme sa.
Sinon je trouve que c'est pas plus dure de s'y retrouver que dans les autres langage, surtout avec un colorieur de code.

_________________
lancer/executer un fichier texte     relié à une application Pochettelancer/executer un fichier texte     relié à une application Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application EmptyDim 28 Juin 2009 - 19:18

J'ai déjà eut le même problème que toi et j'avais cherché assez longtemps avant de trouver lol. C'est dure quand on ne connais pas l'API win32 ou bien MFC.
Revenir en haut Aller en bas
Contenu sponsorisé




lancer/executer un fichier texte     relié à une application Empty
MessageSujet: Re: lancer/executer un fichier texte relié à une application   lancer/executer un fichier texte     relié à une application Empty

Revenir en haut Aller en bas
 
lancer/executer un fichier texte relié à une application
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: