2010-02-22 2 views
1

Я пишу приложение, которое позволяет вам скриптировать кнопки из wiimote в действия на вашем ПК. В настоящее время он поддерживает все функции основного пульта дистанционного управления, за исключением динамика.Что мне нужно сделать, чтобы убедиться, что мое приложение запускается как Admin?

Теперь я столкнулся с проблемой, когда запускаю ее на Vista с включенным UAC.

В любое время, когда окно UAC'd имеет фокус, мое приложение не может успешно перемещать мышь. Например, когда запускается программа установки, я должен перемещаться по ней с помощью клавиатуры.

  1. Запустит приложение как администратор, решит мою проблему? (В какой-то момент времени, я был в состоянии успешно переместить курсор в поле контроля учетных записей паролем входа)

  2. Как построить манифест, который скажет окна, чтобы «запустить от имени администратора»?

  3. Как вставить этот манифест в мое приложение, если я решительно назвал свою сборку?

  4. Как подписать мое приложение с помощью сертификата Authenticode?

EDIT:

Итак, после некоторого более обширного исследования, я нашел:

http://msdn.microsoft.com/en-us/library/bb756929.aspx

<requestedExecutionLevel 
    level="asInvoker|highestAvailable|requireAdministrator" 
    uiAccess="true|false"/> 

Однако, говорится в статье:

Applica с флагом uiAccess , установленным в значение true, должен быть аутентифицирован , чтобы начать правильно. Кроме того, приложение должно находиться в защищенном месте в файловой системе. \ Program Files \ и \ windows \ system32 \ в настоящее время являются двумя допустимыми защищенными местами.

Я отредактировал этот вопрос, чтобы отразить новые разработки.

ответ

2

3: Это зависит от вашей среды разработки. Если вы не можете найти встроенный манифест, вместо него вы можете развернуть его как файл внешнего манифеста вместе с вашим .exe. Например, если ваш .exe называется MyProg.exe, поместите манифест в файл MyProg.exe.manifest

Обратите внимание, что с Windows Server 2003 и более поздних версий любой внутренний манифест предпочтительнее внешнего манифеста.

Существует также инструмент MT.exe.

4: Смотрите, например http://www.tech-pro.net/code-signing-for-developers.html

+0

Да, я все компилируется и работает, но я все равно придется платить за серт. Windows не позволит мне доверять самозаверяющему сертификату. –

+0

Если ваше приложение является открытым исходным кодом, www.certum.eu предоставляет бесплатные сертификаты, которым доверяют все версии Windows. В противном случае я нашел Comodo самым разумным, особенно, проходя через партнер Comodo, который дает идентичные сертификаты, но по более низким ценам. – mlaan

Смежные вопросы