使用Detour hook 程序loadbitmap函数想实现  程序每次显示某个指定的的图像时 让程序不显示这个图像而是显示空白,图像都是以资源存在要hook的这个文件的里面的
用资源查看工具查看这个文件的资源 如图hook loadbitmap 成功,但是就是实现不了上面的功能
代码
HBITMAP WINAPI MyLoadBitmap(HINSTANCE hInstance, LPCTSTR lpBitmapName)
{

    if (IS_INTRESOURCE(lpBitmapName))
    {

        // 资源名为数字
        WORD id = (WORD)lpBitmapName;
        if (id ==767)
        {

return 0;

//return TrueLoadBitmap(hInstance,lpBitmapName);



 }

        else
        {
return TrueLoadBitmap(hInstance,lpBitmapName);
          
        }    }
    else
    {

        // 资源名为字符串
    }
return TrueLoadBitmap(hInstance,lpBitmapName);

经过测试 只有编号为767的图像存在 位图  这个里面才能hook成功,而我要hook的这个图像资源767是在 png 里面的 ,hook不到,请问这个是什么原因

解决方案 »

  1.   

    很有可能不走 LoadBitmap 呗, 你试一试LoadImage LoadImage 取代了LoadBitmap了,LoadBitmap已经不被建议使用了。
      

  2.   

    是走的LoadBitmap,如果在Myloadbitmap里面直接return 0; 则包括767 所有图像都不显示了
      

  3.   

    哦,我知道,是资源的类型的问题。
    "PNG"是那个type,你注意Hook到的传参是什么
      

  4.   

    请问这个类型的问题要怎么解决,这两种位图的图像 资源名都是数字的,都是数字的 不明白png里面的为什么不能成功 是不是需要某种转换才行