次の方法で共有


インターネット ショートカット

インターネット ショートカット オブジェクトは、インターネット サイトへのデスクトップ ショートカットを作成するために使用されます。 ファイル システム内の項目へのショートカットと同様に、インターネット ショートカットはデスクトップ上のアイコンの形式になります。 ユーザーがアイコンをクリックすると、ブラウザーが起動し、ショートカットに関連付けられているサイトが表示されます。

次のトピックについて説明します。

インターネット ショートカットの作成

WebBrowser コントロールを使用するか、ページの URL を使用して、インターネット ショートカットを作成できます。

WebBrowser コントロールからインターネット ショートカットを作成する

アプリケーションが WebBrowser コントロールをホストしている場合は、インターネット ショートカット オブジェクトを使用して、次の方法でショートカットを作成できます。

  1. CLSID_InternetShortcutのクラス識別子 (CLSID) を使用して、CoCreateInstanceを使用して、インターネット ショートカット オブジェクトのインスタンスを作成します。
  2. IObjectWithSite::SetSiteを使用して、WebBrowser の IUnknown インターフェイスへのポインターをインターネット ショートカット オブジェクトに渡します。
  3. WebBrowser コントロールで表示されるページへのショートカットを作成する場合は、インターネット ショートカット オブジェクトの IPersistFile::Save メソッドを呼び出します。

ショートカットは、IPersistFile::Saveで指定された場所に作成されます。 この場所により、WebBrowser コントロールは、正しいドキュメントをフレームセットに読み込むタスクを含む状態を復元できます。

URL からのインターネット ショートカットの作成

リンク先のページの URL がある場合は、インターネット ショートカットを作成することもできます。

  1. CLSID_InternetShortcutの CLSID を使用して、CoCreateInstanceを使用して、インターネット ショートカット オブジェクトのインスタンスを作成します。
  2. IUniformResourceLocator::SetURL メソッドを使用して、ショートカットに URL を設定します。
  3. IPersistFile::Save メソッドを使用して、ショートカット ファイルを目的の場所に保存します。

プロパティ ストレージへのアクセス

インターネット ショートカット オブジェクトには、次の手順に従って、オブジェクトの IPropertySetStorage インターフェイスを介してアクセスできるいくつかのプロパティが含まれています。

  1. IID_IPropertySetStorage QueryInterface を呼び出して、IPropertySetStorage インターフェイスを取得します。
  2. IPropertySetStorage::Open IPropertySetStorage インターフェイスを 取得するには、FMTID_IntshcutまたはFMTID_InternetSiteを呼び出して、インターネット ショートカット プロパティ ストレージ セットにアクセスします。
  3. 適切なプロパティ 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

シェル インターフェイス

関数

インターネット ショートカット オブジェクトで使用できるユーティリティ関数がいくつかあります。

インターネット ショートカット ユーティリティ関数