Viktor1703
AutoIT Гуру
- Сообщения
- 1,535
- Репутация
- 413
Нашёл пример на Delphi как можно заблокировать файл или папку программно, но не пойму Delphi'йскую структуру, как это должно выглядеть на AutoIt.
Код Delphi:
Источник: Управление правами доступа к ресурсам
Код Delphi:
Код:
SID_NAME_USE SIDType;
PSECURITY_DESCRIPTOR pNewFileSD;
PACL pNewFileDACL;
char *filename = “c:\estfle.dat”; //имя файла
char *username =”guest” ; //имя пользователя
char szDomainName[250]=”VPI”; //название домена
char UserSID[2048]; //идентификатор безопасности пользователя
DWORD dwSIDLength = sizeof( UserSID );
DWORD dwDomainLength = sizeof( szDomainName );
DWORD dwNewACLSize;
// получитьSID (идентификатор безопасности) пользователя (группы)
LookupAccountName((LPSTR) NULL, username, UserSID, &dwSIDLength, szDomainName,
&dwDomainLength, &SIDType );
// Инициализировать новыйSD (дескриптор безопасности)
InitializeSecurityDescriptor( pNewFileSD, SECURITY_DESCRIPTOR_REVISION );
//получить размер ACL
dwNewACLSize =sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE)+ GetLengthSid(UserSID) -
sizeof(DWORD) ;
//создать и проинициализировать новый ACL
InitializeAcl( pNewFileDACL, dwNewACLSize, ACL_REVISION2 );
//поместить новый ACE с разрешением на чтение файла для пользователя в конец DACL
AddAccessAllowedAce( pNewFileDACL, ACL_REVISION2, GENERIC_READ, &UserSID );
// записатьDACL в новый SD файла
SetSecurityDescriptorDacl( pNewFileSD, TRUE, pNewFileDACL, FALSE );
// установить новый SD для файла с именем в filename
SetFileSecurity( filename, DACL_SECURITY_INFORMATION, pNewFileSD );
Источник: Управление правами доступа к ресурсам