gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 05:54:15 25 4
gpt4 key购买 nike

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

如果您正在运行具有 TS 配置工具的服务器,显然有一个解决方案:http://www.windows-server-answers.com/microsoft/Windows-Terminal-Services/29117908/start-program-on-connection--it-isnt-centered.aspx

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

在此处查看示例 VB6 项目:Link to zip file on Google Docs

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

最佳答案

显然终端服务器正在启动您的启动应用程序 ShellExecute 函数,传递 SW_MAXIMIZE对于 nShowCmd而不是 SW_SHOWDEFAULT .

您可以通过 Form_Resize 中的简单 hack 来修复它。像这样的事件

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

关于vb6 - 作为启动 RDP 程序运行时如何停止初始形式最大化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com