Url Schemesを使用してローカルプログラムを開く

3851 ワード

テスト:
以下の内容を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