Want to learn to program for Windows Mobile - Windows Mobile Development and Hacking General

Let's say I have lots of free time, am a pretty smart guy, and am infatuated with my Windows Mobile device. I am a veterinarian, and know next to nothing about programming, except how to meddle with other people's PHP or javascripts. I know HTML pretty well, and have some experience with basic Flash ActionScript. Can someone help me start learning how to program for Windows Mobile?
I need to know:
1) Some good beginner's books
2) Software to start off with (free stuff preferred)
3) Good websites to check out
Can you help?

I'm no programmer, but have wanted to dabble. From what I can tell, lots of folks use embedded visual c++ to program WM apps. This is a free compiler you can download from Microsoft (search for evc++), but there's not a lot of MSDN articles or MS help in general with evc++ because they want to move you to the .net compiler ($$$). Good luck.

I found this http://www.basic4ppc.com/but haven't tried it. It seems to be like Visual Basic, which is easy to learn. Maybe someone here tried it and can comment on it?

I tried installing Embedded Visual C++ on my Vista machine, but ran into all sorts of problems with it crashing while trying to compile "Hello World!" any ideas?
In the meantime, I've downloaded and am using Visual C++ 2008 Express edition (free). Will that allow me to compile for Windows Mobile (.arm)?

Evb and Evc are old languages,actually most of the programmers are using .Net languages.
You need to install IDE Visual Studio then make a choice of the language you will use..
But I am not a programmer,someone else can redirect you better.
Good luck!

unapproachable2kx said:
Evb and Evc are old languages,actually most of the programmers are using .Net languages.
You need to install IDE Visual Studio then make a choice of the language you will use..
But I am not a programmer,someone else can redirect you better.
Good luck!
Click to expand...
Click to collapse
EVB might be old, but EVC uses C/C++ in the exact same fashion you would use it in Visual Studio 2008. The key for me, is to really think about what you want to do, and what you want out of programming.
If you want to develop a little app that does some simple computation, or things less graphical, and you really don't have a passion for developing, then plunge into .NET. It's easy, it's effective and it'll get the job done.
On the other hand, if you're getting into multimedia, and your heart is in with software developing, then I must stress that the C/C++ route is REALLY where you should be going. I must warn you though, if you're new to programming, don't expect to have things fired up and running in 10 mins. It will take time .
Just my 2-Cents,
Chad.

http://msdn2.microsoft.com/en-us/windowsmobile/bb264341.aspx
heres some videos that will help u get started!

ekw said:
http://msdn2.microsoft.com/en-us/windowsmobile/bb264341.aspx
heres some videos that will help u get started!
Click to expand...
Click to collapse
thanks guyz..i was also looking for this ...

Related

The simplest question of all...

OK, here's one that you should all be able to help me with.
I am a programer, but have not yet begun to create programs for my XDA 2i. I REALLY don't know where to start... I bought MS C++ .NET with the possibly misguided impression that it was supposed to be rather like the Java virtual machine, and that I could simply whip up an exe on my PC then move it to the PPC and it would just work...
But now I'm SO confused. What's all this about SDKs and having different ones for different versions of Windows mobile? And then there's the compact .NET framework, and then there's ASP, but I'm fairly comfortable that that's a different issue entirely.
SO MY QUESTION IS THIS:
What is the simplest way for me to begin writing C/C++ programs to run on my XDA 2i? I'm not interested for the moment in phone or other connection aspects - let's say I'm trying to write a visual calculator. So simple logical operations and a simple GUI.
I have experience with MS visual studio C++, and I can use libraries when told which ones to use, but am otherwise uninterested in them.
I gather the absolute simplest solution might be to write some JScript, but I want to use .NET C++ since I forked out for it.
The trouble is, there's so much info out there. Please help, then maybe one day I can start contributing useful info to this site too.
Thanks everyone!
Phil Drew
questions and answers much like yours
http://forum.xda-developers.com/viewtopic.php?t=21786
http://forum.xda-developers.com/viewtopic.php?t=21649
download Visual Studio 2005 Beta 2 from Microsoft.. if you are a member of MSDN

Reading the registry with Visual Studio 2003

I'm developing a small application for my HTC Wizard, which I'm programming with Visual Studio 2003.
I need to open the shell application for M3U files, which I've tracked down to HKCR\M3UFile\Shell\Open\Command... but now I can't figure out how to either read that key to open the relevant player, or to execute the m3u file directly.
Because I'm using VS2003, I don't have access to system.win32 with the compact framework, so what techniques have others of you used to read or write to the registry?
Also, just as a side note, how do you find the current path?
Thanks,
Jon
There is no real concept of current path in CE. If you want to know the path your EXE is in, use GetModuleHandle(NULL) -- it'll return the fully-qualified path name of that process's EXE, from which you can parse out a path.
I'd advise against using the compact framework; .Net is a loser on PPCs as it just slows things down, taking up extra memory & cycles on a platform where both are in short supply. Use the real Windows APIs instead -- i.e. call RegCreateKeyEx/RegSetValueEx.
And if you choose to use Win32 API you can just call ShellExecuteEx()
and not mess with the registry.
RegQueryValueEx is what you need. Just set the appropriate type and buffer.
V
I'm always willing to learn new stuff... are there any good resources on programming for PPC without using .net?
I know there's EVC++, but I've installed it, and now I don't know what to do with it!
Regards,
Jon
JonTheNiceGuy said:
I'm always willing to learn new stuff... are there any good resources on programming for PPC without using .net?
I know there's EVC++, but I've installed it, and now I don't know what to do with it!
Regards,
Jon
Click to expand...
Click to collapse
You can either use EVC++4, which is free but has an aged, not-so-standard C++ compiler (since it based on VC++6...but it only means a few quirks), or you can use Visual Studio 2005 which is supposed to replace EVC.
Jon, not to state the obvious, but there are many c++ tutorials for the PPC on the interweb.
What kind of experience do you have?
V
I have no prior experience with C++ - I bought the C++ For Dummies book in a charity shop a month or so ago, but it seems to refer to software that isn't available any more!
My core experience is with PHP, and recently I've been more interested in VB.NET for small apps at work, but most of what I want to do is with Windows Mobile - for which, all I have is Visual Studio 2003, and my co. won't fund me buying VS2005 as I got it for an old project that I still maintain, and anything new I need to write for work I can do with VS2005 Express...
That said, I'm not afraid of learning a new language, especially something as powerful as C++.
C++ for dummies is excellent, the best I've come across so far.
Have a read through this:
http://forum.xda-developers.com/viewtopic.php?p=209136#209136
I'm currently unlearning and then relearning my c++ - one thing I've learnt coming from other languages - c++ requires discipline. It's not about shortcuts, you build up from the basics and keep going steadily. But you need to be logical, and prepared to put in the effort. So discipline - it's been a long time since I've had to think about that!
V

Programming the Hermes

Hi @ all...
i wanted to know if anyone is able to give ma an introduction into programming on mobile devices.
i've got the microsoft visual studio 2005 as a student version from my school, and found the mobile device template, but i wasn't able to figure some things out.
i will try much things by myself, but if anyone could give me an example on how to write a programm that accesses the phone line.
actually i want to write a program, that is able to place a call and send DTFM to the other side.
Is there a possibility to do this?
greetings
garfield
embedded visual c++ .. it is free and I'm using it .. look at what I've did all at my signature
What you are trying to do is not so simple. You need to read and learn about Telephony API (TAPI) which is a set of functions that lets you talk to the phone part of the device.
Also, you need to install the Window Mobile 5 and / or 2003 SDK which is available for free from MS.
Finally, you have not mentioned what programming languages you know.
There is probably simpler approach for .NET then TAPI, but .NET sucks.
hmm...
already heard about tapi... but i'm not really into c++ programming.
but this will be neccessary i think.
as i'm leraning c# at school for now, i will try it that way, and if you say, there might be an easier way with .net, i'll try this. both of the phones i want to program are wm6 so i don't have to worrie about the freaking big framework as it is incorporated into wm6...
i will take a look at it, now with having tapi in mind, MSDN might help me a little...
thanks for the help

Language being used for applications

I've been developing enterprise applications for over a decade now, but PPC Development is totally new for me. I'm curious to know what language most PPC developers use to build their applications? Is it common to develop using Mobile .NET or are most of the applications developed in C++?
I really want to get involved, as there are applications I would like to write, but I'm struggling to find a starting point.
I want to develop a finger friendly application like the SPB Mobile Shell, and I assume I will have to use C++ and animations to ge the desired functionality? Any help is greatly appreciated.
The simplest way to start is using the .NET platform.
Its main languages are Visual C# and Visual Basic.
The main advantage is that those two languages are simple (the C# is close to the Java language) and secure in terms of memory management, but they also are slow, because the compiler creates managed code, just like the java compiler does.
I've tried to do some small apps using C#, and it's really entertaining and "simple". The problem is that you need the Microsoft Visual Studio IDE, which is not free, unless you use a free version, the Visual Studio Express IDE, but I'm not quite sure that it works to dev on a PPC.
As far as I know, there is a way to do unmanaged code, using C++ I guess, which is much faster. I don't know how to program in C++ for a PPC, and I'm also interested, as the few apps that I made in C# were really slow.
Good luck !
ErGo_404 said:
The simplest way to start is using the .NET platform.
Its main languages are Visual C# and Visual Basic.
The main advantage is that those two languages are simple (the C# is close to the Java language) and secure in terms of memory management, but they also are slow, because the compiler creates managed code, just like the java compiler does.
I've tried to do some small apps using C#, and it's really entertaining and "simple". The problem is that you need the Microsoft Visual Studio IDE, which is not free, unless you use a free version, the Visual Studio Express IDE, but I'm not quite sure that it works to dev on a PPC.
As far as I know, there is a way to do unmanaged code, using C++ I guess, which is much faster. I don't know how to program in C++ for a PPC, and I'm also interested, as the few apps that I made in C# were really slow.
Good luck !
Click to expand...
Click to collapse
I'm guessing that applications like SPB Mobile Shell is developed in C++. I just don't see how it could be .NET code. I was sort of hoping, considering this is a developers forum, that there would be a better response to this thread; however the overwhelming feeling I get is that the 'new' people aren't cool enough to share information with.
devikta said:
I'm guessing that applications like SPB Mobile Shell is developed in C++. I just don't see how it could be .NET code. I was sort of hoping, considering this is a developers forum, that there would be a better response to this thread; however the overwhelming feeling I get is that the 'new' people aren't cool enough to share information with.
Click to expand...
Click to collapse
I feel your pain but best suggestion I can give to you is there is icontact app for which author have released source code (Thank you very much for that) . Look at the code and try to understand and see where you can get with it.
I started using visual studio IDE but I was running in to issue with the IDE itself, good luck to you.

Fastest/Lightest way to code WinMo?

Hi,
I'm the author of a fairly popular j2me chat application, and I've been pondering making a native WinMo version for a while now. I've thought about a .net port, as it would probably be easiest, but all the .net programs I've used seem dead slow. Or am I totally off base with that?
Is there another environment I should look at as an alternative? Keep in mind, I don't have visual studio.
jonnycat26 said:
Hi,
I'm the author of a fairly popular j2me chat application, and I've been pondering making a native WinMo version for a while now. I've thought about a .net port, as it would probably be easiest, but all the .net programs I've used seem dead slow. Or am I totally off base with that?
Is there another environment I should look at as an alternative? Keep in mind, I don't have visual studio.
Click to expand...
Click to collapse
You can still stick with j2me, you'll just have to change a few things to make the program compatible with the java midlet managers for WinMo. You should read up on the Mildet Bible: http://forum.xda-developers.com/showthread.php?t=339579
Hope this helps
From testing open source apps and they ones I have made I found that C++ is faster and c# is easier but a little slower. I used c++ for along time but have moved on to C# and love it.
u can just develop in any .net language, then use tool like SmartAssembly to optimize and convert the code to binary.
jonnycat26 said:
Hi,
I'm the author of a fairly popular j2me chat application, and I've been pondering making a native WinMo version for a while now. I've thought about a .net port, as it would probably be easiest, but all the .net programs I've used seem dead slow. Or am I totally off base with that?
Is there another environment I should look at as an alternative? Keep in mind, I don't have visual studio.
Click to expand...
Click to collapse
Hello, I strongly recomend to use c++ for winmo dev.
cheers,
Hlov
The fastest and leanest method is C++, available in Visual Studio Professional, or as a standalone free download as Embedded C++ version 4. The development models are MFC, (Microsoft Foundation Classes), ATL (Active Template Library), or good old fashioned WIN32.
Of these WIN32 is the leanest, all the others, including .NET are wrappers around it. If you haven't used or seen WIN32 before, expect a pretty steep learning curve. Look at the Hello World example it generates, to try and figure out what the hell is going on. Basically you respond to WM_XXXXXX messages fired at your application by the operating system. Limit the main menu to two items, and WinMo 5/6 will display it correctly, with the main menu options either side of the keyboard/SIP icon, and accessible by the left and right menu buttons. Otherwise it will switch to a WM 2002/3 menubar, which you then have to click on to use.
If you want to go any lower down than this, you will need to brush up your ARM assembly language.
Unless you are developing graphics intensive applications, using c# is fine for applications. C++ is necessary if you are writing games and the like but the SLIGHT performance decrease is not that big of a deal otherwise.
Soul_Est said:
You can still stick with j2me, you'll just have to change a few things to make the program compatible with the java midlet managers for WinMo. You should read up on the Mildet Bible: http://forum.xda-developers.com/showthread.php?t=339579
Hope this helps
Click to expand...
Click to collapse
I'm using J2ME polish, so I can (and have) built a build specifically for WinMo, but I want a native version so I can multitask (can't do that with Esmertec) and I'd also like to develop a homescreen plugin.
My app is here:
http://www.buildhigh.com/jonnychat/
If anyone has any suggestions on what I should do with a port, I'd love to hear them.
stephj said:
The fastest and leanest method is C++, available in Visual Studio Professional, or as a standalone free download as Embedded C++ version 4. The development models are MFC, (Microsoft Foundation Classes), ATL (Active Template Library), or good old fashioned WIN32.
Click to expand...
Click to collapse
It's been a long time since I've done standard Win32 development, and I really don't plan on going back down that road again. For starters, I imagine Visual Studio would be a dog in a VM (I only run windows in a VM these days, won't run it on actual hardware if I can avoid it).
It's looking like I"m going to try C++ or C# for this. I'd like to do C# because that's pretty close to Java, but I also have moral qualms about using a language designed to usurp a good and popular language just because MSFT didn't develop it.
Decisions, Decisions....
You can also try using Ruby with the Rhodes framework: http://www.rhomobile.com/home
Or you can try using Mysaifu which may allow multitasking (haven't tried any of my programs on it yet): http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html

Categories

Resources