Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 当作为启动RDP程序运行时,如何停止初始形式最大化?_Vb6_Windows Xp_Remote Desktop_Terminal Services - Fatal编程技术网

Vb6 当作为启动RDP程序运行时,如何停止初始形式最大化?

Vb6 当作为启动RDP程序运行时,如何停止初始形式最大化?,vb6,windows-xp,remote-desktop,terminal-services,Vb6,Windows Xp,Remote Desktop,Terminal Services,当在终端服务(远程桌面)会话中启动时,我的VB6应用程序中的启动窗体行为异常,主机和客户端都是XP Pro机器。表单本来应该居中,但实际上它最大化了,内容放在左上角,看起来很奇怪。注意,只有当应用程序路径用于RDP客户端程序选项卡下的“连接时启动以下程序”字段时,才会发生这种情况 显然,如果您正在运行具有TS配置工具的服务器,则有一个解决方案: 但这两台机器都是XP Pro,所以我无法获得TS配置 请参见此处的VB6项目示例: 如果您只是创建上述项目的EXE(正常运行时以非最大化形式运行),并在

当在终端服务(远程桌面)会话中启动时,我的VB6应用程序中的启动窗体行为异常,主机和客户端都是XP Pro机器。表单本来应该居中,但实际上它最大化了,内容放在左上角,看起来很奇怪。注意,只有当应用程序路径用于RDP客户端程序选项卡下的“连接时启动以下程序”字段时,才会发生这种情况

显然,如果您正在运行具有TS配置工具的服务器,则有一个解决方案:

但这两台机器都是XP Pro,所以我无法获得TS配置

请参见此处的VB6项目示例:


如果您只是创建上述项目的EXE(正常运行时以非最大化形式运行),并在RDP客户端的“程序”选项卡下设置“连接时启动以下程序”字段时使用此EXE路径,您会发现应用程序以左上角内容最大化的表单启动。

显然,终端服务器正在以函数启动您的启动应用程序,将
SW\u MAXIMIZE
传递给
nShowCmd
,而不是
SW\u SHOWDEFAULT

您可以在
Form\u Resize
事件中进行简单的修改,如下所示

Option Explicit

Private m_bActivated            As Boolean

Private Sub Command_Click()

Me.Text = "HELLO"

End Sub

Private Sub Form_Resize()
    If Not m_bActivated Then
        m_bActivated = True
        WindowState = vbNormal
    End If
End Sub

您是如何计算出SW_MAXIMIZE正在通过的-Process Explorer?如果微软被告知,他们会在更新中修复这件事吗?我猜到了。没有时间用一个引导应用程序来复制它,该应用程序使用
ShellExecute
SW\u MAXIMIZE
启动
TestForRDP.exe
,但是将
Form1
的边框样式设置为
Fixed Dialog
不起作用——这是一个线索。