プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

クリップボードのテキストデータを取得

2007年09月12日 12時27分00秒 | クリップボード関連

クリップボードのデータを取得するには GetClipboardData 関数を使います。(戻る)

  1. クリップボードを開く(OpenClipboard)
  2. クリップボードのデータを取得(GetClipboardData)
  3. グローバル・メモリをロック(GlobalLock)
  4. クリップボードのデータを表示(lpBuff)
  5. グローバル・メモリをアンロック(GlobalUnlock)
  6. クリップボードを閉じる(CloseClipboard)

クリップボードを[開く]~[閉じる]は、なるべく短時間で行うこと。

プロトタイプ宣言

BOOL OpenClipboard(
    HWND    hWndNewOwner    // ウインドウのハンドル
);

HANDLE GetClipboardData(
    UINT    uFormat         // クリップボードのデータ形式
);

BOOL CloseClipboard( VOID );

サンプル

HGLOBAL     hMem;       // 取得用のメモリ変数
LPTSTR      lpBuff;     // 参照用のポインタ

// クリップボードのデータを取得
if ( OpenClipboard(hWnd) ){
    if ( (hMem = GetClipboardData(CF_TEXT)) != NULL ){
        if ( (lpBuff = (LPTSTR)GlobalLock(hMem)) != NULL ){
            /*
            ここでテキストデータの lpBuff を参照
            */
            GlobalUnlock( hMem );
        }
    }
    CloseClipboard();
}
  • hWnd にウインドウのハンドルを指定します。
  • hWndNULL を指定することも出来ます。

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« クリップボードのデータをクリア | トップ | クリップボードにテキストデ... »
最新の画像もっと見る

コメントを投稿

クリップボード関連」カテゴリの最新記事