В данной статье рассмотрен пример реализации внедрения функций языка программирования «AutoIt» в проект Windows Form и взаимодействия его с языком программирования CSharp(C#).
AutoIt свободно распространяемый язык программирования, разработанный для автоматизации выполнения задач в Microsoft Windows. В ранних версиях программа преимущественно использовалась для создания скриптов автоматизации (иногда называемых макросами) для программ Microsoft Windows. Такие скрипты полезны для выполнения часто повторяющихся задач, таких как инсталляция идентичных наборов программ на большое количество компьютеров. В более поздних версиях AutoIt улучшился дизайн языка и возросла общая функциональность, что приблизило AutoIt к языкам общего назначения. AutoIt использует симуляцию нажатия клавиш, движений мыши и манипуляции с окнами, элементами управления. Это позволяет автоматизировать задачи пользователя Windows таким образом, какой невозможен или затруднён в других языках программирования. Кроме того, этот язык компактен, самодостаточен и работает на всех версиях Windows «прямо из коробки», без внешних .dll-библиотек и записей в реестре, что позволяет безопасно использовать его на серверах (Wikipedia).
Читать далее
Данная статья описывает создание программы запуска «инсталляционных» файлов и отслеживание завершения, как основного, так и дочерних процессов создаваемых основным.
Читать далее
В данной статье приведен пример реализации блокировки перетаскивания формы вашего проекта за границы рабочего пространства.
Читать далее
В данной статье описано использование on-line сервиса «Google Переводчик (Google Translate)(https://translate.google.ru/)» путем формирования запроса с необходимым текстом для перевода и выполнением синтаксического анализа полученного результата с использованием библиотеки «HtmlAgilityPack».
Выполнить синтаксический анализ можно разными способами, как используя встроенные в Framework средства, так и сторонние библиотеки. В данной статье будет рассмотрен процесс синтаксического анализа с использованием языка «XPath (XML Path Language)», реализующим доступ к частям документа XML, в файлах трансформации «XSLT» и являющимся стандартом консорциума «W3C».
Читать далее
В данном статье рассмотрен пример блокировки элементов списка, компонента «CheckedListBoxControl» от производителя «DevExpress». Данный элемент управления представляет симбиоз компонентов ListBox и CheckBox. Для каждого элемента такого списка определено специальное поле CheckBox, которое можно отметить.
Создайте проект «Windows Form» в «Microsoft Visual Studio» и добавьте на форму компонент «CheckedListBoxControl».
Читать далее
UAC (User Account Control) — технология контроля учетных записей, появившаяся впервые в Windows Vista и старше. Данная технология запрещает программам выполнять действия, требующие права администратора. При выполнении программой таких действий, ее работа приостанавливается и пользователю выдается окно с запросом на защищенном рабочем столе (для того, чтобы невозможно было нажать программно кнопку ОК). К примеру, если вашей программе потребуется внести изменения в раздел реестра HKEY_LOCAL_MACHINE, то ей потребуются права администратора.
Для решения данной проблемы можно воспользоваться внедрением в проект файла манифеста, который операционная система будет считывать и автоматически определять необходимые для запуска параметры.
Читать далее
В данном примере рассмотрено выполнение проверки активности главной формы приложения. Для реализации данной задачи необходимо воспользоваться функцией «GetForegroundWindow», расположенной в библиотеке «User32.dll», которая возвращает дескриптор приоритетного окна (окна, с которым пользователь в настоящее время работает). Так же Функция может вернуть «Null» в случае ошибки или описатель приоритетного окна в успешном случае. Для проверки, активности главной формы приложения выполняем сравнение полученного дескриптора от функции «GetForegroundWindow» с дескриптором проверяемого окна приложения, возвращаемого функцией «this.Handle».
Читать далее
«AutoCAD» — двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией «Autodesk». В данном примере рассмотрен поиск и запуск программы «AutoCAD» ассоциированной по умолчанию с форматом «*.dwg».
Читать далее
Для отслеживания изменений в заданном каталоге можно воспользоваться классом «FileSystemWatcher» из пространства имен System.IO. Данный класс предназначен для отслеживания изменений в файловой системе. Изменения можно отслеживать как на локальном компьютере, так и на удаленном. ОС Windows уведомляет компонент об изменениях файлов в буфере, созданном объектом «FileSystemWatcher». Если в течение короткого времени происходит много изменений, буфер может переполниться. В результате этот компонент не сможет отслеживать изменения в каталоге и будет давать только общие уведомления. Увеличение размера буфера с использованием свойства «InternalBufferSize» сопряжено с большими накладными расходами, поскольку он формируется не в выгружаемой памяти и не может быть подкачан с диска, поэтому буфер следует делать как можно меньше, в то же время он должен быть достаточно большим, чтобы не пропустить какие-либо события, связанные с изменениями файлов. Чтобы устранить переполнение буфера, необходимо использовать свойства «NotifyFilter» и «IncludeSubdirectories» для фильтрации ненужных уведомлений.
Рассмотрим создание проекта отслеживающего изменения в выбранном пользователем каталоге с настройкой фильтров.
Читать далее
Файл с расширением SWF (Shock Wave Format) предназначен для хранения векторной графики и анимации, может содержать звук и др. Файлы с таким расширением в настоящий момент широко используются в интернете для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей. SWF-файл можно открыть с Adobe Flash Player или с помощью практически любого web-браузера, который поддерживает технологию Flash. В данной инструкции будет рассмотрено три примера открытия файлов данного формата.
Читать далее
В данной статье рассмотрено создание методов сохранения и восстановления состояния узлов древовидной структуры элемента управления «TreeView», после обновления данных или изменения состояния узлов.
Читать далее
В данной статье рассмотрим создание поиска в древовидной структуре элемента управления «TreeView».
Читать далее
В .NET Framework присутствует класс «TreeView», который представляет визуальный элемент управления для отображения иерархических данных в древовидной структуре, содержащей элементы, которые можно развернуть и свернуть. Рассмотрим представление любого каталога в виде древовидной структуры с использованием элемента управления «TreeView».
Читать далее
Очень часто бывает полезно организовать взаимодействие вашей программы с Microsoft Office (а также воспользоваться массой встроенных в него классов). При помощи сборок, поставляемых с продуктами Office, вы можете выполнять самые разнообразные операции, в том числе те, к которым пользователь, работавший ранее с программами этого пакета, уже привык. Рассмотрим взаимодействие с Outlook в контексте приложения .NET. Для реализации данной задачи используется объектная библиотека «Microsoft Word 14.0 Object Library».
Читать далее
Для определения подключена ли локальная система к сети, а также информации о типе соединения (LAN, WAN) необходимо воспользоваться функцией Windows API «IsNetworkAlive». Данная функция возвращает значение «True» если локальная система имеет сетевое подключение, в противном случае возвращает «False». Функция работает только с TCP/IP-соединениями и в качестве аргументов принимает только один параметр «lpdwFlags».
Читать далее
В данной статье рассмотрим два варианта получения доступных в сети SQL серверов.
- С использованием стандартного класса «SqlDataSourceEnumerator» из Microsoft Net. Fraemwork;
- С использованием WinAPI.
Читать далее
Для реализации процесса получения IP-адреса по имени хоста необходимо воспользоваться пространством имен «System.Net», которое предоставляет простой программный интерфейс для многих протоколов, используемых в современных сетях. Пространства имен «System.Net» содержат классы, обеспечивающие простой интерфейс программирования для различных сетевых протоколов, определяющие политики кэширования веб-ресурсов, а также порядок создания и отправки сообщений электронной почты, представляющие заголовки MIME, обеспечивающие доступ к данным о трафике и сетевых адресах, а также доступ к функции одноранговых сетей. Дополнительные дочерние пространства имен обеспечивают управляемую реализацию интерфейса Windows Sockets (Winsock) и доступ к сетевым потокам для защиты обмена данными между узлами.
Читать далее
Данная статья содержит поэтапную инструкцию по созданию автоматической нумерации строк в элементе управления «GridControl» от компании «DevExpress». В данном элементе управления присутствует панель индикаторов строки, которая отображается в левом краю «Table View» и «TreeList». Панель содержит индикатор ряда (панели заголовка столбца, строки данных, вид колонтитула, и т.д.) и клеток показывающий состояние строки (режим редактирования, ошибки и др.). Именно в индикаторе клеток и будет производиться нумерация отображаемых строк.
Читать далее
API маршрутов Google – это служба, которая рассчитывает маршруты между пунктами на карте с помощью HTTP-запроса. Поддерживается поиск маршрутов для различных способов перемещения, в том числе на общественном транспорте, автомобиле, велосипеде или пешком. При поиске маршрутов пункты отправления, назначения, а также путевые точки могут указываться либо в виде текстовых запросов (например, "Химки, Мега" или "Химки, Дубки, 6"), либо в виде значений координат — широты и долготы. API маршрутов может возвращать составные маршруты в виде последовательности путевых точек.
Читать далее
API Google изображений просмотра улиц позволяет встраивать в веб-страницы статические (неинтерактивные) панорамы и уменьшенные изображения просмотра улиц без применения JavaScript. Область просмотра определяется с помощью параметров URL, которые отправляются через стандартный HTTP-запрос, и возвращается в виде статического изображения. Возвращаемые изображения просмотра улиц могут иметь любой размер, вплоть до 640 x 640 пикселей.
Читать далее