Utiliser Daemon tools, avec un prog en C++

Fermé
sayku24 - Modifié par sayku le 29/08/2011 à 11:16
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 29 oct. 2012 à 11:38
Bonjour,
le titre n'est peut être pas très explicite, donc je vais exposer mon problème.

J'aimerais faire un programme en C++, qui me lance Daemon tools, qui monte l'image que je souhaite qui me lance l'exécutable (pour certaine image qui n'ont pas d'autorun) et qui me démonte l'image a la fin de l'exécution ...

avec un .bat c'est très simple, ça me donner a peu près ça:
echo OFF
cls
cd C:/Program Files (x86)/DAEMON Tools Lite/
DTLite.exe -mount 0,"C:\Users\Public\Documents\DAEMON Tools Images\xxxxx.mdx"
G:/xxx.exe
Pause
DTLite.exe -unmount 0
exit

(avec un menu au milieu)
il suffisait d'appuyer n'importe quoi une fois le jeu fermer, et c'était bon ...

seulement en C++, je ne sais pas comment monter une image, et la démonter, et je ne trouve rien sur le net (a pars des tuto pour une utilisation standard T.T google ne considérant pas C++ comme un mot important T.T)



Je vais pas expliquer les raison qui font que je veuille le faire en C++, alors que j'ai un .bat potable (enfin, pas trop dégueulasse quoi), mais juste comment puis-je faire pour monter et démonter une image siouplait :S



A voir également:

2 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
29 août 2011 à 11:24
Salut/
Pour être clair, je ne vois vraiment pas l'intérêt de faire ça en C++. Tu lances un programme et tous ce que tu feras en C++ est de mettre de l'enrobage C++ autour, mais au final tu fera toujours appel au shell comme avec ton .bat.
L'interet que je vois c'est d'être plus interactif. Pour le C, regarde du coter de la commande system et createProcess qui te permettront de passer ce que tu veux en argument.
2
sayku Messages postés 38 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 14 août 2013 2
29 août 2011 à 11:38
he bien enfaite, je veut le faire en C++, pour l'apprentissage déjà (pck le .bat, y'a pas masse de chose a apprendre ^^")
pour l'interactivité (comme tu la souligner)
et pour divers autre raison (j'ai pas prévu d'en rester la je te rassure ;) )
quand au systeme, c'est ce que j'ai tenter, mais pour les paramètre ... ^^"
par contre j ne connais pas createProcess, mais du peu que je viens d'en voir, (google is my friend <3 ) ça ne vas pas faire trop de ligne de code pour juste 1 petite image a monter ? :S
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
29 août 2011 à 12:25
as tu essayé system("DTLite.exe -mount 0,\"C:\\Users\\Public\\Documents\\DAEMON Tools Images\\xxxxx.mdx\"" ); ?
Le "problème" de la programmation C, C++, Java c'est que ce n'est pas le chemin le plus simple et le plus naturel pour faire de la gestion de processus, d'où des lourdeurs pour le faire. à la base les langages compiler comme C++ sont fait pour faire des logiciels pas pour en lancer d'autres. Ce que tu peut faire, c'est faire un programme C++ qui écrit un .bat (similaire au tiens) et qui le lance ensuite par la commande system(). C'est peut être ce qu'il y a de mieux à faire dans ton cas et dans tes projets.
0
"Ce que tu peux faire, c'est faire un programme C++ qui écrit un .bat (similaire au tien) et qui le lance ensuite par la commande system(). C'est peut être ce qu'il y a de mieux à faire dans ton cas et dans tes projets."

+1 Char Snipeur

Tu pourras ainsi utiliser le C / C++
(si tu veux aller plus loin : choix avec un menu d'une liste de jeux préenregistrés avec leurs chemin d'accès, création de nouveau, stockage de tout ça dans un fichier, lecture de ce ficheir au démarrage du prog etc...).
Et ça te crée le bon .bat, tu le lances, ça fait les commande Daemon-Tools etc...

ou alors c'est que tu veux toi-même reprogrammer un outil comme Daemon-tools, c-à-d réinventer la roue,

ça peut être bien pour apprendre mais là tu t'attaques peut-être à trop dur (gestion avancée de la machine, au niveau drivers / assembleur / requête système profonde et/ou API Windows beaucoup de boulot et de subtilités, pas toujours facile d'avoir de l'aide à ce sujet, tout ça pour pas grand chose en résultat.
0
sayku Messages postés 38 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 14 août 2013 2
30 août 2011 à 15:58
j'avais jamais penser a écrire un .bat avec un prog C ...
Merci pour vos conseil, je vais voir quel solution utilisé :)
(et si je suis assez fou, je les tenterais toutes :P )
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
29 oct. 2012 à 11:38
Salut sayku,

Si CreateProcess te semble difficile avec tous ses paramètres, tu as ShellExecute, qui est une fonction plus simple à mettre en oeuvre, même si elle donne moins de contrôle : https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutea?redirectedfrom=MSDN


Dal
0
sayku Messages postés 38 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 14 août 2013 2
28 oct. 2012 à 18:08
yop, c'est re-moi :D

une petite question en plus :p
dans mon .bat fraichement généré, comment puis-je monter une image SANS lancer l'auto-run?

j'ai chercher sur le site de daemontools, mais j'suis une bille en angais et ... j'trouve pas T.T

help me :'(
0