PrintWindow 截图为什么黑屏呢,vc++,求高手告诉我

PrintWindow 截图为什么黑屏呢,vc++,求高手告诉我,第1张

PrintScreen不会立即返回的吧,可能会卡住消息循环。

建议你创建一个新的线程,在线程函数里PrintScreen。MFC编程最好用AfxBeginThread

另外如果你用VC.NET以及以后的版本是可以直接用PrintScreen这个API而不用LoadLibrary、GetProcAddress什么的。

建议你用CxImage库,这个比较好用,看你是新手,帮你把CxImage编译成DLL了,你直接调用就行了,附带一个例子给你,只需要三行代码就可以把BMP转换成JPG了,具体看我代码,用法就是下面这么简单

CxImage img

img.Load( "mybmp.bmp" )

img.Save( "myjpeg.jpg" , CXIMAGE_FORMAT_JPG )

如果你要迁移到其它工程,只需要把CxImageInclude目录整个复制到你的工程里,然后在你的代码里增加下面两行即可(当然cximagecrt.dll和cximagecrt.lib也要复制过去,cximagecrt.lib放在你的工程目录下就行,就像我的直接放工程目录下,至于那个DLL,就要跟你的EXE放一起了,毕竟你到时会编译Release的EXE到其它地方运行的吧,把这个DLL带上就行;如果你不想带DLL,想静态将整个LIB编译进去也行,需要的时候我再帮你编译吧)

#pragma comment( lib , "cximagecrt.lib")

#include "CxImageInclude/ximage.h"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/10056685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存