SetWindowPos在Windows Server 2003上不起作用?

时间:2010-07-08 21:40:21

标签: windows api vb6

我有一个传统的VB6应用程序,我最近将SetWindowPos添加到应用程序中以保持最佳状态。长话故事,但客户要求它。

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

...谢谢

1 个答案:

答案 0 :(得分:0)

SetWindowPos的API文档中有两个提示。

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