<Return[S]><Top>

SetClipboardData

Declare Function Api_SetClipboardData& Lib "user32" Alias "SetClipboardData" (ByVal wFormat&, ByVal hMem&)

Declare Function SetClipboardData Lib "user32" Alias "SetClipboardDataA" (ByVal wFormat As Long, ByVal hMem As Long) As Long

クリップボードに、指定されたデータ形式でデータを格納する。データを格納するには、呼び出し側のウィンドウがクリップボードの現在のオーナーであること、および OpenClipboard 関数を使ってクリップボードを開いておくことが必要である。

ただし、WM_RENDERFORMAT およびWM_RENDERALLFORMATS メッセージに応答する場合、クリップボードの所有者は

SetClipboardData 関数を呼び出す前にOpenClipboard を呼び出してはならない。

パラメータ
uFormat
    [入力]クリップボードのデータ形式を指定する。

    このパラメータには、登録済みデータ形式、または標準的なクリップボードデータ形式を指定する。
hMem
    [入力]指定されたデータ形式のデータのハンドルを指定する。

    ウィンドウが要求に応じて、指定されたクリップボードデータ形式でデータを提供する( データ形式の遅延レンダリングを行う)場合は、

    NULL を指定する。

    遅延レンダリングを行う場合、ウィンドウは WM_RENDERFORMAT メッセージと WM_RENDERALLFORMATS メッセージを処理しなけ

    ればならない。
    SetClipboardData を呼び出した後で、システムは、hMem パラメータで指定されたオブジェクトを所有する。

    アプリケーションはデータを読み取れるが、CloseClipboard 関数を呼び出すまでは、そのハンドルを解放することや、ロックし続けることを避

    けなければならない。(CloseClipboard を呼び出した後も、アプリケーションはそのデータにアクセスできる。)hMem パラメータがメモリオブ

    ジェクトを指している場合、そのオブジェクトは、GMEM_MOVEABLE フラグを指定して GlobalAlloc 関数で割り当てたものでなければならな

    い。

戻り値
    関数が成功すると、データのハンドルが返る。
    関数が失敗すると、NULL が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。