Как сделать чтобы приложение написаное с исп. WTL имело нативный вид?
У меня в Win7 выглядит как ранних версиях.
Здравствуйте, okman, Вы писали:
O>Здравствуйте, Ahela, Вы писали:
A>>Как сделать чтобы приложение написаное с исп. WTL имело нативный вид?
A>>У меня в Win7 выглядит как ранних версиях.
Подключить манифест —
http://msdn.microsoft.com/en-us/library/windows/desktop/bb773175(v=vs.85).aspx
Это обычный XML-файл, который подключается к exe как ресурс, ид = 1, тип = 24:
// myapp.rc
1 24 "manifest.xml"
Также не забываем про поддержку High DPI:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd464660(v=vs.85).aspx
управление совместимостью:
http://msdn.microsoft.com/en-us/library/windows/desktop/hh848036(v=vs.85).aspx
и то, что на Windows XP некоторые формы манифеста могут вызывать BSOD:
http://support.microsoft.com/kb/921337
Я в результате пришел к примерно такому формату (проверено на всех Windows от XP до 8):
| | Скрытый текст |
| | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="x86"
name="Company.Product.Component"
type="win32">
</assemblyIdentity>
<description>Description</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*">
</assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false">
</requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>
</application>
</compatibility>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
</assembly>
|
| | |