[Delphi] Проблема CopyFile в Windows 8

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Москва, 13 Jun 2013.

  1. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    Сегодня первый раз столкнулся с Windows 8. И как понял она даже мне администратору выдает предупреждение при переносе файлов с раб стола в C:\, не говоря уже о том что при создании в списке вылезает только "Папку". А мне нужно программно скопировать например:
    Code:
    CopyFile(Pchar('C:\test.txt'), Pchar('C:\test2.txt'), True);
    И это не получается, что же делать?
     
  2. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Запускай приложения с админ права, всего одно окно предупреждения при старте.
     
  3. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    Да помогло, теперь вопрос в другом, как бы программно запустить программу с этими правами?
     
  4. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Нужно добавить файл-манифест, в нем указать что программе нужны права администратора, примеров в гугле кучаааа.
     
  5. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    С манифестом все отлично получилось заюзал вот эту статью http://krez0n.org.ua/archives/318 а точнее вот этот код засунул через программу Restorator:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
          <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>
        </security>
      </trustInfo>
    </asmv1:assembly>
    Программа открывается от имени Администратора, единственное палево остается в алерте подтверждения запуска, решается же цифровой подписью программы, но это уже другая история.

    Теперь же проблема в том что не получается программно удалить файл из за "TrustedInstaller":
    [​IMG]

    Как бы ее обойти или решить программно?
     
  6. Грабитель

    Joined:
    5 Mar 2013
    Messages:
    196
    Likes Received:
    12
    Reputations:
    -7
    Москва зловреда пишеш? Посодют
     
  7. Москва

    Москва New Member

    Joined:
    19 Oct 2010
    Messages:
    63
    Likes Received:
    3
    Reputations:
    0
    Да не совсем зловреда, заразить одного чтоб спасти миллионы)