1.3.2. Обобщающий пример 2 — Ассоциированные файлы и предотвращение запуска второй копии приложения
1.3.2. Обобщающий пример 2 — Ассоциированные файлы и предотвращение запуска второй копии приложения
Расширения файлов могут быть связаны (ассоциированы) с определенной программой. Такие ассоциации помогают системе выбрать программу для выполнения различных действий с файлом из Проводника. Так, например, если на компьютере установлен Microsoft Office, двойной щелчок в Проводнике на файле с расширением xls приведет к запуску Microsoft Excel и открытию файла в нем. Это происходит потому, что расширение xls ассоциировано с приложением Microsoft Excel.
Примечание
Добиться аналогичного эффекта в своей программе можно используя функцию ShellExecute (стандартная системная функция, в Delphi импортируется в модуле ShellAPI). Эта функция запускает файл, имя которого передано ей как параметр. Если это исполняемый файл, он запускается непосредственно, если нет — функция ищет ассоциированное с расширением файла приложение и открывает файл в нем.
Пример, который мы здесь рассмотрим (программа DKSView), умеет ассоциировать файлы с расширением dks с собой, а также проверять, не были ли они ассоциированы с другим приложением. DKSView является MDI-приложением, т. е. может открывать одновременно несколько файлов. Если приложение уже запущено, а пользователь пытается открыть еще один dks-файл, желательно, чтобы он открывался не в новом экземпляре DKSView, а в новом окне уже имеющегося. Поэтому наш пример будет также уметь обнаруживать уже запущенный экземпляр программы и переадресовывать открытие файла ему.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Пример приложения
Пример приложения При использовании описанной выше балансировки на стороне клиента становится возможным избежать этого неприятного момента и существенно повысить надежность всего решения на базе серверов EC2. При построении кластера виртуальных машин EC2 для поддержки
26.8. Пример приложения
26.8. Пример приложения Библиотека popt используется для обработки параметров во многих примерах из других глав книги. Простая реализация grep представлена в главе 23, a robin — в главе 16. Обе реализации предлагают хорошие примеры использования библиотеки popt в большинстве
1.3.1. Обобщающий пример 1 — Информация о процессах
1.3.1. Обобщающий пример 1 — Информация о процессах Первым обобщающим примером станет программа для получения информации о процессах системы и об окнах, которые они открывают. На компакт-диске, прилагаемом к книге, эта программа называется ProcInfo. Окно программы ProcInfo
1.3.3. Обобщающий пример 3 — "Дырявое" окно
1.3.3. Обобщающий пример 3 — "Дырявое" окно В этом примере мы создадим "дырявое" окно. Те, кто уже знаком с функцией SetWindowRgn, знает, что сделать "дырку" в окне или придать ему какую-либо другую необычную форму не так уж и сложно. Но мы здесь пойдем дальше: у дырки в нашем окне будет
1.3.4. Обобщающий пример 4 — Линии нестандартного стиля
1.3.4. Обобщающий пример 4 — Линии нестандартного стиля GDI позволяет рисовать линии разных стилей, но бывают ситуации, когда стандартных возможностей по изменению стиля линий не хватает. В этом разделе мы покажем, как рисовать линии произвольного стиля (начнем с прямых,
6.1.7. Учебный пример: файлы данных Freeciv
6.1.7. Учебный пример: файлы данных Freeciv Игра Freeciv — стратегия с открытым исходным кодом, прообразом которой послужила классическая игра Civilization II Сида Мейера (Sid Meier). Игра состоит в том, что каждый участник, имея в своем распоряжении группу кочевников каменного века, строит
Второй пример
Второй пример Отобразим в таблице только те товары, названия которых начинаются на буквы «К» и «М».1. Нажмите кнопку в ячейке R1C1 и в появившемся списке выполните команду Текстовые фильтры_Начинается с. Появится диалоговое окно Пользовательский автофильтр (рис. 5.10). Рис.
Предотвращение обмана
Предотвращение обмана Ваша компания ответственна за то, чтобы предупредить работников насколько серьёзной может быть выдача непубличной информации. Хорошая продуманная информационная политика безопасности вместе с надлежащим обучением и тренировками улучшат
Предотвращение обмана
Предотвращение обмана Какими мерами может воспользоваться ваша организация, чтобы уменьшить вероятность, что социальные инженеры воспользуются преимуществом над природными инстинктами ваших служащих, чтобы поверить людям? Вот некоторые меры.Защитите ваших клиентовВ
Предотвращение обмана
Предотвращение обмана Один из наиболее мощных трюков социального инженера включает «перевод стрелок». Это именно то, что вы видели в этой главе. Социальный инженер создает проблему, а потом чудесным образом ее решает, обманом заставляя жертву предоставить доступ к
Предотвращение обмана
Предотвращение обмана Атаки социальных инженеров могут стать еще более деструктивными, когда атакующий использует элементы технологии. Предотвращение этого вида атаки обычно включает в себя меры безопасности на человеческом и технологическом уровне.Просто скажи
Предотвращение обмана
Предотвращение обмана Когда спрашивают любую ценную, чувствительную, или критически важную информацию, которая может сослужить выгоду конкуренту или кому угодно еще, сотрудники должны быть осведомлены, что использование услуги “caller ID” в смысле подтверждения личности