Pages

Wednesday, June 24, 2009

Самая маленькая апликация для Windows Mobile

Самая маленькая апликация для Windows Mobile выглядит так:

#define WINVER _WIN32_WCE

#include <windows.h>

HINSTANCE g_hInstance = NULL;

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nCmdShow)

{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
UNREFERENCED_PARAMETER(nCmdShow);

// store the hInstance in global
g_hInstance = hInstance;

return 0;
}

Если в Visual Studio создать новый проэкт – File->New->Project:



Выбрать Smart Device как тип проэкта, выбрать темплате Win32 Smart Device Project, указать имя проэкта – как показано на рисунке:


Выбрать платформу из списка инсталлированных SDK:



На следующей странице выбрать пустой проэкт (Empty project):


Потом добавить cpp-file:


Скопировать в этот файл текст программы:

И апликация готова.
В настройках проэкта, на странице Deployment можна задать эмулятор:

Теперь нужно откомпилировать и запустить – можно просто нажать F5.
Эта программа скомпилированная для Pocket PC 2003 SDK будет «бежать» на всех девайсах начиная Windows CE 4.21, Pocket PC 2003, Windows CE 5.0, 6.0, Windows Mobile 5.0, 6.0, 6.1, 6.5, и, наверное, дальше.

Эта программа ничего видимого для пользователя не делает. Чтобы убедиться, что она работает нужно добавить, например, какой-то logger/trace и вызвать его:
#define WINVER _WIN32_WCE

#include <windows.h>
#include "Tracer.h"

HINSTANCE g_hInstance = NULL;

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nCmdShow)

{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
UNREFERENCED_PARAMETER(nCmdShow);

// store the hInstance in global
g_hInstance = hInstance;
Tracer(L"Starting instance 0x%08x", g_hInstance);

return 0;
}

No comments:

Post a Comment