这个问题在C++上看到过很多人回答这个问题,但是DELPHI上我实现不出, 一直在心里是个疙瘩。流程为程序最小化后,在内存中中创建一个兼容的HDC 在重绘他 在进行截图。最后释放 现在正好用到了, 请高手们指点下巴 ,给出源码 分数送上
解决方案 »
- 求助,调用JAVA WEBSERVICE报错
- 定义一个DWord数据类型的变量a,三十二byte位,如何判断变量a的第五个byte位的值是不是一?
- DBGRID的一个问题:
- 请问Application和CLXApplication什么区别?谢谢
- z39.50服务器的详细资料或书,谁有?本人想编程序从该服务器下marc数据
- 大家谁知道comboboxex 这个控件的使用?
- 怎么在程序中判断一个exe文件是否正在运行?
- 请问谁有支持delphi6的条形码控件?支持打印的,在线等待,马上给分
- 关于打包的问题,急!急!急!
- 进来看看,也许你能帮我!
- 新手求助Panel的鼠标触发焦点问题
- 一段SQL在数据库单独执行跟DELPHI里执行结果为何不同
1.我运行传奇运行后 在程序中把界面最小化 现在我利用程序发送一个最大化的指令 先在内存中创建一个兼容的HDC 然后让游戏吧界面重绘到这个HDC中在对界面截图
2.我运行传奇运行后 在程序中把界面最小化 现在我利用程序发送一个最大化的指令 用钩子拦截图形坐标 重绘到内存中 在重建一个HDC 去复制截图
主要是用于一些程序的后台截图
c++ 上写的很清楚 但是DELPHI 没有资料
另外,楼主既然有C++的资料,那你自己换成Delphi的就可以了吗!
var
B: TBitmap;
begin
B := TBitmap.Create;
B.Width := GetSystemMetrics(SM_CXSCREEN); //Screen.Width
B.Height := GetSystemMetrics(SM_CYSCREEN); //Screen.Height
BitBlt(B.Canvas.handle, 0, 0, B.Width, B.Height, GetDc(0), 0, 0, SRCCOPY); with TJPEGImage.Create do
begin
Assign(B);
CompressionQuality := 75;
SaveToFile(MyFilename);
free;
end;
end;