Как установить шрифт в окне через C#
Всем привет!
Я хочу создать программу автоматической установки шрифта для окна
У меня есть файл копирования в %windir%\fonts, так что это accept denie ...
Нельзя установить какой-либо шрифт, также существует файл(шрифт)...
Это мой код
[DllImport("gdi32.dll", EntryPoint = "AddFontResourceW", SetLastError = true)] public static extern int AddFontResource([In][MarshalAs(UnmanagedType.LPWStr)] string lpFileName); int SumFileInstalled = 0; try { string[] filePaths = Directory.GetFiles(textBox1.Text); string pathWin = Path.Combine(System.Environment.GetEnvironmentVariable("windir"),"Fonts"); foreach (string temp in filePaths) { try { string fileName = System.IO.Path.GetFileName(temp); string destFile = System.IO.Path.Combine(pathWin, fileName); System.IO.File.Copy(temp, destFile,true); int result = -1; int error = 0; result = AddFontResource(destFile ); error = Marshal.GetLastWin32Error(); if (result == 0) SumFileInstalled++; } catch (Exception ex) { int result = -1; int error = 0; result = AddFontResource(temp); error = Marshal.GetLastWin32Error(); if (result == 0) SumFileInstalled++; } } } catch (Exception ex) { MessageBox.Show("Error system, please choose folder default - "+ ex.Message, "Error", MessageBoxButtons.OK); } MessageBox.Show(SumFileInstalled.ToString()+" : installed successfully.","The finish fonts.",MessageBoxButtons.OK);
пожалуйста, помогите мне!
я использовал VS2010, win7 Pro 32bit
Спасибо всем
Sergey Alexandrovich Kryukov
Неудивительно, что доступ запрещен. Вам необходимо запустить приложение с повышенными привилегиями.
—СА
gggustafson
Где ты взял свой DllImport? Я покажу
[ DllImport ( "gdi32.dll" ) ]
статический extern int AddFontResource ( строка lpszFilename );