Названия специальных файлов
Названия специальных файлов
В Windows существует ряд специальных папок, в которых содержатся файлы определенной категории. Например, в папке Избранное содержатся ссылки на любимые сайты пользователя.
Проблема заключается в том, что в локализованных версиях Windows эти папки зачастую имеют разные названия. Так, в американской версии Windows упомянутая папка имеет название Favorites. И если ваша программа ссылается на файл, находящийся в специальной папке, то необходимо точно узнать, как называется эта папка на конкретном устройстве. Код проверки приведен в листинге 13.9.
Листинг 13.9
// Константы
/// <summary>
/// Папка, содержащая файлы и папки, которые появляются на
/// экране Сегодня
/// </summary>
const int CSIDL_DESKTOPDIRECTORY = 0x0010;
/// <summary>
/// Папка Избранное
/// </summary>
const int CSIDL_FAVORITES = 0x0006;
/// <summary>
/// Папка Мои документы
/// </summary>
const int CSIDL_PERSONAL = 0x0005;
/// <summary>
/// Папка Программы в папке Главное меню
/// (WindowsStart MenuPrograms)
/// </summary>
const int CSIDL_PROGRAMS = 0x0002;
/// <summary>
/// Папка Recent (содержит последние из открывавшихся
/// документов)
/// </summary>
const int CSIDL_RECENT = 0x0008;
/// <summary>
/// Папка Главное меню
/// (WindowsStart Menu)
/// </summary>
const int CSIDL_STARTMENU = 0x000b;
/// <summary>
/// Папка Автозагрузка для программ,
/// которые автоматически загружаются при запуске Windows
/// WindowsStartUp
/// </summary>
const int CSIDL_STARTUP = 0x0007;
/// <summary>
/// Папка, в которой хранятся шаблоны документов
/// </summary>
const int CSIDL_TEMPLATES = 0x0015;
/// <summary>
/// Функция получения имен специальных папок
/// </summary>
[DllImport("Coredll.dll")]
static extern int SHGetSpecialFolderPath
(IntPtr hwndOwner, StringBuilder lpszPath, int nFolder, int fCreate);
const int MAX_PATH = 260;
private void Form1_Load(object sender, EventArgs e) {
// Папка Избранное
StringBuilder strFavorites = new StringBuilder(MAX_PATH);
SHGetSpecialFolderPath(this.Handle, strFavorites, CSIDL_FAVORITES, 0);
MessageBox.Show("Избранное: " + strFavorites.ToString());
// Папка Программы
StringBuilder strPrograms = new StringBuilder(MAX_PATH);
SHGetSpecialFolderPath(this.Handle, strPrograms, CSIDL_PROGRAMS, 0);
MessageBox.Show("Программы: " + strPrograms.ToString());
// Мои документы
StringBuilder strMyDocs = new StringBuilder(MAX_PATH);
SHGetSpecialFolderPath(this.Handle, strMyDocs, CSIDL_PERSONAL, 0);
MessageBox.Show("Мои документы: " + strMyDocs.ToString());
}
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Мнемоника названий специальных файлов устройств в файловой системе UNIX
Мнемоника названий специальных файлов устройств в файловой системе UNIX Названия специальных файлов устройств в большой степени зависят от конкретной версии UNIX. Тем не менее в этих названиях присутствует общая логика, позволяющая даже в незнакомой системе определить,
5.8 СОЗДАНИЕ СПЕЦИАЛЬНЫХ ФАЙЛОВ
5.8 СОЗДАНИЕ СПЕЦИАЛЬНЫХ ФАЙЛОВ Системная функция mknod создает в системе специальные файлы, в число которых включаются поименованные каналы, файлы устройств и каталоги. Она похожа на функцию creat в том, что ядро выделяет для файла индекс. Синтаксис вызова системной функции
5.7.8 Удаление специальных символов
5.7.8 Удаление специальных символов После того, как все подстановки в командной строке сделаны, из нее еще удаляются все вхождения символов , ` и ", которые служили для отмены специального значения других
Центр специальных возможностей
Центр специальных возможностей Как и в более ранних версиях операционной системы, разработчики продолжают заботиться о пользователях, которые могут испытывать трудности при работе с операционной системой в связи с наличием проблем, например, со зрением или слухом.
Названия
Названия Названия – это подписи под каким-нибудь объектом.Щелкните на кнопке Вставить название, появится окно (рис. 1.94). Рис. 1.94. Окно Название Откройте список строки подпись, и вы увидите, что подписать вы можете рисунок, таблицу или формулу.С помощью списка положение
2.32. Печать специальных символов
2.32. Печать специальных символов Метод dump позволяет получить графическое представление символов, которые обычно не печатаются вовсе или вызывают побочные эффекты:s1 = "Внимание" << 7 << 7 << 7 # Добавлено три символа ASCII BEL.puts s1.dump # Печатается:
3.3. Экранирование специальных символов
3.3. Экранирование специальных символов Метод класса Regexp.escape экранирует все специальные символы, встречающиеся в регулярном выражении. К их числу относятся звездочка, вопросительный знак и квадратные скобки.str1 = "[*?]"str2 = Regexp.escape(str1) # "[*?]"Синонимом является метод
Отображение названия
Отображение названия Чтобы завершить создание элемента управления, вы должны отобразить название автомобиля. Для этого обработайте событие Paint для CarControl и в рамках обработчика этого события отобразите PetName вашего CarControl в нижней прямоугольной области клиента.private void
Замена специальных символов
Замена специальных символов Как мы уже знаем, в XML есть несколько специальных символов, которые, как правило, заменяются процессором при выводе документа на соответствующие символьные или встроенные сущности. К примеру, для того, чтобы вывод был корректным XML-документом,
Ввод специальных символов
Ввод специальных символов Если возникнет необходимость ввести символы, которых нет на клавиатуре, например знаки градуса, диаметра, символы греческого алфавита и т. п., то можно сделать это, используя кнопку Insert Symbol (Вставить символ) – третью по счету кнопку в левом
Названия микростоковых ресурсов
Названия микростоковых ресурсов FT, «Лия» – фотобанк Fotolia.DT, «Дримс» – фотобанк Dreamstime.IS, Istock, «Айс», «Айсток» – фотобанк iStockphoto.SS, Shutter, «Шатер», «Шатр», «Шутер», «Шуттер» – фотобанк
Названия лицензий
Названия лицензий Editorial (редакционное использование) – вид лицензии, который предусматривает использование изображения не в рекламных целях, а только для наглядной иллюстрации. Релиз модели в таком случае не требуется.Extended, Ext (расширенная продажа, «расшира») – продажа
Использование специальных слоев
Использование специальных слоев Наш разговор о многослойной анимации получился коротким. В самом деле, о чем там особо рассказывать!.. Все и так ясно.А теперь поговорим о специальных слоях. Это слои-направляющие и маскирующие