インターネット ショートカット
インターネット ショートカット オブジェクトは、インターネット サイトへのデスクトップ ショートカットを作成するために使用されます。 ファイル システム内の項目へのショートカットと同様に、インターネット ショートカットはデスクトップ上のアイコンの形式になります。 ユーザーがアイコンをクリックすると、ブラウザーが起動し、ショートカットに関連付けられているサイトが表示されます。
次のトピックについて説明します。
-
インターネット ショートカットの作成
- WebBrowser コントロールからインターネット ショートカットを作成する
- URL からインターネット ショートカットを作成する
- プロパティ ストレージ へのアクセスの
- インターフェイス
- Functions
インターネット ショートカットの作成
WebBrowser コントロールを使用するか、ページの URL を使用して、インターネット ショートカットを作成できます。
WebBrowser コントロールからインターネット ショートカットを作成する
アプリケーションが WebBrowser コントロールをホストしている場合は、インターネット ショートカット オブジェクトを使用して、次の方法でショートカットを作成できます。
- CLSID_InternetShortcutのクラス識別子 (CLSID) を使用して、CoCreateInstanceを使用して、インターネット ショートカット オブジェクトのインスタンスを作成します。
- IObjectWithSite::SetSiteを使用して、WebBrowser の IUnknown インターフェイスへのポインターをインターネット ショートカット オブジェクトに渡します。
- WebBrowser コントロールで表示されるページへのショートカットを作成する場合は、インターネット ショートカット オブジェクトの IPersistFile::Save メソッドを呼び出します。
ショートカットは、IPersistFile::Saveで指定された場所に作成されます。 この場所により、WebBrowser コントロールは、正しいドキュメントをフレームセットに読み込むタスクを含む状態を復元できます。
URL からのインターネット ショートカットの作成
リンク先のページの URL がある場合は、インターネット ショートカットを作成することもできます。
- CLSID_InternetShortcutの CLSID を使用して、CoCreateInstanceを使用して、インターネット ショートカット オブジェクトのインスタンスを作成します。
- IUniformResourceLocator::SetURL メソッドを使用して、ショートカットに URL を設定します。
- IPersistFile::Save メソッドを使用して、ショートカット ファイルを目的の場所に保存します。
プロパティ ストレージへのアクセス
インターネット ショートカット オブジェクトには、次の手順に従って、オブジェクトの IPropertySetStorage インターフェイスを介してアクセスできるいくつかのプロパティが含まれています。
- IID_IPropertySetStorage QueryInterface を呼び出して、IPropertySetStorage インターフェイスを取得します。
- IPropertySetStorage::Open IPropertySetStorage インターフェイスを 取得するには、FMTID_IntshcutまたはFMTID_InternetSiteを呼び出して、インターネット ショートカット プロパティ ストレージ セットにアクセスします。
- 適切なプロパティ ID を渡して、IPropertyStorage::ReadMultiple でプロパティ ストレージ情報を読み取ります。
Shell32.dllのバージョン 4.70 以上の では、pidl パラメーターが設定された IShellFolder::BindToStorage を呼び出すことによって、IPropertySetStorage インターフェイスを取得することもできます。URL ファイルと、riid パラメーターがIID_IPropertySetStorageに設定されています。
FMTID_Intshcutには、次のプロパティ ID を要求できます。
PROPID | バリアント型 | 形容 |
---|---|---|
PID_IS_URL | VT_LPWSTR | ショートカットがリードする URL |
PID_IS_NAME | VT_LPWSTR | インターネット ショートカットの名前 |
PID_IS_WORKINGDIR | VT_LPWSTR | ショートカットの作業ディレクトリ |
PID_IS_HOTKEY | VT_UI2 | ショートカットのホットキー |
PID_IS_SHOWCMD | VT_I4 | ショートカットのコマンドを表示する |
PID_IS_ICONINDEX | VT_I4 | アイコンのインデックス |
PID_IS_ICONFILE | VT_LPWSTR | アイコンを含むファイル |
PID_IS_WHATSNEW | VT_LPWSTR | 新着情報 |
PID_IS_AUTHOR | VT_LPWSTR | 著者 |
PID_IS_DESCRIPTION | VT_LPWSTR | サイトの説明テキスト |
PID_IS_COMMENT | VT_LPWSTR | ユーザー注釈付きコメント |
PID_IS_ROAMED | VT_BOOL | True の 場合は、ショートカットが初めて移動します。 |
FMTID_InternetSiteには、次のプロパティ ID を要求できます。
PROPID | バリアント型 | 形容 |
---|---|---|
PID_INTSITE_WHATSNEW | VT_LPWSTR | 新着情報 |
PID_INTSITE_AUTHOR | VT_LPWSTR | 著者 |
PID_INTSITE_LASTVISIT | VT_FILETIME | サイトが最後に訪問された時刻 |
PID_INTSITE_LASTMOD | VT_FILETIME | サイトが最後に変更された時刻 |
PID_INTSITE_VISITCOUNT | VT_UI4 | ユーザーがアクセスした回数 |
PID_INTSITE_DESCRIPTION | VT_LPWSTR | サイトの説明テキスト |
PID_INTSITE_COMMENT | VT_LPWSTR | ユーザー注釈付きコメント |
PID_INTSITE_FLAGS | VT_UI4 | PIDISF_ フラグの使用を示します (下記参照) |
PID_INTSITE_CONTENTLEN | N/A | 現在サポートされていません |
PID_INTSITE_CONTENTCODE | N/A | 現在サポートされていません |
PID_INTSITE_RECURSE | N/A | 現在サポートされていません |
PID_INTSITE_WATCH | N/A | 現在サポートされていません |
PID_INTSITE_SUBSCRIPTION | VT_UI8 | サブスクリプション マネージャーの SUBSCRIPTIONCOOKIE 値 |
PID_INTSITE_URL | VT_LPWSTR | ショートカットがリードする URL |
PID_INTSITE_TITLE | VT_LPWSTR | タイトル |
PID_INTSITE_CODEPAGE | VT_UI4 | ドキュメントのコード ページ |
PID_INTSITE_TRACKING | N/A | 現在サポートされていません |
PID_INTSITE_ICONINDEX | VT_I4 | アイコンのインデックス |
PID_INTSITE_ICONFILE | VT_LPWSTR | アイコンを含むファイル |
PID_INTSITE_ROAMED | VT_UI4 | ローミングが原因でエントリが追加されました |
インターネット サイト フラグを次に示します。
旗 | 形容 |
---|---|
PIDISF_RECENTLYCHANGED | サイトが最近変更されたことを示します |
PIDISF_CACHEDSTICKY | 現在サポートされていません |
PIDISF_CACHEIMAGES | 現在サポートされていません |
PIDISF_FOLLOWALLLINKS | 現在サポートされていません |
インターネット ローミング履歴には、次の値が使用されます。
PID_INTSITE_ROAMEDの値 | 形容 |
---|---|
値が設定されていないか、PIDISR_UP_TO_DATE | このキャッシュ エントリはローミングによって変更されていません。 |
PIDISR_NEEDS_ADD | このキャッシュ エントリは、ローミングによってキャッシュに追加されました。 エントリの処理が完了したら、PIDISR_UP_TO_DATE設定します。 |
PIDISR_NEEDS_UPDATE | このキャッシュ エントリはローカル コンピューターに既に存在していましたが、ローミングによって更新されました。 エントリの処理が完了したら、PIDISR_UP_TO_DATE設定します。 |
PIDISR_NEEDS_DELETE | ローミング中に、このキャッシュ エントリを削除する必要があることを検出しました。 たとえば、ユーザーが自分のブラウザー履歴をクリアしたとします。 DeleteUrlCacheEntry を使用してエントリを削除します。 |
インターフェイス
インターネット ショートカット オブジェクトは、さまざまなインターフェイスを公開します。
OLE インターフェイス
- IDataObject の
- IPersistFile の
- IPersistStream の
- IOleCommandTarget の
- IPropertySetStorage の
- IObjectWithSite の
シェル インターフェイス
- IContextMenu2の
- IExtractIcon
- INewShortcutHookをする
- IShellExtInitの
- IShellLinkの
- IShellPropSheetExtの
- IQueryInfoの
関数
インターネット ショートカット オブジェクトで使用できるユーティリティ関数がいくつかあります。
インターネット ショートカット ユーティリティ関数
- InetIsOffline
- MIMEAssociationDialog
- TranslateURLをする
- URLAssociationDialogをする