Jak przejąć na własność plik/katalog w Windows Vista? C#/C++

W Windows Vista właścicielem (Owner) wszystkich plików systemowych jest konto o nazwie TrustedInstaller… a chce zmienić nazwę plikom oraz podmienić pliki w katalogu systemowym z poziomu swojej aplikacji C#/C++ lecz wywala mi odmowa dostępu… nie mam uprawnień…

Więc jak nadać te prawa?

Wiem, że jakoś poprzez System.IO.File.GetAccessControl(); i System.IO.File.SetAccessControl(); ale nie wiem za bardzo jak się to tego zabrać… macie jakiś przykład kodu czy coś?

Wszyscy mają:

https://msdn2.microsoft.com/en-us/library/system.io.fileinfo.setaccesscontrol.aspx

To google to strasznie skomplikowane w obsłudze jest… :?

Jak już wspomniałem…

Więc proszę o wytłumaczenie. Mam przykładowy kod:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;


namespace podmianaplikoworaznazw

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }


        private void button1_Click(object sender, EventArgs e)

        {

            System.IO.File.Copy("C:\\Windows\wp.PNG", "F:\\wp2.PNG");

        }

    }

}

Jak on teraz powinien wyglądać?

Twój kod będzie działał tak jak działa jeśli zostanie wykonany z odpowiednimi uprawnieniami. Mówiąc prościej - musi zostać uruchomiony z uprawnieniami administratora. SetAccessControl nic tutaj nie da, bo do zmiany ACLs zasobu potrzeba najpierw uzyskać do niego dostęp na odpowiednim poziomie.

Z ciekawości: po co chcesz modyfikować pliki systemowe? Nazywają się “systemowe” nie bez powodu…

Aha teraz wszystko jasne… Dzięki.

Cierpliwości, już niedługo… :wink:

Cierpliwy czy nie - ciekaw jestem, bo z doświadczenia wynika, że nic dobrego z tego nie wyniknie. :wink: Te pliki naprawdę nie bez powodu są systemowe. Twoje zmiany mogą mieć wpływ na działanie programów do backupu i defraga. Mówiąc wprost: mogą zabić komputer po uruchomieniu tychże. Dzieląc się tym co zamierzasz zrobić możesz uchronić się przed konsekwencjami używania Twojej aplikacji.

Może vistamen chce po prostu zabić Vistę, żeby później narzekać jaka ona jest beznadziejna :lol:

Przypuszczam, że to kolejny bezużyteczny program to “tweakowania” Windowsa. :roll: