Cr�e un nouveau jeton d'acc�s qui reproduit un jeton existant
#include <Security.au3>
_Security__DuplicateTokenEx ( $hExistingToken, $iDesiredAccess, $iImpersonationLevel, $iTokenType )
$hExistingToken | Handle d'un jeton d'acc�s ouvert avec un acc�s TOKEN_DUPLICATE |
$iDesiredAccess | Les droits d'acc�s demand�s pour le nouveau jeton |
$iImpersonationLevel | Le niveau d'imitation du nouveau jeton |
$iTokenType | Le type de nouveau jeton |
Succ�s: | Le handle du nouveau jeton. |
�chec: | 0. |
_Security__OpenProcessToken, _Security__OpenThreadToken, _Security__OpenThreadTokenEx
Consultez DuplicateTokenEx dans la librairie MSDN.
#include <MsgBoxConstants.au3> #include <ProcessConstants.au3> #include <Security.au3> #include <SecurityConstants.au3> #include <WinAPIHObj.au3> #include <WinAPIProc.au3> Global $hProcess = _WinAPI_OpenProcess($PROCESS_ALL_ACCESS, 0, ProcessExists("explorer.exe")) ; En cas de r�ussite If $hProcess Then ; Token... Local $hTokOriginal = _Security__OpenProcessToken($hProcess, $TOKEN_ALL_ACCESS) ; Ferme le handle du processus qui n'est plus n�cessaire. _WinAPI_CloseHandle($hProcess) ; En cas de r�ussite If $hTokOriginal Then ; Duplique le jeton d'origine Local $hTokDuplicate = _Security__DuplicateTokenEx($hTokOriginal, $TOKEN_ALL_ACCESS, $SECURITYIMPERSONATION, $TOKENPRIMARY) ; Ferme le jeton d'origine _WinAPI_CloseHandle($hTokOriginal) ; ; Ce qui est cr�� est un jeton principal (!) ; ... Faites ici ce que vous voulez ave ce jeton... ; MsgBox($MB_SYSTEMMODAL, "DuplicateTokenEx", "$hTokDuplicate = " & $hTokDuplicate) ; Ferme ce jeton _WinAPI_CloseHandle($hTokDuplicate) EndIf EndIf