cs_darkdidi
Messages postés21Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention 4 janvier 2007
-
12 avril 2006 à 15:21
baby3378 -
6 mai 2006 à 16:43
Bonjour!
Je voudrais savoir comment on formate le disque dur en C++.
Je sais qu'un tel code peut être dangereurx entre de mauvaises mains(les miennes ?^^) mais j'aurais besoin de le savoir.Voila, salut!
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 12 avril 2006 à 15:36
Salut,
Tout dépend du type de formattage souhaité (quel filesystem)...
Pour Windows, à partir des versions 2000, tu peux utiliser (avec précaution, évidemment !) la routine SHFormatDrive.
Un lien vers la MSDN...
cs_darkdidi
Messages postés21Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention 4 janvier 2007 12 avril 2006 à 15:52
Merci mais je n'ai pas compris les parametres de la structure :(
Esque tu pourrait me les expliquer ?Dans ce cas la tu m'aiderais bien plus qu'un peu ! ;)
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 12 avril 2006 à 16:01
Non explique rien lol :)
un programme n'a jamais eu besoin de formater un Lecteur...
Et bon cette procédure apelle juste la boite de dialogue Formater...
Donc c'est même pas un formatage.
if(!Meilleur("Joky")) return ERREUR;<
Vous n’avez pas trouvé la réponse que vous recherchez ?
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 12 avril 2006 à 16:29
Ah ! Il me semblait m'être trompé...
En gros :
1. le premier paramètre correspond au HANDLE de la fenêtre appelante.
2. le second spécifie le disque (0 pour la disquette A: / 2 pour le disque dur C:)
3. le troisième est relatif à la capacité : 0 par défaut (5 pour 3 1/2 pouces 720 ko, 3 pour 5 1/4 pouces 360 ko)
4. le dernier spécifie si l'on fait un formattage complet (= 0) ou rapide (= 1)
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 12 avril 2006 à 16:40
Ben forcément !
Dis moi pas que c'est pas pour faire une couille ton truc lol
Parce que vouloir formater ça implique forcément une connaissance des choses basiques comme HANDLE.
Mais bon après tu vas nous demander pourquoi ça veut pas compiler donc je devance
C'est marqué Windows 2000 minimum voilà ;)
@ toi de voir ce qui faut rajouter :)
if(!Meilleur("Joky")) return ERREUR;<
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 12 avril 2006 à 16:41
Re,
En général, il s'agit de l'identifiant de tout objet Microsoft Windows, comme entre autres : fenêtres, bouton, menu déroulant, barre d'outils, etc.
Tout repose sur un principe d'héritage où la fenêtre mère (le bureau, je crois) dispose d'un ensemble de fenêtres filles (les applications ouvertes, par exemple)... elles-mêmes ayant des enfants (boutons, par de défilement, etc.).
Tous ces éléments possèdent un identifiant unique, nommé HANDLE.
Ainsi, il est possible, en programmation Windows, quel est la fenêtre parente d'une boîte de dialogue.
Je pense, peu-être à tort, que ce doit être ici de ce genre là : tu dois préciser à Windows à quelle fenêtre appartient la pop-up de formattage.
Enfin, je dis cela, mais je reconnais ne pas avoir testé...
En espérant que mes explications vaseuses t'aient un tantinet aidé,
Ciao.
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 12 avril 2006 à 16:47
Joky > Entre nous soit dit, si, dans le pire des cas, darkdidi veut "faire une couille", comme tu dis, ce n'est pas forcément gagné d'avance... Et, personnellement, je ne penses pas que ce soit le cas.
De toute sorte, les informations données ici sont disponibles sur la MSDN, donc... rien n'interdit de les utiliser à bon escient.
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 12 avril 2006 à 17:09
Lol ouai c'est claire
Cette fonction ne vaut rien niveau formatage...
On pourrait faire bien pire en écrivant un fichier bat... mettre une tite clé registre... et faire redémarrer l'ordi lol
Mais bon Motus et bouche cousue :p
if(!Meilleur("Joky")) return ERREUR;<
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 12 avril 2006 à 17:15
On pourrait peut-être aussi cacher la fenêtre de formattage... mais, imposteur que je suis, je ne sais évidemment pas faire des trucs aussi pointus
A plus tard, Joky'
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 12 avril 2006 à 17:16
On pourrait peut-être aussi cacher la fenêtre de formattage... mais, imposteur que je suis, je ne sais évidemment pas faire des trucs aussi pointus
A plus tard, Joky'
cs_darkdidi
Messages postés21Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention 4 janvier 2007 12 avril 2006 à 17:44
Dans le genre "montrer le bonne exemple et éviter de donner de mauvaises idées" on a vu mieux ;)
Sinon pour le HANDLE, n'y a t'il pas un point commun avec les boites de dialogue ?Je vas mettre un joli code:
#include <windows.h>
int main( HANDLE hInstance, HANDLE hPrevInst,
LPSTR lpCmdLine, int nCmdShow )
{
MessageBox( NULL, "Avez vous de mauvaises intentions ?!","Soupscons infondés", MB_ICONQUESTION | MB_YESNO );
return( 0 );
}
Je me disais bien que HANDLE me rappelait quelque choses!
J'immagine que les boites de dialogues dépendent aussi en temps normal d'un fenetre mère, et pourtant ce code fonctionne.N'y a t'il donc pas un moyen de contourner le HANDLE de la boite de formatage ?
Taron31
Messages postés199Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention28 février 2008 12 avril 2006 à 18:21
Et bizarrement nan... c'est marqué dans la MSDN, d'ailleurs si on pouvait m'expliquer pourquoi...
* hwnd : [in] The handle of the parent window of the dialog. The Format dialog must have a parent window; therefore, this parameter cannot be NULL. C'est la life...
___________________
MVS - Most Valuable Student ( Microsoft)
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 12 avril 2006 à 18:40
Joky>crois moi on peut faire bien plus que redémmarrer l'ordinateur à partir du registre. On modifie ou suprimme une petite clée essenciel et BANG (héhéhé).
Bon en effet, il est impossible de formater un disque à partir de Windows. Mais si il veut simplement formater une disquette alors no problem.
___________________________________________
Les plus grands esprits trouvent toujours une solution