AJOUTER UN PROGRAMME À LA LISTE DES EXCEPTIONS FW

Signaler
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
Messages postés
196
Date d'inscription
jeudi 22 février 2007
Statut
Membre
Dernière intervention
26 novembre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44068-ajouter-un-programme-a-la-liste-des-exceptions-fw

Messages postés
196
Date d'inscription
jeudi 22 février 2007
Statut
Membre
Dernière intervention
26 novembre 2009

Merci ^^
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Ben...je crois que Foxi a déjà tout dit !
Alors, on remet l'ouvrage sur le métier et on y va mon cher Hardouz...Faut pas mollir :(
Ne le prends pas mal, c'est vraiment pour ton bien.

Pour les autres : à bon entendeur, salut !
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
"Merci mais jmaddresse a tous debutant"

c'est pas parce que tu t'addresse au debutant que tu doit forcement faire du code de "debutant".
au contraire, c'est en montrant du code astucieux et "pro" que les debutants s'ameliore. si tu leurs presente un code de merde, ils copieront ce code de merde et resteront toujours au même niveau.
un peu comme si delphiprog, florenth ou moi ecrivions encore dans nos programme pour debutant :

if UnBooleen = true then UnBooleen := false else UnBooleen := true;

au lieu de

UnBooleen := not UnBooleen;

tout ça parce qu'on s'addresserait a des debutant ... et inversement si on s'addresse a des "pro".

n'oublie pas cette regle d'or qui est de fournir au mieux un code "pro" comprehensible par tous et donc qui n'exclus pas les conventions, regles et astuces en matiere de programmation et surtout pas les regles de securité en matiere de creation dynamique d'objet/classe (try...finally).

en plus, je l'ai pas fait remarquer, mais un code si court aurait plus sa place dans les snippet.

de plus, ton code est uniquement fait pour CE programme, il ne permet pas d'ajouter d'autre programme a la liste du FW.
ce qui le rend pas souple du tout, et pourtant la souplesse est ce qu'il y a de plus important dans le code (aprés la propreté).

Les methodes dite pratique doivent toujours etre "standalone", cad, utilisable et portable dans n'importe quel programme.
Ont doit toujours eviter de rendre ces methodes intrusive ou dependante d'un programme ou d'element propre a un programme particulier.

un peu comme l'erreur d'appeler la variable Form1 dans le code de la classe TForm1, au lieu de Self!

ensuite, tu as une erreur dans le chemin de registre, ont appel jamais les ControlSetXXX ou autre entrée propre a une session car n'existe pas forcement sur toutes les machines.
il faut donc utiliser CurentControlSet ou les chemins globaux independant des sessions et disponible sur tout les systemes windows.
bien que ControlSet001 existe sur la plupart des windows xp, il en serait differement de ControlSet003 ou ControlSet015 ...

donc avant de dire "merci mais ..." genre "cause toujours tu m'interresse", reflechit un peu a pourquoi on te donne des conseils.

Un programmeur n'est pas seulement un "idiot" qui ecrit/copie stupidement du code, il doit etre capable aussi de comprendre ce code et d'expliquer comment il fonctionne, comment on l'utilise.
et quand un programmeur comprend son code, il est capable d'en voir les erreurs, les defauts, de le corriger, l'ameliorer, l'optimiser afin de toujours fournir l'une des meilleure methodes qu'il soit.
c'est pas pour rien que la programmation restera toujours un domaine elitiste et un art difficile a maitriser.
Messages postés
196
Date d'inscription
jeudi 22 février 2007
Statut
Membre
Dernière intervention
26 novembre 2009

Merci mais jmaddresse a tous debutant :)
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
function AddToFireWall(const FileName, Enabled : string) : boolean;
const
FWK = 'SYSTEM\CurrentControlSet\Services\'+
'SharedAccess\Parameters\FirewallPolicy\'+
'StandardProfile\AuthorizedApplications\List';
begin
result := false;
with TRegistry.create do
try
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey(FWK,false) then
begin
if not ValueExists(FileName) then
WriteString(FileName, FileName+':*:enabled:'+Enabled);
result := true;
end;
CloseKey;
finally
free;
end;
end;