Obrigado amigo, testarei no meu sistema. :-) ----- Original Message ----- From: Jonatã Castelo Branco To: delphi-br@yahoogrupos.com.br Sent: Wednesday, May 30, 2007 10:17 AM Subject: Res: Res: [delphi-br] Firewall - Windows
Eu peguei o meu programa que roda em XP Professional. Essa é a parte do código que interessa: procedure ... var Reg: TRegistry; path: String; begin path:= Application.ExeName; Reg:= TRegistry.Create; try { with Reg do begin RootKey:= HKEY_LOCAL_MACHINE; if KeyExists('\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List') then begin OpenKey('\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List',False); WriteString(path,path); CloseKey; end; if KeyExists('\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List') then begin OpenKey('\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List',False); WriteString(path,path); CloseKey; end; if KeyExists('\SYSTEM\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List') then begin OpenKey('\SYSTEM\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List',False); WriteString(path,path); CloseKey; end; end; } finally Reg.Free; end; end; Veja que eu não coloco aquela parte do ":*:System", pois assim o nome do meu program nem aparece na lista do Firewall do windows. ----- Mensagem original ---- De: alexandresoaressp <[EMAIL PROTECTED]> Para: delphi-br@yahoogrupos.com.br Enviadas: Segunda-feira, 28 de Maio de 2007 16:15:36 Assunto: Re: Res: [delphi-br] Firewall - Windows Esse caminho que você me disse não tem no meu registro, e sim o que eu havia enviado, inclusive la dentro tem todas as excessões do meu micro(supostamente parece ser a pasta correta a que eu enviei), alguma sugestão?? --- Em [EMAIL PROTECTED] os.com.br, Jonatã Castelo Branco <[EMAIL PROTECTED] .> escreveu > > Você só errou na chave, mas o caminho realmente é pelo registro do windows (altamente inseguro). > > \SYSTEM\ControlSet0 01 \Services\SharedAcc ess\Parameters\ FirewallPolicy\ DomainProfile\ Authori zedApplications\ List > > > ----- Mensagem original ---- > De: Alexandre <alexandresoaressp@ ...> > Para: [EMAIL PROTECTED] os.com.br > Enviadas: Segunda-feira, 28 de Maio de 2007 15:11:59 > Assunto: [delphi-br] Firewall - Windows > > Alguem sabe como via código eu adicionar uma excessão no firewall do windows xp do meu executável? > > Eu tentei o código : > > Reg:= TRegIniFile. Create('System' ); > Reg.RootKey: = HKEY_LOCAL_MACHINE; > reg.OpenKey( '\SYSTEM\ ControlSet001\ Services\ SharedAccess\ Parameters\ FirewallPolicy\ StardardProfile\ AuthorizedApplic ations' , false); > Reg.WriteString( 'List' , Application. ExeName , Application. ExeName +':*:Enabled: System' ); > reg.Free; > > Mas aparece a mensagem de falha ao criar a chave(estou logando como administrador) ; > > Alex.,_._,___ __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]