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 の違いは何ですか? ありがとうございました!