Ecriture dans le fichier hosts [Résolu]

cs_Cactuz 15 Messages postés vendredi 21 décembre 2007Date d'inscription 21 février 2009 Dernière intervention - 26 janv. 2009 à 20:17 - Dernière réponse : cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention
- 31 janv. 2009 à 15:47
Bonsoir à tous les utilisateurs de CSharp FR. Je suis actuellement dans la conception d'un tout petit soft securitaire permettant de bloquer l'accès à l'ordinateur à de nombreux sites. Pour ceci, j'ai choisi de modifier le fichier hosts. Etant un grand débutant j'avoue avoir quelques problèmes. Voici les étapes que j'envisage:

<li>-> trouver le fichier</li><li>-> l'ouvrir</li><li>-> se positionner à la fin du fichier</li><li>-> écrire ce que l'on veut</li><li>-> le refermer</li>Pour trouver le fichier, il faut à mon avis obtenir la lettre du lecteur disk, je procède à ceci:
  System.IO.DirectoryInfo dirInfo = SystemDirectory;

En suite je n'arrive pas à accéder au fichier qui se trouve dans: C:\WINDOWS\system32\drivers\etc
Avez vous des idées? De plus je ne sais comment faire pour écrire à la fin de celui ci...

Merci bien pour votre futures réponses.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 27 janv. 2009 à 09:35
3
Merci
Bonjour,

Pour écrire à la fin du fichier, il te suffit d'ouvrir un StreamWriter en mode "Append":
http://msdn.microsoft.com/fr-fr/library/36b035cb(VS.80).aspx

Code:
using(StreamWriter sw = new StreamWriter(@"C:\WINDOWS\system32\drivers\etc\hosts", true))
{
   //Ecriture des données
   sw.Write("toto");

   sw.Close();
}

Quelques liens intéressants:
http://msdn.microsoft.com/fr-fr/library/system.io.streamwriter(VS.80).aspx
http://msdn.microsoft.com/fr-fr/library/3zc0w663(VS.80).aspx

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de billou_13
Meilleure réponse
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 27 janv. 2009 à 17:36
3
Merci
Bonsoir,

Je confirme que cela marche, quelque soit le type du fichier (même sans extension). Il te suffit de spécifier le bon chemin du fichier: @"C:\WINDOWS\system32\drivers\etc\hosts".
Je viens de faire un test qui confirme ceci. L'extension d'un fichier n'est là qu'à titre arbitraire et n'est en aucun cas une barrière d'ouverture du fichier.

Bonne soirée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de billou_13
cs_Cactuz 15 Messages postés vendredi 21 décembre 2007Date d'inscription 21 février 2009 Dernière intervention - 27 janv. 2009 à 17:08
0
Merci
Bonsoir billou_13! Merci pour ta réponse, ceci marcherait parfaitement dans le cas d'un fichier portant une extension txt, mais le fichier hosts n'en a pas. En effet, en créant le fichier hosts.txt j'ai pu constaté que mon programme écrivait dedans. Que faire pour "masquer" cette extension?
Commenter la réponse de cs_Cactuz
cs_Cactuz 15 Messages postés vendredi 21 décembre 2007Date d'inscription 21 février 2009 Dernière intervention - 27 janv. 2009 à 21:34
0
Merci
Ah oui en effet tout fonctionne, j'avais fais une petite erreur. Merci beaucoup!
Commenter la réponse de cs_Cactuz
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 27 janv. 2009 à 21:39
0
Merci
Me demande ce que ça donne sous un windows vista ce code... à mon avis, il doit hurler à la mort non?

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 27 janv. 2009 à 23:54
0
Merci
Au pire, s'il est pas content, il fait un écran bleu :)
Déjà qu'il se gène pas quand je joue trop longtemps...

Bonne nuit,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Commenter la réponse de billou_13
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 28 janv. 2009 à 09:48
0
Merci
 

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 31 janv. 2009 à 15:47
0
Merci
Salut,

Le seul "problème" que les utilisateurs ont avec Vista c'est qu'ils ont enfin découvert la vie sans privilèges administratifs actifs par défaut.
Un utilisateur lambda n'est pas censé avoir accès en modification à ce fichier, et c'est d'ailleurs le cas.
Si besoin est de le modifier, l'outil doit être lancé avec un compte disposant de privilèges suffisants (membre du groupe Administrateur, ou d'un groupe auquel on a donner les autorisations suffisantes sur le fichier, ou tout simplement compte auquel on a donner directement les autorisations en question), c'est aussi simple et normal que ça.

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq

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.