Blog

Art | Bicycling | Food | Hacks | Making Stuff | Music | Wirehead
Home | Mail | Search
WireWorld > Hacks > Wirehead on Hacking > Some notes on developing for Windows Mobile

Some notes on developing for Windows Mobile

So I've been toying with writing some mobile software, just for the heck of it. And I just did some screwing around.

Microsoft, despite the fact that they do not make any money off of developer tools, still charges for Visual Studio. I have a copy of Visual Studio 6.0 and haven't felt like buying a newer copy as yet. I probably will within the next year or two. However, there is eMbedded Visual C++ 4.0 and the SDK for Windows Mobile 2003 which, as far as I'm concerned, is good enough for now and still lets me write software intended for a modern device, minus some of the features.

I got all of this set up (and, in classic Microsoft form, some of the SDKs require me to have a genuine copy of Windows running before I can download) and started playing with things.

I wanted to write some Today Screen software, so I used the code skeleton from The Code Project and the associated options dialog. However, there's not enough information there, so I ended up looking at the Windows Mobile Development center and an even older article on the subject.

The setup for development is kinda funky. You have a x86 based windows emulator where you interact with a simulated device that has little onscreen buttons and knobs and stuff. It's running x86 instructions instead of ARM instructions and is a special build profile.

So, the project, just to get myself comfortable with the idea of hacking, I wrote my own SMS message monitor that will beep incessantly when there's an unread SMS (because that's how my pages come in). Thankfully, the Windows Mobile blog has a nice little article about how to make it all work and even a nice article about how to test SMS messages on the simulator.

There's a lot of stuff that's totally undocumented. The only real way to install something has been to use a CAB file and we've pretty much moved to the point with setup where the least-resistance method is to provide a bare CAB file for people to download it on their phone. But it took me far too long to figure out how to generate a CAB file. I probably need to pose my own tutorial because the ones I was finding online were just as unhelpful as the documentation. I did find one note on how to make CabWiz work with the emulator so I could test things without spending a bunch of time screwing with my device.

Also I still don't understand why I get the worlds least useful error message (ERROR_SUCCESS or "The Operation Completed Successfully") when I try to use MAPI's Restrict to just get a list of unread messages instead of going through the messages as a loop.

Either way, I've got the hack together. It probably needs some massaging and added functionality down the road, but for now it's fine.

 

Post Comment

Copyright 2007, Ken Wronkiewicz
Version 4.0
Last Updated: 2008-04-20 01:31PM
Posted: 2008-04-20 01:31PM