Вверх ↑
Ответов: 4741
Рейтинг: 527
#1: 2013-12-17 20:12:23 ЛС | профиль | цитата
Стоит наверно привилегии учёток сравнить, явно чего-то не хватает.
------------ Дoбавленo в 20.12:
так и есть, привилегий не хватает (у себя на 7ке Admin в группе администраторов, ровно наполовину усечена с локальным "Администратором")проверь этим
Add(InlineCode,5958312,280,238)
{
WorkPoints=#6:doInfo|
EventPoints=#6:onInfo|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,windows,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|21: onInfo:THI_Event;|45: procedure doInfo(var dt:TData; idx:word);|0:|5: end;|0:|14:implementation|0:|29:procedure THiAsmClass.doInfo;|6: const|49: TokenSize = 800; // (SizeOf(Pointer)=4 *200) |3:var|19: hToken: THandle;|32: pTokenInfo: PTOKENPRIVILEGES;|23: ReturnLen: Cardinal;|14: i: Integer;|19: PrivName: PChar;|22: DisplayName: PChar;|22: NameSize: Cardinal;|23: DisplSize: Cardinal;|20: LangId: Cardinal;|6: begin|33: GetMem(pTokenInfo, TokenSize);|87: if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,|56: hToken) then ShowMessage('OpenProcessToken error');|93: if not GetTokenInformation(hToken, TokenPrivileges, pTokenInfo, TokenSize, ReturnLen) then|46: ShowMessage('GetTokenInformation error');|25: GetMem(PrivName, 255);|28: GetMem(DisplayName, 255);|49: for i := 0 to pTokenInfo.PrivilegeCount - 1 do|8: begin|22: DisplSize := 255;|22: NameSize := 255;|81: LookupPrivilegeName(nil, pTokenInfo.Privileges[i].Luid, PrivName, Namesize);|79: LookupPrivilegeDisplayName(nil, PrivName, DisplayName, DisplSize, LangId);|53: _hi_onEvent(onInfo,PrivName +';' + DisplayName);|7: end;|21: FreeMem(PrivName);|24: FreeMem(DisplayName);|23: FreeMem(pTokenInfo);|5: end;|0:|0:|4:end.|
link(onInfo,2695957:doAdd,[])
}
Add(Button,4294741,217,238)
{
Left=15
Top=15
link(onClick,5958312:doInfo,[])
}
Add(StringTable,2695957,350,238)
{
Left=90
Top=10
Width=530
Height=250
Columns=#13:Privilege=300|11:Caption=500|
}

карма: 6
0