GARANTIR DESCONTO

Fórum Comando pelo delphi trava Windows XP #346401

21/09/2007

0

Pessoal. peguei um comando na net para liberar a porta 3050 para o Firebird pelo Delphi - cfe.abaixo:

procedure TForm1.Button2Click(Sender: TObject); begin WinExec(´netsh.exe
´firewall add portopening protocol=TCP port=3050 name=´´Firebird´´
mode=ENABLE scope=SUBNET´´, SW_SHOW);
end;

Acontece que depois que usei esse comando numa maquina com WINDOWS XP SP2 a maquina passou a travar toda hora e não consigo executar nenhum programa pelo menu INICIAR > TODOS OS PROGRAMAS. Existe algum modo de cancelar esse comando acima?

OBS: Antes de usar esse comando na maquina ela funcionava blza. Agradeço se alguem puder ajudar?

Luiz


L_carlos

L_carlos

Responder

Posts

21/09/2007

Mayron Cachina

n sei se isso vai te ajudar, mais ta ai...

[url=http://www.microsoft.com/technet/prodtechnol/windowsserver2003/pt-br/library/ServerHelp/61427fbd-de1f-4c8a-b613-321f7a3cca6a.mspx?mfr=true]Visão geral sobre o netsh[/url]

[url=http://support.microsoft.com/kb/242468/pt-br]Como usar a ferramenta Netsh.exe e as opções de linha de comando[/url]

pesquisando um pouco vi que varias pessoas tentaram o seu mesmo codigo e n tiveram esse problema...
procedure TForm1.Button1Click(Sender: TObject);
begin
WinExec(´netsh.exe "firewall add portopening protocol=TCP port=3050
name=""Firebird"" mode=ENABLE scope=SUBNET"´, SW_SHOW);
end;


achei tb esses outros codigos... um usando registro o outro parece com o seu(se n for o mesmo, hehe,so muda q o seu tem algumas aspas a mais...)
 Abaixo tenho 2 codigos, ambos tem a mesma funcao, liberar a porta do firewall 3050 para uso do firebird em rede, porem a porta naum esta sendo liberada....alguem poderia analizar os codigos e verificar o que a de errado....acho que e de interesse de muitos, pois seria melhor ja deixar a porta liberada via delphi... 

> Primerio codigo: 

 procedure TForm1.Button2Click(Sender: TObject); 
 var 
 Reg:Tregistry; 
 CtrlSet:string; 
 begin 
 //Pega o ControlSet que esta sendo usado pelo windows 
 Reg.OpenKey(´SYSTEM\Select´, False); 
 CtrlSet := FormatFloat(´000´,Reg.ReadInteger(´Current´)); 
 Reg.CloseKey; 

 //Libera a porta 3050 usada pelo Firebird 
 Reg.OpenKey(´SYSTEM\ControlSet´ + CtrlSet +´\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List´, 
 True); 
 if (not Reg.ValueExists(´3050:TCP´)) 
 then Reg.WriteString(´3050:TCP´,´3050:TCP:*:Enabled:Firebird´); 
 Reg.CloseKey; 
 end; 


> Segundo codigo: 

 procedure TForm1.Button2Click(Sender: TObject); 
 begin 
 WinExec(´netsh.exe -c firewall add portopening protocol=TCP port=3050 name=Teste mode=ENABLE scope=SUBNET´, SW_HIDE);
end;



Responder

Gostei + 0

23/09/2007

L_carlos

Valeu Mayron, consegui resolver executando o REGCLEAN.

Luiz


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar