投稿

ラベル(OAuth)が付いた投稿を表示しています

ブラウザのリンク等からローカルアプリ(Windows)を起動するカスタムスキーム

イメージ
ブラウザからのリンクやコールバックをローカルアプリケーションで受け取る、カスタムスキームの登録方法(Windows) 下記の例では、ブラウザ上で MyApplication:// のリンクを開くと、c:\MyApplication.exe がリンクを引数として起動されるのを説明 レジストリへ  MyApplication:// で開く アプリを登録 ※アプリケーションからこのレジストリの操作は要UAC 拡張子等に対する起動アプリを登録する \HKEY_CLASSES_ROOT\ へ 下記のツリーを作成し、既定、URL Protocol(valueは空)、実行コマンド を登録 command の %1 へブラウザからの情報が置換され実行 HTML側 下記のようなMyApplication:// で始まるリンクを作成 <html> <head></head> <body> <a href="MyApplication://MyAppSetToken?token=hogehoge">Callback</a> </body> </html> ブラウザで確認 ブラウザで上記HTMLのリンクを開く(ローカルファイルでも可)とブラウザが対応レジストリをチェックして、下記のような確認が表示される ※ローカルでない場合 file:// の所がホスト名(ドメイン名)となる アプリケーションがリンクを引数として起動する ※下記は、起動引数(自身含む)を表示させるテストアプリ 実行結果 (2024-03-21現在 Chrome, Firefox で確認) 識別子 MyApplication:// は小文字へと変更される リンク内容全てがアプリケーションへ渡される