禁用、启用本地链接(网卡)
来源:互联网 发布:做菜软件下载排行榜 编辑:程序博客网 时间:2024/04/29 23:04
(******************************************************************************
* CopyRight (c) By 姚佩云 2004
* All Right Reserved
* Email : i_rock_1001@163.com www.jynx.com.cn
* Date :
* New Develop : 2004-4-8
* Description :
* 这是一个禁用、启用网卡的例子,实际上通过shell可以控制整个界面,参考的网上资料
* 需要先引用 Microsoft Shell Controls And Automation(Shell32.dll)对应delphi声明 Shell32_TLB.pas
* Export :
* GetNetLinkList
* ExcNetLinkMenu
* 首发大富翁(www.delphibbs.com)blog,转载请保留
******************************************************************************)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Shell32_TLB, StdCtrls, Menus;
type
TForm1 = class(TForm)
Button1: TButton;
ComboBox1: TComboBox;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{++
Routine Description:
取本机所有网络链接列表
Arguments:
OUT list - 取得的网络链接列表
Return Value:
BOOLEAN - 执行是否成功
--}
function GetNetLinkList(var list:TStrings):BOOLEAN;
var
Shell:TShell;
ControlPanel:Folder;
Item:FolderItem;
i:integer;
begin
Result:= FALSE;
if list = nil then
exit;
Shell:=TShell.Create(Application);
if Shell = nil then
exit;
ControlPanel:=Shell.NameSpace(ssfCONTROLS);
for i:=0 to ControlPanel.items.Count -1 do
begin
Item:=ControlPanel.items.Item(i);
if (Item.Name = '网络和拨号连接') then //如果是英文的windows则Name也需是英文的
begin
ControlPanel:=Folder(Item.GetFolder);
break;
end;
end;
for i:=0 to ControlPanel.items.count-1 do
begin
Item:= ControlPanel.items.Item(i);
List.Add(Item.Name);
end;
FreeAndNil(shell);
Result:= TRUE;
end;
{++
Routine Description:
执行 本地网络链接 的菜单命令(包括禁用、启用)
Arguments:
IN AdapterName - 网络链接名称
IN MenuName - 菜单名称
Return Value:
BOOLEAN - 执行是否成功
--}
function ExcNetLinkMenu(const AdapterName,MenuName:String):BOOLEAN;
var
Shell:TShell;
ControlPanel:Folder;
Item:FolderItem;
i,j:integer;
Verb:FolderItemVerb;
begin
Result:= FALSE;
Shell:=TShell.Create(Application);
if Shell = nil then
exit;
ControlPanel:=Shell.NameSpace(ssfCONTROLS);
for i:=0 to ControlPanel.items.Count -1 do
begin
Item:=ControlPanel.items.Item(i);
if (Item.Name = '网络和拨号连接') then //如果是英文的windows则Name也需是英文的
begin
ControlPanel:=Folder(Item.GetFolder);
break;
end;
end;
for i:=0 to ControlPanel.items.count-1 do
begin
Item:=ControlPanel.items.Item(i);
if (Item.Name = AdapterName) then //如果是英文的windows则Name也需是英文的
begin
for j:=0 to Item.Verbs.Count -1 do
begin
Verb:=Item.Verbs.Item(j);
if (Verb.Name = MenuName) then
begin
Verb.DoIt ;
Result:=TRUE;
break;
end;
end;
break;
end;
end;
FreeAndNil(shell);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
list:TStrings;
begin
List:=TStringList.Create ;
GetNetLinkList(List);
ComboBox1.Items:=List;
FreeAndNil(List);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ExcNetLinkMenu('本地连接 2','启用(&A)');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ExcNetLinkMenu('本地连接 2','禁用(&B)');
end;
end.
- 禁用、启用本地链接(网卡)
- 检测网卡状态(禁用,启用)
- 禁用启用网卡
- 网卡禁用和启用
- 禁用/启用网卡
- 禁用/启用网卡
- 网卡禁用启用,usb监测,禁用启用
- 编程实现启用禁用网卡
- 程序禁用启用网络/网卡
- 网卡禁用 启用演示程序
- 用SetupDi* 启用/禁用网卡
- c# 启用禁用指定网卡
- netsh之禁用、启用网卡
- 实用工具:devcon(附启用禁用网卡范例)
- bat控制网卡禁用和启用(不用DevCon工具)
- 演示如何编程实现启用禁用网卡
- 用程序禁用与启用网卡
- R3模式下禁用启用网卡
- 如何访问一个进程的内存空间
- Spring简介
- 无标题窗口的移动
- java实现可视时钟
- Visual Studio中的Class Designer设计工具需要您的建议!
- 禁用、启用本地链接(网卡)
- java学习第一天
- Windows 2K不用驱动进入ring0(demo)
- 联众密码的逆向算法
- 盛大技术经理金万钠谈:技术高手的十三个原则
- 反病毒引擎设计全解(四)
- 树的建立,遍历,及相关应用
- 让你的FireFox能够智能的切换输入法
- 手机 SMS PDU 格式参考手册