Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor
Rutor


[ DDos Услуги. DDos атака. Заказать ДДос ]


Делаем Delphi программу Vista-совместимой!


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
Как сделать Вашу программу более дружелюбной в Vista (32 бит).
Тот кто уже использует Висту успел заметить работу нового User Access Control (UAC).

Изображение

Как Вы знаете, это "улучшение" модели безопасности довольно быстро начинает раздражать. Поговорим о том как Вашу программу научить работать с UAC.
Тот кто помнит как создавать XP manifest и впихивать в ресурс 24 вашего проекта поймет без труда. Все что вам нужно это заменить старый XP манифест на что то вроде

Изображение

это если вам нужны привилегии админа или

Изображение

если устраивают обычные привилегии текущего пользователя

Стоит заметить, что в обоих случаях возможно появление окна UAC изза недостатка привилегий. Допустим, вы запустили приложение с манифестом админа под обычным юзером - появится UAC окошко.

Такие манифесты будут работать ТОЛЬКО с Виста. Для работы с XP поменяйте

trustInfo xmlns="urn:schemas-microsoft-com:asm.v3

на

trustInfo xmlns="urn:schemas-microsoft-com:asm.v2

Это позволит запускать программу и в XP и в Виста.

Для тех, кто не знал или забыл как создать свой ресурс манифеста в Дельфи 6-7-2007:

1. Во первый если вы добавили компонент типа XPManifest - уберите его, закройте дельфи, удалите файл {имя проекта}.res,откройте проект в дельфи, перекомпилируйте проект. Это позволит обновить ресурсы .res.

2. Вручную создайте файл с содержимым описаным выше (это XML кто не в курсе) и назовите его vista.manifest. Попробуйте отрыть его в Internet Explorer - должно открываться без проблем. Если нет - ищите ошибки в тексте.

3. Создаем файл vista.rc в notepad вида 1 24 vista.manifest

4. Компилируем файл ресурсов: brcc32 vista.rc

5. Должен получится файл vista.res который вы прицепляете к программе директивой {$R vista.res} где нибудь в главной форме сразу под uses.

6. Да. Не забудьте перекомпилировать программу. ;)

В кратце это все - но для тех кому подобные выкрутасы нужны в COM сервере - почитать ]]>тут]]>

#2
Wirone

Wirone

    Бит

  • Members
  • 45 сообщений
Довольно интересно! Сам писал?

#3
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
Wirone
Нет. не сам ))

#4
execom

execom

    Бит

  • Members
  • 3 сообщений
В общем-то, то же самое можно получить просто отредактировав 24 ресурс, с помощью любого редактора ресурсов (типа ResHacker), для любой проги которую вы используете в висте...

#5
Urbis

Urbis

    EternalStone

  • Moderator
  • PipPip
  • 177 сообщений
Познавательная статья, только было бы еще лучше чтобы живой пример был прикреплен в сорцах.
Цитата


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных