fly_____new 2022-03-30 10:49 采纳率: 100%
浏览 28
已结题

c语言 一个截图小程序 不知道哪里不对

我想在魔兽世界的游戏窗口截一个小图,然后放到另一个窗口里,就这么简单的小功能

下面代码我写了改,改了写,可怎么着也不行,就是不行

运行结果是游戏窗口大小和位置都正确,也新开了一个窗口,但没有截图,就一个空的窗口

有人帮忙看看吗?

#include <Windows.h>
#include <stdio.h>
#include<easyx.h>
#include<graphics.h>

int main()
{
printf("现在开始吗?\n");
system("pause");
HWND wow1= FindWindow(NULL, "魔兽世界");
//获取游戏窗口尺寸
RECT rect; //定义一个RECT(表示位置和大小的)类型的变量
GetWindowRect(wow1, &rect); //获得窗口尺寸
int w = 640; //rect.right - rect.left; 尺寸计算:直接写像素数,或者按原大小,最右减最左,最下减最上
int h = 480; //rect.bottom - rect.top;
//移动游戏窗口
MoveWindow(wow1, 0, 0, w,h,0); //把游戏窗口放到指定位置

HDC wow1dc = GetDC(wow1);            //获取游戏窗口DC


IMAGE tmp(40,40);                                           //定义一个图像数组
getimage(&tmp, 0, 0, 100, 100);                     //从     中拿到一个图片
                                                              // loadimage(&tmp,35,35,false);
                                                               // initgraph(800, 500);
HWND aaaa= initgraph(500, 500, NULL);                //打开一个窗口
HDC tmp_dc = GetDC(aaaa);                                //获取此窗口DC

FindWindow(NULL, "project1");
void SetWorkingImage();
BitBlt(tmp_dc, 80, 80, 50, 50, wow1dc, 80, 80, SRCCOPY);              //把图片传到此窗口

putimage(250, 250, &tmp,SRCCOPY);                         //把拿到的图片打印出来
getchar();

return 0;
  • 写回答

1条回答 默认 最新

  • 於黾 2022-03-30 11:07
    关注

    getimage(&tmp, 0, 0, 100, 100);
    这里tmp是个空image
    你后续代码都没有用到窗体句柄,哪句代码是从窗体截图呢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月12日
  • 已采纳回答 4月4日
  • 创建了问题 3月30日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分