int a = new WindowInteropHelper(this).Handle.ToInt32();// 获得当前窗体的句柄 System.Windows.Controls.Image image1 = new System.Windows.Controls.Image();//定义一个image控件来存放我得到的图标
IntPtr icon = ExtractIcon(a, @"C:\Windows\System32\imageres.dll", -109);
Icon i = System.Drawing.Icon.FromHandle(icon);
Bitmap bitmap = i.ToBitmap();
IntPtr intPtr = bitmap.GetHbitmap();
ImageSource imageSource = Imaging.CreateBitmapSourceFromHBitmap(intPtr, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
image1.Source = imageSource;
this.grid.Children.Add(image1); [DllImport("shell32.dll")]
public static extern IntPtr ExtractIcon(int hInst, string lpszExeFileName, int nIconIndex);现在的问题是,这段代码能够取得win7系统下的 我的电脑 回收站等系统图标 但是在xp系统下则得不到图标,因为xp的注册表里找不到 @"C:\Windows\System32\imageres.dll" 地址 希望各位老鸟大虾能够给出个解决方法,能够同时在xp和win7系统下都能取到系统的图标
解决方案 »
- 求server.MapPath怎么写物理路径
- 欢迎页面上的控件显示不出来怎么办?
- 我用serv-u在自己的局域网计算机上假设了FTP服务器,那么我的机器能否利用这个FTP做成一个www网站发布自己的主页呢。
- 请问一个sql语句
- 如何等待N个线程结束~~~~~~~~~~~~
- 在WEB程序中,怎么能作到别人更改数据后,网页就即时刷新,或弹出消息框
- 请问C#如何开发EA插件
- .net 多次随机生成一个集合,有断点集合值不一样,运行时结果相同
- 怎样读写WORD,有的话请把原码发如下面的邮箱:[email protected]
- 如何设置控件的ImeMode 属性?
- 一个关于C#图像处理的问题
- 关于Dictionary的用法
http://www.cnblogs.com/khler/archive/2008/09/16/1291925.html