Метка: .NET

Подключение сетевого диска на C#

Введение В процессе разработки приложений на C# иногда возникает необходимость монтировать сетевые диски напрямую из кода. Однако .NET Framework и .NET Core не предоставляют встроенных средств для работы с сетевыми ресурсами такого типа. Это может стать проблемой для разработчиков, которым нужно автоматизировать подключение сетевых хранилищ, например, в корпоративных приложениях. Почему стандартных средств .NET недостаточно? Несмотря […]

Получить доступ к папке system32 на C#

Работа с системными каталогами Windows, такими как System32, требует особых привилегий. В этой статье мы рассмотрим, как на языке C# копировать, удалять и модифицировать файлы в защищённых директориях даже при включённой системе контроля учётных записей (UAC). Чтобы ваш код работал корректно, потребуется запуск от имени администратора, а проект рекомендуется собирать с конфигурацией Any CPU для […]

Как включать службы windows и отключать на C#

Если вы разрабатываете приложения на C#, которые взаимодействуют с системными компонентами, вам может понадобиться управление службами Windows: запуск, остановка или перезапуск. Эти действия особенно актуальны для утилит администрирования, установщиков и технических решений, работающих в среде Windows. Ниже приведён базовый листинг кода, который вы можете адаптировать под собственные проекты. Важно отметить, что любые операции с системными […]

Паттерн Компоновщик на C# на примерах

Паттерн Компоновщик объединяет объекты в древовидные структуры для представления иерархий часть\целое. Компоновщик позволяет клиенту выполнять однородные операции сами отдельными объектами и их совокупностями. Паттерн Компоновщик позволяет клиенту выполнять однородные операции с комбинациями и отдельными объектами. Паттерн Компоновщик предоставляет структуру для хранения как отдельных объектов, так и комбинаций. В реализации паттерна Компоновщик приходится искать баланс между […]

Паттерн Итератор на C# на примерах

Паттерн Итератор предоставляет механизм последовательного перебора элементов коллекции без раскрытия ее внутреннего представления. Кроме того, перебор элементов выполняется объектом итератора, а не самой коллекцией.Это упрощает интерфейс, и реализацию коллекции, а также способствует более логичному распределению обязанностей. При использовании итераторов коллекция избавляется от одной обязанности поддержки операций перебора данных. Итератор предоставляет общий интерфейс перебора элементов коллекции, […]

Возраст на сегодня по дате рождения

Простая задача — определить возраст человека на текущую дату по его дате рождения — часто встречается в разработке. Это может понадобиться в формах регистрации, анкетах, расчете возраста для скидок и т. д. Покажем, как с помощью C# можно корректно рассчитать возраст на сегодняшний день, учитывая, прошёл ли день рождения в этом году. using System; using […]

Как проверить подключение к интернету на компьютере

Проверка наличия интернет-соединения — задача, с которой сталкиваются многие разработчики. Хотя кажется, что всё просто, на практике есть нюансы: фаерволы, DNS, доступность серверов. Мы рассмотрим простой и надежный способ — отправку HTTP-запроса к сайту Google. Если сервер отвечает с кодом 200 (OK) — значит, интернет есть. В противном случае — нет. using System; using System.Collections.Generic; […]

Криптография и защита

Криптография — важнейший инструмент в защите данных. В C# платформа .NET предоставляет мощные средства для шифрования, подписей и проверки целостности данных. В данном примере мы создадим цифровую подпись с помощью алгоритма RSA, а затем проверим её — то есть сверим, соответствует ли подпись исходному сообщению. Что мы реализуем: Проверку подписи по открытому ключу. Генерацию ключей […]

Пример приема и передачи файла по сети C#

Вы этой статье я покажу как можно создать клиентско серверное приложение для передачи файлов по сети. Для начала напишем проект для передачи файла: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime.Serialization.Formatters.Binary; using System.IO; using System.Net; using System.Net.Sockets; namespace File_Sender { /// <summary> /// Summary description for Form1. /// </summary> […]

Как получить позицию курсора C#

Ниже я покажу как можно при помощи C# получить позицию курсор мыши на экране и переместить ее, использовать мы будет функцию WinAPI GetCursorPos(); using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Threading; namespace CursorPosition { public partial class frmMain : Form { public frmMain() { InitializeComponent(); […]