Chrome拡張機能からデスクトップ内の任意のアプリケーションを起動することはできますか?

通常の方法では Chrome拡張機能から直接デスクトップアプリケーションを起動することはできません。これは セキュリティ上の制限によるものです。

詳細な理由

Chrome拡張機能はWeb技術(JavaScript, HTML, CSS)で構成されており、ローカルのOSに直接アクセスすることはできません。つまり、cmd.exe.exeファイル、macOSのopenコマンドなどを実行することはできないようになっています。


ただし、実現する方法はいくつかあります

1. ネイティブメッセージング(Native Messaging)を使う

Chrome拡張機能とローカルアプリケーションを連携させる公式な手法です。

仕組み

手順概要

  1. ローカルで .json のネイティブメッセージング用マニフェストを作成し、OSに登録
  2. Chrome拡張機能から chrome.runtime.sendNativeMessage を使ってメッセージ送信
  3. ネイティブアプリが起動し、受け取ったコマンドに従って任意のアプリを起動

注意点