В заметке показан простой процесс отправки файла (более конкретно изображения) на сервер с индикатором прогресса.
Тех, кто впервые в ASP.NET попробует воспользоваться стандартной для настольных .NET приложений конструкцией Console.WriteLine("...") ждет разочарование — привычного результата не будет.
Для этого у ASP.NET есть свой способ:
2
В продолжение статьи Как осуществить взаимодействие со сторонним приложением - изменение положения/размера, получение текста заголовка и т.д. предлагаю простой алгоритм автоматического распределения большого количества однотипных окон на рабочем столе. Это может пригодится, например, трейдерам, у которых может быть одновременно открыто большое количество торговых терминалов. Пример работы алгоритма показан ниже:
DLNA — это технология позволяющая всем устройствам в сети обмениваться медиаконтентом. Она используется в подавляющем большинстве случаев для организации доступа различных устройств (телефонов, компьютеров, телевизоров) к фильмам, фотографиям и музыке в домашней локальной сети. Часто производителями телевизоров рекомендуются свои решения для создания медиасервера — SmartShare у LG, Samsung Media 2.0 у Samsung, а также просто сторонние решения вроде Домашнего медиа-сервера. Но поскольку часто подобные решения являются достаточно «тяжелыми» и «кривыми», либо предоставляют ненужный функционал в ущерб производительности, мы воспользуемся стандартной возможностью настройки DLNA которая предоставляется Windows Media Player (WMP).
Проблема возникла при переносе функционала медиасервера на другой компьютер (Windows 7, 32-bit) — DLNA-сервер был настроен, но при отображении списка фильмов телевизор наотрез отказывался отображать в этом списке mkv-файлы. Диагностика осложнялась тем, что на предыдущем компьютере (Windows 7, 64-bit) все было уже настроено и работало без претензий. Причем версия K-Lite Codec Pack на обоих компьютерах стояла одна и та же. Дополняло негативную картину то, что на самом новом медиасервере mkv-файлы воспроизводились без проблем.
Подобная ошибка возникает, как правило, при переназначении IP-адреса телевизору. Так происходит при включенной на роутере опции DHCP — автоматическое назначение IP-адресов. Т.е. при перезагрузке роутера, роутер всем устройствам в сети заново раздает новые IP-адреса, которые с некоторой долей вероятности будут отличными, от тех, которые были назначены до его перезагрузки.
Как осуществить взаимодействие со сторонним приложением — изменение положения/размера, получение текста заголовка и т.д.
Алгоритм простой — для начала нам необходимо получить хендл (handle) окна, над которым мы будем проводить манипуляции. Это можно сделать по названию процесса при помощи объекта Process — получаем процесс методом GetProcessesByName(), а затем из процесса методом MainWindowHandle получаем указатель на окно (handle). После этого с окном можно производить различные манипуляции — получать информацию, изменять свойства, отправлять сообщения и т.д. Далее листинг функции получающий текст заголовка окна (в случае наличия такового):
Автором написана небольшая бесплатная утилита с открытым исходным кодом, позволяющая мониторить состояние Интернета — Codius InternetChecker v1.0 - простой логгер состояния интернета
Существует класс Enviroment, позволяющий работать с «папками специального назначения» (Special Folders) — он помогает корректно взаимодействовать с ними при создании ярлыков.