Click here to Skip to main content
15,881,559 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have small VC++ program, I want to place my output console window in the system tray not in the task bar when I have minimize the window.
I am new in vc++ please help me, how could I do this.
Updated 20-Sep-12 7:12am
Sergey Alexandrovich Kryukov 20-Sep-12 13:26pm    
Console window?! It does not look to be a good place for such window... I wonder why?

1 solution

Basically, you need to use Shell_NotifyIcon:[^].

This is some tutorial:[^].

However, this is a bad place for a console application, in my opinion. The main use of this Shell feature is to provide a tiny UI, or even two views of such UI: one cold provide a visual notification in the area dedicated to "shell notify" application, and the click on it could show a bigger but still small window immediately next to the "notify icon" area, with some UI control. As you can see, this behavior is largely oriented to the windowed applications.

If you simply need the access to your or some other important applications in some convenient predictable location, perhaps you should need to make a simple system utility which behaves like a typical "notify icon" application but is used to conveniently activate other applications, some of them could be just console applications. You can devise some mechanism of registration of client applications with your utility "host" application, so your client application could be completely hidden when a user minimizes them, but represented as a clickable area in your utility screen, so the click could activate your client applications.

I would not say this would be so convenient to justify the effort. It you still think it would, you can successfully achieve it following the road map I just depicted.

Good luck,
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900