Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Duvida


DevilMan

Pergunta

Sou um iniciante em Delphi e pretendo desenvolver um aplicativo com uma função simples: desconectar e reconectar uma rede ao se clicar no botão ou apertar a tecla de atalho.

Veja como eu pretendo fazer.

2dvmtq8.png

Ao se apertar o botão desconectar ou a tecla F1 a rede pausa.

Ao se apertar o botão Reconectar ou a tecla F2 a rede volta ao normal.

preciso de ajuda, caso alguém possa me ajudar a como fazer eu agradeço desde já.

Editado por DevilMan
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

exemplo:

//  Conecta a uma unidade de rede


procedure TForm1.button1Click(Sender: TObject);
begin
   WNetConnectionDialog(Handle,RESOURCETYPE_DISK);
end;


// Desconecta de uma unidade de rede


procedure TForm1.button2Click(Sender: TObject);
begin
   WNetDisconnectDialog(Handle,RESOURCETYPE_DISK);
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade eu preciso desabilitar e habilitar a conexão, um exemplo do que eu quero fazer é esse aplicativo: http://www.mediafire.com/?f3wzl9uudvd77u5

eu só não uso ele pois as teclas de atalho não são boas, eu quero fazer o mesmo que esse aplicativo faz porem com as teclas de atalho modificadas para F1 e F2.

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade eu preciso desabilitar e habilitar a conexão

//para desativar a conexão de rede: 
procedure TForm1.Button1Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/release'),SW_HIDE);
end;

//para reativar a conexão de rede: 
procedure TForm1.Button2Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/renew'),SW_HIDE);
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

//para desativar a conexão especifica de rede: 
procedure TForm1.Button1Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/release Conexão local'),SW_HIDE);
end;

//para reativar a conexão especifica de rede: 
procedure TForm1.Button2Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/renew Conexão local'),SW_HIDE);
end;
//para desativar todas as conexões de rede que comecem com "Con': 
procedure TForm1.Button1Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/release *Con*'),SW_HIDE);
end;

//para reativar todas as conexões de rede que comecem com "Con': 
procedure TForm1.Button2Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/renew *Con*'),SW_HIDE);
end;
//para desativar todas as conexões de rede que comecem com "EL': 
procedure TForm1.Button1Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/release *EL*'),SW_HIDE);
end;

//para reativar todas as conexões de rede que comecem com "EL': 
procedure TForm1.Button2Click(Sender: TObject);
begin
   WinExec(pchar('cmd /c ipconfig/renew *EL*'),SW_HIDE);
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

se voce tiver o codigo em VB e possivel converte-lo para delphi

existe essa dica, mas vai precisar de outros arquivos, que voce terá que procurar na net

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses setupapi;

function Muda(Estado, PlacaDeRede: cardinal): boolean; //Estado 1 = habilita, 0 = desabilita
var
   PropChangeParams: SP_PROPCHANGE_PARAMS;
   DeviceInfoData: SP_DEVINFO_DATA;
   hDI: HDEVINFO;
   State: Cardinal;
begin
   result := false;
   case Estado of
      0: State := DICS_DISABLE;
      1: State := DICS_ENABLE;
   else
      exit;
   end;
   if not IsSetupApiLoaded then
      if not LoadSetupApi then
         exit;
   try
      hDI := SetupDiGetClassDevs(@GUID_DEVCLASS_NET, nil, 0, DIGCF_PRESENT);
      if cardinal(hDI) = INVALID_HANDLE_VALUE then
         exit
      else
      try
         DeviceInfoData.cbSize := SizeOf(SP_DEVINFO_DATA);
         if not SetupDiEnumDeviceInfo(hDI, PlacaDeRede, DeviceInfoData) then
            Exit;
         PropChangeParams.ClassInstallHeader.InstallFunction := DIF_PROPERTYCHANGE;
         PropChangeParams.ClassInstallHeader.cbSize := SizeOf(SP_CLASSINSTALL_HEADER);
         PropChangeParams.Scope := DICS_FLAG_GLOBAL;
         PropChangeParams.StateChange := State;
         if not SetupDiSetClassInstallParams(hDI, @DeviceInfoData, PSPCLASSINSTALLHEADER(@PropChangeParams), SizeOf(PropChangeParams)) then
            Exit;
         if not SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, hDI, @DeviceInfoData) then
            Exit;
         Result := True;
      finally
         SetupDiDestroyDeviceInfoList(hdi);
      end;
   finally
      UnloadSetupApi;
   end;
end;

// Use esta função chamando Muda(Estado 1-> habilita 0-> desabilita,
// em ordem de instalação de 0 até o numero de placas de rede - 1);

procedure TForm1.button1Click(Sender: TObject);
begin
   // desabilita a placa de rede instalada
   Muda(0,0);
end;

procedure TForm1.button2Click(Sender: TObject);
begin
   // habilita a placa de rede instalada
   Muda(1,0);
end;


end.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...