0

プログラムのアイコンをそのハンドル (EnumWindow/FindWindow を使用して User32.dll から取得) から取得できるようにしたいのですExtractAssociatedIconが、これはハンドルではなくファイルから機能すると思います。この質問はおそらく、ハンドルをファイルの場所に変換してアイコンに変換する方法です。

私の意図は、Windows プログラムを非表示および表示するための npm モジュールであるnode-hidenode-ffiで使用するために、このコードを JavaScript に移植することです。DLL を使用するのが最も簡単ですが、C/C# ソリューションでも機能します。指導を求めているだけです、ありがとう。

4

1 に答える 1

0

C# では、関数を使用できますshell32.dll

コード:

// Required namespaces.
using System;
using System.Drawing;
using System.Reflection;
using System.Runtime.InteropServices;

// Import the function.
[DllImport("shell32.dll", EntryPoint="ExtractAssociatedIcon")]
public static extern IntPtr ExtractAssociatedIcon(IntPtr hInst, string lpIconPath, out ushort lpiIcon);

// Now get the icon.
ushort uicon;
IntPtr handle = ExtractAssociatedIcon(this.Handle, Assembly.GetExecutingAssembly().Location, out uicon);
Icon ico = Icon.FromHandle(handle);
于 2016-06-27T06:18:11.677 に答える