禁用网卡后不显示"打叉"的图标?

hjkto 2009-11-01 08:40:11
通过代码禁用网卡,不想让它在设备管理器的图标上"打叉"
请问有什么办法实现?
...全文
263 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjkto 2009-11-14
  • 打赏
  • 举报
回复
up
hjkto 2009-11-07
  • 打赏
  • 举报
回复
up
haitao 2009-11-07
  • 打赏
  • 举报
回复
网卡属性里不选中 连接后在通知区域显示图标 ,会不会就不显示了?
这个选择应该也在注册表里的
hjkto 2009-11-07
  • 打赏
  • 举报
回复
up
hjkto 2009-11-06
  • 打赏
  • 举报
回复
up
hjkto 2009-11-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 apilove 的回复:]
替换系统图标?
[/Quote]

这个手动都有点麻烦,我试过了
何况是代码实现?
apilove 2009-11-05
  • 打赏
  • 举报
回复
替换系统图标?
hjkto 2009-11-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 rock1001 的回复:]
使用setupapi会有叉。
另一种思路 HOOK掉相关函数,达到屏蔽网卡通讯
[/Quote]

指点?
hjkto 2009-11-04
  • 打赏
  • 举报
回复
up
rock1001 2009-11-04
  • 打赏
  • 举报
回复
使用setupapi会有叉。
另一种思路 HOOK掉相关函数,达到屏蔽网卡通讯
hjkto 2009-11-03
  • 打赏
  • 举报
回复
自己顶一下
再说明一下
手动禁用网卡后,在设备管理器中,网卡图标前不是有一个红叉吗,我想禁用网卡但不想红叉出现
贝隆 2009-11-02
  • 打赏
  • 举报
回复
没有看懂,帮顶
hjkto 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 rock1001 的回复:]
gyk120 转帖的代码是我以前写的,里面还有一些我的信息,版主忘记加了:)
禁用网卡,深层次的用SetupApi
[/Quote]

忘记加的部分,能发一下吗?
深层次的用SetupApi,能否达到,我要的效果?
rock1001 2009-11-01
  • 打赏
  • 举报
回复
gyk120 转帖的代码是我以前写的,里面还有一些我的信息,版主忘记加了:)
禁用网卡,深层次的用SetupApi
hjkto 2009-11-01
  • 打赏
  • 举报
回复
版主 ,这个和我要的哪个效果不一样
我想停用网卡后,把哪个红叉去掉
??
hjkto 2009-11-01
  • 打赏
  • 举报
回复
[Fatal Error] Unit1.pas(7): File not found: 'Shell32_TLB.dcu'
gyk120 2009-11-01
  • 打赏
  • 举报
回复
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.
hjkto 2009-11-01
  • 打赏
  • 举报
回复
不是删除网卡,是禁用网卡
删除完了,还得要装上,麻烦
hjkto 2009-11-01
  • 打赏
  • 举报
回复
???
gyk120 2009-11-01
  • 打赏
  • 举报
回复
删除网卡设备……
加载更多回复(1)
1、以管理员身份运行命令提示符: 快捷键win+R→输入cmd→回车 2、启用并设定虚拟WiFi网卡: 运行命令:netsh wlan set hostednetwork mode=allow ssid=wuminPC key=wuminWiFi 此命令有三个参数,mode:是否启用虚拟WiFi网卡,改为disallow则为禁用。 ssid:无线网名称,最好用英文(以wuminPC为例)。 key:无线网密码,八个以上字符(以wuminWiFi为例)。 以上三个参数可以单独使用,例如只使用mode=disallow可以直接禁用虚拟Wifi网卡。 开启成功后,网络连接中会多出一个网卡为“Microsoft Virtual WiFi Miniport Adapter”的无线连接2,为方便起见,将其重命名为虚拟WiFi。若没有,只需更新无线网卡驱动就OK了。 3、设置Internet连接共享: 在“网络连接”窗口中,右键单击已连接到Internet的网络连接,选择“属性”→“共享”,勾上“允许其他······连接(N)”并选择“虚拟WiFi”。 确定之后,提供共享的网卡图标旁会出现“共享的”字样,表示“宽带连接”已共享至“虚拟WiFi”。 4、开启无线网络: 继续在命令提示符中运行:netsh wlan start hostednetwork (将start改为stop即可关闭该无线网,以后开机后要启用该无线网只需再次运行此命令即可) 至此,虚拟WiFi的红叉叉消失,WiFi基站已组建好,主机设置完毕。笔记本、带WiFi模块的手机等子机搜索到无线网络wuminPC,输入密码wuminWiFi,就能共享上网啦!
小软件,当然也可以 1、以管理员身份运行命令提示符: 快捷键win+R→输入cmd→回车 2、启用并设定虚拟WiFi网卡: 运行命令:netsh wlan set hostednetwork mode=allow ssid=mywifi key=12345678 此命令有三个参数,mode:是否启用虚拟WiFi网卡,改为disallow则为禁用。 ssid:无线网名称,最好用英文(以mywifi为例)。 key:无线网密码,八个以上字符(以12345678为例)。 以上三个参数可以单独使用,例如只使用mode=disallow可以直接禁用虚拟Wifi网卡。 2,开启成功后,网络连接中会多出一个网卡为“Microsoft Virtual WiFi Miniport Adapter”的无线连接。若没有,只需更新无线网卡驱动就OK了。 3、设置Internet连接共享: 在“网络连接”窗口中,右键单击已连接到Internet的网络连接,选择“属性”→“共享”,勾上“允许其他······连接(N)”并选择“虚拟WiFi”。 确定之后,提供共享的网卡图标旁会出现“共享的”字样,表示“宽带连接”已共享至“虚拟WiFi”。 4、开启无线网络: 继续在命令提示符中运行:netsh wlan start hostednetwork (将start改为stop即可关闭该无线网,以后开机后要启用该无线网只需再次运行此命令即可) 至此,虚拟WiFi的红叉叉消失,WiFi基站已组建好。笔记本、带WiFi模块的手机等子机搜索到无线网络mywifi,输入密码12345678,就能共享上网啦!

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧