0

我正在使用这段代码:

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,我会得到正确的文本(我用上面的代码复制的那个)。

有没有办法刷新剪贴板,所以我可以获得最新的文本。

4

1 回答 1

0

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

于 2013-03-16T23:14:09.490 回答