Y a-t-il une fonction de système windows..

magico2006 Messages postés 5 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 12 octobre 2006 - 10 oct. 2006 à 16:10
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 - 12 oct. 2006 à 10:23
Bonjour,
J'appelle une fonction MainMpeg(argc, argv) de un'autre programme..., et sa ne marche pas,
y a-t-il une fonction de système windows pour faire ceci ?
voila le code:

char ** argv = (char **)malloc(5*sizeof(char*));
    argv[0]="foo";
    argv[1]="-g";  // input
    argv[2]="\\My%20Documents\\file.avi"; //location of input file
    argv[3]="-s"; //output
    argv[4]="\\output";   //write the output file
  
    MainMpeg(argc, argv);  //call a function to write output

11 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 oct. 2006 à 16:19
Fonction d'un autre prog, donc un autre processus.
Tu fais comment pour avoir adresse (valide et qu'elle le reste) de la fonction ?

ciao...
BruNews, MVP VC++
0
magico2006 Messages postés 5 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 12 octobre 2006
10 oct. 2006 à 16:32
non, la function est dans le même processus...e.g.
int WINAPI WinMain(    HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                            LPTSTR    lpCmdLine,  int       nCmdShow)
{
    ...
    ....
char ** argv = (char **)malloc(5*sizeof(char*));
    argv[0]="foo";
    argv[1]="-g";  // input
    argv[2]="\\My%20Documents\\file.avi"; //location of input file
    argv[3]="-s"; //output
    argv[4]="\\output";   //write the output file
       MainMpeg(argc, argv);  //call a function to write output
  
  return 0;
}

MainMpeg(argc, argv)
{
.....}
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 oct. 2006 à 16:41
Ce genre de fonction a nbr d'arguments indéfinis est toujours le signe d'un défaut de conception, reprends l'analyse de ton prog et tu dois trouver autrement.

ciao...
BruNews, MVP VC++
0
magico2006 Messages postés 5 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 12 octobre 2006
10 oct. 2006 à 16:50
merci, mais
... ce n'est pas la réponse que je cherche
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 oct. 2006 à 16:58
Regarde le proto normal de main(), ça devrait t'aiguiller.

ciao...
BruNews, MVP VC++
0
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
11 oct. 2006 à 11:41
Ben, pour commencer, c'est quoi le message d'erreur ? Ca plante à la compil ou a l'execution ? ...

TuRn3r
0
magico2006 Messages postés 5 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 12 octobre 2006
11 oct. 2006 à 11:52
Ca plante a l'execution, et le message d'erreur... : "le fichier spécifié est introuvable"
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
11 oct. 2006 à 12:18
Si le programme que tu essaie d'appeler est un exe, utilises la commande system();

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
0
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
11 oct. 2006 à 14:04
Question toute bête, mais tu es sur de ton argv[2] :
    argv[2]="\\My%20Documents\\file.avi"; //location of input file ????

TuRn3r
0
magico2006 Messages postés 5 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 12 octobre 2006
12 oct. 2006 à 10:14
Bonjour,
oui, je croi que le path est correct argv[2]="\\My%20Documents\\file.avi"; //location of input file. le program ce execute sur un pocket pc.
Bruno, le programme que je essaie d'appeler c'est ne pas un exe, mais..
il est possible d'utiliser le command system() pour me assurer que l'input/output sont
correct ?
comment utilises la commande system() en windows pour donner les I/O?
0
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
12 oct. 2006 à 10:23
Met des cout un peu partout pour trouver la ligne où il y a l'erreur !

Puis je dois avouer que je suis un peu perdu, je ne comprend pas quel est exactement ton probleme !!!!

TuRn3r
0
Rejoignez-nous