Launching Windows Store Apps Programmatically

Saturday, October 24, 2015

Windows Apps (a.k.a. Store apps or Metro apps) run in a dedicated sandbox, providing “extra protection” from outside apps and OS as opposed to classic Windows applications. One consequence of this is that launching a Windows App using a classic CreateProcess call will generally fail. For example, if we run the Weather app that comes with Windows and look at the command line that was used to start the process (e.g. using Task Manager or Process Explorer), this is what we see: "C:\Program Files\WindowsApps\Microsoft.BingWeather_4.6.169.0_x86__8wekyb3d8bbwe\Microsoft.Msn.Weather.exe"      -ServerName:App.AppX2m6wj6jceb8yq7ppx1b3drf7yy51ha6f.mca Clearly, there...
2 comments

Building a Cross Platform Game with MonoGame – Part 2

Thursday, March 19, 2015

In the first part we’ve seen how to install MonoGame for use with Visual Studio and how to create a new project. We’ve seen some of the boilerplate code created by the project wizard and discussed briefly the game asset file. We are now ready to put our own special stuff into the game. We’ll start by doing some cleanup, as our project has the default spinning cube. I’ve also renamed the Game class from Game1 to InavdersGame and the C# file correspondingly. Open InvadersGame.cs and remove all the code in the Draw method except the Clear call:protected override void Draw(GameTime...
one comment

Building a Cross Platform 2D Game with MonoGame (Part 1)

Thursday, March 12, 2015

Ever since Microsoft ditched the XNA framework (for whatever reason), it didn’t provide any viable alternative for .NET developers. Microsoft attempted to encourage developers to switch to native DirectX to do game development (and other apps that would otherwise benefit from XNA). But DirectX is not a real alternative “out of the box” for .NET (and even C++) developers; DirectX is very low-level, and it’s almost impractical to create a full-fledged game with DirectX directly; DirectX is a great base for game engines. For writing an actual game, developers typically use some framework that sits on top of...
2 comments

File Open Picker in Windows Phone 8.1

Wednesday, February 18, 2015

The Windows 8 Store model introduced the FileOpenPicker class, which is kind of the modern replacement for the classic Windows open file dialog. Technically, it’s more than that – it can get files from “virtual” locations such as Facebook and OneDrive; and besides, it looks much better than the classic open file dialog. Showing the FileOpenPicker is just a matter of calling PickSingleFileAsync or PickMultipleFilesAsync and awaiting for the result: var picker = new FileOpenPicker {         FileTypeFilter = { ".jpg", ".png" },         ViewMode = PickerViewMode.Thumbnail }; var file = await picker.PickSingleFileAsync();   When Universal apps came along, it...
no comments

Introduction to Win2D

Wednesday, November 19, 2014

The Windows Runtime UI stack uses XAML for general 2D layout and graphics. It provides various controls, such as TextBox, ItemsControl and DatePicker. It even provides shape-like elements such as Line, Ellipse, Rectangle and Path. However, the XAML layout and rendering engine, while flexible, may not be performant enough for certain kind of applications and games. Also, it does not support general “drawing” functions (WPF for example, does provide that with the DrawingContext class). Win2D is a new Windows Runtime library that is currently in development by Microsoft that provides a WinRT wrapper over Direct2D. Direct2D is a DirectX...
3 comments

Windows 10 Preview – First Impressions

Wednesday, October 1, 2014

The curtain is lifted… Microsoft’s new OS is revealed in all its preview – Windows 10. Yes, the name is unexpected. Better guesses were “Windows 9”, “Windows One”, just “Windows” and probably a few others. I admit I don’t like the “10” name. Even-numbered Windows names/versions lately tend to have issues… To install Windows 10 all you need to do is go to http://preview.windows.com , register as an “insider” (which really means anyone), download the bits and install. Of course, I would not use it on a production system. I installed mine on a Hyper-V virtual machine (I’ve used...
2 comments

“Universal” Mandelbrot

Wednesday, September 10, 2014

Those of you following my blog may have noticed a somewhat “obsessiveness” with the Mandelbrot Set. In the past, I’ve created a WPF version and a C++ AMP version (and privately a few more versions). I thought it was high time to write yet another version as a “Universal” app, running on Windows 8.1 and Windows Phone 8.1, while sharing as much code and XAML as possible. My approach was to port the WPF version to universal. First, I created a blank new Universal App project in C#: This results in 3 projects being created – Mandelbrot.Windows, Mandelbrot.WindowsPhone...
one comment

Universal Apps in Windows 8.1 and Windows Phone 8.1

Sunday, April 20, 2014

Now that the Build 2014 conference is over and the dust begins to settle, it’s time to look at what we’ve got. And there’s plenty to look at. In this post I’d like to take a closer look at Universal apps, their structure and possible future. The before Before these so-called “universal” apps, creating apps for Windows 8.x Store and Windows Phone 8 was mostly a two-app project. Sure, some logic code could be shared via Portable Class Libraries (PCL), but the common surface of PCLs was too small, leading to many #if/#endif statements. Also, sharing XAML was extremely...
one comment