0

C# を使用して、 Windows 検索プロトコルに従って Windows 共通デスクトップ検索をトリガーしようとしています。これを実装するのは非常に単純なコードです。

    static void Main(string[] args)
    {
        const string searchQuery = "search:";
        Process.Start(searchQuery);
    }

上記は Win7 と Win8 の両方で正常に動作し、検索ウィンドウが表示されます。しかし、ドキュメントにあるようにクエリを追加すると:

    const string searchQuery = "search:query=a";
    Process.Start(searchQuery);

応答がないだけで、例外もありません。その後、クエリに位置情報を追加しようとしました:

    const string searchQuery = "search:query=a&crumb=location:\\";
    Process.Start(searchQuery);

奇妙なことに、これは検索ウィンドウのプロンプトである Win7 では問題なく機能し、期待どおりに「a」の検索を開始します。しかし、Win8で失敗し、実行がスローされました:

未処理の例外: System.ComponentModel.Win32Exception: System.Diagnostics.Process.Start(ProcessStartInfo) の System.Diagnostics.Process.Start() の System.Diagnostics.Process.StartWithShellExecuteEx
(ProcessStartInfo startInfo)で指定されたドライブが見つかりませんstartInfo) at System.Diagnostics.Process.Start(String fileName) at ProcessStart.Program.Main(String[] args) in e:\WorkSpace\ProcessStart\Process Start\Program.cs:line 15



検索プロトコルに関する Win7 と Win8 の違いは何ですか? ありがとうございました!

4

1 に答える 1

0

次のような場所を渡す必要があります

const string searchQuery = "search:search:query=seattle&crumb=location:C://MyFolder";
Process.Start(searchQuery);
于 2015-09-08T09:43:08.423 に答える