gpt4 book ai didi

c# - 设置 Windows 文件安全性

转载 作者:太空狗 更新时间:2023-10-29 22:59:41 26 4
gpt4 key购买 nike

我的问题与大多数人相反。我正在用 C# 在本地生成文件,但我希望将它们标记为已阻止。因此,当用户在 Word 或 Excel 等应用程序中打开它们时,它会以“保护模式”打开它们。

我已经 read这是在“NTFS 备用数据流”上设置的。有谁知道我如何在 C# 中模仿这个?

enter image description here

最佳答案

您还可以使用 PersistZoneIdentifier对象而不是直接写入替代数据流。

更多信息在这里:http://blogs.msdn.com/b/oldnewthing/archive/2013/11/04/10463035.aspx在这里:https://github.com/citizenmatt/UnblockZoneIdentifier

using System;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;

namespace ConsoleApplication3
{
public enum URLZONE : uint
{
URLZONE_LOCAL_MACHINE = 0,
URLZONE_INTRANET = 1,
URLZONE_TRUSTED = 2,
URLZONE_INTERNET = 3,
URLZONE_UNTRUSTED = 4,
}

[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("cd45f185-1b21-48e2-967b-ead743a8914e")]
public interface IZoneIdentifier
{
URLZONE GetId();
void SetId(URLZONE zone);
void Remove();
}

class Program
{
static void Main(string[] args)
{
object persistZoneId = Activator.CreateInstance(Type.GetTypeFromCLSID(Guid.Parse("0968e258-16c7-4dba-aa86-462dd61e31a3")));
IZoneIdentifier zoneIdentifier = (IZoneIdentifier)persistZoneId;
IPersistFile persisteFile = (IPersistFile)persistZoneId;
zoneIdentifier.SetId(URLZONE.URLZONE_UNTRUSTED);
persisteFile.Save(@"c:\temp\test.txt", false);
}
}
}

关于c# - 设置 Windows 文件安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19775724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com