【发布时间】:2011-05-11 13:15:25
【问题描述】:
我正在开发一个windows应用程序,我需要获取文件夹名称,同时右键单击文件夹对其进行一些操作。
到目前为止,我做了以下事情:
- 在 HKKEY_CLASS_ROOT\Folder\shell\(我的程序名)中创建了一个注册表子项
- 为我的程序名\command [我的程序的路径]创建了一个注册表子项
现在我让注册表项显示在文件夹上下文菜单中。在我的应用程序中,我执行了以下操作:
1- 在 program.cs 中
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 p = new Form1();
if (args.Length > 0)
{
p.pathkey = args[0];
}
Application.Run(p);
}
2- 以我的形式 1:
private string _pathkey;
public string pathkey
{
get { return _pathkey; }
set { _pathkey = value; }
}
private void Form1_Load(object sender, EventArgs e)
{
if (this.pathkey != null)
{
textBox1.Text=pathkey;
}
}
终于:
现在,当我右键单击一个文件夹时,可以说例如名为 NEW。然后 textbox3.text = C:\NEW ,到目前为止它工作正常但是如果文件夹名称是 New Folder 然后 textbox3.text = C:\New 不是 C:\New Folder 如果 args.length > 0 这就是我的问题它只显示长度 0 而不是完整路径。
【问题讨论】:
标签: c# contextmenu directory