windows system tray application like the volume application - c#

I would like to create a application very similar to the windows 7 volume bar which is located in the system tray. I'm new to windows development and would like a point in the right direction.
Should i just make a normal application and just put in the system tray?
I don't need a main window for the application, it has to accessible only via system-tray (i need only the volume bar, nothing else)... how can i do this?
Would it be better to write it in C++ instead of C#?
How can i detect the "volume" of the sound that is outputted by windows (even if the system sound is muted)?
Thanks for your reply's.

You can by using the class NotifyIcon. Just google for it to find samples. Here is one.

Related

How to detect when my application window is screen shared

How can I detect on Windows OS level when any of my desktop application window is screen shared by any screen sharing tool. I am sure any screen sharing tool can not do screen sharing to remote user without support from Windows OS. I want to know what is that "something" which is set/done when any desktop app window is screen shared. I am writing a desktop app and want to behave differently when my app window is screen shared. I am looking for a generic solution and not specific to screen sharing tool. Any pointer to detect it manually or code snippet around this will be of great help. Thank you.

How to make Virtual extended screen on windows machine?

I have to develop a windows application whose intention is to split screen in to two virtual monitors like we plug second monitor and windows detect these two monitors and provide settings according to like in this screen shot.
I have to achieve this functionality virtually simulating that a second monitor is attached.
Please guide me how this can be achieved and what logics I should follow?
What kind of windows API I should focus on?
Do I need to interact with windows display drivers or what so ever?
This application has to be developed in C# or VB or VC++ whichever is easy to build in.
The output of this app will cause the screen to be split in two screens and should appear as two separate screens to other applications.
Thanks & Regards.
There might be a api to do it, but for $10 you can get an dongle that plugs in to the computer and creates a fake display. This is the one I used to do it and was happy with.

Minimize Windows 8 Store App while tracking location with GPS

I'm working on a metro app and am having trouble finding how not to show the application.
We recently deployed tablets to our field reps, and need to add gps tracking. GPS is much easier to deal with in the metro libs (it's like 4 lines of code vs. unmanaged) so we're hoping to be able to push a metro app instead of spending time coding a winforms/wpf desktop app (the tablets are full version windows, so it's an option if we can't hide a metro app. I feel like it should be possible though as the start screen tiles update automatically without opening the main program).
In WPF, it's fairly simple to make a window invisible. I'm creating the metro app in wpf, but it uses different libs than desktop and I may just not know how to do it.
In desktop programs, it's fairly simple. You do something along the lines of:
<Page
x:Class = xxxxxxxx
..
Visibility="Hidden">
Unfortunately, with metro, the only options I have are collapsed and visible. Collapsed doesn't seem to have any effect, unless it's just because it's not deployed and visual studio shows it anyway...
So basically I'm trying to figure out if there's a way to start the program minimized or hidden so that it doesn't interrupt the field reps every time it takes their location.
If you really want to make a metro app and want it to run "minimised" you will need to look at background task. To start the background task the user would still need to start the app at least once, futhermore background task have limitation how how often and how long they can run. Also there is a lot of constraint on deploying a windows store app if you cannot publish it in the store.
If your goal is to just have access to GPS through C# apis, the GPS is actually one of the winRT api you can use from the desktop, you can find a tutorial on how to access winRT api from the desktop here
Here is the complete list of winRT api accessible from the desktop (You can find Geoposition class among them).
Have you looked into creating a background task that transmits GPS? The background task can run without the app running.
I am not entirely certain you can voluntarily minimize a Windows Store App on a user's behalf. I see nothing in IntelliSense about it, nor have I found anything online or see any app do it.
However, be aware that deploying the app without using the Windows Store -- sideloading -- requires Windows 8 Enterprise edition computers joined to the domain OR Windows 8 Pro with a sideloading key ($30 per key, purchased in packs of at least 100.) Perhaps a WPF app with unmanaged code is worth the money and effort.

How to use a monitor which is not part of desktop (Windows 7)

I would like to use a monitor which is actually marked "disconnected" in the windows control panel under "Change display settings". (I do NOT mean a physically disconnected monitor.)
I know how to add a second monitor in Windows and make it part of desktop. I also know how to make my application run on a primary or on secondary monitor when they are part of desktop.
I have a piece of equipment attached to the PC which has a touch screen on it. The touchscreen is connected to the PC over USB looking as an ordinary USB-Monitor and I can make it part of my Windows desktop. But that is not what I want.
What I would like to do is make sure that only one special application can run on this monitor. I also do not want to have a windows desktop on it because than the user could move any window to it which is not what I want. The idea behind all this is to use the touch screen to have an application on it which can control this external piece of equipment. The user would only have to run the PC but not to login. I was thinking about starting the app from a windows service before the windows desktop is loaded. And once the user logs in I do not want him to be able to use the touch screen for anything else except this special application. That is why the touch screen must not be part of the windows desktop but ”deactivated”.
I am using . NET 4.0 and C# for my application, but I will use C++ or whatever comes handy.
Any help or idea is appreciated. Thank you!
It seems WDDM does not support independent displays any more. Here are a few links in case somebody wishes to take a look for himself:
(old MSDN link) = /windows/win32/gdi/multiple-display-monitors
(old MSDN link) = /windows/win32/gdi/using-multiple-monitors-as-independent-displays
The important part is this note from the second link:
ⓘ Note
Using other monitors as independent displays isn't supported on drivers that are implemented to the Windows Display Driver Model (WDDM).

how to locate a program to desktop by C#

i want to do a program that like daily organizer or agenda. i want that program runs on desktop like a wallpaper but as transparantly. (like the clock on vista). how can achieve this by c#. i only ask to locate program on desktop.
thanks.
You need to create a Windows Sidebar Gadget, which is typically an HTML "application", an HTML "application" that hosts Flash (Silverlight may work as well, although I'm not sure), or a C# application, as shown here.

Categories

Resources