Jump to content

Disable that annoying network connectivity icon


Recommended Posts

Howdy folks.

I've just noticed that Windows XP SP2 has a very annoying network connectivity icon that pops up when you're no longer able to browse a network due to not having an IP (when set via DHCP).

I'm wondering if anyone out there happens to have some .cmd script or .vbscript that can be run to disable it? I've tried a registry method, but you have to know the specific key in which to insert the key to disable it (and that changes from installation to installation).

If anyone could help, it would be appreciated.

Link to comment
Share on other sites


I use this to turn the Network Icon on for all LAN connections when a cable is connected. I would think that you could modify it for your purposes. If you do ... I would like to see how you did it!

@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

FOR /F "TOKENS=1 DELIMS= " %%A IN ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}') DO (

SET TEMP1=%%A
SET TEMP2=!TEMP1:~99,38!
SET TEMP3=!TEMP2:~-1!

IF "!TEMP3!"=="}" (

 IF NOT "!TEMP2!"=="{4D36E972-E325-11CE-BFC1-08002BE10318}" (

  SET REGSTR1=HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\!TEMP2!\Connection
  SET REGSTR2=HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\!TEMP2!

  REG ADD !REGSTR1! /v ShowIcon /t REG_DWORD /d 1 /f
  REG ADD !REGSTR2! /v IPAutoconfigurationEnabled /t REG_DWORD /d 0 /f

 )

)

)

I think you, neophyte, can understand the code. If not, let me know, as well as the registry setting involved. Please do post back your solution: I would like this, too.

Link to comment
Share on other sites

  REG ADD !REGSTR1! /v ShowIcon /t REG_DWORD /d 1 /f

  REG ADD !REGSTR2! /v IPAutoconfigurationEnabled /t REG_DWORD /d 0 /f

Hmm, wouldn't you be able to change the ShowIcon REG_DWORD to /d 0 /f to turn it off? Not had the oppertunity to try it, but it seems logical. Since it seems that you already have the Autoconfig disabled.

**EDIT**

of course:

I've tried a registry method, but you have to know the specific key in which to insert the key to disable it [b][i](and that changes from installation to installation)[/i][/b].
doesn't help matters any. Unless you could assign that key each time to each computer. Why it would change is what I don't understand, unless it's a dynamically created key dependant on the MAC address of the network controller, or something.
Link to comment
Share on other sites

The key to disable it is IpCheckingEnabled (Dword of 0).

So, this is the code to change it to disabled:

@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

FOR /F "TOKENS=1 DELIMS= " %%A IN ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}') DO (

SET TEMP1=%%A
SET TEMP2=!TEMP1:~99,38!
SET TEMP3=!TEMP2:~-1!

IF "!TEMP3!"=="}" (

IF NOT "!TEMP2!"=="{4D36E972-E325-11CE-BFC1-08002BE10318}" (

 SET REGSTR1=HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\!TEMP2!\Connection

 REG ADD !REGSTR1! /v IpCheckingEnabled /t REG_DWORD /d 0 /f


)

)

)

Thanks for the general pointer GreenMachine

@DisabledTrucker: It seems that the subkey within HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318} changes between installations, this is why you need a batch file to process the right one.

Also, as far as I can see, it should disable it for all network connections. If it doesn't, then I'm stumped (not much into the coding stuff, but I can generally pick my way through stuff to hack it :P)

Link to comment
Share on other sites

@neophyte: That is what I can't understand is to why that key changes with each installation, as it should be the same with each one, unless it's using the MAC address or something else to code a new key for it. There are instances where a key is used for a program/device but it stays the same no matter what computer it's installed on. The ones which aren't is what baffles me as to why they aren't, unless it's somehow coding a registration key for activation of the device or something, but that shouldn't be necessary for a network connection, unless your using different equipment on each computer that your installing it on. Such as brand x for one computer and brand y for another, etc.

I too am not much into the coding part of things much, but like you, I too, can hack my way through it if need be.

Link to comment
Share on other sites

It appears to be using the MAC address to generate a random key.

This is a copy of the key I attempted to use the first time to disable it:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{CF1E0E23-B04F-4890-9B90-C4ECB4DC4824}\Connection]

Second time (new installation, on the same computer, no hardware changes, no software changes)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{970D937B-B2CA-47B1-9C39-7F69FBF2992F}\Connection]

The behaviour is indeed strange, but nonetheless, we have a work around :)

Oh, BTW, this will disable the icon for any network connection, it will even do so for firewire devices (so my tests seem to indicate).

Link to comment
Share on other sites

The key to disable it is IpCheckingEnabled (Dword of 0).

Thanks, neophyte. It was late last night when I replied ... certainly didn't feel like working, and I knew you'd get it once pointed in the right direction!

I never really looked into where those GUID numbers come from in this case, but I needed a generic answer for my desires, and as you said, "We have a workaround"

Link to comment
Share on other sites

Heya GreenMachine. I've used this to rename my network connection on all the PC's I use. Thanks for this.

BTW: What do the "TEMP" variables mean? I mean the :~99,38 part... Oh, and can the !'s be changed to %'s or do they have to stay at !'s?

Link to comment
Share on other sites

@RaveRod: The ~99,38 part just takes a sub-string of the whole registry key. Reverse engineering showed me that this value had to be {4D36E972-E325-11CE-BFC1-08002BE10318}. I suppose TEMP3 might could be done away with - but I really don't remember why I deemed that was the way I needed to do it. It's working fine for me, so I won't be "fixing" it.

The !s cannot be replaced with %s, because delayed variable expansion is required in the FOR loop, otherwise %TEMP% would only be evaluated once upon interpretation, and would always have its initial value, NULLSTRING in this case. In the same vain, you also need "ENABLEDELAYEDEXPANSION", and this would not work on DOS, just the CMD interpreter in NT/2K/XP.

I will point out that it was IcemanND that gave me the pointers for this in one of his VB scripts.

Link to comment
Share on other sites

I had to comment on this one, Thanks GreenMachine!

That batch file is awesome. I've needed that for years, but was too lazy to do it myself. The way you write those for loops and use the delims and tokens is amazing. I've been writing batch files since DOS 2, but I have to say, you are the batch master!

:)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...