Windows Mobile Development Tools? - Windows Mobile Development and Hacking General

Hi all!
So, I've decided to finally take the plunge and start developing for Windows Mobile proper. Flash can finally get the flick
But, what do I need? Visual Studio 2005? Because I don't have/can't afford that, and it seems as though the Express editions aren't supported.
I like C# as a language, and would like to further learn it.
So: What do I need?
Mods: Wasn't sure if this was the right place, move it if you want
Girvo

Girvo said:
Hi all!
So, I've decided to finally take the plunge and start developing for Windows Mobile proper. Flash can finally get the flick
But, what do I need? Visual Studio 2005? Because I don't have/can't afford that, and it seems as though the Express editions aren't supported.
I like C# as a language, and would like to further learn it.
So: What do I need?
Mods: Wasn't sure if this was the right place, move it if you want
Girvo
Click to expand...
Click to collapse
in vs 05/08 (at least pro version), select create project>VB or C# >> smart device.... and ya... u need wm emulator that can be dl from ms web site....

you could try Basic4PPC (search for it on the web). I'm using it and I am very pleased with it. It has a good price and nice support and an excellent forum.
BTW: the applications you write will need the NET.framework installed on the PPC.
Rgds,
/tilleke

There is also
- PellesC (it's c) but it's a very good ide with some tools very usefull.
- SharpDevelop (v2.2) an open source ide for C# (and VBNet). In the "new solution" dialog select "Compact Framework")
Hope this help you

I suggest some free developing tools:
1. CeGCC: Free and open source developoing tools, gcc. Can be used in Linux and Windows(Cygwin)
2. Mamaich's Pocket GCC: Free and open source. gcc, used in Pocket PC.
3. EVC++ 4.0, Free but closed source. Download free M$.

SharpDevelop is what I seem to want. It's a nice IDE! Wrote a twitter client for my PC with it in about 20 minutes last night
BUT:
I can't install the WinMo 6 SDK without Visual Studio. Do I need the SDK?

There's a good documentation on installing the emulators:
http://msexchangeteam.com/archive/2007/09/17/447033.aspx

I'm writting an application for work in c# compact framework. It's really a PITA. So much isn't in the compact framework. Go check out opennetcf. It has some very useful libraries. Also it's a bummer but all the cool stuff needs to be done in native language.

helloworld1 said:
I suggest some free developing tools:
1. CeGCC: Free and open source developoing tools, gcc. Can be used in Linux and Windows(Cygwin)
2. Mamaich's Pocket GCC: Free and open source. gcc, used in Pocket PC.
3. EVC++ 4.0, Free but closed source. Download free M$.
Click to expand...
Click to collapse
Pocket c# is also a free choice.

Pascal via Lazarus is another free alternative.
http://snapshots.lazarus.shikami.org/lazarus/ has the wince package
and there is a discussion forum at http://www.lazarus.freepascal.org/i...rum&f=17&sid=afea0e515f0090fef3aaee9c84fe72cf
Takes some time setting it up properly. But once done, it's a great environment, and the programming is very similar to c#. The programs seem to run faster on my phone, than the c# programs I've made.

Some good posts in here guys, keep it up
Still haven't found a solution to the SDK installation problem
Also: What should I be using to develop Today Screen plugins?

Related

New Programmer (Maybe)

Hi to all,
i'm new in xda\xda2 world...and i would like to develop under it? What i need for developing? What cpu type\model it have?
Well.. The About and Device Information screens in the System Settings menu should take care of your questions..
But if you're lazy, the XDA typically runs PocketPC 2002 on a StrongArm CPU, and the XDA II PocketPC 2003 (Windows Mobile Edition) on an Intel XScale (which is backwards compatible with ARM).
If you simply visit www.pocketpc.com and click on developers you'll end up at http://www.microsoft.com/windowsmobile/information/devprograms/default.mspx
Where you can even order a free DVD-Rom with the PocketPC SDKs, compilers etc (they will charge shipping and handling, at a freakishly high rate). You can also download that stuff.
However, you will need Visual Studio .NET as well, which is not a free download (in fact, even the academic version will set you back more than EUR 100).
I've not ventured into it myself yet, so it's quite possible you can actually do without Visual Studio (as the compilers themselves can be downloaded). Also, there's a version of gcc for pocketpc.
Any one developing for pocketpc who wants to chip in here? (I'd like to toy around with programming a bit on PPC - regretably it doesn't have a built-in scripting language like epoc32 has/had).
You only need Visual Studio .NET if you want to create .NET applications. If you are just programming in C++, I'd highly recommend downloading Embedded Visual Studios 3 and 4 and get the appropriate SDKs (all of which are free). At least, that's what I use.
What about Java Midlets?
I am thinking on writing a couple of apps for PPC, but going into VS.NET might be too deep for me. I also want to extend those later for palm and maybe desktop. No hardware specific stuff so I thought I might get away with Java which I am pretty good at.
Does anyone have anything to say - pros / cons? How midlets are on O2 in general - fast / slow, too much memory or processing power? Please share.
Why don't you get down to c++? Fast, small, general support...
--------------
У нас сегодня день вежливости, так что вы просто идите за мной и никуда не сворачивайте!
Some day
Good old C++. Too many years with Java - softened my mind... Undoubtedly C++ is the best way to go in terms of speed and size. Lets see what people say. :idea:
I've been programming in Visual .NET (VB.NET more specifically), but even after installing the SDK I have no idea where to start? When creating a project, I don't see any new project type for Pocket PC applications ? In fact, what else do I need to do if I want to program in VB.NET ?
i read that visualstudio .net 2005 will be able to make pocketpc applications in all languages not just .net applications like 2003
not sure about how you get started with vb.net since vb is very evil and nasty
but with c++ mfc and c# .net you start out with a form and there you can place components on it and program what functions they have
but if you want to make games and stuff which dont use normal windows stuff then you are better off programming them in c++ directly for the arm platform
I use Embedded VC++ and MFC as it's far tighter/smaller than .net. Purists can go completely Win32(ce) native and avoid MFC altogether but MFC does make development a good deal easier without the bloat of .net (not to mention how slow it is..).
Same thing for me. C++ with EVC tools. No mfc for me (a little purist and feel it gives a clearer code )
Best way to have samller and optimize applications
I've been programming in Visual .NET (VB.NET more specifically), but even after installing the SDK I have no idea where to start? When creating a project, I don't see any new project type for Pocket PC applications ? In fact, what else do I need to do if I want to program in VB.NET ?
Click to expand...
Click to collapse
If you have VS.NET 2003 you don't even need the SDK.
just File-> New->Project
on the left column "Project Types" choose your language and on the right click the "Smart Device Application"
Basically is like any windows application but less possibilities and if you want to create any serious application you'll have to do a lot of optimization and native coding.
Good luck
Books?
I'm also interested in programming with Embedded VC++...and was wondering if anyone know of books out there I can pick up that will help my learning process a little quicker. Its been a long time since i coded in C++ and need to refresh.
The part I'm really need help is the basic parts ...like how to get things started.
I'm confident that once I get started i'll start to remember my C++ coding.
I'm downloading the Embedded VC++ from Microsoft as I type this post ...hope it wont be too hard to understand how to create a simple "hello world" program for PPC devices
Also if anyone knows a good web sites with code samples ...please PM or post the URL, I'v seen some but not all that great
Thank You
Sometimes less is more.......
zendrui said:
Same thing for me. C++ with EVC tools. No mfc for me (a little purist and feel it gives a clearer code )
Best way to have samller and optimize applications
Click to expand...
Click to collapse
As mentioned above, if you drop ATL, MFC .NET and all the implied baggage they have to bring with them to work, you are left with the old WIN32 programming model. This is now considered very 'old hat', but if all your program uses are API's in WIN32's kernel.dll, user.dll, gdi.dll etc...... i.e. the very primative windows stuff, then it is possible to write an application that will run on any version of Windows Mobile. This application will be pretty simple, but the compiled .EXE file targetted at an ARM4xx model will run on almost any Pocket PC, without any other files. (i.e. The single APP.EXE file will run on any upwardly compatable system, no fancy implementation project to create or run, just copy the release '.exe' file to the target machine, and it will run!). These days 99%+ mobile PDA's run ARM class processors. The manufacturers call them by their own processor IDs but under the hood they are all the same.
To create an app that will run on the Mobile 5/6 platform without looking like previous Mobile 2002/3/SE apps, limit the Main menu items to two. This will make sure they appear either side of the input icon, as menu items. More than two and the Mobile 5/6 menu items appear as 2002/3/SE apps in the old control bar style.
wfberg said:
(I'd like to toy around with programming a bit on PPC - regretably it doesn't have a built-in scripting language like epoc32 has/had).
Click to expand...
Click to collapse
As far as scripting goes... I'm a big fan of Mortscript. It's so simple... I guess I'm a little purist myself
Basic 4PPC
Basic for Pocket PC, has anyone tried this. I went to the site and it only cost around 40.00 US. I've worked with "basic" before and the progs were usually bloated and sluggish. Wonder if this would be the same.
i have started developing in ppl language the program name is PIDE from ariana soft..its very easy..it also lets u make games
ive created my first clock in it

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

Beginner's pointers?

Hi chaps,
I've just got myself an O2 XDA Orbit - great device, and now I'm looking for developing for it - just simple things at first, like a Blackjack game, or a simple Today feature with the sun and moon times on it; this sort of thing.
I've got Visual Studio .NET 2003, but I see that in order to program the latest devices, you need VS 2005 (?). So, I've downloaded Embedded Visual Studio C++ v4 with all the SDK's and I'm hoping to develop for an earlier version of Windows Mobile, and hope that it works.
So while I've got all that, I'm now stuck as to where to start! Can anyone point me to a good book, or something online which will help me through a simple CE application? How you do get the Today screen working, for example? I realise that this might be asking a lot, but a couple of pointers would be great - if you could!
Many thanks,
MrP.
I'm just starting out myself with windows mobile programming. You can find a lot of info from msdn. Here is an example Hello app.
http://msdn2.microsoft.com/en-us/library/ms912017.aspx
You can find a lot of good stuff at the code project site also.
http://www.codeproject.com/ce/
eVC has wizards that will get you going. One thing I found out about using eVC is that you won't be able to debug your programs on a WM5/6 device since the SDK's are not compatible with them. It can be a bit of a challenge to fix bugs without a debugger. I can't get the debugger to work with the emulator either for some reason.
A question for other eVC developers out there. Is it possible to use the emulator to debug programs or do you all have an old PPC2003 device that you use to do your debugging? Or have you all moved on to VS2005?
I've bought visual studio 2005 standard and it is great - it fully supports WM5/6 (with sdk) and runtime debugging - for .exe it works well but I have problems with .dll - I can't debug dll files - does anyone know how to make it?
Pleas look up threads started by vijay555.
He wrote a comprehensive article on the tools and possibilities to begin developing for these devices.
Just as a quick side note:
There is no need what so ever to pay M$ money for VS 2005 if you want to develop in C / C++.
Apps written in eVC++ 4 will work perfectly with WM 5 and 6 and if you need any missing API (not many of those) you have 2 choices:
1) Manually unpack the SDK and link to it.
2) Use implicit linking (that LoadLibrary and GetProcAdress).
levenum said:
Pleas look up threads started by vijay555.
He wrote a comprehensive article on the tools and possibilities to begin developing for these devices.
Just as a quick side note:
There is no need what so ever to pay M$ money for VS 2005 if you want to develop in C / C++.
Apps written in eVC++ 4 will work perfectly with WM 5 and 6 and if you need any missing API (not many of those) you have 2 choices:
1) Manually unpack the SDK and link to it.
2) Use implicit linking (that LoadLibrary and GetProcAdress).
Click to expand...
Click to collapse
Sorry about the delay in replying...
Many thanks for the pointers.. Just a matter of starting now!

I want to make an app :D

Hello.
Do you know a site or thread which has basic instructions about making a "hello world" app for PPC? Just to get me started.
What tools do you guys use? (doesn't matter if they are free or not)
How do you export/publish it as a .CAB?
Thanks.
PS. I searched and didn't find a thread like this and I don't want to use somebody else's thread.
Are you familiar with programming?
I use Visual Studio 2005 to create my apps. It has the ability to create a *.cab file as well
Visual Studio 2005 is not free.
You can find tons of info at the MSDN.
You can also use some library simplifying access to pocketPC by taking care of all necessary OS calls. Xflib looks good, especially if you want to code games, there are also some examples provided with lib download, and sources for most games hosted on their site are available. Might be a good place to start if you'd like to avoid learning winAPI and get right down to coding the actual app Another good thing is that it uses open source ceGCC compiler, so MS Visual C isn't needed. Also, you won't really need to make CABS to distribute programs coded this way, since they consist of one single exe file.
Go to www.xflib.net for downloads and install instructions.
And if you're a total beginner when it comes to programming, I'd try scripting out first. Have a look at mortscript (good because of it's multi-platform usage) or AutoIt (for windows desktop)
Thanks for the answears so far .
I'm not a programming noob, but not profesional. I've done some apps and games. I plan to start with easy things first as a coin toss app... it comes quite handy... or perhaps a handy stuff thing, inclusing the coin toss, unit converting (there are many), dices, chronometer, etc. All with stadistics and many options, like a random mode and a rigged mode ;D for dice and coin toss...
Then move on to something greater, who knows.
For something like that I suppose visual studio is best. I'll try both anyway. Any advise?
By the way is there an emulator like toolkit for J2me? Something a friend can download to run it without a programming software (or a phone).
Thanks again.
Edit: I believe I found an emulator, at least for XFlib (found there).
Device emulators
visual studio has its own device emulators you just have to download the proper SDK's like WM6 sdk or WM5 sdk to be more device specific, it's supports emulator debuging and device debuging but apps made with VS tend to slower and more memory hungry than apps implemented in C. But for me it's the easiest way to app development.
can you post the emulators link or better yet the whole thing itself here if its small enuff? im also working in xflib and would be much easier to use a standalone emulator rather than the one with vs2008. thanks

planetsourcecode type site for Windows Mobile

Is there anything, besides codeproject, that has a repository for source code for windows mobile 5/6/6.1? I am looking for something similar to planetsourcecode.com/.net so I can learn from sourcecode.
Also, is there any development tool I can use to program today plugins besides Visual studio? I know of basic4ppc. But anything else? Anything similar to appforge out there?
Try embedded Visual C++/Basic from the MS Websites. (it's free)
...or ic#code if you intend to write managed code. Hey moderators what about a new forum here in XDA for open source code / class libraries / etc for windows mobile and HTC devices?
jdiperla said:
Is there anything, besides codeproject, that has a repository for source code for windows mobile 5/6/6.1? I am looking for something similar to planetsourcecode.com/.net so I can learn from sourcecode.
Also, is there any development tool I can use to program today plugins besides Visual studio? I know of basic4ppc. But anything else? Anything similar to appforge out there?
Click to expand...
Click to collapse
I recently went through this when making Manilla2D Customizer.
I found a lot of very useful information at the pocket pc developers network http://www.pocketpcdn.com/
Code project also has quite a few decent articles
When you get truly stuck with a problem the community over at stackoverflow.com will usually have an answer for you
Feel free to download the source for M2DC at http://code.google.com/p/manilla2dcustomizer/downloads/detail?name=M2DC_v0.11.133-src.zip&can=1&q=
As far as development tools... I was unable to find anything I was happy with other than Visual Studio. Microsoft has a 90 day trial of Visual Studio 2008 Professional for free download... and that is what I have been using for M2DC, it has worked well for me, but I know in 2 months I need to buy the full version (nearly $700 ) or convince my employer or contracting employer to buy it for me ( )
good luck
I have a similar issue. I can code command line, I am just bad at picking the "correct" compiler, worse at setting it up and I don't really care for Visual coding and IDEs (am perfectly happy with Notepad or Nano).
I was surprised that there is no sticky on these forums, not even in the roll-up, that discusses "recommended" tools (or available combinations) for writing mobile applications.
The only one I am aware of is Visual Studio et al described on MS' site here -
http://msdn.microsoft.com/en-gb/windowsmobile/bb264337.aspx
Now, obviously, I don't really like spending money, especially if I can do it for free (and legally, obviously), so I was pleasently surprised when I found that MS gives their tools away to students -
https://downloads.channel8.msdn.com/Products.aspx
So this gets Visual Studio (I elected for 2005 rather than 2008) and the rest of the tools as a developer environment. I just installed all of this and it seems to be working ok with minimum fuss, so I shall be bastardising some MS sample project in the near future to create a template program and then I should be away....
Beyond that, there's the option of embedded visual c++ 4 (download and service pack 4). Only problem was getting this to compile properly (as I said, I have problems with getting compilers to work. They a nemesis of mine, along with printers).
If there are other options (like ic#code, gcc etc...) that are also easy to set up, but not attached to Microsoft, I would love to be told about them especially if there is a walk-through about how to put the pieces in the right place or an IRC channel I can ask silly questions in (like what .
If you don't require C++, check out PellesC.
It's very straightforward to get it up and going, it's using lcc modified compiler.

Categories

Resources