Stocker un executable

crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009 - 14 nov. 2009 à 21:28
crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009 - 19 nov. 2009 à 18:14
Bonjour,
Je programme en C avec dev-cpp
Et j’aurais voulus savoir si il été possible de stocker des exécutables, et des visuals basic script, dans un programme (un peu comme les icônes ) .
Par ailleurs est il possible de faire de même pour une commande dos.
Par exemple, stocker dir.exe, pour pouvoir l’utiliser sur n’importe quel ordinateur même démunie de cet exécutable dans system32.

Merci d’avance !

10 réponses

crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009
15 nov. 2009 à 10:32
c'est impossible en C??
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
15 nov. 2009 à 11:23
Oui, c'est possible. Dans ton .rc : IDR_DLL1 DLL "c:\windows\system32\madll.dll"
Dans ton code :
bool ExtractResource(char* FileName)
//Returns FALSE if OK, otherwise TRUE
{
HRSRC hInfo = FindResource(0,MAKEINTRESOURCE(IDR_DLL1),"dll");
HGLOBAL hRes = LoadResource(0,hInfo);
DWORD dwSize = SizeofResource(0,hInfo);
void* pData = LockResource(hRes);
DWORD written = 0;
HANDLE hFile = CreateFile(FileName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
WriteFile(hFile,pData,dwSize,&written,NULL);
CloseHandle(hFile);
if (dwSize != written) return true;
return false;
}
---
VB.NET is good ... VB6 is better
0
crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009
15 nov. 2009 à 14:14
merci de ta réponse
mais ça me permet de stocker la commande dos ou un exe??
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
15 nov. 2009 à 20:27
Certainement pas une commande DOS, car c'est cmd.exe qui les interprète ! Sinon, n'importe quel fichier en adaptant un peu. Consulte la MSDN à ce sujet.
---
VB.NET is good ... VB6 is better
0

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

Posez votre question
crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009
16 nov. 2009 à 19:46
salut,
j'ai fait un copier collé
mais sa ne marche pas...
et je ne vois pas comment on stocke un exe, il faut changer quoi dans ton code??
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
17 nov. 2009 à 23:59
Tu dois ajouter un fichier .rc à ton projet ...
---
VB.NET is good ... VB6 is better
0
crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009
18 nov. 2009 à 13:52
oui je l'ai mit dans mon projet....
mais sa marche pas.
je veux bien un éclairage sur la commande
IDR_DLL1 DLL "c:\windows\system32\madll.dll"
merci d'avance
0
crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009
18 nov. 2009 à 19:04
A au faite j'oubliais, c'est un programme en mode console!!
sa change peut être quelques chose?
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
18 nov. 2009 à 19:21
La syntaxe est la suivante : [nom] [nom reconnu par Windows] [chemin de la ressource]. Est-ce que Dev-CPP te signale une erreur ? Remplace DLL par EXE, et le chemin dans le fichier .rc par le vrai chemin et essaie d'appeler la fonction. Si ça ne marche pas, c'est peut-être que le fichier de ressources n'a pas été lié avec ton programme. Utilise Resource Hacker pour vérifier ça.
---
VB.NET is good ... VB6 is better
0
crusade1 Messages postés 7 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 19 novembre 2009
19 nov. 2009 à 18:14
salut, je te poste le log de compilation, le rc se compile bien mais c'est le fichier C qui déconne...


Compilateur: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Exécution de make...
make.exe -f "C:\Dev-Cpp\Makefile.win" all
gcc.exe -c test.c -o test.o -I"C:/Dev-Cpp/include"

test.c: In function `main':
test.c:6: error: `bool' undeclared (first use in this function)
test.c:6: error: (Each undeclared identifier is reported only once
test.c:6: error: for each function it appears in.)
test.c:6: error: syntax error before "ExtractResource"
test.c:10: error: `HGLOBAL' undeclared (first use in this function)
test.c:11: error: `DWORD' undeclared (first use in this function)
test.c:12: error: `hRes' undeclared (first use in this function)

test.c:12: warning: initialization makes pointer from integer without a cast
test.c:13: error: syntax error before "written"
test.c:14: error: `HANDLE' undeclared (first use in this function)
test.c:15: error: `hFile' undeclared (first use in this function)
test.c:15: error: `dwSize' undeclared (first use in this function)
test.c:15: error: `written' undeclared (first use in this function)
test.c:17: error: `true' undeclared (first use in this function)
test.c:18: error: `false' undeclared (first use in this function)

test.c: At top level:
test.c:20: error: syntax error before string constant
test.c:20: warning: data definition has no type or storage class

make.exe: *** [test.o] Error 1

Exécution terminée
0
Rejoignez-nous