当前位置:学习生活->会员解答 ->获取窗口类所属的应用程序实例句柄

原创版权标志获取窗口类所属的应用程序实例句柄

作者:plateau  发表时间:2018/2/2 16:49:50  阅读:
[摘要] C++技术网已经用心解答了用户提出的问题【获取窗口类所属的应用程序实例句柄】,如还有问题,请继续在文章底部留言交流,直到完全懂了为止。
HMODULE hModule = (HMODULE)GetClassLong(hwnd,GCL_HMODULE); 
HICON hIcon = LoadIcon((HINSTANCE)hModule,lpIconName); 


为什么hIcon接收不到任何值呢


C++技术网会员解答:

    系统的图标,不需要传递任何句柄,代码如下:

HICON hIcon = LoadIcon(NULL,IDI_HAND);
    凡是你给定了句柄的,系统就会到这个指定的句柄对应的应用程序里去寻找对应的资源。而这个应用程序并没有,所以返回的就是空句柄,即0x00000000。

    系统的图标、光标等,都是系统资源,不属于任何应用程序,所以加载图标或光标的时候,不要传递任何应用程序的实例句柄。实例句柄为空,函数就会去系统寻找对应的资源。如果不为空,函数就会去从这个应用程序寻找。

    如果你在应用程序中内置了图标,并给定了ID,那么此时你就需要用自己的程序的实例句柄去加载自己的图标。总之,你记住一个用法,不传递实例句柄,就是用系统的资源,传递了,则用对应的程序的资源。而标准的光标等资源都是系统的。

    另外,如果函数没有取到预期的值,请认真查阅函数的说明文档,如MSDN,里面会有详细的参数用法和返回结果说明,还有注意事项。一定要用熟MSDN。

文章来源:C++技术网原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。

返回顶部

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)