.net 如何在通话后清除SendKeys

.net 如何在通话后清除SendKeys,.net,vb.net,sendkeys,.net,Vb.net,Sendkeys,这是我关闭PhotoShop对话框的代码: For Each p As Process In Process.GetProcessesByName("PhotoShop") AppActivate(p.Id) Threading.Thread.Sleep(3000) My.Computer.Keyboard.SendKeys("{ESC}") Threading.Thread.Sleep(1000) Exit For Next p 程序完

这是我关闭PhotoShop对话框的代码:

For Each p As Process In Process.GetProcessesByName("PhotoShop")

     AppActivate(p.Id)

     Threading.Thread.Sleep(3000)
     My.Computer.Keyboard.SendKeys("{ESC}")
     Threading.Thread.Sleep(1000)
     Exit For

Next p
程序完成后,将显示以下对话框:

 MessageBox.Show(Me, "OK", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
我正在使用远程桌面在另一台电脑上执行我的程序

如果我打开远程桌面并等待
过程
完成,则会显示“确定”对话框

然后,在应用程序完成之前,我执行程序并关闭远程桌面

程序完成后,我再次打开远程桌面,对话框“OK”关闭

我认为事件调用“ESC”在重新加载屏幕时调用。
如何清除事件
发送键

您确定您的对话框“确定”已关闭吗?它可能只是出现在其他窗口后面。尝试执行alt+tab以查看它是否在那里。我确定,对话框“确定”已关闭。是否检查了是否有任何异常?如对话框“OK”仍显示OK。但若我打开WindowRemote,对话框“OK”将关闭