wincc有屏幕打印功能的函数,但很多时候只想定时将屏幕截图之后保存,c语言的函数库中未找到相关的截屏函数,请问如何编程实现? 谢谢
问题补充:
dcount107 大大提供的是c脚本,调用外部vb程序,是否能像程序中InitDir指定路径一样指定截图的文件名,按照年月日的时间格式进行存储?这样就可以自动运行,不用手动输入文件名了。另外,如果我自己编写了vb截屏程序,调用该程序,存储路径、存储文件名的格式是否和你的一致?两者的变量传递(路径和文件名)如何,谢谢
最佳答案
WinCC只提供拷屏打印的函数,即便是安装虚拟PDF打印机之类的,打印币不岬龆曰翱颍? 用C实现很难实现的,牵涉到图象处理方面的东西,我这有个现成编好的VB程序,调用方法如下:
HWND hwnd;
char szCmd[255];
hwnd=FindWindow(NULL,"WinCC-运行系统 - ");
sprintf(szCmd,"c:\\temp\\CopyScreen.exe hwnd=%d rect=0,0,1280,1024 InitDir=D:\\",hwnd);
printf("\r\n%s",szCmd);
ProgramExecute(szCmd);
//如果全屏拷贝,不用指定rect参数
文件下载地址:http://www.ad.siemens.com.cn/club/bbs/upload/2008/20081208/13349129CopyScreen.rar
祝你成功!
补充:
生成后的图片文件就是以时间格式命名的,InitDir是存储的路径;
提问者对于答案的评价:
复制代码到C动作,设置定时器之后,在该时间运行时弹出窗口要求输入文件名,和CopyScreen程序单独运行的时候是一样的。请问输入文件名的变量传递如何在wincc调用CopyScreen时设定?
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272960.html