次の方法で共有


OPENASINFO 構造体 (shlobj_core.h)

SHOpenWithDialog 関数の情報を格納します。

構文

typedef struct _openasinfo {
  LPCWSTR            pcszFile;
  LPCWSTR            pcszClass;
  OPEN_AS_INFO_FLAGS oaifInFlags;
} OPENASINFO, *POPENASINFO;

メンバー

pcszFile

種類: LPCWSTR

ファイル名へのポインター。

pcszClass

種類: LPCWSTR

ファイルの種類の説明へのポインター。 pcszFile のファイル名拡張子を使用するには、このパラメーターを NULL に設定します。

oaifInFlags

種類: OPEN_AS_INFO_FLAGS

[SHOpenWithDialog] ダイアログ ボックスの特性。 次の値のうち 1 つ以上。

OAIF_ALLOW_REGISTRATION (0x00000001)

[常にこのプログラムを使用する] チェック ボックスをオンにします。 渡されない場合は無効になります。

OAIF_REGISTER_EXT (0x00000002)

ユーザーが [OK] ボタンをクリックした後、登録 を行います

OAIF_EXEC (0x00000004)

登録後にファイルを実行します。

OAIF_FORCE_REGISTRATION (0x00000008)

[ 常にこのプログラムを使用 する] チェック ボックスをオンにします。 通常、この値を渡すときは、OAIF_ALLOW_REGISTRATION フラグは使用しません。

OAIF_HIDE_REGISTRATION (0x00000020)

Windows Vista で導入されました。 [ 常にこのプログラムを使用 する] チェック ボックスを非表示にします。 このフラグを指定すると、OAIF_ALLOW_REGISTRATIONおよびOAIF_FORCE_REGISTRATIONフラグは無視されます。

OAIF_URL_PROTOCOL (0x00000040)

Windows Vista で導入されました。 渡される拡張機能の値は実際にはプロトコルであるため、[ 開く ] ダイアログ ボックスには、そのプロトコルを処理できるとして登録されているアプリケーションが表示されます。

OAIF_FILE_IS_URI (0x00000080)

Windows 8 で導入されましたpcszFile パラメーターが指す場所は URI として指定されます。

解説

Windows 10以降、SHOpenWithDialog では、OAIF_ALLOW_REGISTRATIONOAIF_FORCE_REGISTRATIONおよびOAIF_HIDE_REGISTRATIONフラグは無視されます。 [ ファイル拡張子を指定して開く ] ダイアログ ボックスを使用して、ファイル拡張子を開くために使用される既定のプログラムを変更できなくなりました。 SHOpenWithDialog を使用して 1 つのファイルを開くだけです。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header shlobj_core.h (Shlobj.h を含む)