C# 调用系统右键菜单

如图,在C#窗体中点击一个按钮实现相当于在Windows中右击图片然后点击打印之后出来的效果... 如图,在C# 窗体中点击一个按钮 实现相当于在Windows中 右击图片然后点击打印之后出来的效果 展开
 我来答
然后去远足
2014-07-14 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2353万
展开全部

右键菜单的“打印”选项是根据不同文件类型(后缀名)调用不同的命令来实现的。

 

以 jpg/jpeg 文件为例,其注册表路径为 

HKEY_CLASSES_ROOT\jpegfile\shell\printto\command

如图所示:


也就是会调用 shimgvw.dll(这是 Windows 自带的图片浏览器的DLL) 下 ImageView_PrintTo 这个方法。


你可以先判断图片文件的后缀名,再从注册表响应的 XXXfile\shell\printto 里先读出来这个项的值,在 Process.Start() 传参进去。


但是这是完全没有必要的,为什么非要调用 Windows 图片浏览器的打印功能?


C# 本身有完善的打印类,在 System.Drawing.Printing.PrintDocument 命名空间下。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式