コピー プロセス間通信クリップボードの関数一覧-2

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

一覧

関数 説明
ChangeClipboardChain クリップボードビューアのチェインから、指定されたウィンドウを削除します。
CloseClipboard クリップボードを閉じます。
CountClipboardFormats 現在クリップボード内に存在するデータが持つデータ形式の数を取得します。
EmptyClipboard クリップボードを空にし、クリップボード内のデータのハンドルを解放します。
EnumClipboardFormats 現在クリップボード内に存在するデータが持つデータ形式を列挙します。
GetClipboardData クリップボードから、指定された形式のデータを取得します。
GetClipboardFormatName クリップボードから、指定された登録済みデータ形式の名前を取得します。
GetClipboardOwner 現在クリップボードを所有しているウィンドウのハンドルを取得します。
GetClipboardSequenceNumber 現在のウィンドウステーションのクリップボードのシーケンス番号を取得します。
GetClipboardViewer クリップボードビューアのチェイン内にある最初のウィンドウのハンドルを取得します。
GetOpenClipboardWindow 現在クリップボードを開いているウィンドウのハンドルを取得します。
GetPriorityClipboardFormat 指定されたリストの中から、最初に利用できるクリップボードデータ形式を返します。
IsClipboardFormatAvailable 指定されたデータ形式のデータがクリップボードに格納されているかどうかを調べます。
OpenClipboard 検討の目的でクリップボードを開き、他のアプリケーションがクリップボードの内容を変更できないようにします。
RegisterClipboardFormat クリップボードの新しいデータ形式を Windows システムに登録します。
SetClipboardData クリップボードに、指定されたデータ形式でデータを格納します。
SetClipboardViewer クリップボードビューアのチェインに、指定されたウィンドウを追加します。

GetClipboardFormatName

クリップボードから、指定された登録済みデータ形式の名前を取得します。この関数はその名前を、指定されたバッファへコピーします。

int GetClipboardFormatName(
UINT format, // クリップボードから取得したいデータ形式
LPTSTR lpszFormatName, // 形式の名前
int cchMaxCount // データ形式名を保持するバッファの長さ
);

  • パラメータ
  • format
  • [入力]取得したいデータ形式を指定します。このパラメータは、あらかじめ定義されたデータ形式のいずれかでなければなりません。
  • lpszFormatName
  • [出力]データ形式の名前を受け取るバッファへのポインタを指定します。
  • cchMaxCount
  • [入力]バッファへコピーされる文字列の最大の長さを TCHAR 単位で指定します。データ形式の名前がこの最大値を上回る場合は、名前が切り捨てられます。
  • 戻り値
  • 関数が成功すると、バッファへコピーされた文字列の長さが TCHAR 単位で返ります。
  • 関数が失敗すると、0 が返ります。これは、要求されたデータ形式が存在しないこと、またはあらかじめ定義されたものでないことを示します。拡張エラー情報を取得するには、 関数を使います。

GetClipboardOwner

現在クリップボードを所有しているウィンドウのハンドルを取得します。

HWND GetClipboardOwner(VOID);

  • パラメータ
  • パラメータはありません。
  • 戻り値
  • 関数が成功すると、クリップボードを所有しているウィンドウのハンドルが返ります。
  • クリップボードが所有されていなかったときは、NULL が返ります。拡張エラー情報を取得するには、 関数を使います。
  • 解説
  • クリップボードは、ウィンドウに所有されていなくても、データを保持し続けることができます。クリップボードの所有者は、通常、クリップボードに最後にデータを格納したウィンドウです。EmptyClipboard 関数が、クリップボードの所有権を割り当てます。

GetClipboardSequenceNumber

現在のウィンドウステーションのクリップボードのシーケンス番号を取得します。

DWORD GetClipboardSequenceNumber(VOID)

  • パラメータ
  • パラメータはありません。
  • 戻り値
  • クリップボードのシーケンス番号が返ります。ウィンドウステーションへの WINSTA_ACCESSCLIPBOARD アクセス権がない場合は、0 が返ります。
  • 解説
  • システムでは、各ウィンドウステーションのクリップボードの 32 ビットのシーケンス番号が維持されています。クリップボードの内容が変更されたり、クリップボードの内容が消去されるたびに、このシーケンス番号はインクリメントされます。このため、この値を調るとクリップボードの内容が変更されたかどうかが確認できます。クリップボードのレンダリングが遅延した場合、変更箇所のレンダリングが終了するまでシーケンス番号はインクリメントされません。

GetClipboardViewer

クリップボードビューアのチェイン内にある最初のウィンドウのハンドルを取得します。

HWND GetClipboardViewer(VOID);

  • パラメータ
  • パラメータはありません。
  • 戻り値
  • 関数が成功すると、クリップボードビューアチェイン内にある最初のウィンドウのハンドルが返ります。
  • クリップボードビューアが存在しなかったときは、NULL が返ります。拡張エラー情報を取得するには、 関数を使います。

GetOpenClipboardWindow

現在クリップボードを開いているウィンドウのハンドルを取得します。

HWND GetOpenClipboardWindow(VOID);

  • パラメータ
  • パラメータはありません。
  • 戻り値
  • 関数が成功すると、クリップボードを開いているウィンドウのハンドルが返ります。どのウィンドウもクリップボードを開いていない場合は、NULL が返ります。拡張エラー情報を取得するには、 関数を使います。
  • 解説
  • アプリケーションまたはダイナミックリンクライブラリ(DLL)が OpenClipboard 関数でウィンドウハンドルに NULL を指定した場合、クリップボードは開きますが、どのウィンドウとも関連付けられません。この場合、GetOpenClipboardWindow 関数は NULL を返します。

GetPriorityClipboardFormat

指定されたリストの中から、最初に利用できるクリップボードデータ形式を返します。

int GetPriorityClipboardFormat(
UINT *paFormatPriorityList, // クリップボードデータ形式の配列
int cFormats // 配列内のエントリの数
);

  • パラメータ
  • paFormatPriorityList
  • [入力]クリップボードのデータ形式を識別する符号なし整数の配列へのポインタを指定します。この配列に、クリップボードデータ形式を、優先順位の高い順に格納しておかなければなりません。クリップボードデータ形式の詳細については、「」を参照してください。
  • cFormats
  • [入力]paFormatPriorityList 配列のエントリ数を指定します。この値は、配列内のエントリ数以下でなければなりません。
  • 戻り値
  • 関数が成功すると、指定したリストの中から、クリップボードで最初に利用できるデータ形式が返ります。クリップボードが空のときは、NULL が返ります。クリップボードにデータが格納されていて、指定したフォーマットのどれとも一致しなかったときは、-1 が返ります。拡張エラー情報を取得するには、 関数を使います。

 

 

2000年01月01日|[VBサンプルコード]:[Copy]