Question

J'ai pris sur une application Windows-CE 6.0 que j'aimerais porter sur d'autres plates-formes.C'est une application d'interface graphique autonome relativement simple et autonome, écrite en version 4.0 intégrée C ++.

La toute première cible que je suis intéressée serait un bureau Windows ordinaire (I.e. XP, Vista, Windows-7).

Je comprends que le portage d'une application de bureau à la CE est non pastridique;Mais qu'en est-il de l'inverse, qui est ce que je suis intéressé?Va de Windows-CE à Windows Desktop (un peu) compatible à la hausse?J'aimerais bien entendre "Achetez cet environnement de développement Microsoft XYZ C ++ de 1000 $ et compilez-vous!"

(FYI Je n'ai aucune expérience avec les applications GUI ni avec la programmation dans l'environnement Windows; prétendre que je suis un simple type Linux / Unix avec des décennies d'expérience C / C ++, mais absolument pas de fenêtres ...; -)

Était-ce utile?

La solution

Porting up should, actually, be pretty straightforward. CE is mostly a subset of Win32, with heavy emphasis on Unicode.

You can probably make sure UNICODE is defined, build and, with a little luck, most of it will "just work". Places that are going to be hangups are:

  • The UI is likely to be set for a resolution that doesn't match your PC - often CE apps are targeted to a specific device and resolution and this doesn't necessarily come out very aesthetic on a PC.
  • Anything dynamically loaded (GetProcAddress) from coredll will have to be re-mapped to kernel32/user32/etc
  • If the device uses the SIP (software input panel - i.e. on-screen keyboard) then all of that has to get stripped out.
  • If the app uses any Notifications (icons, etc) that has to get replaced
  • If the app uses any power management, that has to get ripped out
  • If the app uses any device-specific stuff - especially direct calls to drivers, all of that has to be replaced
  • If the app is using point to point queues, that has to get replaced
  • If the app is using the device manager (e.g. to get notifications of copnnected devices) that has to get replaced

Any calls into aygshell.dll are likely to be problematic as well.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top