簡體   English   中英

Windows兼容模式的陷阱

[英]Pitfalls of Windows Compatibility Mode

我們有一個VB6應用程序,我們正在從Windows XP遷移到Windows 7的過程中,遇到了一些問題。 如果將應用程序的兼容模式設置為Windows XP(Service Pack 3),則其中的某些問題將消失。

我想知道僅在兼容模式下運行我們的應用程序是否是一個好的解決方案。 我一直在做一些谷歌搜索,但沒有發現任何暗示使用兼容模式的缺點。 但是大多數人將其用於他們尚未開發的應用程序。

長期目標是用C#替換所有VB6代碼,但這將需要時間。 也許在我們更換VB6時使用兼容模式並不是一件壞事。

有沒有人有過開發應用程序並有意使其以兼容模式運行的經驗? 我的直覺說這是個壞主意,但我找不到反對使用它的任何證據。

有消費者應用程序(真的是糟糕的主意兼容模式)和業務線應用程序-您需要做的事。 您控制環境。

這些是WinXPSP2的特定功能(在Vista中我沒有SP3選項)。

DirectXVersionLie
ElevateCreateProcess
EmulateSorting
EnableLegacyExceptionHandlinginOLE
FailObsoleteShellAPIs
GlobalMemoryStatus2GB
HandleBadPtr
HardwareAudioMixer
LoadLibraryCWD
NoGhost
RedirectMP3Codec
VirtualRegistry
WinXPSP2VersionLie

一個很好的猜測是您的應用需要提升運行(上面列表中的#2)。

順便說一句,如果啟動一個進程,它將正常啟動它;如果(執行該函數的最終功能)createprocess失敗並顯示ElevationRequired,它將重新啟動它的提升。

我有一個舊的vb6應用程序,最近我不得不在win7 64位上工作。 以xp模式運行是解決方案的一部分。 我的舊安裝程序還有其他問題,需要使用提升的命令提示符針對Windows \\ sysWOW64 \\運行regsvr32.exe。 我還需要以管理員身份登錄才能進行安裝,因為僅以管理員身份運行安裝程序無法正常工作。 花費了45分鍾左右的時間來注冊組件,但最后還是沒問題。 希望能有所幫助。 歡呼戴夫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM