Yet Another Microsoft Data Indexing Project, part deux

posted on September 15, 2008 by Bryant Zadegan

I kicked yesterday off talking about things which, hypothetically speaking, might be present in Windows 7 Milestone 3 based on what was in Milestone 1. I’m going to dedicate today’s followup serving of yam dip to something much more concrete.

I already mentioned the existence of Libraries. Based on what the technical fellows who used Vista Beta 1 know, if Libraries are anything like Virtual Folders, the feature will likely enjoy the frequent use and prominence that Virtual Folders enjoyed in Windows Vista Beta 1. Because of this, Libraries will likely be very well woven into Windows 7, thus making it exponentially more useful than Vista’s search folders. Examples of how this would be done:

  • Libraries would be viewable and accessible as if they are normal folders. Whether this applies to applications as well as users is a good question, but if libraries could be treated by applications as normal folders, a whole host of possibilities would suddenly open themselves to developers.
  • Paths could be relative or absolute, which trumps the usefulness of search folders altogether.
  • It would be possible to manually add folders to libraries.
  • A user will likely have default libraries for his pictures, videos, etc.

Integration would go beyond simple aesthetics. Logically, Homegroups could hypothetically support sharing libraries as opposed to folders simply because Libraries would inherently be more organized. A user may have many folders filled with pictures, but if all of those are in a “pictures” library, all of this user’s photos could then be shared over a homegroup just by sharing that one library.

On that wonderful note, since Libraries will likely be xml files interpreted by Explorer just like Virtual Folders were, let’s take a look at  what the basic structure of such an xml file could be after the break.

Read More »

Tweak DWM from your programs, Part 2

posted on August 27, 2008 by Stan

Following the first part of the Tweak DWM from your programs series, we are going to explore the actual usage of the Desktop Window Manager API in a Windows Forms-based program. The test application–included in the source package–also makes use of glassbarGlassBar, an extension to the existing control set.
Read More »

Tags: , , , ,

Tweak DWM from your programs, Part 1

posted on July 21, 2008 by Stan

With Windows Vista, Microsoft introduced a whole new window manager which provides a better experience to the user and an independent graphics surface to us developers by taking advantage of graphics acceleration hardware (your graphics card or integrated GPU).

In a three-part blog post, I will show you how to use a wrapper around the Desktop Window Manager Application Programming Interface in order to control its state, change colorization, or change the rendering policy of windows from your Windows Forms and .NET 3 Presentation Foundation programs.

Read More »

Tags: , , , ,

Windows 7: Introducing WinFX, minus .NET?

posted on June 30, 2008 by Tony

(This is the first in an ongoing series about PDC 2008)

While perusing the PDC 2008 website’s preliminary agenda, I came across two sessions that really caught my attention:

Windows 7: Graphics Advances
Windows 7 enables you to advance the graphics capabilities of your applications while carrying forward existing investments in your Win32 codebase, including GDI and GDI+. New enhancements to DirectX let Win32 applications harness the latest innovations in GPUs and LCD displays, including support for scalable, high-performance, 2D and 3D graphics, text, and images. Also learn how to leverage the GPU’s parallelism for general-purpose computation such as image processing.

and

Windows 7: Web Services in Native Code
Windows 7 introduces a new networking API with support for building SOAP based web services in native code. This session will discuss the programming model, interoperability aspects with other implementations of WS-* protocols and demonstrate various services and applications built using this API.

After reading these, I could come to only one conclusion: Microsoft is building an unmanaged version of WinFX (at least the WPF and WCF components of it), currently known as .NET Framework 3.0.

This isn’t the first we’ve heard of this. Long first revealed a job description back in March that related to a new, native UI framework for Windows 7. The PDC session overview doesn’t add much (outside of the WCF component) to what was revealed there, but it does seem to indicate that this framework hasn’t been cut from Windows 7.

A native WinFX excites me for many reasons. One reason is that it opens up the robustness of the Windows Presentation Foundation (WPF) to native developers, most likely with a significant performance gain versus the current managed WPF developers use now.

Also, according to the job description, this framework will use a markup language to define user interfaces (Most likely XAML or something extremely similar), which means designers will be able to use their knowledge (and code) across Win32, .NET and Silverlight now. This could speed adoption of all three technologies, which is nice.

Perhaps the most exciting things to the average user are the possibilities this offers up to Microsoft for Windows 7 itself. Microsoft jettisoned most of its vision for a graphically rich shell when it reset Longhorn development and realized that building Explorer in .NET and on top of a framework that was still in development was a bad idea. Now that this framework (milcore) is done, Microsoft should be able to harness its power rather easily through this new unmanaged WinFX framework without having to completely rewrite Explorer.

In other words, much of the UI goodness from the early Longhorn prototypes could wind up in 7.

Here’s hoping, anyway.

Tutorial: How to work with the System Tray from .Net

posted on June 2, 2008 by Karl

After I released the System Tray tile for the Sidebar, I’ve had quite a lot of PMs and emails regarding interacting with the tray from .Net. So I’ve written this short tutorial for you all to go through to help with any difficulties you might have been having. It’s written with C# source code.

How to work with the System Tray from .Net (PDF)