AppServiceBridge без консольного окна

Я играю с UWP от Microsoft AppServiceBridgeSample ( здесь).

Это работает хорошо, но я хотел бы избавиться от окна консоли BackgroundProcess приложение. Причина в том, что мой BackgroundProcess запускает другое настольное приложение Win32 и работает только как посредник, поэтому я не хочу мешать пользователям с помощью окна консоли. (Да, это можно свести к минимуму, но я бы предпочел не показывать это вообще).

Я пытался скрыть это с помощью API, упомянутого здесь, но без удачи, окно консоли все еще видимо. Также не было переключения типа вывода проекта с Console Application в Windows Application.Работа.

Еще одна вещь, которую я пытался создать BackgroundProcess проект как приложение для Windows. Работает нормально пока я не позвоню AppServiceConnection.OpenAsync(), который вызывает BackgroundProcess приложение для выходасильного текста, поэтому подключение к UWA не доступно.

static async void ThreadProc()
{
  try
  {
     AppServiceConnection connection = new AppServiceConnection();
     connection.AppServiceName = "CommunicationService";
     connection.PackageFamilyName = Windows.ApplicationModel.Package.Current.Id.FamilyName;
     connection.RequestReceived += Connection_RequestReceived;
     AppServiceConnectionStatus status = await connection.OpenAsync();
     //status check etc. ...
  }
  catch(Exception ex)
  {
     MessageBox.Show(ex.ToString());
  }
}

Кажется, что открытие соединения AppService возможно только из консольного приложения.

Итак, вот мои два вопроса:

  1. Возможно ли вообще скрыть окно консоли фонового процесса?
  2. Можно ли использовать фоновый процесс в качестве приложения Windows, без AppServiceConnection провал во время OpenAsync звонки?

1 ответ

Решение

Re 1: Зайдите в настройки проекта и измените тип вывода с консоли на приложение Windows. Также убедитесь, что функция Main() не закрывается, пока вы не закончите с фоновым процессом. Вот лучший пример, который показывает это с приложением Windows: https://stefanwick.com/2017/05/26/uwp-calling-office-interop-apis/

Re 2: AppServiceConnection работает так же, как и из оконного приложения. Убедитесь, что вы добавили правильную ссылку на Windows.winmd для возможности сборки. Если у вас есть проблемы с этим, пожалуйста, опубликуйте конкретный вопрос с подробной информацией о проблеме, которую вы видите

Другие вопросы по тегам