level 7
deAngle
楼主
最近朋友需要一个图片浏览打印功能,必须delphi调用。网上找到cnpack包和graphicEx可以满足图片处理的需要。至于打印觉得最好调用window系统的打印向导。实际上像很多2345看图王之类的也是这样做的。
找了一下资料很多都是命令行调用的。
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
rundll32.exe shimgvw.dll,ImageView_Fullscreen %1打开图片(成功)
rundll32.exe shimgvw.dll,ImageView_PrintTo /pt “%1” “%2” 打印图片(只打印无向导,也就是很多人说的没反映)
打开进程管理器看了一下,第一条命令的进程为dllhost.exe。第二条命令的进程为explorer.exe。这大概就是调用不成功的原因。但注册表中的命令也确实是这样写的,可能是explorer是窗口程序,或是做了特殊的进程处理。
其它程序是怎么实现的呢?终于在百度经验里找到一篇“编程实现调用windows照片打印向导来打印图片“http://jingyan.baidu.com/article/b87fe19ebcb9fd521835689f.html
在调试的时候分别进行了,mfc程序,win32控制台,和dll程序。mfc程序是成功的,但到了控制台程序里面又不能行了,进一步打印图片向导与窗口有关。最后做dll在delphi中调用也成功了。下面分享一下代码和演示
2014年09月22日 11点09分
1
找了一下资料很多都是命令行调用的。
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
undll32.exe
C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1
rundll32.exe shimgvw.dll,ImageView_Fullscreen %1打开图片(成功)
rundll32.exe shimgvw.dll,ImageView_PrintTo /pt “%1” “%2” 打印图片(只打印无向导,也就是很多人说的没反映)
打开进程管理器看了一下,第一条命令的进程为dllhost.exe。第二条命令的进程为explorer.exe。这大概就是调用不成功的原因。但注册表中的命令也确实是这样写的,可能是explorer是窗口程序,或是做了特殊的进程处理。
其它程序是怎么实现的呢?终于在百度经验里找到一篇“编程实现调用windows照片打印向导来打印图片“http://jingyan.baidu.com/article/b87fe19ebcb9fd521835689f.html
在调试的时候分别进行了,mfc程序,win32控制台,和dll程序。mfc程序是成功的,但到了控制台程序里面又不能行了,进一步打印图片向导与窗口有关。最后做dll在delphi中调用也成功了。下面分享一下代码和演示