Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Манифест в XP SP3

397
24 июня 2009 года
SergPas
527 / / 03.02.2007
Есть стандартный манифест, который включается в ресурсы приложения:
Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="5.1.0.0"
    processorArchitecture="x86"
    name="SergPas.Program"
    type="win32"
/>
<description>Program Description</description>
<dependency>
    <dependentAssembly>
    <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        processorArchitecture="x86"
        publicKeyToken="6595b64144ccf1df"
        language="*"
    />
</dependentAssembly>
</dependency>
</assembly>
Но при его включении в проект, категорически отказываются создаваться модальные диалоги (даже MessageBox() не катит). Стоит сказать также о том, что всё это дело не работает под ОС XP SP3; иначе дело обстоит с XP SP1 & Vista...
При удалении из ресурсов манифеста, всё работает, как полагается... Что думаете по этому поводу?
342
26 июня 2009 года
Yos
209 / / 21.06.2003
После того как установил SP3 тоже сталкнулся с такой проблемой и решение нашлось через пару минут в "корректном" так сказать программировании - т.е. при инициализации приложения необходимо делать:
 
Код:
//****
 INITCOMMONCONTROLSEX   iccex;

 // инициализируем работу с элементами ...
 iccex.dwSize = sizeof(INITCOMMONCONTROLSEX);
 iccex.dwICC = ICC_STANDARD_CLASSES | ...;
 InitCommonControlsEx(&iccex);

и усе заработало, видимо они как в 2000 для некоторых элементов, типа едитов дат, прогрессов и иже с ними сделали...
59K
31 марта 2010 года
mashinist
3 / / 31.03.2010
Yos, объясните, как лоху, пожалуйста более подробно. Мне в ехе надо вставить манифест, согласно вашего предыдущего поста, какими должны быть мои действия? Если не затруднит, по подробнее.
7
31 марта 2010 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: mashinist
согласно вашего предыдущего поста

[COLOR="Gray"]«Согласно вашему предыдущему посту»[/COLOR]

Для этого создаёте 24й ресурс,в который пихаете этот ваш манифест,и копилируете.Как вариант–используйте нечто типа ResHacker'а

59K
31 марта 2010 года
mashinist
3 / / 31.03.2010
Ехе от игры и при первом запуске должен появиться диалог с настройками и создасться файл config.txt. Сам манифест то я вставил. Только на SP3 вот эти настройки и не запускаются, ну то есть не происходит я бы сказал вообще ничего, словно и не запускал. Без манифеста пожалуйста. С ним,нет.
397
31 марта 2010 года
SergPas
527 / / 03.02.2007
Вы засунули манифест в исполняемый файл и теперь не отображаются диалоги? Ну так тут при установке SP3 обновляется библиотека comctl32.dll, поэтому без приведенных строк, приведенных Yos не обойтись, но для этого должны быть исходники. Как вариант, можно попробовать взять старую библиотеку и посмотреть, что получиться. Но я Вам этого не говорил...:D
8.2K
31 марта 2010 года
bagie2
299 / / 26.10.2008
mashinist
насколько понятно, вы взяли скомпилированный exe и редактором ресурсов прикрутили к нему манифест?
во-первых манифест можно просто положить рядом с программой отдельным файлом.
во-вторых вы могли испортить exe редактором ресурсов из-за чего приложение не запускается.
в третьих может быть некорректен сам манифест (бывает и такое)
и в четвертых действительно может понадобиться вызов InitCommonControlsEx и для этого придется патчить exe файл или писать лодер.
59K
31 марта 2010 года
mashinist
3 / / 31.03.2010
Все варианты я пробовал, но всё, мне помогли пропатчиванием ехе и по сценарию второго сообщения в этой теме. Всем спасибо, что не прошли мимо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог