インターネット ショートカット
インターネット ショートカット オブジェクトは、インターネット サイトへのデスクトップ ショートカットを作成するために使用されます。 ファイル システム内の項目へのショートカットと同様に、インターネット ショートカットはデスクトップ上のアイコンの形式になります。 ユーザーがアイコンをクリックすると、ブラウザーが起動し、ショートカットに関連付けられているサイトが表示されます。
次のトピックについて説明します。
インターネット ショートカットの作成
WebBrowser コントロールを使用するか、ページの URL を使用して、インターネット ショートカットを作成できます。
WebBrowser コントロールからインターネット ショートカットを作成する
アプリケーションが WebBrowser コントロールをホストしている場合は、インターネット ショートカット オブジェクトを使用して、次のようにショートカットを作成できます。
- CLSID_InternetShortcutのクラス識別子 (CLSID) を使用して、 CoCreateInstance を使用してインターネット ショートカット オブジェクトのインスタンスを作成します。
- WebBrowser の IUnknown インターフェイスへのポインターを、 IObjectWithSite::SetSite を使用してインターネット ショートカット オブジェクトに渡します。
- WebBrowser コントロールによって表示されるページへのショートカットを作成する場合は、インターネット ショートカット オブジェクトの IPersistFile::Save メソッドを呼び出します。
ショートカットは、 IPersistFile::Save で指定された場所に作成されます。 この場所により、WebBrowser コントロールは、正しいドキュメントをフレームセットに読み込むタスクを含む状態を復元できます。
URL からのインターネット ショートカットの作成
リンク先のページの URL がある場合は、インターネット ショートカットを作成することもできます。
- CLSID_InternetShortcutの CLSID を使用して、 CoCreateInstance を使用してインターネット ショートカット オブジェクトのインスタンスを作成します。
- ショートカットで URL を設定するには 、IUniformResourceLocator::SetURL メソッドを使用します。
- ショートカット ファイルを目的の場所に保存するには、 IPersistFile::Save メソッドを使用します。
プロパティ ストレージへのアクセス
インターネット ショートカット オブジェクトには、次の手順でオブジェクトの IPropertySetStorage インターフェイスを介してアクセスできるいくつかのプロパティが含まれています。
- IID_IPropertySetStorageを使用して QueryInterface を呼び出して、IPropertySetStorage インターフェイスを取得します。
- IPropertySetStorage::Open with FMTID_Intshcutまたは FMTID_InternetSite を呼び出して IPropertyStorage インターフェイスを取得することで、インターネット ショートカット プロパティ ストレージ セットにアクセスします。
- 適切なプロパティ ID を渡して 、IPropertyStorage::ReadMultiple でプロパティ ストレージ情報を読み取ります。
バージョン 4.70 以降のShell32.dllでは、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 | Author |
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 | Author |
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 | 該当なし | 現在、サポートされていません |
PID_INTSITE_CONTENTCODE | 該当なし | 現在、サポートされていません |
PID_INTSITE_RECURSE | 該当なし | 現在、サポートされていません |
PID_INTSITE_WATCH | 該当なし | 現在、サポートされていません |
PID_INTSITE_SUBSCRIPTION | VT_UI8 | サブスクリプション マネージャーの SUBSCRIPTIONCOOKIE 値 |
PID_INTSITE_URL | VT_LPWSTR | ショートカットがリードする URL |
PID_INTSITE_TITLE | VT_LPWSTR | Title |
PID_INTSITE_CODEPAGE | VT_UI4 | ドキュメントのコード ページ |
PID_INTSITE_TRACKING | 該当なし | 現在、サポートされていません |
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 インターフェイス
シェル インターフェイス
関数
インターネット ショートカット オブジェクトで使用できるユーティリティ関数がいくつかあります。
インターネット ショートカット ユーティリティ関数