Code source pour formater le disque [Résolu]

cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 12 avril 2006 à 15:21 - Dernière réponse :  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!
Afficher la suite 

Votre réponse

28 réponses

Meilleure réponse
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 17:01
3
Merci
Re-re,


shlobj.h + shell32.dll selon la MSDN.

A plus tard.

Merci meech 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de meech
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 15:36
0
Merci
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...

En espérant t'avoir un peu aidé,
A plus tard.
Commenter la réponse de meech
cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 12 avril 2006 à 15:52
0
Merci
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 ! ;)
Commenter la réponse de cs_darkdidi
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 12 avril 2006 à 16:01
0
Merci
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;<
Commenter la réponse de cs_Joky
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 16:04
0
Merci
Exact Jocky
Commenter la réponse de meech
cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 12 avril 2006 à 16:21
0
Merci
Citation:Joky
"Non explique rien lol :)"

Pourquoi ?J'ai une tête de pirate informatique qui a envie de quelques années de prison ?

Citation:Joky
"Et bon cette procédure apelle juste la boite de dialogue Formater..."

Mais je n'en demande pas plus!^^

Citation:Joky
"Donc c'est même pas un formatage."
Non,c'est vrai.Mais ca me convient.
Commenter la réponse de cs_darkdidi
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 12 avril 2006 à 16:23
0
Merci
Je sais qu'un tel code peut être dangereurx entre de mauvaises mains(les miennes ?^^)
:s

mais j'aurais besoin de le savoir.Voila, salut!
??? pourquoi ?

if(!Meilleur("Joky")) return ERREUR;<
Commenter la réponse de cs_Joky
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 16:29
0
Merci
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)

Voilà, en espérant que cela t'aide un peu,
Ciao.
Commenter la réponse de meech
cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 12 avril 2006 à 16:32
0
Merci
Merci beaucoup!C'est rès sympas.Euh juste, c'est quoi HANDLE ?
Encore merci!
Commenter la réponse de cs_darkdidi
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 12 avril 2006 à 16:40
0
Merci
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;<
Commenter la réponse de cs_Joky
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 16:41
0
Merci
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.
Commenter la réponse de meech
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 16:47
0
Merci
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.

Ciao.
Commenter la réponse de meech
cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 12 avril 2006 à 16:59
0
Merci
Bon merci.Je pense que je me débrouillerais avec tes infos.Y a t'il bibliotheque special à inclure dans le code? windows.h j'imagine ?
Commenter la réponse de cs_darkdidi
cs_Joky 1791 Messages postés lundi 22 novembre 2004Date d'inscription 31 janvier 2009 Dernière intervention - 12 avril 2006 à 17:09
0
Merci
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;<
Commenter la réponse de cs_Joky
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 17:15
0
Merci
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'
Commenter la réponse de meech
meech 209 Messages postés vendredi 11 avril 2003Date d'inscription 14 août 2007 Dernière intervention - 12 avril 2006 à 17:16
0
Merci
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'
Commenter la réponse de meech
cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 12 avril 2006 à 17:44
0
Merci
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 ?
Commenter la réponse de cs_darkdidi
Taron31 199 Messages postés vendredi 16 avril 2004Date d'inscription 28 février 2008 Dernière intervention - 12 avril 2006 à 18:21
0
Merci
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)
Commenter la réponse de Taron31
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 12 avril 2006 à 18:40
0
Merci
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
Commenter la réponse de SAKingdom
cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 12 avril 2006 à 18:46
0
Merci
C'est quoi une clé registre ?
Commenter la réponse de cs_darkdidi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Code source pour formater le disque - page 2