如何让TKageyu.Utils在我的项目中工作? (用于提取256像素图标)

时间:2012-08-22 14:40:50

标签: c# .net

我正在使用C#(.net 4.0,VS 2012)创建一个小应用程序,作为其中的一部分,我需要提取另一个EXE文件的图标。 我发现我可以将ExtractVistaIcon与TKageyu.Utils结合使用。 问题是,没有像TK.net 2012所说的那样TKageyu.Utils。

using TKageyu.Utils;

结果:

  

“无法找到类型或命名空间名称'TKageyu'”

我该怎么办?我在哪里可以得到它?


我正在尝试使用它的代码:

using (TKageyu.Utils.IconExtractor IconEx = new TKageyu.Utils.IconExtractor(fullPath))
{
      Icon icoAppIcon = IconEx.GetIcon(0); // Because standard System.Drawing.Icon.ExtractAssociatedIcon() returns ONLY 32x32.
      picboxAppLogo.Image = ExtractVistaIcon(icoAppIcon);
}

原始代码取自: Using 256 x 256 Vista icon in application (当我开始工作时,我会编辑)

1 个答案:

答案 0 :(得分:0)

感谢@Simon McKenzie我找到了解决问题的方法:

  1. 转到http://www.codeproject.com/Articles/26824/Extract-icons-from-EXE-or-DLL-files 下载应用
  2. 在Visual Studio中打开SLN文件(我在2012年做过)
  3. 打开Form1.cs,复制那里的命名空间和include(只是为了确保..)
  4. 转到您的项目并将命名空间粘贴到您需要的文件中, 另外,检查您是否拥有其他文件中所需命名空间的所有包含。
  5. 使用它! :)
  6. 我这样使用它:

    using (TKageyu.Utils.IconExtractor IconEx = new TKageyu.Utils.IconExtractor(fullPath))
            {
                Icon icoAppIcon = IconEx.GetIcon(0); // Because standard System.Drawing.Icon.ExtractAssociatedIcon() returns ONLY 32x32.
                Bitmap hBitmap = ExtractVistaIcon(icoAppIcon);
                IntPtr hLBitmap = hBitmap.GetHbitmap();
                ImageSource wBitmap = Imaging.CreateBitmapSourceFromHBitmap(hLBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
                IconBox_1.Source = wBitmap;
                IconBox_S.Source = wBitmap;
                IconBox_C.Source = wBitmap;
                IconBox_W.Source = wBitmap;
            }