В заметке показан простой процесс отправки файла (более конкретно изображения) на сервер с индикатором прогресса.
Тех, кто впервые в ASP.NET попробует воспользоваться стандартной для настольных .NET приложений конструкцией Console.WriteLine("...") ждет разочарование — привычного результата не будет.
Для этого у ASP.NET есть свой способ:
2
В продолжение статьи Как осуществить взаимодействие со сторонним приложением - изменение положения/размера, получение текста заголовка и т.д. предлагаю простой алгоритм автоматического распределения большого количества однотипных окон на рабочем столе. Это может пригодится, например, трейдерам, у которых может быть одновременно открыто большое количество торговых терминалов. Пример работы алгоритма показан ниже:
Как осуществить взаимодействие со сторонним приложением — изменение положения/размера, получение текста заголовка и т.д.
Алгоритм простой — для начала нам необходимо получить хендл (handle) окна, над которым мы будем проводить манипуляции. Это можно сделать по названию процесса при помощи объекта Process — получаем процесс методом GetProcessesByName(), а затем из процесса методом MainWindowHandle получаем указатель на окно (handle). После этого с окном можно производить различные манипуляции — получать информацию, изменять свойства, отправлять сообщения и т.д. Далее листинг функции получающий текст заголовка окна (в случае наличия такового):
Существует класс Enviroment, позволяющий работать с «папками специального назначения» (Special Folders) — он помогает корректно взаимодействовать с ними при создании ярлыков.
Функционал автозагрузки реализуется 2 путями:
- посредством внесения специальной записи в реестр,
- посредством создания ярлыка в папке Автозагрузка (Startup) (меню Пуск).
Речь идет о создании ключа реестра в разделах:
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run — для всех пользователей (для создания ключа в этом разделе понадобятся права администратора — для Windows 7 и выше),
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run — только для текущего пользователя.
Иногда возникает необходимость получить значения какого-либо перечисления. Сделать это просто:
В данной статье речь пойдет о «вынужденном» позднем связывании. Предположим, что у нас есть класс MyClass и у него есть функции MyFunc1, MyFunc2, MyFunc3. И нам необходимо получить результат функции, при этом мы имеем лишь её название в виде String-переменной — "MyFunc1". Для того чтобы это сделать воспользуемся классом MethodInfo:
Как сделать индикатор прогресса (ProgressBar) обновляющийся с сервера (ASP.NET, AJAX, JQuery) — часть 2
О базовой реализации индикатора прогресса в статье Как сделать индикатор прогресса (ProgressBar) обновляющийся с сервера (ASP.NET, AJAX, JQuery) - часть 1.