2010-07-08 76 views
0

我有一个传统的VB6应用程序,我最近将SetWindowPos添加到应用程序中以保持最佳状态。长话如此,但客户要求。SetWindowPos无法在Windows Server 2003上工作?

在“普通”Windows计算机(2000,XP)上,窗口保持在最高位置,但在服务器上却没有。有谁知道为什么?是否有任何安全设置,补丁等禁止在服务器或操作系统上调用此设置?我已经谷歌搜索这个以及搜索StackOverflow,但我没有找到任何东西。

谢谢...

回答

0

有用于SetWindowPos API文档两个提示。

  • “要使用SetWindowPos将窗口置顶,拥有该窗口的进程必须拥有SetForegroundWindow权限。”有关这些规则的讨论,请参见here
  • “作为Vista重新架构的一部分,所有服务都从交互式桌面迁移到会话0中。hWnd和窗口管理器操作只在会话中有效” - 但大概这个应用程序不是服务。
+0

这让我指出了正确的方向。 我最终不得不打电话给SetForegroundWindow,SetWindowPos *** TWICE ***去过去我的问题。 – 2010-08-12 16:08:30

+0

@Jeff Odd。很奇怪。不过,如果我的随机片段指示了其他API调用,我很高兴! – MarkJ 2010-08-12 16:56:16

相关问题