Url Schemesを使用してローカルプログラムを開く
3851 ワード
テスト:
以下の内容をtestとして保存する.html、ブラウザで開き、「Test Url Schemes」ハイパーリンクをクリックすると効果が見られます(対応するプログラムが起動します)
実装:
Windowsの下:
レジストリのHKEY_へCLASSES_ROOTに指定されたフォーマットの情報を書き込めばよい
batで簡単に説明します.
ここで「TestUrlSchemes」という名前は、あなたが取るカスタムプロトコル名に変更できます(特殊文字は使用できないようですが、windowsでは大文字と小文字は無視されます).
「c:\myapp.exe」は、インストールされているプログラムの絶対パスに変更できます.
macの下:
Contentsの下のInfoを変更するだけで簡単です.plistファイル
たとえば、変更前:
修正後:(「CFBundleURLTypes」などを追加)
注意:初めて、手動でプログラムを開く必要があります(AppStoreからダウンロードしたものではないので、右クリックでプログラムを開く必要があるかもしれません)、その後、カスタムプロトコルで直接開くことができます
linuxの下:
ソフトウェアに対応する.desktopファイル追加フィールド「MimeType=x-scheme-handler/testurlschemes」
注意:
1、testurlschemesは純粋な英語の小文字でなければならない
2、ubuntu14.04サポート済みcentos 6.8もサポートされています(centos 6.5はテストでサポートされていません)
3、.desktopファイルは/usr/share/applications/ディレクトリの下に配置されます(手動でこのファイルを変更した場合、update-desktop-databaseを実行するとすぐに有効になります).
test.desktopファイルの内容は大体以下の通りです.
以下の内容をtestとして保存する.html、ブラウザで開き、「Test Url Schemes」ハイパーリンクをクリックすると効果が見られます(対応するプログラムが起動します)
Test Url Schemes
実装:
Windowsの下:
レジストリのHKEY_へCLASSES_ROOTに指定されたフォーマットの情報を書き込めばよい
batで簡単に説明します.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\TestUrlSchemes]
@="Test URL Schemes"
"URL Protocol"="c:\\myapp.exe"
[HKEY_CLASSES_ROOT\TestUrlSchemes\DefaultIcon]
@="c:\\myapp.exe,1"
[HKEY_CLASSES_ROOT\TestUrlSchemes\shell]
[HKEY_CLASSES_ROOT\TestUrlSchemes\shell\open]
[HKEY_CLASSES_ROOT\TestUrlSchemes\shell\open\command]
@="\"c:\\myapp.exe\" \"%1\""
ここで「TestUrlSchemes」という名前は、あなたが取るカスタムプロトコル名に変更できます(特殊文字は使用できないようですが、windowsでは大文字と小文字は無視されます).
「c:\myapp.exe」は、インストールされているプログラムの絶対パスに変更できます.
macの下:
Contentsの下のInfoを変更するだけで簡単です.plistファイル
たとえば、変更前:
NSPrincipalClass
NSApplication
CFBundleIconFile
CFBundlePackageType
APPL
CFBundleGetInfoString
Created by Qt/QMake
CFBundleSignature
????
CFBundleExecutable
myapp
CFBundleIdentifier
com.yourcompany.myapp
CFBundleDevelopmentRegion
en
NOTE
This file was generated by Qt/QMake.
修正後:(「CFBundleURLTypes」などを追加)
NSPrincipalClass
NSApplication
CFBundleIconFile
CFBundlePackageType
APPL
CFBundleGetInfoString
Created by Qt/QMake
CFBundleSignature
????
CFBundleExecutable
myapp
CFBundleIdentifier
com.yourcompany.myapp
CFBundleDevelopmentRegion
en
CFBundleURLTypes
CFBundleURLSchemes
TestUrlSchemes
CFBundleURLName
com.yourcompany.myapp
NOTE
This file was generated by Qt/QMake.
注意:初めて、手動でプログラムを開く必要があります(AppStoreからダウンロードしたものではないので、右クリックでプログラムを開く必要があるかもしれません)、その後、カスタムプロトコルで直接開くことができます
linuxの下:
ソフトウェアに対応する.desktopファイル追加フィールド「MimeType=x-scheme-handler/testurlschemes」
注意:
1、testurlschemesは純粋な英語の小文字でなければならない
2、ubuntu14.04サポート済みcentos 6.8もサポートされています(centos 6.5はテストでサポートされていません)
3、.desktopファイルは/usr/share/applications/ディレクトリの下に配置されます(手動でこのファイルを変更した場合、update-desktop-databaseを実行するとすぐに有効になります).
test.desktopファイルの内容は大体以下の通りです.
[Desktop Entry]
GenericName=web transmit adapter
Name=web_transmit_adapter
Version=1.0.0
Exec=bash /usr/bin/web_transmit_adapter/web_transmit_adapter.sh
Comment=web transmit adapter on Linux x64
Icon=web_transmit_adapter.png
Type=Application
Terminal=false
StartupNotify=false
Encoding=UTF-8
Categories=Utility
MimeType=x-scheme-handler/testurlschemes