如何以编程方式触发Cortana?

时间:2015-10-08 14:01:13

标签: windows-phone cortana

有没有办法使用用于编程触发Cortana的VoiceCommand方法,好像Cortana已经注册了" Hey Cortana"开始听?

2 个答案:

答案 0 :(得分:1)

我有同样的问题,但对于Windows 10.找到了解决方案:在Windows 10上,您可以使用Win + C键击组合触发Cortana。要以编程方式实现此功能,您需要使用Win32 SendInput方法进行互操作。幸运的是,有一个NuGet包Windows Input Simulator,就是这样:

Install-Package InputSimulator

安装完成后,我可以使用以下命令从WPF应用程序触发Cortana:

var sim = new InputSimulator();
sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_C);

答案 1 :(得分:0)

你可以得到的最接近的是使用这样的东西:

async static void LaunchCortana(bool untrusted, string searchText)
    {
        // The URI to launch
        string uriToLaunch = @"http://www.bing.com/";
        searchText = "search?q=" + searchText.Replace(" ", "+");
        var uri = new Uri(uriToLaunch + searchText);

        // Set the option to show a warning
        var options = new Windows.System.LauncherOptions();
        options.TreatAsUntrusted = untrusted;

        // Launch the URI with a warning prompt
        var success = await Windows.System.Launcher.LaunchUriAsync(uri, options);

        if (success)
        {
            // URI launched
        }
        else
        {
            // URI launch failed
        }
    }

        await Launcher.LaunchUriAsync(new Uri("bing://home"));

仅适用于 Windows Phone 8.x ,并利用Cortana禁用Bing.com的事实,但您无法使用它来启动Cortana命令。它将开始网络搜索。