/*--------------------------------*/
/* クリップボード・テキスト取得 */
/*--------------------------------*/
#include <stdio.h>
#include <windows.h>
void main( )
{
char str[1024]; // テキスト文字列
HANDLE chandl=NULL;
int ir,len,len0=1024;
ir=OpenClipboard(NULL); // クリップボード開く
if ( ir==0 ) goto LF;
chandl=GetClipboardData(CF_TEXT); // クリップボードデータ取得
if ( chandl==NULL ) goto L9; // 空
GlobalLock(chandl); // グローバルメモリオブジェクトロック
len=strlen(chandl);
if ( len==0 ) goto L9;
if ( len<len0 ) strcpy(str,chandl);
else sprintf(str,"%.*s",len0,chandl);
GlobalUnlock(chandl); // グローバルメモリオブジェクト解除
printf("\n【クリップボード内容】\n%s",str);
L9: CloseClipboard( ); // クリップボード閉じる
LF: ;
}
|