0

Привет, у меня есть огромная база кода, состоящая из множества решений, много проектов EXE, много проектов статической библиотеки (* .lib) и т. Д., Закодированных в C++ для рабочего стола Режим окон. В этой кодовой базе я использовал множество вызовов/API от WDK (набор драйверов WIndows), делающий много вызовов низкого уровня. Также я активно использовал API-интерфейсы win32.Портирование настольного приложения VC++ (с использованием WDK) на современное (метровое) приложение

Я хочу перенести весь этот код в современный (метро) режим.

Что мне нужно, чтобы портировать мой рабочий стол C++ codebase (EXEs, static libs и т. Д.) На совместимый с Modern (metro).

Будет ли это портирование, просто навязывая оболочку вокруг существующего приложения для настольных систем или будет связано с большим изменением кода, например, замените API win32 чем-то другим для современного (метрового) режима. Детали были бы полезны.

ответ

1

Если ваше приложение имеет много связей с системой, которое, как я подозреваю, делает со многими низкоуровневыми вызовами WDK, тогда это может быть хлопотно. Я подозреваю, что ваше приложение должно будет оставаться настольным приложением, по крайней мере, если вы планируете распространять его через магазин.

Ваш пользовательский интерфейс (если он не является DirectX) должен быть полностью переписан для использования библиотек HTML или Xaml, доступных для приложений Windows Store.

Если ваша основная логика отделена от пользовательского интерфейса, и если она в основном автономна, то она может быть прямой, чтобы привести ее в порядок. Стандартные библиотеки C++ в основном разрешены, но некоторые (в частности, API файлов) ограничены контекстом безопасности приложения.

Приложения Windows Store изолированы и ограничены доступом к системе в целом. Они имеют доступ к подмножеству API Win32, зарегистрированному по адресу Win32 and COM for Windows Runtime apps. Приложения Windows Store имеют прямой доступ только к нескольким местоположениям в файловой системе (доступ для чтения к их каталогу установки и чтение/запись в каталог данных приложений), и он может видеть только остальную файловую систему через брокерскую систему с использованием объектов StorageItem.

Все, что сказано, если это приложение для предприятий, которое вы планируете загружать через боковую загрузку, а не загружать через магазин, вы можете использовать Brokered Windows Runtime Component (BWRC), чтобы обойти песочницу и иметь полные разрешения на работу. В этом случае вы должны написать приложение Windows Store для пользовательского интерфейса и BWRC для переноса существующего кода на рабочем столе.

+0

Спасибо. Если у моего приложения нет пользовательского интерфейса, и вместо этого это приложение с командной строкой, я думаю, что могу просто использовать BWRC. Я прав ? – codeLover

+0

Приложения для Windows Store мгновенно основаны на графическом интерфейсе. Если вы хотите остаться с приложением командной строки, он останется в качестве настольного приложения. Если вы хотите добавить графический интерфейс, вы можете использовать BWRC для вызова приложения командной строки (нашего мужества) из XAML или html GUI –

 Смежные вопросы

  • Нет связанных вопросов^_^