WEB开发网
开发学院软件开发Delphi 如何通过程序实现网卡的启用和禁止功能? 阅读

如何通过程序实现网卡的启用和禁止功能?

 2006-02-04 14:35:21 来源:WEB开发网   
核心提示:在Delphi中选PRoject Import Type Library命令,在对话框中选Import Microsoft Shell Controls And Automation类型库,如何通过程序实现网卡的启用和禁止功能?,点Install后,在Delphi的ActiveX控件板上就多了TShellFolderI

在Delphi中选PRoject Import Type Library命令,在对话框中选Import Microsoft Shell Controls And Automation类型库,点Install后,在Delphi的ActiveX控件板上就多了TShellFolderItem,TShellLinkObject,TShellFolderView,TShell,TSearchCommand等几个组件

const
  discVerb = '禁用(&B)';
  connVerb = '启用(&A)';

function TForm1.DisableEthernet(const EthName,State: String): Boolean;
var
  cpFolder: Folder;
  nwFolder: Folder;
  nVerbs: FolderItemVerbs;
  i,j,k: integer;
  aItem: TListItem;
begin
  result := false;
  cpFolder := Form1.shell1.NameSpace(3);
  if cpFolder <> nil then
  begin
   for i := 0 to cpFolder.items.Count-1 do
   begin
    if cpFolder.Items.Item(i).Name = '网络和拨号连接' then
    begin
     nwFolder := cpFolder.items.item(i).GetFolder as Folder;
     if nwFolder <> nil then
     begin
      for j :=0 to nwFolder.items.Count-1 do
      begin
       if nwFolder.Items.Item(j).Name = EthName then
       begin
        nVerbs := nwFolder.Items.Item(j).Verbs;
        for k := 0 to  nVerbs.Count-1 do
       begin
         if nVerbs.Item(k).Name = State then
         begin
          nVerbs.Item(k).DoIt;
          aItem := Form1.lvLog.Items.Add;
          aItem.Caption := FormatDateTime('yyyy-mm-dd hh:mm:ss',now);
          aItem.SubItems.Add(EthName);
          aItem.SubItems.Add(State);
          Result := True;
         end;
        end;
       end;
      end;
     end;
    end;
   end;
   if nwFolder = nil then
    showmessage('Network and Dial-up Connections not found');
  end
  else
   showmessage('control panel not found');

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  DisableEthernet('本地连接',discVerb);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  DisableEthernet('本地连接',connVerb);
end;

Tags:如何 通过 程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接