Windows 7 Taskbar Integration for MFC Applications
- Posted: Feb 22, 2011 at 2:47 PM
- 38,003 Views
- 9 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- High Quality WMV (PC, Xbox, MCE)
- MP3 (Audio only)
- Mid Quality WMV (Lo-band, Mobile)
- High Quality MP4 (iPad, PC)
- MP4 (iPod, Zune HD)
The new Windows 7 taskbar provides capabilities that you can (and should) take advantage of in your applications. These capabilities include Jump Lists, pinning, live taskbar previews and more. In this screencast, Kate Gregory (@gregcons) provides an overview of these capabilities and demonstrates how to support them in your applications built with the MFC (Microsoft Foundation Class) library.
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
What happens if you build the application to target Windows 7 and use some of these features in the code, and someone then runs the application on Windows Vista or XP? Is it possible to code the app to fail gracefully in that case and just do nothing, or will the app simply not run on those earlier OS?
@Joseph Hatfield:Yes, of course it is possible to make a program use windows 7 features only when they are available.
In other words, your app doesn't have to fail at all !
Programs have been doing this for years.
@Joseph Hatfield: You can retrieve the current operating system via GetVersionEx().
Of course I can enable features based on the results of GetVersionEx(), but in order to gain access to the new functions, I have to change the WINVER of my project to target Windows 7. My concern was that in targeting Windows 7 in that way it would make the app literally unusable or likely to fail when running on Windows XP. My assumption has been that if you set WINVER to target a specific OS then the app could ONLY be run on that OS or a later version. It would be great news to hear that wasn't true.
@Joseph Hatfield: Yes, setting WINVER target can break down-level platforms since it changes struct sizes etc, so if you do sizeof(structvarname) in your code, it will break. You could maybe try to #include the COM headers with a different WINVER. Or be careful and only use the size constants like NOTIFYICONDATA_V1_SIZE.
Too bad MS did not opt for a min and max version solution when they moved to the NTDDI defines.
@Joseph Hatfield:
For what it is worth, I just downloaded the demo VS2010 solution for the Windows 7 Taskbar Demo , compiled and ran it on a Windows XP box, and it ran without any issues.
@WndSks: Thanks for the suggestion to use COM. That turned out to be quite easy to implement and now I've got the beginnings of a class that handles all the dirty work without the need to change WINVER.
COM ftw!
@Karla: Until a newer, even cleaner look to Windows comes along in Windows XX. :)
Its the big machine that must keep rolling...
It's really too bad that MFC excludes these APIs unless WINVER is set to at least 0x601. It already does all of the work necessary for the DLL to run on older OSes. If these had not required a WINVER setting, then we could use these APIs without worrying that the WINVER setting would let in some other API in some other part of the program that would prevent the program from working on earlier OSes.
Remove this comment
Remove this thread
close