如何获得本地连接的名称啊 ( 积分: 100 )

  • 主题发起人 主题发起人 qdlover
  • 开始时间 开始时间
Q

qdlover

Unregistered / Unconfirmed
GUEST, unregistred user!
主要是要修改ip

搜索到的方法都是
netsh 命令行修改

可是需要知道本地连接的名称,所有的文章无一例外都是用"本地连接"给忽略这个问题了

应该怎么才能做到类似ms的ip配置啊,或者怎么呼出ms的ip配置对话框啊
 
主要是要修改ip

搜索到的方法都是
netsh 命令行修改

可是需要知道本地连接的名称,所有的文章无一例外都是用"本地连接"给忽略这个问题了

应该怎么才能做到类似ms的ip配置啊,或者怎么呼出ms的ip配置对话框啊
 
netsh interface ip set address "Local Area Connection" static 192.168.0.199 255.255.255.0
 
我的问题是Local Area Connection 这个名字怎么自动通过程序得出来
 
如何用Delphi实现WINDOWS XP中“本地连接”的启用和禁用 ? 选择自 fsxlh 的 Blog
关键字 如何用Delphi实现WINDOWS XP中“本地连接”的启用和禁用 ?
出处

(******************************************************************************
* CopyRight (c) By 姚佩云 2004
* All Right Reserved
* Email : i_rock_1001@163.com http://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
* 首发大富翁(http://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.




作者Blog:http://blog.csdn.net/fsxlh/
 
接受答案了.
 
后退
顶部