Windows provides a way to include an application handler into a system hook chain; this can be used to implement, for example: If the second point sounds a bit obscure, well… that’s exactly the case we needed to improve. Our software implements an integration system that operates not only at protocol level (IPC) but also […]
Category: development
Windows Core Audio API
Whoever has used advanced audio apparels knows that the most used driver is the ASIO one: quite commonly, each audio interface is provided with a proprietary implementation of the ASIO specifications and the driver is generally used from within the Digital Audio Workstation or other applications that are able to stream through this protocol. ASIO […]
Humble CPU Monitor
As a developer, one of the many concerns I have when I write and test software is “how much CPU does this thing use?” – and in Windows there are some ways to keep an eye on this, depending on the level of details you’re interested in. For example, the GetProcessTimes function is useful to […]
WPF and handles
There’s a famous article from Microsoft that says “Give me an handle, and I”ll show you an object“, dated July 15, 1993. There are a lot of Windows objects that can be retrieved using a handle, mainly GDI and USER objects but also Kernel objects are identified by handles – for example, the HeapCreate function, used […]
Google Hashcode 2018
For the first time, this year, me and three colleagues of mine participated to the Google Hash Code challenge; this year the problem was open to Europe, Middle East and Africa: in the end 4856 teams has participated to the game. We knew we didn’t have too many chances to get a good result due […]
Interop between managed and legacy code
It’s quite common and easy to use legacy code from within a piece of managed code but sometimes it comes in handy to call managed code from legacy code. To do so, we’ll write a C++ class which will actually use a managed object but that has a plain, legacy interface. The first thing to do is to […]
View-first and ViewModel-first
The MVVM design pattern was developed by Microsoft as a variation of the Martin Fowler’s Presentation Model pattern – we’ll copy/paste here the short form of the motivations behind this pattern (the long form is available in the link above): It provides separation of concerns. It is a natural pattern for XAML platforms. It enables a developer-designer workflow. It increases application […]
Glow Window effect
Visual Studio has been recently rewritten in WPF and MEF: its Main Window has been heavily customized – the standard Non-Client Area has been removed and all the usual Windows features (caption, buttons, scrollbars, …) have been redefined. One of the cool features is the window border, which is “context-sensitive” (uses different colors depending on the […]
Click and Double Click on ListView items
Sometimes in WPF the easiest things seem to be the hardest to obtain… if you want to get them the clean way. The ListView object is a great, flexible control available in WPF and gives you something more than the old, good ListBox. In particular, the ListView is able to render items in “grid mode” using the View property. The View property can be instantiated with a GridView object in which […]