我有两个 Winform 应用程序,当我尝试从该应用程序中复制粘贴文本时,ProcessCmdKey
如果我进行了检查,它未粘贴..
但是当我尝试将我的文本粘贴到记事本中时,它会被粘贴......我只想在同一个应用程序中实现文本的复制和粘贴
如果我专注于其他 Windows 窗体文本不必粘贴...有什么办法..
private const Keys CopyKeys = Keys.Control | Keys.C;
private const Keys PasteKeys = Keys.Control | Keys.V;
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
bool bVal = false;
Process[] p2 = Process.GetProcesses();
foreach (Process pro in p2)
{
if (string.Compare(pro.ProcessName, "TestForm.vshost", true) == 0 && (keyData == CopyKeys) || (keyData == PasteKeys))
{
bVal = true; // Text will be pasted
return true;
}
else
return base.ProcessCmdKey(ref msg, keyData); // Text will not be pasted
}
return bVal;
}
这可以正常工作。当我尝试为记事本写字板实现相同的功能时。它被粘贴了。