gpt4 book ai didi

c# - 没有控制台窗口的 AppServiceBridge

转载 作者:行者123 更新时间:2023-11-30 14:47:37 26 4
gpt4 key购买 nike

我正在玩 Microsoft 的 UWP AppServiceBridgeSample ( here )。

它运行良好,但我想摆脱 BackgroundProcess 应用程序的控制台窗口。这样做的原因是我的 BackgroundProcess 启动了另一个 Win32 桌面应用程序并且只作为中介工作,所以我不想用控制台窗口打扰用户。 (是的,它可以最小化,但我宁愿完全不显示)。

我尝试使用提到的 API 隐藏它 here ,但运气不好,控制台窗口仍然可见。也没有将项目的输出类型从 Console Application 切换到 Windows Application.work。

我尝试过的另一件事是创建其他 BackgroundProcess 项目作为 Windows 应用程序。它运行良好,直到我调用 AppServiceConnection.OpenAsync(),这导致 BackgroundProcess 应用程序退出strong text,因此与 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 应用程序,而 AppServiceConnectionOpenAsync 调用期间不会失败?

最佳答案

回复 1:进入项目设置并将输出类型从控制台更改为 Windows 应用程序。还要确保在完成后台进程之前 Main() 函数不会退出。这是一个更好的示例,它通过 Windows 应用程序显示了这一点: https://stefanwick.com/2017/05/26/uwp-calling-office-interop-apis/

enter image description here

回复 2:AppServiceConnection 在窗口应用程序中的工作方式也相同。确保添加对 Windows.winmd 的正确引用以便能够构建。如果您遇到问题,请发布一个具体问题,并详细说明您遇到的问题

关于c# - 没有控制台窗口的 AppServiceBridge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44307232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com