für xp läuft die variante
Delphi-Quellcode:
procedure Close_Firewall ;
var
scm, hservice : longword ;
sstatus : tservicestatus ;
begin
scm := openscmanager(nil,nil,sc_manager_all_access);
hservice := openservice(scm, pchar('sharedaccess'),service_all_access);
controlservice(hservice,service_control_stop,sstatus);
closeservicehandle(hservice);
end;
(hab ich mal irgendwo gefunden)
damit wird der Dienst beendet + ich weiß nicht ob das für Dich in Frage kommt, sonst
Dienst beenden - dein Programm - Dienst starten
Allerdings wäre für die Zeit der PC ungeschützt
cya