[python] Python freeze a Vista UAC
Radek Holý
radekholypublic na gmail.com
Úterý Červen 12 00:26:11 CEST 2012
Pokusil jsem se...
--
Radek Holý
Dne 7. června 2012 19:36 Michal Molhanec <mol-python na seznam.cz> napsal(a):
> Dobrý den,
>
> to zní užitečně, nechcete to přidat do wiki ?
>
> Dne 6.6.2012 23:30, Radek Holý napsal(a):
>> Dobrý den,
>>
>> moc děkuju za postrčení. Získal jsem další klíčová slova pro hledání a
>> nakonec jsem zjistil, že pro změnu manifestu stačí následující kód:
>>
>>>>> import win32api
>>>>>
>>>>> # Load manifest.
>>>>> handle = win32api.LoadLibrary(PATH_TO_EXE)
>>>>> manifest = win32api.LoadResource(handle, 24, 1, 1033)
>>>>> win32api.FreeLibrary(handle)
>>>>>
>>>>> # Modify manifest (replacing 'requestedExecutionLevel level="asInvoker"' by 'requestedExecutionLevel level="requireAdministrator"').
>>>>>
>>>>> # Save new manifest.
>>>>> handle = win32api.BeginUpdateResource(PATH_TO_EXE, 0)
>>>>> win32api.UpdateResource(handle, 24, 1, manifest, 1033)
>>>>> win32api.EndUpdateResource(handle, 0)
>>
>> Resp. toto stačí pro EXE soubory používané v cx_freeze. Nevím, jestli
>> v jiných EXE souborech není třeba použít jiné identifikátory než "1" a
>> "1033" ve funkcích ``win32api.LoadResource`` a
>> ``win32api.UpdateResource``...
>
> --
> Zdraví,
> Michal Molhanec
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python