如何禁用Windows注册表中的剪切,复制,粘贴,重命名等?

1 vb.net windows visual-studio-2008 windows-7

我正在尝试在VB.Net中创建一个软件作为我的uni项目来禁用Windows 7 pc中的以下内容.我认为必须从Windows注册表的上下文菜单中禁用它们,但不是禁用整个上下文菜单,我想单独禁用以下内容.

  • 剪切,复制,粘贴,重命名,删除,打开,打印,共享,创建快捷方式,打开,发送到新的属性.

我想让用户通过复选框选择性地/单独禁用它们,以便在鼠标右键单击时禁用这些选项.

我的问题是我不知道哪个是正确的密钥禁用,因为注册表是如此巨大和一些键类似命名.

任何人都可以帮我说一下Windows注册表中上述右键单击功能的确切关键位置或者如何解决这个问题?

Han*_*ant 7

在这个问题中做出的假设的深层缺陷是上下文菜单由注册表项配置.它不是.Windows允许通过发送WM_CONTEXTMENU消息来修改窗口的上下文菜单.代码,不配置.如果您对该消息的默认实现不满意,那么您继承窗口过程并为该消息提供自己的消息处理程序,以便您可以显示自己的上下文菜单.这是Windows工作方式的核心.

修改您未编写的程序的上下文菜单也是可能的,但更复杂.您使用SetWindowsHookEx()将DLL注入另一个进程.你不能在VB.NET中编写类似的DLL,它需要本机代码.因为该进程不会加载CLR来运行托管代码.