Forum Le CBNA

Le Forum du CBNA a pour but de vous aider dans l'utilisation de GameMaker. Premier forum Francophone sous GameMaker, vous trouverez des .gmd, .gm6, .gmk, scripts, logiciels et d'autres ressources sur Le CBNA.
 
AccueilAccueil  ­FAQFAQ  ­RechercherRechercher  ­S'enregistrerS'enregistrer  ­MembresMembres  ­ConnexionConnexion  
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 lancer/executer un fichier texte relié à une application

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
arthuro
Utilisateur confirmé: Rang ***


Nombre de messages: 579
Localisation: méribel
Avancement:
100 / 100100 / 100


MessageSujet: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 18: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.

_________________


Mon dossier d'exemples Game Maker
Hospital Prisonner, le développement recommence!


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


Nombre de messages: 1733
Localisation: Clermont (60)
Projet Actuel: Un browser game inédit & original.
Avancement:
9 / 1009 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 18: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.
Revenir en haut Aller en bas
http://www.edgar-fournival.fr/
nicoulas
*Excellent utilisateur*


Nombre de messages: 5110
Localisation: Dordogne
Projet Actuel: croustaface
Avancement:
10 / 10010 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 18:53

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


Nombre de messages: 1733
Localisation: Clermont (60)
Projet Actuel: Un browser game inédit & original.
Avancement:
9 / 1009 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 18:57

Bah alors il faut qu'il précise le langage de programmation. happy1
Revenir en haut Aller en bas
http://www.edgar-fournival.fr/
arthuro
Utilisateur confirmé: Rang ***


Nombre de messages: 579
Localisation: méribel
Avancement:
100 / 100100 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 19:04

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

_________________


Mon dossier d'exemples Game Maker
Hospital Prisonner, le développement recommence!
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*


Nombre de messages: 5110
Localisation: Dordogne
Projet Actuel: croustaface
Avancement:
10 / 10010 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 19: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 ***


Nombre de messages: 579
Localisation: méribel
Avancement:
100 / 100100 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 20: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

_________________


Mon dossier d'exemples Game Maker
Hospital Prisonner, le développement recommence!
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*


Nombre de messages: 5110
Localisation: Dordogne
Projet Actuel: croustaface
Avancement:
10 / 10010 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 20: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 ***


Nombre de messages: 579
Localisation: méribel
Avancement:
100 / 100100 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 20:41

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

_________________


Mon dossier d'exemples Game Maker
Hospital Prisonner, le développement recommence!
Revenir en haut Aller en bas
CoDeAVE
Utilisateur confirmé: Rang *


Nombre de messages: 238
Localisation: Québec
Avancement:
0 / 1000 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 21:39

Peut-être comme cela:


#include "windows.h"

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

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

ShellExecute(0, "open", path, path, 0, SW_SHOW);

_________________
Vous valez 100 fois plus que vous ne le pensez. Voici comment utiliser les 90 % de potentiel qui sont cachés en vous.
http://club-positif.com/psp/affiliates/club.php?id=36935
Revenir en haut Aller en bas
bibi675
Utilisateur confirmé: Rang *****


Nombre de messages: 1733
Localisation: Clermont (60)
Projet Actuel: Un browser game inédit & original.
Avancement:
9 / 1009 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Jeu 25 Juin - 22: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
Revenir en haut Aller en bas
http://www.edgar-fournival.fr/
CoDeAVE
Utilisateur confirmé: Rang *


Nombre de messages: 238
Localisation: Québec
Avancement:
0 / 1000 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Ven 26 Juin - 5: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.

_________________
Vous valez 100 fois plus que vous ne le pensez. Voici comment utiliser les 90 % de potentiel qui sont cachés en vous.
http://club-positif.com/psp/affiliates/club.php?id=36935
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ***


Nombre de messages: 579
Localisation: méribel
Avancement:
100 / 100100 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Dim 28 Juin - 13: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.

_________________


Mon dossier d'exemples Game Maker
Hospital Prisonner, le développement recommence!
Revenir en haut Aller en bas
CoDeAVE
Utilisateur confirmé: Rang *


Nombre de messages: 238
Localisation: Québec
Avancement:
0 / 1000 / 100


MessageSujet: Re: lancer/executer un fichier texte relié à une application   Dim 28 Juin - 18: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.

_________________
Vous valez 100 fois plus que vous ne le pensez. Voici comment utiliser les 90 % de potentiel qui sont cachés en vous.
http://club-positif.com/psp/affiliates/club.php?id=36935
Revenir en haut Aller en bas
 

lancer/executer un fichier texte relié à une application

Voir le sujet précédent Voir le sujet suivant 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 :: Programmation :: Programmation-
Poster un nouveau sujet   Répondre au sujet