Changing taskbar button color on Windows - c#

Multiple instances of the same application are running at the same time, and since each has multiple windows, it is not easy for the user to navigate between them. I help users by setting the titlebar color of different application instances to a different value. For example, all windows of the app instance started first will have red titlebar, all windows of the second instance will have a green one, etc.
It would also be useful to set the taskbar button color of app instances to the color I use for the titlebar. Is this possible? If not then I would be happy with a solution having similar differentiating effect, like setting the color of the text on the taskbar button, adding an overlay icon to it, etc.
The solution should work on Windows XP and later Windows versions. The language can be C/C++, C# or Delphi. Thank you very much in advance!

You cannot hope to achieve differently coloured taskbar buttons.
You could install your own shell and take complete control of the taskbar, but you can't expect your clients to do that.
You cannot expect to paint over the top of the Windows taskbar. The taskbar is animated. How are you going to keep up with that? How are you going to even know where the buttons are? I don't believe that there is a public API that will tell you that. I think you have to rule that idea out.
There is an API that allows you to change the colour of a taskbar button. It's the taskbar progress API added in Windows 7. You could use that to make your taskbar buttons yellow, green or red. I personally would not recommend that since the user will think you are showing progress.
The main options that are available to you are to change the window caption, and so the text that appears in the taskbar button. Or to change the icon.

Related

Place an application's icon into system tray

I'm making a desktop mascot with unity, and I do not want to see the icon appearing on the task bar, I want the icon in the system tray. Is there a way to do this?
PS: This is NOT a windows form (it's a game), so I believe Form.ShowInTaskbar will not work.
I've never programmed in Unity, but I'm assuming you are working in a Windows window. If you make the top level window for the application not appear in the main area of the Taskbar, make the window a "Tool Window" (by setting the WS_EX_TOOLWINDOW extended style on the window), then the window/app will not show up on the taskbar.
I'll leave it to someone how knows enough Unity to tell you how to set that style. Here's a reference to start with (on the Windows side, not the Unity side): Managing Taskbar Buttons

Windows phone minimal commandbar ellipsis interfering with my controls

If I try to hit the 'clear' button on my filter TextBox, the command bar thinks I'm trying to hit the ellipsis and opens, without letting my click through to the cross.
Is there anyway I can get around this?
ApplicationBar is a system control where we can't do much. We can change colors, opacity and that's all. There is no way to modify this behavior.
You have to consider changes in your design. For me as a user and graphics designer it's really strange that your search box is on the bottom. It's natural to put it on the top. It's on the top everywhere in Windows Phone, so I suggest you to be consistent with the OS.

C# Desktop App Bar (Somewhat Like a taskbar)

I've been googling a lot for this one and I can't seem to find anything. Maybe it's the way that I'm wording it. So basically what I'm looking to do in C# using Windows Forms, is create a form and have it essentially take the shape of the taskbar and do the same functions as the taskbar, but it will sit above the task bar or at the top of the screen.
It can't be "ON TOP" (I'm not trying to block user buttons like the close button of a program they are using).
Autohide would be a plus.
This is the main thing I'm after:
It needs to act just like the task bar. When you maximize any other window, the taskbar does not go over the top of the window, even though it is set to "on top".
You'll want to use an Appbar to do this:
http://msdn.microsoft.com/en-us/library/cc144177.aspx
For more information, check out here and here and here.
If you don't want to deal with C++ and Native Code (as #FKunecke correctly proposed) then you'll not find anything predefined for this. What you can do is create a form for your bar and make the visualization calculations by hand, then you can set the screen location of it. That's all. Not forcing the bar form to stay on top will not hide the other app forms so you'll get that for free.
Now, to fully implement what you want there are some problems you need to deal with, such as Taskbar location and height. Then you'll need to use some native code tricks.

Change Windows 7 Window Colour

I've got a question but not sure if its possible. Is it possible to change the Windows 7 Window colour from .Net.
So this isn't the content of the window as that is easy i'm talking about the header title itself and allow the .Net app make the header transaperant like you can have in Window 7 and change the colour too etc.. Is there some sort of Window api that i can hook into to do this that anyone knows of.
The reason i want to do this is in Window you can obviously set your theme and window colours but i want my app to have all dialogs with the same sort of styling so i can change the window content but the window header i can't and if the user has set their window colour to a strange colour then it looks strange against my themed app.
Thanks for any help in advance.
Iffy.
i can't and if the user has set their window colour to a strange colour then it looks strange against my themed app.
That should be left up to the user, and you should not change settings that are explicitly set by the user for their operating system installation. This will drive more users away. If this is for your own personal use then it would be okay, but don't change a users Windows settings (of any kind).
If it really looks that bad, you should consider a custom skinned Window for your application only.
Yes, it's possible. This is a MSDN article describing it:
http://msdn.microsoft.com/en-us/library/bb688195%28VS.85%29.aspx
The code is in C++ but it should be easy to get it working in C#

How do you display Taskbar notifications?

How would one go about displaying taskbar notifications?
I want to write an app that periodically displays a flash card esque notification, the intention is to see if a 5 second or so distraction every hour can help with language learning.
In .NET you can use the Notification Icon to place a notification in the system tray.
For the application you describe, I probably wouldn't use a notification icon or taskbar icon. You'll likely need a larger window displayed, with larger font.
I'd open a frameless window (possibly faded or scrolled into view) that sits in the lower-left of the desktop. (Although of course remember that not everyone has the taskbar at the bottom of the screen).
As an example, look at what Outlook or many RSS readers do to notify of new messages - this feature is commonly called a "toast" pop-up.

Categories

Resources