Windowsのコマンドラインから両方:
- デフォルトのウェブブラウザを起動する
- そしてそのブラウザ内のデフォルトの検索エンジンにクエリを実行する
このコマンドは、次のようなシナリオでは正しく機能します。
- Firefox をデフォルトのブラウザに、Wikipedia をデフォルトの検索エンジンに
- IEがデフォルトのブラウザ、Googleがデフォルトの検索エンジン
- 等...
そのようなコマンドが存在しない場合の適切な代替策は、レジストリ(またはそれが保存されている場所)からこの情報を取得することです。
これは可能でしょうか?また、どのようにすれば可能ですか?
答え1
残念ながらこれは不可能です。デフォルトのブラウザで特定のURLを開くのは簡単です。
start http://some/url
しかし、デフォルトの検索エンジンを照会するのはそれほど簡単ではありません。なぜなら、ブラウザによって検索エンジンの保存場所が大きく異なるからです。たとえば、Internet Explorerは検索エンジンを次の場所に保存します。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes
しかし、Firefox や他のブラウザでは、おそらく設定が別の場所に保存されます (つまり、すべてのブラウザに共通する設定を 1 つの場所に統一して保存しておくと、ユーザーにとっては便利ですが、開発者はそれを嫌うでしょう。特に、それが Microsoft によって指定された 1 つの場所に統一されて保存されている場合はなおさらです)。
デフォルトのブラウザに応じて、デフォルトの検索エンジンを決定するためにさまざまなコード パスを試すことができます。ただし、デフォルトのブラウザも緩く指定されているだけであり、HTTP プロトコル ハンドラに関連付けられているプログラムを調べることで取得できます。
しかし、崖の向こう側には膨大な量の作業があるため、それは推測に非常に近いと言えます。したがって、一般的には、おそらく望む以上の作業を行わない限り、ほぼ不可能だと言えます。
到着予定時刻: いくつかのFirefox などのブラウザでは、デフォルトの検索エンジンを使用して、コマンド ラインから直接検索できます。
firefox.exe -search keyword
または
opera.exe ? keyword
しかし、それでもデフォルトのブラウザを特定し、そこから適切な引数を決定するという問題は残ります。