设置Windows系统NTFS某个目录的用户访问权限(c#)

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Management;

using System.Text;

using System.Runtime.InteropServices;

namespace SetAcl

{

///

1<summary>
2
3///  Form1 的摘要说明。 
4
5///  </summary>

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.TextBox textBox2;

private System.Windows.Forms.Button SetAcl;

private System.Windows.Forms.Label label1;

private System.Windows.Forms.Label label2;

private System.Windows.Forms.Button button1;

///

1<summary>
2
3///  必需的设计器变量。 
4
5///  </summary>

private System.ComponentModel.Container components = null ;

public Form1()

{

//

// Windows 窗体设计器支持所必需的

//

InitializeComponent();

//

// TODO: 在 InitializeComponent 调用后添加任何构造函数代码

//

}

///

1<summary>
2
3///  清理所有正在使用的资源。 
4
5///  </summary>

protected override void Dispose( bool disposing )

{

if ( disposing )

{

if (components != null )

{

components.Dispose();

}

}

base .Dispose( disposing );

}

#region Windows Form Designer generated code

///

1<summary>
2
3///  设计器支持所需的方法 - 不要使用代码编辑器修改 
4
5///  此方法的内容。 
6
7///  </summary>

private void InitializeComponent()

{

this .textBox1 = new System.Windows.Forms.TextBox();

this .textBox2 = new System.Windows.Forms.TextBox();

this .SetAcl = new System.Windows.Forms.Button();

this .label1 = new System.Windows.Forms.Label();

this .label2 = new System.Windows.Forms.Label();

this .button1 = new System.Windows.Forms.Button();

this .SuspendLayout();

//

// textBox1

//

this .textBox1.Location = new System.Drawing.Point(80, 32);

this .textBox1.Name = "textBox1";

this .textBox1.Size = new System.Drawing.Size(152, 21);

this .textBox1.TabIndex = 0;

this .textBox1.Text = "c:\\test";

//

// textBox2

//

this .textBox2.Location = new System.Drawing.Point(80, 80);

this .textBox2.Name = "textBox2";

this .textBox2.Size = new System.Drawing.Size(152, 21);

this .textBox2.TabIndex = 1;

this .textBox2.Text = "ASPNET";

//

// SetAcl

//

this .SetAcl.Location = new System.Drawing.Point(152, 136);

this .SetAcl.Name = "SetAcl";

this .SetAcl.TabIndex = 2;

this .SetAcl.Text = "设置";

this .SetAcl.Click += new System.EventHandler( this .SetAcl_Click);

//

// label1

//

this .label1.Location = new System.Drawing.Point(24, 80);

this .label1.Name = "label1";

this .label1.Size = new System.Drawing.Size(48, 23);

this .label1.TabIndex = 5;

this .label1.Text = "用户:";

//

// label2

//

this .label2.Location = new System.Drawing.Point(24, 32);

this .label2.Name = "label2";

this .label2.Size = new System.Drawing.Size(48, 23);

this .label2.TabIndex = 6;

this .label2.Text = "目录:";

//

// button1

//

this .button1.Location = new System.Drawing.Point(8, 168);

this .button1.Name = "button1";

this .button1.TabIndex = 7;

this .button1.Text = "button1";

this .button1.Click += new System.EventHandler( this .button1_Click);

//

// Form1

//

this .AutoScaleBaseSize = new System.Drawing.Size(6, 14);

this .ClientSize = new System.Drawing.Size(280, 197);

this .Controls.Add( this .button1);

this .Controls.Add( this .label2);

this .Controls.Add( this .label1);

this .Controls.Add( this .SetAcl);

this .Controls.Add( this .textBox2);

this .Controls.Add( this .textBox1);

this .MaximizeBox = false ;

this .MinimizeBox = false ;

this .Name = "Form1";

this .Text = "Form1";

this .ResumeLayout( false );

}

#endregion

///

1<summary>
2
3///  应用程序的主入口点。 
4
5///  </summary>

[STAThread]

static void Main()

{

Application.Run( new Form1());

}

[DllImport("advapi32.dll")]

public static extern bool LookupAccountName( string lpSystemName, string lpAccountName, byte [] sid, ref int cbSid, StringBuilder ReferencedDomainName, ref int cbReferencedDomainName, ref int peUse);

private void SetAcl_Click( object sender, System.EventArgs e)

{

string filePath= this .textBox1.Text;

string userName= this .textBox2.Text;

<SPAN

Published At
Categories with Web编程
Tagged with
comments powered by Disqus