Se connecter avec
S'enregistrer | Connectez-vous

aide pour un programme

Dernière réponse : dans Programmation

bonjour a tous

voila alors je veut faire un programme qui bloqueun site internet pour cela je pensait passer par windows enfaite le programme irai ajouter une ligne dans C:\WINDOWS\system32\driver\etc\host
mais voila je ne c'est pas comment faire je pensait faire quelque chose comme sa

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
printf("description du log\n");
system("PAUSE");
fopen C:\WINDOWS\system32\driver\etc\host
return EXIT_SUCCESS;
}

puis je voudrait ajouter cette ligne 127.0.0.1 www.google.fr

mais je ne sait pas comment je peut faire ces pour cela que je vous demande votre aide merci de me repondre et de ne pas fermer le sujet enfin si vous voulez mes expliquer moi pouquoi vous le fermer

Autres pages sur : aide programme

Lassé par la pub ? Créez un compte

dac merci
alors j'ai chercher et j'ai trouver sa tu pense que c'est se qu'il me faut ? et j'ai changais les nom tu pense que sa marcherai puis j'ai oublier de dire le fichier hosts n'est pas directement en .txt sa le mettera automatiquement ??

<?php
$filename = 'hosts.txt';
$somecontent = "Ajout de chaîne dans le fichier \n";
// Assurons nous que le fichier est accessible en écriture
if (is_writable(hosts.txt)) {
// Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
// Le pointeur de fichier est placé à la fin du fichier
// c'est là que $somecontent sera placé
if (!$handle = fopen($C:\WINDOWS\system32\driver\etc\host, 'a')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
// Ecrivons quelque chose dans notre fichier.
if (fwrite($handle, $127.0.0.1 www.google.fr) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}
echo "L'écriture de ($127.0.0.1 www.google.fr) dans le fichier ($hosts) a réussi";
fclose($handle);
} else {
echo "Le fichier $filename n'est pas accessible en écriture.";
}
?>

tu pense que sa marcherai je croit que j'ai deux trois erreur nn ?

Quelques rectifications

  1. <?php
  2. $filename = 'C:\WINDOWS\system32\driver\etc\host';
  3. $somecontent = "Ajout de chaîne dans le fichier \n";
  4. // Assurons nous que le fichier est accessible en écriture
  5. if (is_writable($filename)) {
  6. // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
  7. // Le pointeur de fichier est placé à la fin du fichier
  8. // c'est là que $somecontent sera placé
  9. if (!$handle = fopen($filename, 'a')) {
  10. echo "Impossible d'ouvrir le fichier ($filename)";
  11. exit;
  12. }
  13. // Ecrivons quelque chose dans notre fichier.
  14. if (fwrite($handle, "$127.0.0.1 <a href="http://www.google.fr" target="_blank">www.google.fr</a>") === FALSE) {
  15. echo "Impossible d'écrire dans le fichier ($filename)";
  16. exit;
  17. }
  18. echo "L'écriture de ($127.0.0.1 <a href="http://www.google.fr" target="_blank">www.google.fr</a>) dans le fichier ($hosts) a réussi";
  19. fclose($handle);
  20. } else {
  21. echo "Le fichier $filename n'est pas accessible en écriture.";
  22. }
  23. ?>


mais je le répéte, il faut un serveur web sur ta machine pour le faire tourner, le C semble plus adapté.

lol non la je vient d'avoir une eclération(je ne suis pas sur que sa existe lol) le site que tu m'a passer cart et tres bien je vais suivre se tuto mais je vient de voir un probleme ce programme peut etre installer que si ont est admin comment je peut faire pour qu'il puisse etre installer meme si ont est pas admin

EDIT: tu c'est pas toi pourquoi il a etait cloturer? car la je ne voiait pas franchement

mdr non tu me l'avais pas passer et j'ecrivait bien et ecleration c eclerait j'ai une un coup de pouce merci a vous deux
et vraiment tu c'est pas pourquoi il a etait cloturer ?

et comment je peut faire je vient de voir un probleme ce programme peut etre installer que si ont est admin comment je peut faire pour qu'il puisse etre installer meme si ont est pas admin

dadou45 a dit :
mdr non tu me l'avais pas passer
si mais comme on ne peut pas vérifier, on va dire peu importe...
dadou45 a dit :
et j'ecrivait bien et ecleration c eclerait
:pt1cable: 

dadou45 a dit :
j'ai une un coup de pouce merci a vous deux
"eu"! sinon de rien, c'est surtout cart :jap: 
dadou45 a dit :
et vraiment tu c'est pas pourquoi il a etait cloturer ?
"sais"!!! et "été"! et non, je ne sais pas.
Spoiler
et aussi "clôturé" mais bon...

dadou45 a dit :

et comment je peut faire je vient de voir un probleme ce programme peut etre installer que si ont est admin comment je peut faire pour qu'il puisse etre installer meme si ont est pas admin

et là, du coup, je ne sais plus du tout de quoi tu parles, le C, le php...?

alors je te parle de C car je suis le tutorial que ma passer carl

euh voila alors j'ai tester sur un autre fichier et jpense que sa marche le seul truc qu'il me manque c'est comment je peut faire je vient de voir un probleme ce programme peut etre installer que si ont est admin comment je peut faire pour qu'il puisse etre installer meme si ont est pas admin

je vous mes le programme pour savoir si j'ai pas d'erreur

euh une question encore hosts n'est pas un fichier .txt comment je peut faire pour que sa soit un fichier .txt car la le programme ne marque rien dans le fichier hosts

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
printf("description du logiciel\n");
system("PAUSE");
FILE* fichier = NULL;

fichier = fopen("C:\\WINDOWS\\system32\\driver\\etc\\hosts.txt", "w");

if (fichier != NULL)
{
fputs("127.0.0.1 www.*******.fr\n127.0.0.1 www.********.fr", fichier);
fclose(fichier);
}

return 0;
}

tu voit quand je lance le programe il me dit que c'est impossible d'ouvrir le fichier et apres j'ai le message d'erreur ne pas envoyer ou envoyer le rapport d'erreur je croit savoir pourquoi c'est parceque hosts n'est pas reconnut directement comme un fichier .txt comment faire ? pour pouvoir que je puisse ouvrire le fichier host et ecrire les phrases

enfaite le programme il va dans les dossier de windows et si tu n'est pas administrateur de l'ordinateur sa ne pourra pas l'installer non ?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
printf("description du logiciel\n");
system("PAUSE");
FILE* fichier = NULL;

fichier = fopen("C:\\WINDOWS\\system32\\driver\\etc\\hosts.txt", "w");

if (fichier != NULL)
{
// On peut lire et écrire dans le fichier
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier test.txt");
}

fputs("127.0.0.1 www.*******.fr\n127.0.0.1 www.********.fr", fichier);
fclose(fichier);
}

j'ai bien ris en vous lisant :) 
@dadou45 on parle pas d'installation mais juste d'execution
si tu n'es pas admin, tu n'as pas les droits, je vois pas de solution


edit, il est peut être possible de passer en mode admin et demander le mot de passe à l'utilisateur

Si si l'execution se fait, mais pas l'ecriture, parce que le fichier est protégé
je viens de voir qu'en faisant un clique droit dessus et en décochant la case "lecture seul", tu pourras ecrire dedans sans être admin
mais c'est dangeureux du point de vue sécurité, n'importe quelle application pourra le modifier donc attention.

dac merci mes comment je peut faire pour que sa se fasse automatiquement le decochage de la case lecture seul ??

Edit:j'ai regarder sur mon fichier le mien n'est pas en lecture seul et quand je le renomme hosts.txt et que j'applique le programme il ne toujour rien ecrire je me serai pas planter dans des ligne ??

#include <stdlib.h>
#include <stdio.h>
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
printf("description du logiciel\n");
system("PAUSE");
FILE* fichier = NULL;

fichier = fopen("C:\\WINDOWS\\system32\\driver\\etc\\hosts.txt", "a");

if (fichier != NULL)
{
// On peut lire et écrire dans le fichier
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier C:\\WINDOWS\\system32\\driver\\etc\\hosts.txt");
}

fputs("127.0.0.1 www.*******.fr\n127.0.0.1 www.********.fr", fichier);
fclose(fichier);
}
Lassé par la pub ? Créez un compte
Tom's guide dans le monde