2010-07-08 75 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

相關問題