суббота, 11 октября 2014 г.

Какие инструменты используются для программирования для Windows Mobile 5 или 6?

Хех... Мелкософты бесплатно раздают, налетай-разгребай. Windows Mobile (также известна как Windows Phone) - мобильная операционная система, разработанная Microsoft для собственных аппаратных платформ Pocket PC (коммуникатор) и Smartphone. В настоящее время переживает постепенный отказ от поддержки и разработки. Текущая версия - Windows Mobile основана на Windows CE, имеет базовый набор приложений, разработанных с использованием Microsoft Win32 API (программы могут приобретаться через сервис Windows Marketplace for Mobile или устанавливаться вручную пользователем; доступна свободная разработка программ для третьих лиц), функционально и визуально пытается быть похожим на настольную версию Windows.

Небольшая программа для Windows CE:
#include <windows.h>
#include <commctrl.h>             // подключение линейки команд
LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM,LPARAM);
TCHAR szAppName[] = TEXT ("TinyCE");
HINSTANCE hInst;
//-----------------------------------
// Точка входа в программу
//

int WINAPI WinMain (HINSTANCE hInstance,
                    HINSTANCE hPrevInstance, LPWSTR lpCmdLine,
                    int nCmdShow) {
  WNDCLASS wc;
  HWND hWnd;
  MSG msg;
  hInst = hInstance;
  // Регистрируется класс App Main Window
  memset (&wc, 0, sizeof (wc));
  wc.lpfnWndProc = MainWndProc;         // Внешний вызов
  wc.hInstance = hInstance;             // Дескриптор владельца
  wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
  wc.lpszClassName = szAppName;         // Имя класса окна
  if (RegisterClass(&wc) == 0) return -1;
  // Построение главного окна
  hWnd = CreateWindow (szAppName,       // Класс окна
                       szAppName,       // Заголовок окна
                       WS_VISIBLE,      // Флаги стилей
                       CW_USEDEFAULT,   // Позиция по X
                       CW_USEDEFAULT,   // Позиция по Y
                       CW_USEDEFAULT,   // Исходная ширина
                       CW_USEDEFAULT,   // Исходная высота
                       NULL,            // Предок
                       NULL,            // Меню, должен иметь
                                        // значение NULL

                       hInstance,       // Экземпляр программы
                       NULL);           // Указатель для
                                        // создания параметров
  // В качестве return-значения передается код ошибки,

  // если окно не построено
  if (!IsWindow (hWnd)) return -2;
  // Стандартные вызовы отображения и обновления
  ShowWindow (hWnd, nCmdShow);
  UpdateWindow (hWnd);
  // Цикл обработки сообщений в программе
  while (GetMessage (&msg, NULL, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
  return 0;
}

//-----------------------------------
// Основная оконная процедура
//

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT wMsg,
                             WPARAM wParam, LPARAM lParam) {
  HWND hwndCB;
    PAINTSTRUCT ps;
    RECT rect;
    HDC hdc;
  switch (wMsg) {
  case WM_CREATE:
    // Создание минимальной панели команд, содержащей только
    // кнопку Exit

    hwndCB = CommandBar_Create (hInst, hWnd, 0x10);
    CommandBar_AddAdornments (hwndCB, 0, 0);
    break;
  case WM_PAINT:
    // Настройка размера прямоугольника клиентского окна
    // с учетом высоты панели команд

      GetClientRect (hWnd, &rect);
    rect.top += CommandBar_Height (GetDlgItem (hWnd, 0x10));
      hdc = BeginPaint (hWnd, &ps);
    DrawText (hdc, TEXT ("Hello Windows CE!"), -1, &rect,
                DT_CENTER | DT_VCENTER | DT_SINGLELINE);
      EndPaint (hWnd, &ps);
    break;
  case WM_DESTROY:
    break;
  }
  return DefWindowProc(hWnd, wMsg, wParam, lParam);
}

Комментариев нет:

Отправить комментарий

В комментариях уважайте собеседника, внимательно читайте посты и не додумывайте. Просьбы и предложения из разряда: «можно ваш Skype/Viber/телефон», «напишите мне в vk/FB», а также другие им подобные — игнорируются. Выход новых версий ПО, внешняя ссылка, переставшая работать с течением времени и т.п. не является основанием для претензий. Желающие спокойно подискутировать и высказаться — Welcome. Желающие спонсировать блог — Donate. Нарушение этих простых правил ведет к бану и удалению комментариев без предупреждения.