通过C+与操作系统功能交互+; 我试图在C++中制作一个工具,它与OS函数交互,但我以前从未做过类似的事情,所以我甚至不知道在哪里寻找答案。

通过C+与操作系统功能交互+; 我试图在C++中制作一个工具,它与OS函数交互,但我以前从未做过类似的事情,所以我甚至不知道在哪里寻找答案。,c++,windows,clipboard,C++,Windows,Clipboard,下面是我想做的概述示例: 假设我有许多文本文件存储在一个文件夹中。每个文件中都有一些文本和密码(只有字符串,没有加密)。我想做的是,输入一个关键字(如“1”或“2”,或任何关键字),然后在文件中选择密码。现在,我知道如何做所有这些“简单”的事情了,接下来是我的问题: 一旦我找到密码——比方说密码将存储在一个字符串psw变量中——我想将psw字符串复制到我的操作系统(比方说Windows)用于函数“复制”(Ctrl+C)的“缓冲区”(或任何东西)中。这导致:下次我按Ctrl+V时,psw将被粘贴

下面是我想做的概述示例:

假设我有许多文本文件存储在一个文件夹中。每个文件中都有一些文本和密码(只有字符串,没有加密)。我想做的是,输入一个关键字(如“1”或“2”,或任何关键字),然后在文件中选择密码。现在,我知道如何做所有这些“简单”的事情了,接下来是我的问题:

一旦我找到密码——比方说密码将存储在一个字符串psw变量中——我想将psw字符串复制到我的操作系统(比方说Windows)用于函数“复制”(Ctrl+C)的“缓冲区”(或任何东西)中。这导致:下次我按Ctrl+V时,psw将被粘贴

使用示例: 用户运行.exe并打开一个窗口。然后,他输入一个关键字,然后选择一个密码并将其添加到处理“复制”功能的“缓冲区”。程序可能在此状态终止,或者等待另一个密码(我们不再关心它)。现在,假设用户创建了一个文本文件,点击Ctrl+V并将密码粘贴到文本文件中,其间没有来自用户端的任何其他交互

以下是我的问题: 这是可能的还是我应该放弃这个想法? 如果是,我将感谢任何帮助,教程,或一些模式在哪里搜索这个

提前谢谢

>这是一个“Windows”的答案,而不是一个“C++”的答案,但是下面的代码将在C或C++中工作。 在windows上,您可以实际地将字符串“粘贴”到


使用Windows API,您可以使用
SetClipboardData
实现操作系统范围的“复制”功能。但是,在使用它之前,一定要阅读它要说的所有内容,比如你应该首先调用
OpenClipboard
。搜索“windows剪贴板api”或类似的东西。哇,这从100英里外开始,然后变得太过描述性了。您正在使用的Windows API(Win32、.NET等)远比文本更相关。此外,无论它值多少钱,它都比.Google“win32api Charles Petzold”简单得多。如果你真的想进入,我认为这是最好的方式之一。
void PasteString(const char* pszPhrase)
{
    int len = strlen(pszPhrase);
    BOOL fResult = FALSE;

    fResult = OpenClipboard(GetDesktopWindow());

    if (fResult == FALSE)
    {
        return;
    }

    HGLOBAL hglob = GlobalAlloc(GHND, len+1);
    void* pGlobalMemory = GlobalLock(hglob);

    strcpy((char*)pGlobalMemory, pszPhrase);

    GlobalUnlock(hglob);

    EmptyClipboard();
    SetClipboardData(CF_TEXT, hglob);
    CloseClipboard();
}