读取剪切板中的字符传递给一个字符串
程序源码
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int get_clipboard(char *str);
int main(void){
//定义一个测试字符串
char str[30] = {0};
//将剪切板中的内容传入该字符串
get_clipboard(str);
//输出该字符串
printf("%s",str);
//暂停,检验程序运行结果
system("pause");
return 0;
}
int get_clipboard(char *str){
//局部变量
char *pbuf = NULL;
//剪切板句柄
HANDLE hclip;
//打开剪切板,获取里面的数据
if(OpenClipboard(NULL) == 0){
printf("打开剪切板失败!\n");
return -1;
}
//判断剪切板当中的数据是不是文本类型的
if(!IsClipboardFormatAvailable(CF_TEXT)){
printf("剪切板当中的数据类型不匹配!\n");
//关闭剪切板,不然其他程序无法正常使用剪切板
CloseClipboard();
return -1;
}
//获取剪切板里面的数据
hclip = GetClipboardData(CF_TEXT);
//加锁,返回一个VOID类型的指针
pbuf = (char *)GlobalLock(hclip);
//解锁
GlobalUnlock(hclip);
//将剪切板里面所有字符传入给参数
while(1){
//如果到了字符串末尾就退出循环
if(*pbuf == 0){
break;
}
//定义一个用于循环的局部变量
int i = 0;
do{
//将读取到的字母或数字字符赋给word
str[i] = *pbuf;
//将指针指向下一个字符处
++pbuf;
++i;
}while(*pbuf);
//添加字符串结束
str[i] = '\0';
}
//关闭剪切板,不然其他程序无法正常0使用剪切板
CloseClipboard();
return 0;
}
程序运行结果范例
THE END
0
二维码
海报
读取剪切板中的字符传递给一个字符串
程序源码
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int get_clipboard(char *str);
int main(void){
//……
共有 0 条评论