GVKun编程网logo

如何为Java应用程序向Windows资源管理器添加上下文菜单?(java文件资源管理器)

34

本文将带您了解关于如何为Java应用程序向Windows资源管理器添加上下文菜单?的新内容,同时我们还将为您解释java文件资源管理器的相关知识,另外,我们还将为您提供关于.net–在Windows资

本文将带您了解关于如何为Java应用程序向Windows资源管理器添加上下文菜单?的新内容,同时我们还将为您解释java文件资源管理器的相关知识,另外,我们还将为您提供关于.net – 在Windows资源管理器中添加“虚假驱动器”、.net – 如何显示Windows 7样式的上下文菜单?、c# – 在winform应用程序的数据网格视图中添加上下文菜单、c# – 如何重新使用现有/已打开的Windows资源管理器窗口来启动资源管理器的实用信息。

本文目录一览:

如何为Java应用程序向Windows资源管理器添加上下文菜单?(java文件资源管理器)

如何为Java应用程序向Windows资源管理器添加上下文菜单?(java文件资源管理器)

对于Java应用程序,如何将子菜单项添加到Windows资源管理器上下文菜单中(例如7-Zip)?

答案1

小编典典

我知道有两种方法可以做到这一点。一种奇特的方法是编写一个Windows
Shell扩展,这就是我认为powerarchiver,winzip等如何执行的方式(这涉及运行代码以确定上下文菜单项将取决于所选文件)。

对于简单的功能,简单的方法是可以在注册表中添加一个条目:

HKEY_CLASSES_ROOT\<file type>\shell\<display text>\command

<file type>此上下文菜单应应用于的文件在哪里,即* 、. mdb,.doc

<display text> 您要在上下文菜单中显示的内容。

然后将默认字符串添加为要从上下文菜单中启动的应用程序的路径,并且您可以使用%1来引用当前选择的文件,即对于我使用的MS Access:

HKEY_CLASSES_ROOT\*\shell\MS Access 2000\command"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "%1"

然后,这为我选择的任何文件添加了一个上下文菜单项(因此带有*),这使我可以在MS Access 2000中启动它。

当然,始终在黑客入侵之前备份您的注册表。

您的程序可以在安装过程中或首次运行时执行此操作。

.net – 在Windows资源管理器中添加“虚假驱动器”

.net – 在Windows资源管理器中添加“虚假驱动器”

我使用的应用程序 Mozy Backup将自己的“驱动器”添加到Windows资源管理器中,我可以浏览并查看我备份的所有文件. Windows知道它不是物理驱动器 – 如果我的驱动器列表按类型划分,它会显示在“其他”下.

如何在浏览器中注册这样的“驱动器”?我想用我正在开发的当前.NET应用程序来做这件事,但是我找不到任何关于它是如何完成的解释.此外,我似乎无法找到任何关于使我的应用程序“可浏览”的文档,这意味着它提供了一个类似的界面,用户可以浏览文件夹和文件.

这是我正在谈论的截图:
Example of Mozy drive

解决方法

它未在资源管理器中注册.这是一个操作系统注册.你所做的就是为安装在本地系统上的windows编写一个设备驱动程序,并将其视为像磁盘驱动器设备一样的窗口.而不是与某些硬件(物理设备)连接,您的驱动程序与虚拟的东西接口(但是,Windows不需要知道这一点,它看起来像是Windows的常规磁盘驱动器).

您可以在此处找到有关编写设备驱动程序的更多信

http://www.microsoft.com/whdc/driver/foundation/default.mspx

和这里

http://msdn.microsoft.com/en-us/library/ms809956.aspx

.net – 如何显示Windows 7样式的上下文菜单?

.net – 如何显示Windows 7样式的上下文菜单?

在我的.NET应用程序中,上下文菜单看起来像左边的菜单.

如何在它们上应用Windows 7样式以使它们看起来像是正确的?

解决方法

右键单击工具框,选择项目.勾选“ContextMenu”,Namespace = System.Windows.Forms和Directory = Global Assembly Cache.

此.NET 1.x组件与ContextMenuStrip不同,它使用本机Windows菜单.你会失去一些能力,我怀疑你在乎.您需要编写一行代码来分配菜单,设计器只允许您设置ContextMenuStrip属性.将该行添加到构造函数中,如:

public Form1() {
        InitializeComponent();
        this.ContextMenu = contextMenu1;
    }

c# – 在winform应用程序的数据网格视图中添加上下文菜单

c# – 在winform应用程序的数据网格视图中添加上下文菜单

右键单击DataGridView中的菜单项时如何显示上下文菜单?
我想在菜单中添加删除,以便删除整行.
提前致谢

解决方法

参考米格尔的答案
我认为这样很容易实现
int currentRowIndex;
    private void dataGridView1_CellMouseUp(object sender,DataGridViewCellMouseEventArgs e)
    {
        currentRowIndex = e.RowIndex;
    }  
    private void deletetoolStripMenuItem_Click(object sender,EventArgs e)
    {    
        dataGridView1.Rows.Remove(dataGridView1.Rows[currentRowIndex]);
    }

c# – 如何重新使用现有/已打开的Windows资源管理器窗口来启动资源管理器

c# – 如何重新使用现有/已打开的Windows资源管理器窗口来启动资源管理器

我有一个经常使用启动explorer.exe的应用程序.我想重新使用现有/已经打开的资源管理器窗口,而不是每次启动该过程时都创建一个新窗口.

这是我的代码的样子:

System.Diagnostics.processstartinfo info = new System.Diagnostics.processstartinfo
{
    UseShellExecute = true,FileName = "Explorer.exe",Arguments = myDirectoryPath
};
System.Diagnostics.Process.Start(info);

我没有看到command-line开关这样做.我尝试过的一种方法是简单地杀死任何一个现有的资源管理器进程并用一个新进程替换它:

var processes = System.Diagnostics.Process.GetProcesses(Environment.MachineName);int kills = 0;
for (int i = 0; i < processes.Length; i++)
{
    System.Diagnostics.Process p = processes[i];
    if (p.ProcessName == "explorer" && kills < 1)
        ++kills
    p.Kill();
}

但是这会导致不仅仅杀死1个进程,而且完全杀死探险器以便即使任务栏消失也会产生不良影响.

那么,如何使用现有的Explorer窗口(如果存在)来启动资源管理器?

解决方法

IShellWindows COM接口将为您提供打开资源管理器窗口的列表,您可以获取并设置任何资源管理器窗口的地址,有关C示例,请参阅 this blog entry.我怀疑.NET有一个本机实现,所以你可能需要PInvoke

关于如何为Java应用程序向Windows资源管理器添加上下文菜单?java文件资源管理器的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.net – 在Windows资源管理器中添加“虚假驱动器”、.net – 如何显示Windows 7样式的上下文菜单?、c# – 在winform应用程序的数据网格视图中添加上下文菜单、c# – 如何重新使用现有/已打开的Windows资源管理器窗口来启动资源管理器等相关知识的信息别忘了在本站进行查找喔。

本文标签: