我寫在fasm中的應用程序,並確定Windows版本8.1和上限有問題。函數GetVersionEx
和Version Helper
給我的Windows 8.正如MSDN所說,我必須通過更改Visual Studio中的清單文件來定位我的應用程序,但我沒有使用VS,所以我該怎麼辦?GetVersionEx函數爲Windows 8.1和上(fasm)
0
A
回答
2
任何允許您將資源鏈接到編譯的可執行文件的編程環境都可用於創建清單資源。您只需爲包含所需XML值的應用程序編寫合適的文件,然後將該文件的內容直接鏈接到應用程序的資源中,確保資源類型爲24,資源ID爲1,2或3(有關何時使用哪個ID的詳細信息,請參閱this page)。您無需爲此使用VisualStudio。
如果由於某種原因,你不能清單直接鏈接到你的應用程序的資源,你可以將XML或者保存到一個名爲<myappname>.exe.manifest
(其中<myappname>
是你的EXE文件的實際名稱)文件,並把它在同文件夾作爲你的應用。這不是顯示的首選方法,但它確實有效。
也就是說,您可以使用替代API而不是基於或VerifyVersionInfo()
的幫助程序來獲取正確的操作系統版本,而無需處理任何顯示。也就是說,可以使用RtlGetVersion()
,NetServerGetInfo()
和NetWkstaGetInfo()
(並且它們都已經在Windows 8.1和10中測試過)。
0
清單文件是作爲Win32資源嵌入的XML文件。它也可以是名稱爲your.exe.manifest
的外部文件。在互聯網上搜索示例內容的示例。
相關問題
- 1. 在Windows 2008 R2 SP1上使用GetVersionEx時行爲不正確
- 2. Windows Phone 8.1上的WebRtc 8.1
- 3. VS2010和Windows 8.1
- 4. 如何在Windows和FASM中寫入StdOut?
- 5. D3D11_CREATE_DEVICE_DEBUG在Windows 8.1上
- 6. Windows 8.1+上的BLE
- 7. ASM x86中的函數參數FASM
- 8. Ninject和windows phone 8.1
- 9. Mutex和Windows Phone 8.1
- 10. Windows 8.1 XAMPP和smarty
- 11. 在Windows 8.1上使用NLog和ModernUI
- 12. Windows Phone 8.1上的OpenCV
- 13. 部署在Windows Phone 8.1上
- 14. Windows 8.1上的Couchbase安裝
- 15. Windows Phone 8.1上的ZeroMQ?
- 16. 組合框,在Windows 7和8.1上的不同行爲
- 17. 的Arduino(microUSB數據)和Windows Phone 8/8.1
- 18. Windows Phone 8.1與Windows Phone Silverlight 8.1 - MSDN上是否缺少文檔?
- 19. Windows 8.1
- 20. Windows Phone 8.1 MVVMCROSS ViewModel爲空
- 21. Windows Phone 8.1和OData服務
- 22. Windows Phone 8.1 Silverlight和XAML
- 23. 將IsolatedStorageFileStream從Windows phone 8.1轉換爲Windows 8.1
- 24. Windows Phone Silverlight 8.1和Windows Phone 8.1開發之間的區別
- 25. Windows Phone 8.1和Windows Phone 8.1有什麼區別Silverlight
- 26. FASM:動態數組
- 27. WinJS問題| Windows 8.1和Windows Phone
- 28. 檢測Windows Kit 8.0和Windows Kit 8.1 SDK
- 29. 單向ping。 Windows 7和Windows 8.1
- 30. 在Windows 8.1和Windows 10上的DYMO標籤截斷打印
請參閱[瞭解C/C++程序的清單生成](https://msdn.microsoft.com/zh-cn/library/ms235542.aspx)以開始工作。使用[/ MANIFESTINPUT(指定清單輸入)](https://msdn.microsoft.com/en-us/library/dn195770.aspx)鏈接器開關來嵌入清單。如果您使用FASM鏈接目標代碼,則必須指示它使用['resdata manifest'](http://flatassembler.net/docs.php?article=win32#1.8)嵌入資源)宏指令。 – IInspectable
MSDN並沒有說你必須在VS中這樣做。 –
Windows 8.1是'GetVersionEx()'行爲改變的版本。您必須顯示您的可執行文件,並指定該清單中特定操作系統版本的兼容性,以便'GetVersionEx()'正確報告這些版本號。這種行爲變化在MSDN上已有詳細記錄。 –