[この関数は、Service Pack 2 (SP2) と Windows Server 2003 を使用した Windows XP を通じて使用できます。 それ以降のバージョンの Windows では、変更または使用できない可能性があります。
指定したファイルに対して操作を実行します。 WOWShellExecute は、Microsoft Windows NT Virtual DOS マシン (Ntvdm.exe) で使用するためにのみ存在します。これにより、ディスク オペレーティング システム (DOS) と 16 ビット ソフトウェアを Windows システム上で実行でき、他のユーザーが使用することはできません。 代わりに ShellExecute を使用してください。
構文
HINSTANCE WOWShellExecute(
_In_ HWND hwnd,
_In_ LPCTSTR lpOperation,
_In_ LPCTSTR lpFile,
_In_ LPCTSTR lpParameters,
_In_ LPCTSTR lpDirectory,
_In_ INT nShowCmd,
void *lpfnCBWinExec
);
パラメーター
-
hwnd [in]
-
型: HWND
UI またはエラー メッセージの表示に使用される所有者ウィンドウへのハンドル。 操作がウィンドウに関連付けられていない場合、この値は NULL にすることができます。
-
lpOperation [in]
-
種類: LPCTSTR
実行するアクションを指定する 、null で終わる文字列 (この場合は 動詞と呼ばれる) へのポインター。 使用可能な動詞のセットは、特定のファイルまたはフォルダーによって異なります。 一般に、オブジェクトのショートカット メニューから使用できるアクションは、動詞を使用できます。 動詞とその可用性の詳細については、「アプリケーションの起動」の「オブジェクト動詞」セクションを参照してください。 ショートカット メニューの詳細については、「ショートカット メニューの拡張」を参照してください。 次の動詞が一般的に使用されます。
-
編集
-
エディターを起動し、編集用にドキュメントを開きます。 lpFile がドキュメント ファイルでない場合、関数は失敗します。
-
探索
-
lpFile で指定されたフォルダーを探索します。
-
見つける
-
指定したディレクトリから検索を開始します。
-
開く
-
lpFile パラメーターで指定されたファイルを開きます。 ファイルには、実行可能ファイル、ドキュメント ファイル、またはフォルダーを指定できます。
-
印刷
-
lpFile で指定されたドキュメント ファイルを印刷します。 lpFile がドキュメント ファイルでない場合、関数は失敗します。
-
Null
-
Windows 2000 より前のシステムでは、有効でレジストリで使用できる場合は、既定の動詞が使用されます。 そうでない場合は、"オープン" 動詞が使用されます。
Windows 2000 以降のシステムでは、使用可能な場合は既定の動詞が使用されます。 そうでない場合は、"オープン" 動詞が使用されます。 どちらの動詞も使用できない場合、システムはレジストリに記載されている最初の動詞を使用します。
lpFile [in]
種類: LPCTSTR
指定した動詞を実行するファイルまたはオブジェクトを指定する null で終わる文字列へのポインター。 シェル名前空間オブジェクトを指定するには、完全修飾解析名を渡します。 すべての動詞がすべてのオブジェクトでサポートされているわけではないことに注意してください。 たとえば、すべてのドキュメントの種類で "print" 動詞がサポートされているわけではありません。
lpParameters [in]
種類: LPCTSTR
lpFile パラメーターが実行可能ファイルを指定する場合、lpParameters は、アプリケーションに渡されるパラメーターを指定する null で終わる文字列へのポインターです。 この文字列の形式は、呼び出される動詞によって決まります。 lpFile でドキュメント ファイルが指定されている場合、lpParameters は NULL である必要があります。
lpDirectory [in]
種類: LPCTSTR
既定のディレクトリを指定する null で終わる文字列へのポインター。
nShowCmd [in]
型: INT
アプリケーションを開いたときの表示方法を指定するフラグ。 lpFile でドキュメント ファイルが指定されている場合、フラグは関連付けられているアプリケーションに渡されます。 その処理方法を決めるのは、アプリケーションによって決まる必要があります。 ShowWindow 関数の nCmdShow パラメーターで指定できる任意の値を指定できます。
lpfnCBWinExec
型: void*
16 ビット カーネルで CreateProcess を 呼び出すために使用されるコールバック関数。
戻り値
種類: HINSTANCE
成功した場合は 32 より大きい値を返し、それ以外の場合は 32 以下のエラー値を返します。 次の表に、エラー値の一覧を示します。 戻り値は、16 ビット Windows アプリケーションとの下位互換性のために HINSTANCE としてキャストされます。 ただし、これは真の HINSTANCE ではありません。 返された HINSTANCE で実行できるのは、 int にキャストし、値 32 または以下のいずれかのエラー コードと比較することだけです。
| リターン コード | 説明 |
|---|---|
|
オペレーティング システムのメモリまたはリソースが不足しています。 |
|
The specified file was not found. (指定されたファイルは見つかりませんでした。) |
|
指定したパスが見つかりませんでした。 |
|
.exe ファイルが無効です (Win32 以外の.exeまたはイメージのエラー.exe)。 |
|
オペレーティング システムは、指定されたファイルへのアクセスを拒否しました。 |
|
ファイル名の関連付けが不完全または無効です。 |
|
他の DDE トランザクションが処理されていたため、DDE トランザクションを完了できませんでした。 |
|
DDE トランザクションが失敗しました。 |
|
要求がタイムアウトしたため、DDE トランザクションを完了できませんでした。 |
|
指定した DLL が見つかりませんでした。 |
|
The specified file was not found. (指定されたファイルは見つかりませんでした。) |
|
指定されたファイル名拡張子に関連付けられているアプリケーションはありません。 印刷できないファイルを印刷しようとすると、このエラーも返されます。 |
|
操作を完了するのに十分なメモリが不足していました。 |
|
指定したパスが見つかりませんでした。 |
|
共有違反が発生しました。 |
解説
WOWShellExecute は、ヘッダー ファイルまたは .lib ファイルには含まれません。 名前によってShell32.dllからエクスポートされます。
このメソッドを使用すると、フォルダーのショートカット メニューまたはレジストリに格納されているコマンドを実行できます。
lpOperation が NULL の場合、関数は lpFile で指定されたファイルを開きます。 lpOperation が "open" または "explore" の場合、関数はフォルダーを開いたり探索したりしようとします。
WOWShellExecute を呼び出した結果として起動されるアプリケーションに関する情報を取得するには、ShellExecuteEx を使用します。
Note
[フォルダー オプション] の [別のプロセスでフォルダーを起動 する] ウィンドウは 、WOWShellExecute に影響します。 このオプションが無効になっている場合 (既定の設定)、WOWShellExecute は新しいウィンドウを起動するのではなく、開いているエクスプローラー ウィンドウを使用します。 エクスプローラー ウィンドウが開かっていない場合は、WOWShellExecute によって新しいウィンドウが起動されます。
必要条件
| 要件 | 値 |
|---|---|
| サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
| サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
| [DLL] |
|
関連項目