分類:[C#]
2009/06/08(Mon) 13:48:47 編集(投稿者)
フォントフォルダを取得したくコードを書きましたがうまく取得できません。
GetFontFolderの戻り値が空文字で返ってきます。
何が間違っているのかどうかご教授願います。
using System.Runtime.InteropServices;
using System.Reflection;
[DllImport("shell32.dll")]
private static extern bool SHGetSpecialFolderPath(
IntPtr hwndOwner,
char[] lpszPath,
int csidl,
bool fCreate);
const int CSIDL_FONTS = 0x0014;
string GetFontFolder()
{
char[] c = new char[255];
Module[] ms = Assembly.GetEntryAssembly().GetModules();
IntPtr hInstance = Marshal.GetHINSTANCE(ms[0]);
SHGetSpecialFolderPath(hInstance, c, CSIDL_FONTS, false);
return new string(c);
}