首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在锁定的Windows 10计算机上的后台进程中将文本放到剪贴板

在锁定的Windows 10计算机上的后台进程中将文本放到剪贴板
EN

Stack Overflow用户
提问于 2019-07-18 21:17:04
回答 1查看 972关注 0票数 6

我正在构建一个进程(到目前为止,我已经在WindowsFramework4.7.2上尝试过VBA、Python和C# ),它需要在锁定屏幕后面的Windows10机器上将一些字符串放到剪贴板中。为了测试,我已经将它减少到只有两个命令(伪代码,因为使用了三种语言。问题末尾的详情):

代码语言:javascript
运行
复制
SleepForFiveSec(); //to provide time for locking screen
// now locking machine
SetClipboardContent();

剪贴板在未锁定的会话上响应,但在计算机锁定时变为不可用,并返回“剪贴板锁定”错误(特定于语言)。

我已经测试了在google/stackoverflow中找到的几种与剪贴板相关的技术,用于上述语言(总共大约6种),到目前为止还没有一种有效。

机器在Windows 10企业版上运行(在3台相同版本的不同机器上测试)。

代码示例:

C#选项1:

代码语言:javascript
运行
复制
using System.Windows.Forms;
.....
[STAThread]
static void Main()
{
    System.Threading.Thread.Sleep(5000);
    Clipboard.SetText("test copy clip");

}

C#选项2(用于检查什么是锁定剪贴板):

代码语言:javascript
运行
复制
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    static extern IntPtr GetOpenClipboardWindow();

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    static extern int GetWindowText(int hwnd, StringBuilder text, int count);

    private static string getOpenClipboardWindowText()
    {
        IntPtr hwnd = GetOpenClipboardWindow();
        StringBuilder sb = new StringBuilder(501);
        GetWindowText(hwnd.ToInt32(), sb, 500);
        return sb.ToString();
    }

python选项1:

代码语言:javascript
运行
复制
import pyperclip
import time

time.sleep(5)
pyperclip.copy('text')

python选项2:

代码语言:javascript
运行
复制
import win32clipboard
import time

time.sleep(5)
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText('text')
win32clipboard.CloseClipboard()

VBA选项1:

代码语言:javascript
运行
复制
Dim clipboard As MSForms.DataObject    
Set clipboard = New MSForms.DataObject   
clipboard.SetText "text for input"
clipboard.PutInClipboard

VBA选项2:Text To Clipboard in VBA Windows 10 Issue

EN

Stack Overflow用户

发布于 2020-05-24 15:46:02

为此,您的后台进程应该在用户帐户中运行,并且应该在用户登录期间启动。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57095433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档