1989年開業 情報工学部門 文部科学省登録番号 第22082号 公益社団法人日本技術士会会員 東大阪商工会議所会員

≫サンプルプログラム一覧 

オープンソース/C言語サンプルプログラム クリップボード文字列設定

●入力した文字列を、クリップボードにテキストとして
 コピーするプログラムです。
●文字列を入力した後、コマンドプロンプトでマウスを
 右クリックし、メニューの「貼り付け」を選ぶと、
 先ほど入力した文字列が貼り付きます。
●「貼り付け」のショートカットキー(Ctrl+v)でも
 同様に貼り付きます。
●goto文の使用については議論がありますが、関数の出口
 を1つにするためには有効です。
 ≫ソースファイルのダウンロード: clipbord-set01.c

【問題】
●メモ帳やテキストエディター、文書編集ソフト、表計算
 ソフトなどに文字列を貼り付けて確認してみよう。
●クリップボード処理の部分を関数化し、main関数から
 呼び出してみよう。



/*--------------------------------*/
/*  クリップボード・テキスト設定  */
/*--------------------------------*/
#include <stdio.h>
#include <windows.h>

void  main( )
{
  HGLOBAL thandl=NULL;
  char str[1024];			// テキスト文字列
  int len,ir;

	printf("\nクリップボードにコピーする文字列を入力して下さい\n");
    gets(str);                                          // 文字列入力

    len=strlen(str);                                    // 文字数
    if ( len==0 ) goto L9;                              // 文字列空

    thandl=GlobalAlloc(GMEM_FIXED,len+1);               // 文字列ハンドル割当
    if ( thandl==NULL ) goto L9;

    strcpy(thandl,str);                                 // 文字列

    ir=OpenClipboard(NULL);                             // クリップボード開く
    if ( ir==0 ) goto L9;

    EmptyClipboard( );                                  // クリップボードクリア

    SetClipboardData(CF_TEXT,thandl);                   // クリップボードデータ設定
    CloseClipboard( );                                  // クリップボード閉じる

L9: ;
}
   

※SSL暗号化通信対応

佐伯英子技術士事務所 〒542-0073 大阪市中央区日本橋 1-14-13 サンオフィス日本橋601  E-mail: yfb22332@nifty.com