Как Удалить Файл C_1252.nls

Тема в разделе "Delphi - Система", создана пользователем Кирф, 20 апр 2012.

  1. Кирф

    Кирф Member

    Регистрация:
    20 апр 2012
    Сообщения:
    9
    Симпатии:
    0
    ;) Здравствуйте все! кто читает этот текст. Прошу помощи, если это возможно.
    Мой вопрос. Как удалить файл c_1252.nls из папки system32 Windows 7 и на его место скопировать другой такой же файл (имя и расширение то же) с диска C:\?
    Нужен код на Делфи, или в код для Bat-файла.
    Я знаю, что удалить можно программой Unlocker. Знаю, что папка system32 это системная папка. Слышал и о правах Администратора. Но, как это всё отразить в реальной программе не знаю.
    Заранее благодарю всех.
    С уважением и надеждой на ответ. Кирф.
     
  2. ZorkovIgor

    ZorkovIgor Гость

    Вам нужно получить привилегии оладчика

    Можно попробовать сделать например так

    Код (Delphi):
    function _EnableDebugPrivilege(Enable: Boolean): Boolean;
    var
    TokenHandle: THandle;
    TokenPrivileges: TTokenPrivileges;
    ReturnLength: DWORD;
    begin
    Result := False;
    try
    if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TokenHandle) then
    begin
    try
    LookupPrivilegeValueW(nil, 'SeDebugPrivilege', TokenPrivileges.Privileges[0].Luid);
    TokenPrivileges.PrivilegeCount := 1;
    if Enable then
    TokenPrivileges.Privileges[0].Attributes := 2
    else
    TokenPrivileges.Privileges[0].Attributes := 0;
    if AdjustTokenPrivileges(TokenHandle, False, TokenPrivileges, 0, nil, ReturnLength) then
    Result := True;
    finally
    CloseHandle(TokenHandle);
    end;
    end;
    except
    end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    _EnableDebugPrivilege(True);
    if not DeleteFile('ИмяФайла') then
    ShowMessage(SysErrorMessage(GetLastError));
    end;
     
  3. Кирф

    Кирф Member

    Регистрация:
    20 апр 2012
    Сообщения:
    9
    Симпатии:
    0
    Здравствуйте уважаемый Zorcovlgor!
    Огромное спасибо за код. Создал, как Вы и советовали программу, но после её включения получил сообщение «Отказано в доступе».
    Программу и полученное окно послал по электронной почте на форум. Хотелось бы, чтобы Вы глянули. Может, что напутал…
    С уважением. Кирф.
     
Загрузка...

Поделиться этой страницей