Since I do some Compact Framework programming on the side. I ran into the problem on how to do full screen applications on WM. Due to our background as “third level developers” we got a pretty good framework for C# Compact Framework programming and there I found the good old HHTaskBar “Hack”.

public static class TaskBar
{
    private static IntPtr taskbar; 

    [DllImport("coredll.dll", EntryPoint = "FindWindowW", SetLastError = true)]
    private static extern IntPtr FindWindowCE(string lpClassName, string lpWindowName); 

    [DllImport("coredll.dll")]
    private static extern IntPtr ShowWindow(IntPtr hWnd, int visible); 

    [DllImport("coredll.dll")]
    private static extern bool EnableWindow(IntPtr hwnd, bool enabled); 

    /// <summary>
    /// hides windows taskbar
    /// </summary>
    public static void HideTaskbar()
    {
        taskbar = FindWindowCE("HHTaskBar", null);
        ShowWindow(taskbar, 0);
        EnableWindow(taskbar, false);
    } 

    /// <summary>
    /// shows windows taskbar
    /// </summary>
    public static void ShowTaskbar()
    {
        ShowWindow(taskbar, 1);
        EnableWindow(taskbar, true);
    } 

}

This is fine,… but if the app crashes or you forget to implement the  ”ShowTasbar” function your TaskBar is gone (till the next cold reset). So I searched and found the following “lightweight” way to “hide” the TaskBar.

public static void FullSize(Form frm)
{
    frm.WindowState = FormWindowState.Maximized;
    frm.Size = Screen.PrimaryScreen.WorkingArea.Size;
    frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
}

Only tested for WM 5.0, 6.0 and 6.5!

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

“Thirsty” programmer are the worse and it’s even worse when you want to play a dice game without dices.

Since none of us carries dices with them all the time (just in case we’r in the mood to play with some friends) I descided to make a new game.

Because “we” don’t leave the house without our WM Smartphones ;)

Mexico (en)

http://www.lore-and-saga.co.uk/html/dice.html

aka. Mäxchen (at) aka. Meier (de)

http://de.wikipedia.org/wiki/Mäxchen

image

You can play it with and without your G-Sensor and I also included a small Tutorial and HowTo, I hope you have fun with it.

Here the download:  MexicoSetup

PS.: Für die Österreicher einfach im Installationsverzeichnis den “de-DE” Folder löschen und ihr habt “Mäxchen” statt “Meier” ;)

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

This is very very cool – I knew Andy had something in preparation as he mentioned it to me already on Teched in Berlin last November.

Finally there is a way to build the Application logic with .Net and still use the Power of Silverlight on your CE 7 and CE 6.0R3 devices!

*ROCK N ROLL*

Programming Silverlight for Windows Embedded from .NET – Andy Wigley – APPA Mundi

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

In the ongoing quest to create Compact Framework applications that look nice I recently found a good post on how to draw Rounded Rectangles with CF: How to draw a rounded rectangle in .NETCF 

The author Christian Helle also has a Second post where the Rounded Rectangles get filled with a Texture

There is also ways without the GDI Functions but those are a little more complicated.

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

Just learned something new – on one CE 6 Platform I recently had Issues with my GradientFill based  controls. – Google didn’t show me any useful hints!

Today when browsing Platform Builder I found the reason:

clip_image002

Gradient Fill Support is an extra Option that needs to be ticked.

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

Yesterday night I was pretty excited to see that Spin the Bottle was downloaded 10001 time since the launch of Marketplace in October 2009.

SpinTheBottle10001-Banner

It all started with a joke on Teched EMEA 2008 in Barcelona. By the end of the evening, Rizo got so enthusiastic about it that he stayed awake and delivered the first release already in the morning.  Consequently we were able to show Spin the Bottle to the World in the very last panel discussion at the event.
When Marketplace got in place last October we decided to put it on to gain experience with the application store and certification process, so we would have experience for consulting our customers.
We know the graphics of our app could be nicer – yet we never imagined it would be so successful. The development was done more or less in spare time, on the positive side the “lean” graphics make it work also on OMAP 200 based devices like the HTC Wizard.
Windows Marketplace was a little rough around the edges when it came out! Nevertheless I have to admit it got quite mature rather fast.
During the certification process the feedback from the marketplace authority about issues in our software when failing the test where precise and always to the point. This is a clear indication that enough manpower is involved in the testing and as a result the quality of the customer experience is kept high. As a consumer I like the way the application store works – nevertheless the IPhone’s software distribution has a still a little edge because it informs proactively about software updates. Because it can leverage a Push mechanism.
From my inside-the-industry  position the only thing that’s strange is that companies who don’t have their HQ in one of the Windows Mobile Marketplace markets are banned from publishing software!

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

Eine gute bzw. die einzige vernünftige Möglichkeit MissingMethodExceptions und TypeLoadExceptions einer .NET Compact Framework Anwendung zu identifzieren ist das Loader Log. Dieses kann mittels der Registry aktiviert werden: Dazu sind folgende Schritte nötig:

1. CLR Logging aktivieren. Folgenden Wert auf 1 setzen:
HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\Enabled

2.Loader Log aktivieren. Folgenden Wert auf 1 setzen:
HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\Loader\Enabled

Im Prinzip reicht da schon aus. Das Logfile wird im Verzeichnis der Anwendung erstellt und heißt netcf_loader.log.
Empfehlenswert sind noch folgende zusätzlichen Einstellungen:

3.Anwendungsnamen im Logfile Namen (z.B.: netcf_myApp_loader.log. Nützlich wenn mehrere Anwendungen im gleichen Verzeichnis sind. Folgenden Wert auf 1 setzen:
HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\UseApp

4.Prozess Id im Logfile Namen. Folgenden Wert auf 1 setzen:
HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\UsePid

5. Log immer sofort schreiben. Nützlich wenn die Anwendung abstürtzt. Achtung, wirkt sich negativ auf die Performance aus. Folgenden Wert auf 1 setzen:
HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\Flush

Falls die genannten Registry Einträge noch nicht exisitieren, kann man diese einfach erstellen. Alle Werte sind vom Typ DWORD.

Mehr Informationen gibts im Blog von  Steven Pratschner und Dawid Kline.

More Information and an englisch description are posted on the blogs of Steven Pratschner and Dawid Kline.

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg