gpt4 book ai didi

c# - 复制粘贴后台工具

转载 作者:可可西里 更新时间:2023-11-01 12:03:07 31 4
gpt4 key购买 nike

有没有一种简单的方法可以创建一个在后台运行并模拟 CTRL+V 键的工具?

例如:每当我按下 F1 按钮时,Windows 都会将复制的文本粘贴到事件文本框中。

PS:对不起 STRG :( 它是德文版的 CTRL


好的第二部分:

这种方式适合我:

private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
this.KeyDown += new System.Windows.Forms.KeyEventHandler(KeyEvent);
}

private void KeyEvent(object sender, KeyEventArgs e) //Keyup Event
{
if (e.KeyCode == Keys.F4)
{
SendKeys.Send("^(V)");
}
}

但它只适用于我的应用程序。我也不希望我的程序在其他应用程序中执行此操作。例如:当我按下 [WindowsKey] + [R] 时,“继续窗口”打开,如果我单击 f4,那么我的程序应该模拟 [CTRL] + [V] 并粘贴复制的文本。有帮助吗?


解决方案:

我终于明白了,它对我有用:

using Utilities;

namespace F4paste
{
public partial class Form1 : Form
{
globalKeyboardHook gkh = new globalKeyboardHook();

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
gkh.HookedKeys.Add(Keys.F4);
gkh.KeyDown += new KeyEventHandler(gkh_KeyDown);
}

void gkh_KeyDown(object sender, KeyEventArgs e)
{
SendKeys.Send("^(V)");
e.Handled = true;
}

private void label1_Click(object sender, EventArgs e)
{

}


}
}

此链接是必需的: A Simple C# Global Low Level Keyboard Hook

最佳答案

一个选择是使用 InputSimulator .它将 SendInput 包装在引擎盖下,但抽象出所有 PInvoke 调用和其他复杂性。这是 DLL 的一个下降,(对于您的情况)应该只有一行代码。

InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C); 

下一步(取决于您要查找的内容 - 对窗口是全局的还是对窗体是事件的)是为 F1 注册一个“热键”。

我建议查看这个问题的一些答案以获得全局热键:Best way to tackle global hotkey processing in c#?或这篇 CodeProject 文章:A Simple C# Global Low Level Keyboard Hook

如果您正在寻找在当前表单上处于事件状态的热键,您可以使用:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.F1)
{
// Send Ctrl + V
}
}

关于c# - 复制粘贴后台工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049328/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com