Finally: Remove annoying TabletPC icon from systray: Unterschied zwischen den Versionen

Aus NOBAQ
Zur Navigation springenZur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
<section begin="head"/>
 
<section begin="head"/>
[[Bild:tpc.png|left]] Quick download: http://www.nobaq.net/~niki/deltabletray/
+
[[Bild:tpc.png|left]] Quick download: [[Media:Deltabletray.zip]]
 
For a brief description, click on "read more"
 
For a brief description, click on "read more"
 
<section end="head"/>
 
<section end="head"/>
  
 +
= Introduction =
  
== Introduction ==
 
  
 +
I do not want to use the feature of WindowsXP to hide system tray icons. On the other hand, there is the tray icon "Tablet PC" which can't be removed. I searched the whole net but anybody gave the "tip" to hide it with XPs feature.
 +
I really don't need this icon because all of the features are accessible by hardware buttons.
  
I do not want to use the feature of WindowsXP to hide system tray icons. On the other side, there is the tray icon “Tablet PC” which can’t be removed. I searched the whole net but anybody gave the “tip” to hide it with XPs feature.
+
= Accessing system tray =
I really don’t need this icon because all of the features are accessible by hardware buttons.
 
  
  
== Accessing system tray ==
+
Accessing system tray isn't really a simple job. There is only one API function: Shell_IconNotify. This function sets an icon to system tray or removes it but only if a few parameters are known: The window handle of the window receiving the messages and an application defined ID.
 
 
 
 
Accessing system tray isn’t really a simple job. There is only one API function: Shell_IconNotify. This function sets an icon to system tray or removes it but only if a few parameters are known: The window handle of the window receiving the messages and an application defined ID.
 
 
Every user can call this function to remove/modify an icon but the problem is: where to get the hwnd and the uID?
 
Every user can call this function to remove/modify an icon but the problem is: where to get the hwnd and the uID?
  
 
+
= Enumerating systray icons =
== Enumerating systray icons ==
 
  
  
Zeile 26: Zeile 23:
  
  
== Spying data ==
+
= Spying data =
  
  
Zeile 34: Zeile 31:
 
It's compiled with lcc32.
 
It's compiled with lcc32.
  
== Kommentare ==
+
= Kommentare =
 
 
daniel sagt,
 
am 5. Jul. 2006
 
 
Nice work Nobaq!
 
Even though i do not have a tablet or use windows, i am very interested in the source-code of your feat.
 
so is it possible to publish it under the gpl?
 
 
greetings daniel
 
  
Curtis sagt,
+
<comments />{{:{{TALKSPACE}}:{{PAGENAME}}}}
am 7. Aug. 2006
 
 
BRAVO. thank you so much. I have wanted to get rid of that awful icon for so long,
 
and not use the lame hiding icons way. Millionen  Dank!
 
  
 
[[Kategorie:Weblog]]
 
[[Kategorie:Weblog]]

Aktuelle Version vom 17. Februar 2011, 22:48 Uhr

Tpc.png

Quick download: Media:Deltabletray.zip

For a brief description, click on "read more"


Introduction

I do not want to use the feature of WindowsXP to hide system tray icons. On the other hand, there is the tray icon "Tablet PC" which can't be removed. I searched the whole net but anybody gave the "tip" to hide it with XPs feature. I really don't need this icon because all of the features are accessible by hardware buttons.

Accessing system tray

Accessing system tray isn't really a simple job. There is only one API function: Shell_IconNotify. This function sets an icon to system tray or removes it but only if a few parameters are known: The window handle of the window receiving the messages and an application defined ID. Every user can call this function to remove/modify an icon but the problem is: where to get the hwnd and the uID?

Enumerating systray icons

I searched a lot in the net about that question and almost the one thing I could find is that’s not possible. At least not without reading out systray memory and do RE. But then I found a VB program that could read out the tooltips: http://www.freevbcode.com/ShowCode.Asp?ID=3291. I translated that code to C and tried it: After two hours work, it worked but only the tooltips are read out. Then I searched google a second time with better expressions: “ReadProcessMemory” and “NOTIFYICONDATA”. This combination should be only useful for reading out the NOTIFYICONDATA structures from system tray from another application. Along silly pages from experts-exchange (the want to be paid for viewing forum posts - really ugly!) I finally found a solution on codeproject. This app only works with WindowsXP and does not rawly read out memory. Instead, it uses toolbar functions. I simply extened this program to read out/display all the other functions needed.


Spying data

I finally found out the HWND of the window and that the uID was zero. The name of the window I obtained with spy by searching for the window handle. It belongs to a window with window class “TabBtnU_MonitorWndClass”. This window belongs to a process called tabbtnu.exe, which also recreates the icon after the process is killed. So it was very easy to implement a small program that gets the HWND with FindWindow, fill in a NOTIFYICONDATA and call Shell_NotifyIcon. That’s all what the little exe file does.

It's compiled with lcc32.

Kommentare

<comments />

daniel said ...

Nice work Nobaq! Even though i do not have a tablet or use windows, i am very interested in the source-code of your feat. so is it possible to publish it under the gpl?

greetings daniel


--daniel 01:18, 5. Jul 2006 (MSD)

Curtis said ...

BRAVO. thank you so much. I have wanted to get rid of that awful icon for so long, and not use the lame hiding icons way. Millionen Dank!

--Curtis 01:18, 7. Aug 2006 (MSD)

espi said ...

Hi, this utility is gone and I was so happy to find it! Please, can you post the download back again? Or email espi at ymail dot com would be fantastic for my TC1100

--espi 11:22, 8. Jul. 2009 (MSD)

Niki said ...

Thank you, the tool is available again (http://www.nobaq.net/~niki/deltabletray/)

--Niki 13:41, 15. Jul. 2009 (MSD)

Dawn said ...

The link is dead. Any chance someone could put the program up again? Thanks.

--Dawn 20:29, 17. Feb. 2011 (CET)

Niki said ...

Dear Dawn,

Thank you for the comment.

I will update the link within the next hours. Please stay tuned and look here again tomorrow.


--Niki 20:50, 17. Feb. 2011 (CET)

Niki said ...

Hi,

I have uploaded the tool again: Media:Deltabletray.zip

Regards, Niki


--Niki 22:01, 17. Feb. 2011 (CET)