2016-08-25 10 views
-2

Я успешно конвертировал приложение Win32 (C++) в UWP.Как вызвать UWP API из конвертированного приложения Win32. (Desktop App Converter)

Но он не может работать с файлом чтения/записи, поэтому я хочу использовать UWP API из конвертированного приложения.

Supported UWP APIs for converted desktop apps

Я нашел это предложение «Большинство UWP API, хорошо работают на преобразованных приложений для настольных компьютеров.». Но я не могу найти способ вызова UWP API из конвертированного приложения Win32.

Как вызвать UWP API из конвертированного приложения Win32?

Спасибо.

+0

Что вы уже пробовали? Во всяком случае, пожалуйста, отредактируйте свой вопрос, чтобы включить свой код, который часто помогает сообществу SO дать лучший ответ. –

+3

* «Невозможно работать с методом чтения/записи» * - [Доступ к файлу] (https://msdn.microsoft.com/en-us/windows/uwp/files/file-access-permissions) ограничен в приложение UWP. Вы не можете обойти ограничения, используя другой API. – IInspectable

+0

У меня было недоразумение. Спасибо, что ответили, ребята. – fireflower

ответ

1

Как назвать API UWP из преобразованного приложения Win32?

На самом деле, есть некоторые образцы в этом offcial хранилище: DesktopBridgeToUWP-Samples

Например, AppService Bridge Sample включает в себя два проекта: BackgroundProcess (Win32 приложение консоли) и UWP (UWP приложение)

Проект BackgroundProcess добавил ссылку на System.Runtime.WindowsRuntime и включил реализацию UWP AppService, отметьте ThreadProc function

UWP pr oject будет использовать новую полную возможность доверия для выполнения этого приложения Win32 для использования службы App. Смотрите также Converted desktop app extensions

Но он не может работать чтение/записи методы с файлом

В вашем случае вам просто нужно заполнить UWP функции (StorageFile class) в проекте Win32 и преобразовать в UWP приложение ,

+0

Причина неудачи я думал, что преобразованное приложение win32 может писать в установленный каталог. [Ссылка] (https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root). Я заметил свое недоразумение, когда увидел это предложение: «Ваше приложение записывается в каталог установки для вашего приложения». на этом сайте. Изменение папки делает меня успешным. Но я думаю, что было бы лучше использовать winRT API. Поэтому я заменил старый api на winRT. Спасибо за ответ. – fireflower

1

Мы недавно опубликовали сообщение в блоге о вызове API UWP из процессов Win32. Эти интерфейсы в целом можно назвать даже без использования рабочего моста, но некоторые из них применимы только при использовании UWP модели приложения, которое преобразование Desktop Bridge обеспечивает:

https://blogs.windows.com/buildingapps/2017/01/25/calling-windows-10-apis-desktop-application

Спасибо!