Clipboard.getText()刷新速度不够快C#

时间:2013-03-16 21:40:14

标签: c# clipboard

我正在使用此代码:

int X = Cursor.Position.X;
int Y = Cursor.Position.Y;
DoMouseClick(X, Y);
SendKeys.Send("^a");
SendKeys.Send("^c");
clipText = Clipboard.GetText();

public void DoMouseClick(int x,int y) 
{
  int X = Cursor.Position.X; 
  int Y = Cursor.Position.Y;
  mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, (uint)x , (uint)y, 0, 0); 
}

复制鼠标下的文本,并将其保存为“clipText”。

这里的问题是,我没有从剪贴板中获取新文本,但是我得到了之前复制过的文本。但是如果我稍后在程序中调用Clipboard.text(),或者如果我按下CRTL + P,我会得到正确的文本(我用上面的代码复制的文本)。

有没有办法刷新cliaboard,所以我可以得到最新的文本。

1 个答案:

答案 0 :(得分:0)

这就是SendKeys类有SendWait() method的原因。在目标窗口实际处理了击键之前,它不会返回。