远程最小化机器VBS中的Sendkeys

时间:2018-01-26 14:08:41

标签: vbscript sap sendkeys

我在SAP应用程序的对象中执行Shift + Enter时遇到问题。

这是我的代码:

If Dialog("SAP Logon 730").WinListView("SysListView32").Exist(100) Then
    Dialog("SAP Logon 730").Activate
    Dialog("SAP Logon 730").WinListView("SysListView32").Select sServer
    Dialog("SAP Logon 730").Activate    
    SendKeysShell ("+{ENTER}") 
End if

服务器列表显示在“对话框”对象中。必须选择一个(使用.Select),然后使用Shift + Enter打开。

问题在于,如果我最小化远程机器,则不能正确执行Sendkeys。

1 个答案:

答案 0 :(得分:1)

如果最小化远程桌面窗口(显示远程计算机桌面的窗口),Windows会将远程会话切换到无GUI模式,并且不显示窗口和控件。这意味着您可以在会话最小化时与桌面进行互动,因此您的UFT / QTP脚本(无论如何对我来说都是这样)都会失败。< / p>

作为一种可能的解决方法,您可以尝试以下步骤:

  1. 在本地计算机上,关闭所有打开的远程桌面会话。
  2. 启动注册表编辑器(regedit.exe)。
  3. 导航到以下注册表项之一,具体取决于您是仅为当前用户还是计算机上的所有用户修改远程桌面设置:

    HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client

    HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Terminal Server Client

  4. 创建名为RemoteDesktop_SuppressWhenMinimized的DWORD值并将其设置为2.

  5. 关闭注册表编辑器。
  6. 现在,当您最小化本地桌面上的远程会话时,远程计算机上的GUI可用性应该不受影响,并且您的测试用例应该继续运行正常。

    希望有帮助...