1
我有啓動使用其他應用程序APP1:Windows 7的Delphi5 FormPaint和最頂層不工作
app2Server := CreateOleObject('app2.Server');
在ocassion它通過調用一個過程app2Server.SendData,然後將數據與控制APP2調用app2Server.TopMost並設置一個變量dataSent = True
當用戶返回到app1時,Form1.OnPaint事件檢查dataSent = True,然後從app2中檢索一些數據。
基本上在Windows7第2步不起作用。在我看來,有兩件事情在Window7中不起作用 - app2 OleObject沒有被設置爲TopMost,並且app1 Form沒有被繪製(在初始創建之後)。
這是一個已知的問題與Win7的,如果是任何人都可以提出一個方法來
- 設置我的APP 2的最上和最
- 找我APP1形式承認時,它早在實時。
非常感謝
編輯:要改變APP1和App2的Z順序我使用以下命令:
SetWindowPos(Form1.Handle,HWND_BOTTOM,0,0,0,0,swp_NOMOVE or swp_NOSIZE);
app2Server.TopMost;
彷彿要麼正在它不會出現。
PS我繼承了這個代碼,我只需要使它工作:)
會發生什麼事,當你設置'TopMost'?那是你的代碼嗎?我的猜測是,Windows 7的重點竊取預防正在阻止這種工作,你會在這裏找到你的答案:http://msdn.microsoft.com/en-us/library/windows/desktop/ms633539(v=vs。 85).aspx – 2012-04-03 16:12:43
Delphi 5:1999. Windows 7:2009. 10年的向後兼容性?我會嘗試直接與Windows API玩,看看我是否可以得到一些工作... – 2012-04-03 17:15:56
@François不應該是一個問題。 Windows具有出色的後端兼容性。 – 2012-04-03 17:40:09