Хм, а просто дать повышенные права только программе, не вариант?
С помощью сторонних утилит не предлагаю, есть ведь "Планировщик заданий"! Создай XML файл и вставь туда следующий текст, затем открой планировщик и импортируй задачу, указав этот файл:
<?xml version="1.0" encoding="UTF-16" ?>
- <Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
- <RegistrationInfo>
<Date>2010-04-25T16:26:08.3858237</Date>
<Author>Ezhyg_from_Toster</Author>
</RegistrationInfo>
- <Triggers>
- <EventTrigger>
<Enabled>true</Enabled>
<Subscription><QueryList><Query Id="0" Path="Microsoft-Windows-UAC/Operational"><Select Path="Microsoft-Windows-UAC/Operational">*[System[Provider[@Name='Microsoft-Windows-UAC']]]</Select></Query></QueryList></Subscription>
</EventTrigger>
</Triggers>
- <Principals>
- <Principal id="Author">
<GroupId>S-1-5-32-545</GroupId>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
- <Settings>
<MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>false</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
- <IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
- <Actions Context="Author">
- <Exec>
<Command>"C:\Program Files\Akelpad\AkelPad.exe"</Command>
</Exec>
</Actions>
</Task>
Затем создай ярлык:
C:\Windows\System32\schtasks.exe /run /tn Имя_задачи
Именем задачи является имя файла, но можешь переобозвать при импорте.