Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
ripken204

Safely Remove Hardware Icon(that everyone hate)

Recommended Posts


ok, anyone here know asm? the reason i ask is because i dont know how else to delay HideSRHi.exe from running untill after the icon loads into the system tray other than coding it into the program itself. so... if some one could just code in a 30-60 second delay into the autors code.. he said it is open source so as long as we give credit where its due it should be fine.

.386
.model flat, stdcall
option casemap :none

include ..\include\windows.inc
include ..\include\user32.inc
include ..\include\kernel32.inc
include ..\include\shell32.inc

includelib ..\lib\kernel32.lib
includelib ..\lib\user32.lib
includelib ..\lib\shell32.lib

main PROTO

.data
   sClass       db "SystemTray_Main",0

.code

start:
   invoke main

main proc

       LOCAL data :NOTIFYICONDATA

       invoke FindWindow, ADDR sClass, NULL
       cmp eax, 0
       je notfound
       push eax
       invoke RtlZeroMemory, ADDR data, sizeof NOTIFYICONDATA
       mov data.cbSize, sizeof NOTIFYICONDATA
       pop eax
       mov data.hwnd, eax
       mov data.uID, 1226  
       invoke Shell_NotifyIcon, NIM_DELETE, ADDR data
       ret    

   notfound:
       invoke ExitProcess, 0
       ret
       
main endp

end start

thats the asm of it i suggest downloading the little package from the link given earlier in this topic. but againg i think about 45 seconds should give the icon enough time to load so that HideSRHi.exe can find it and then remove it at startup.

Share this post


Link to post
Share on other sites

Either that or understand what the code is actually doing, and make the changes permanent. I will look into this a bit as soon as i can, maybe someone else can explain what is happening in this code?

Share this post


Link to post
Share on other sites

After a post i made in the nlite forum DigeratiPrime pointed out this thread to me. He thought you might find the info usefull.

Basicly i removed batmeter.dll with nlite, which stopped the SRHI from showing.

Link to my post

DigeratiPrime, thanks for that shortcut to the remove dialog box. Now i can get rid of that dll and use the shortcut to remove my devices. No more annoying icon. :thumbup

Share this post


Link to post
Share on other sites

I finally got around to testing this out, and it works perfect. :thumbup

Just go into the System32 folder and rename batmeter.dll to batmeter.bak.

And its gone. :hello::D

Also you can create a shortcut to open the Dialog box Without using the Tray Icon.  Just create a shortcut to:

%windir%\System32\RUNDLL32.EXE shell32.dll,Control_RunDLL hotplug.dll

Share this post


Link to post
Share on other sites

batmeter.dll always comes back, now it's saying access denied (file in use). What do you guys recommend?

Share this post


Link to post
Share on other sites

Anyone?

I tried "regsvr32 /u batmeter.dll" but it says:

Batmeter.dll was loaded, but the DllUnregisterServer entry point was not found.

This file can not be registered.

How can I remove this DLL?

Share this post


Link to post
Share on other sites

Control Panel>Folder Options

click on the view tab

uncheck "hide extensions for known filetypes"

then rename batmeter.dll to batmeter.bak

reset computer or restart explorer.exe from taskmanager.

Share this post


Link to post
Share on other sites

DigeratiPrime...

I already have that option enabled in explorer. I've already renamed batmeter.dll to batmeter.bak. Moments later, the file batmeter.dll was replaced. So now I have both batmeter.dll and batmeter.bak. Now when I try to delete bakmeter.dll, it says Access Denied (file in use or write protected). I can delete it if I reboot into safe mode, but it is replaced again when I reboot. How the hell can I remove this.

Thanks.

Share this post


Link to post
Share on other sites

Disable the System Restore Service, you computer will thank you.

  1. Select Start followed by Control Panel, and double-click the System icon. Then:
  2. Click the System Restore tab on the System dialog box
  3. To enable, clear the Turn off System Restore check box
  4. To disable, select the Turn off System Restore check box
  5. Click OK when done

Share this post


Link to post
Share on other sites

Ok, tried your suggestion, no workie but good guess. I even tried creating an empty file called batmeter.dll to put in it's place after I renamed it, but moments later it was again replaced with the 28KB file. Grr...

You think this could be caused by my antivirus program or Microsoft AntiSpyware?

Thanks for the help.

Share this post


Link to post
Share on other sites

you might need to disable Windows File Protection.

http://unattended.msfn.org/advanced/hackedfiles/wfp.htm

Alot of people here use unattended windows cd's that already have these tweaks by default, hence why i forgot to mention them. I'll update if i find a way of getting around this.

[EDIT] If this dll is disabled you will not be able to access power options in the control panel.

Edited by DigeratiPrime

Share this post


Link to post
Share on other sites

Hi there :hello:

Sorry for bringing this up again....

If i rename batmeter.dll to batmeter.bak, the volume icon from taskbar is also gone.

Any workaround this?

Share this post


Link to post
Share on other sites
Hi there :hello:

Sorry for bringing this up again....

If i rename batmeter.dll to batmeter.bak, the volume icon from taskbar is also gone.

Any workaround this?

You should really leave your battery meter alone....

Here is an installer I made using the HideSRHi.exe posted earlier...

to work around the problem of it loading to early, I just call it using vbscript and a 5second wait....

Open the install dir and edit HideSRHi.vbs if you need to change this wait time... (Mainly for slower PCs)

Edited by AmphetaMarinE

Share this post


Link to post
Share on other sites

Thanks, it works. :hello:

I probably disabled windows script host because i get "windows script host is disabled on this machine". I got around this by unchecking HideSRHi.vbs in msconfig and running HideSRHi.exe at startup.

Share this post


Link to post
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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...