Робимо Delphi програму Vista-сумісної (исходники), Різне, Програмування, статті

Як зробити Вашу програму більш доброзичливою в 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 сервері – почитати тут

Happy Coding!

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*