Board logo

标题: [系统相关] 【已解决】求助如何用批处理在系统托盘显示本地连接图标? [打印本页]

作者: waa333    时间: 2009-3-23 22:22     标题: 【已解决】求助如何用批处理在系统托盘显示本地连接图标?

因为每个网卡的MAC地址都不一样,能用批处理让其显示出来?注册表也行。。。

[ 本帖最后由 waa333 于 2009-3-26 20:43 编辑 ]
作者: Batcher    时间: 2009-3-23 22:45

到底是显示MAC地址还是本地连接?
作者: waa333    时间: 2009-3-23 22:47

显示【本地连接】
作者: cutebe    时间: 2009-3-25 14:51     标题: 适用于只有一张网卡的情况

  1. ::适用于只有一张网卡的情况
  2. @echo off
  3. set NC=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
  4. for /f "tokens=3" %%i in ('"reg query "%NC%" /s|findstr/i "ServiceName""') do (
  5.  set NetCardID=%%i
  6. )
  7. set showLink=HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%NetCardID%\Connection
  8. reg add %showLink% /v ShowIcon /t REG_DWORD /d 1 /f
  9. reg add %showLink% /v IpCheckingEnabled /t REG_DWORD /d 1 /f
  10. echo 已经可以显示了,按任意键退出。
  11. pause
复制代码

作者: waa333    时间: 2009-3-25 16:22

谢谢楼上的帮忙
代码可以用,只是要注销或重新启动才能行。
我加下面的代码想刷新一下,为什么没有立即将【本地连接】显示出来?
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

我只想立即把结果显示出来,希望楼上再看看问题出在哪里?

我将代码改为下面的内容:(其实就是不希望出现黑色的窗口和按键盘)【难道这也有错误?】
@echo off
set NC=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
for /f "tokens=3" %%i in ('"reg query "%NC%" /s|findstr/i "ServiceName""') do (
 set NetCardID=%%i
)
set showLink=HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%NetCardID%\Connection
reg add %showLink% /v ShowIcon /t REG_DWORD /d 1 /f
reg add %showLink% /v IpCheckingEnabled /t REG_DWORD /d 1 /f
作者: cutebe    时间: 2009-3-25 17:56

最后加句:ntsd -c q -pn explorer.exe
作者: Batcher    时间: 2009-3-25 19:13     标题: 回复 5楼 的帖子

有些注册表键值修改后需要重启资源管理器生效,可以这样实现:
taskkill /f /im explorer.exe
start explorer.exe

有些注册表键值修改后需要刷新桌面生效,可以这样实现:
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

有些注册表键值修改后可以直接生效。
有些注册表键值修改后需要重启explorer生效。
有些注册表键值修改后必须重启或者注销才能生效。
作者: waa333    时间: 2009-3-26 20:43

谢谢两位的帮助




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2