请问下,在C#中如何直接调用系统右键菜单中的命令:
案例是这样的:
有一个项目,需要将word文档转为PDF,需要调用安装了adobe acrobat 9后产生的右键菜单项:“转换为Abode PDF”这个菜单,我的目的是在程序中直接调用这个菜单所对应的命令,我应该怎么做呢?
或者有没有直接调用系统右键菜单的方法例子?
根据:
//ProcessStartInfo在System.Diagnostics命名空间下
//ProcessStartInfo.Verbs返回string[]
var psi = new ProcessStartInfo("a.txt");
foreach(var s in psi.Verbs)
Console.WriteLine(s);
这个方法输出的菜单,没有“转换为Abode PDF”这个项;
而根据:http://www.cnblogs.com/lemony/archive/2007/04/18/718417.html
的做法://直接执行命令
CMINVOKECOMMANDINFOEX invoke = new CMINVOKECOMMANDINFOEX();
invoke.cbSize = Marshal.SizeOf(typeof(CMINVOKECOMMANDINFOEX));
invoke.lpVerb = Marshal.StringToHGlobalAnsi("properties");
invoke.lpDirectory = string.Empty;
invoke.fMask = 0;
invoke.nShow = 1;
iContextMenu.InvokeCommand(ref invoke);这里的"properties"指的是属性,我应该怎么找到“转换为Abode PDF”这个菜单项对应的索引呢?
求高手帮忙,小弟这里谢过了
案例是这样的:
有一个项目,需要将word文档转为PDF,需要调用安装了adobe acrobat 9后产生的右键菜单项:“转换为Abode PDF”这个菜单,我的目的是在程序中直接调用这个菜单所对应的命令,我应该怎么做呢?
或者有没有直接调用系统右键菜单的方法例子?
根据:
//ProcessStartInfo在System.Diagnostics命名空间下
//ProcessStartInfo.Verbs返回string[]
var psi = new ProcessStartInfo("a.txt");
foreach(var s in psi.Verbs)
Console.WriteLine(s);
这个方法输出的菜单,没有“转换为Abode PDF”这个项;
而根据:http://www.cnblogs.com/lemony/archive/2007/04/18/718417.html
的做法://直接执行命令
CMINVOKECOMMANDINFOEX invoke = new CMINVOKECOMMANDINFOEX();
invoke.cbSize = Marshal.SizeOf(typeof(CMINVOKECOMMANDINFOEX));
invoke.lpVerb = Marshal.StringToHGlobalAnsi("properties");
invoke.lpDirectory = string.Empty;
invoke.fMask = 0;
invoke.nShow = 1;
iContextMenu.InvokeCommand(ref invoke);这里的"properties"指的是属性,我应该怎么找到“转换为Abode PDF”这个菜单项对应的索引呢?
求高手帮忙,小弟这里谢过了
解决方案 »
- (急)c#数据库CS Chart画图,X轴时间显示问题
- 【求助】winform下控件DrawToBitmap得到图像保存到MemoryStream时出错
- C# 调用 formula one 在线等
- C#中图片调用的问题
- 刚用C#,有没有人做过读写xmlschema文件,急!
- 请教生成多个主从窗体用什么最快?
- c# 调用vc++写的动态库 时含有指针参数时的问题
- 我的IE注册表被www.163123.com改了,怎么办!!!!!!!!!!!
- 怎样用代码控制窗体的最大最小化,怎样判断所按的是左或右CTRl
- 怎样把一写字符,写成一个字符串
- WinForm里编辑HTML,数据库保存,图片
- 另一个程序正在使用此文件,进程无法访问--windows Mobile程序
1.右键菜单实际上存储在系统注册表里面,你想知道他到底怎么调用的,请自己查询你的注册表键值
2.其实他就是一个命令行,所以查看adabe的帮助说明,看他的命令行都有啥功能支持
我之前在注册表里查过了,他是这样的一串值:{D25B2CAB-8A9A-4517-A9B2-CB5F68A5A802}
我根本无从下手啊