首页 > 系统相关 >Windows中将文本内容复制到剪切板中

Windows中将文本内容复制到剪切板中

时间:2023-09-28 11:57:11浏览次数:30  
标签:复制到 cout Windows hClipboardData textToCopy 剪切板 文本

#include <windows.h>
#include <iostream>

void copTextToClipboard(const char* textToCopy) {
    // 打开剪切板
    if (!OpenClipboard(NULL)) {
        std::cout << "无法打开剪切板" << std::endl;
        return;
    }

    // 清空剪切板内容
    if (!EmptyClipboard()) {
        std::cout << "无法清空剪切板" << std::endl;
        CloseClipboard();
        return;
    }

    // 获取要复制的文本的长度(包括空字符)
    int textLength = strlen(textToCopy) + 1;

    // 在全局堆上分配内存以存储文本
    HGLOBAL hClipboardData = GlobalAlloc(GMEM_MOVEABLE, textLength);
    if (hClipboardData == NULL) {
        qDebug() << "无法分配内存";
        CloseClipboard();
        return;
    }

    // 获取分配的内存的指针
    char* pClipboardData = static_cast<char*>(GlobalLock(hClipboardData));

    // 将文本复制到分配的内存中
    strcpy_s(pClipboardData, textLength, textToCopy);

    // 释放分配的内存
    GlobalUnlock(hClipboardData);

    // 将数据放入剪切板
    if (SetClipboardData(CF_TEXT, hClipboardData) == NULL) {
        std::cout << "无法设置剪切板数据" << std::endl;
        GlobalFree(hClipboardData);
        CloseClipboard();
        return;
    }

    // 关闭剪切板
    CloseClipboard();

    std::cout << "文本已复制到剪切板" << std::endl;
}

  

标签:复制到,cout,Windows,hClipboardData,textToCopy,剪切板,文本
From: https://www.cnblogs.com/TechNomad/p/17735388.html

相关文章

  • windows下tomcat开机自启动
    在Windows下,可以通过以下步骤将Tomcat设置为开机自启动:1.打开Tomcat安装目录:通常情况下,Tomcat的安装目录位于`C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat`(具体路径可能因Tomcat版本而异)。2.在Tomcat安装目录中,找到`bin`文件夹。在该文件夹中,你会看到一个名为`tomca......
  • 在windows10上安装多个golang
    在windows10上安装多个golang原理下载不同go版本,然后重命名go可执行文件,然后配置环境变量,不同命令使用不同的版本。其实所有的开发环境都可以这么使用。比如python2,python3方法问的文心一言,哈哈哈哈哈哈总体方法如下,具体可以参考例子,例子更清楚。创建一个新的文件夹,用于......
  • Windows版Redis3.2X64部署教程
    1.使用的Redis-x64-3.2.100.ZIP解压版redis免安装版链接:https://pan.baidu.com/s/1MYmNxiY8JIOuXjVr0W_-5A 提取码:12342.下载完毕之后解压在你的安装目录内 3.启动服务端cmd进入文件夹中,执行:redis-serverredis.windows.conf如下就代表运行成功.如果失败重新解压尝试 ......
  • Windows开3389集合
    ###Windowsserver2003/Windowsxpnetstarttermserviceregadd"HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer"/vfSingleSessionPerUser/tREG_DWORD/d0/fwmicpathwin32_terminalservicesettingwhere(__CLASS!="")call......
  • C# 自己的组件生成Nuget包,组件里的内容(dll等)设置了复制到输出目录,但是引用该Nuget包后
    例如组件A项目中想把以下dll拷贝都输出目录, 已经设置了复制到输出目录。然后项目B通过Nuget包引入了组件A,然后项目B生成路径下并没有这几个opencv的dll。经过组内大佬唐宋元明清2188的研究需要在组件A的项目文件中给每个dll内容连接添加<PackageCopyToOutput>true</Pack......
  • Windows 10系统安装操作步骤(图文版)
    本文将以戴尔dell品牌的电脑演示Windows10系统安装步骤,电脑硬盘空间为128G固态盘+1T机械盘,需要将Windows系统装在固态中。注意:本文安装Windows系统会清除电脑所有数据,请先确保已备份重要数据!前置条件:1. 准备Windows系统盘(后续更新Windows系统盘制作文档) 操作步骤1.  设......
  • C#开源且免费的Windows桌面快速预览神器 - QuickLook
    前言今天给大家推荐一款由C#开源且免费的Windows桌面快速预览神器:QuickLook。工具介绍QuickLook是一款在Windows操作系统上的实用工具,它提供了一种快速预览文件内容的方式。通过使用QuickLook,用户可以在不打开文件的情况下,直接在文件资源管理器中快速查看文件的内容。使用Quic......
  • 详解Windows 安装Docker Desktop(百分百成功)
    相信IT职场同学目前对docker这个概念已经不在陌生,docker在运维同学和开发同学中应用比较广泛,测试同学想要进行实操则在很大层度上需要运维同学的配合(在指定的服务器上进行),这就需要看别人脸色行事,或多或少会有少许不爽;加之现在各种工具也都提供了docker镜像,我们在做工具调研时可......
  • Windows 上 执行docker pull命令 提示:The system cannot find the file specified.
    错误提示errorduringconnect:Thiserrormayindicatethatthedockerdaemonisnotrunning.:Get"http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version":open//./pipe/docker_engine:Thesystemcannotfindthefilespecified.解决办法在cmd窗口中执行如下命令c......
  • C# 获取文件夹和文件列表,与Windows系统看到的保持一致(包括隐藏文件)
    Windows系统中有很多系统隐藏的文件,如果不经过筛选,就会查出来多很多文件夹和文件。所以需要过滤掉FileAttributes.Hidden|FileAttributes.System的文件夹和文件//创建一个DirectoryInfo对象vardirectoryInfo=newDirectoryInfo(folderPa......