
我读到了ShGetStockIconInfo,但这只能从Vista开始,我仍然需要支持XP.
有任何想法吗?
如果重要的话,我正在使用带有timage组件的Delphi 2010.
解决方法 问题在于,当您这样做时,您将获得图标的缓存版本,即系统加载的第一个版本.那将是大尺寸的图标,通常是32×32.重要的不是你指定的尺寸.您可以做的是在user32.dll中找到所需资源的ID,并使用以下内容:
LoadImage(GetModuleHandle('user32'),MAKEINTRESOURCE(103),LR_DEFAulTcolor); 你最好调用GetSystemMetrics(SM_CXSMICON)来获取图标大小而不是硬代码16,但你可能已经知道了.
我不确定从哪里获取user32中资源的资源ID,或者即使它们可以保证它们在不同的windows版本中保持不变.我的猜测是,他们会因为太多的程序会破坏,但那只是纯粹的猜测.
总结以上是内存溢出为你收集整理的delphi – 如何加载小系统图标?全部内容,希望文章能够帮你解决delphi – 如何加载小系统图标?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)