Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Duvida


DevilMan

Question

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á.

Edited by DevilMan
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...