Когда вы подключаете к компьютеру новое COM или некоторые USB устройства (например, USB модем, мобильный телефон, Bluetooth адаптер, конвертеров последовательных портов в USB и т.п.), Windows определяет его через механизм Plug-n-Play и назначит ему номер COM порта в диапазоне от 1 до 255 (COM1, COM2, COM3 и т.д.). При повторном подключении этого же устройств, ему назначается номер COM порта (Communication Port, или Serial port), зарезервированный за ним ранее. Новым устройствам выдается первый незанятый номер COM порта. Не редкость, когда внешние устройства при подключении создают сразу несколько COM портов (в моем случае после подключения адаптера Bluetooth, в системе появилось сразу 10
!!!!
новых COM портов).
Ряд приложений (как правило, довольно древних), способны адресовать только двухзначные номера COM портов, и отказываются работать с COM100 и выше. Или видят только COM1-COM9 устройства. Что делать, если подключенное устройство получило высокий номер COM порта? Можно ли сбросить нумерацию для зарезервированных COM портов и удалить назначенные порты?
Содержание:
- Изменить номер COM порта устройства в Windows
- Определяем процесс, который использует COM в Windows
- Сброс назначенных COM портов Windows через реестр
Изменить номер COM порта устройства в Windows
В Windows можно вручную изменить номер COM порта, назначенный устройству. Предположим требуемый COM порт уже занят, и мы хотим его попробовать его освободить. Для этого:
- Откройте диспетчер устройств (Device Manager) командой devmgmt.msc;
- В меню выберите View->Show Hidden Devices;
- Затем разверните Ports (COM & LPT) и найдите в списке устройство;
- Перейдите на вкладку Port Settings и нажмите кнопку Advanced;
- Текущий номер COM порта, назначенный устройству указан в поле COM Port Number;
- Чтобы изменить его, раскройте выпадающий список и выберите номер COMпорта, который хотите задать.
Но чаще всего изменить номер COM порт на другой не получится, так как все «низкие» COM порт уже используются (in use);
- В этом случае нужно попробовать удалить резервацию COM порта за другим устройством. В ветке Ports (COM & LPT) найдите которому назначен нужный вам номер COM порта (бледная иконка означает, что данный COM порт назначен, но в сейчас это устройство не подключено);
- Щелкните по нему ПКМ и выберите Uninstall;
- Теперь вы можете назначить освобожденный COM порт другому устройству. Еще раз откройте свойства вашего устройство, перейдите на вкладку Port Settings -> Advanced. Задайте свободный номер COM порта для вашего устройства.
Однако такой способ позволяет освободить занятый COM порт не во всех случаях.
Вы можете вывести полный список занятых COM портов в Windows с помощью PowerShell:
Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
Можно определить номер COM порта для определённого устройства по его имени, например:
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*Arduino*"}|select name, deviceid
Или
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*GPS*"}|select name, deviceid
Определяем процесс, который использует COM в Windows
Вы не сможете освободить COM порт устройства, которое используется Windows или запущенной программой, процессом. Сначала вам нужно завершить процесс/программу, которая использует сейчас COM порт. Чтобы определить имя процесса, который использует COM порт понадобится утилита Process Explorer (https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer).
Сначала нужно вывести имя службы, которая использует COM порт. Выполните команду PowerShell:
get-pnpdevice -class Ports -ea 0| Select Name, PNPDeviceID, Status, Service
Имя службы данного COM порта указано в столбце Service. Например, для COM2 это Serial. Теперь нужно запустить Process Explorer с правами администратора и выбрать в меню Find -> Find Handle or DLL. В строке Hangde or DLL substring введите значение Service, полученное ранее. В нашем примере это
Serial
.
Process Explorer должен показать процесс, который использует сейчас ваш COM порт. Чтобы освободить COM порт, завершите процесс или программу.
Сброс назначенных COM портов Windows через реестр
Информация об используемых COM портах хранится в ключе реестра CommDB в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
- Откройте редактор реестра (regedit.exe) и перейдите в указанную ветку.
Важно! Настоятельно рекомендуем предварительно создать резервную копию данной ветки реестра (File -> Export). В том случае, если что-то пойдет не так, вы сможете вернуться к первоначальной конфигурации COM портов.
- Значение параметра ComDB в двоичном формате определяет список COM портов, зарезервированных в системе. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100);
Важно! Будьте предельно внимательными, ни в коем случае не добавьте в этот параметр дополнительные байт, иначе система может начать падать в BSOD.
- Если нужно полностью сбросить все привязки COM, измените значение ключа ComDB на 0.
Примечание. В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеть полный список COM портов, доступных в Windows.В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеться список COM портов, подключенных к системе.
- В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports содержится список назначенных COM портов. Все ненужные порты можно удалить (в нашем примере мы оставим только COM3 и удалим остальные);
- Отключите все оборудование и перезагрузите Windows;
- После перезагрузки включите оборудование в нужном порядке (переустановите конверторы USB-to-serial и т.д.). Все обнаруженные COM-порты автоматически определяться системой и им будут последовательно выделены номера COM портов.
Также вы можете использовать следующие две бесплатные утилиты для очистки занятых (In Use) COM портов:
- COM Name Arbiter Tool – утилита для освобождения занятых COM портов. Запустите утилиту с правами администратора, выберите COM порты, которые вы хотите освободить и нажмите Clear unused Reservations и Remove non-present devices;
- Device Cleanup Tool – утилита используется для поиска в реестре информации о ранее подключенных устройств (в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum) и удаления неиспользуемых устройств и очистки резерваций COM портов.
В этой статье расскажем, как очистить занятые COM порты в Windows и освободить зарезервированные порты для новых подключаемых устройств.
Когда вы подключаете к компьютеру новое COM или некоторые USB устройства (например, USB модем, мобильный телефон, Bluetooth адаптер, конвертер последовательных портов в USB и т.п.), Windows определяет его через механизм Plug-n-Play и назначает ему номер COM порта в диапазоне от 1 до 255 (COM1, COM2, COM3 и т.д.). При повторном подключении этого же устройства ему назначается тот же номер COM порта, который был зарезервирован ранее. Новым устройствам выдаётся первый незанятый номер COM порта. В некоторых случаях внешние устройства могут создавать сразу несколько COM портов.
Приобрести оригинальные ключи активации Windows всегда можно у нас в каталоге от 1099 ₽
Проблема высоких номеров COM портов
Ряд приложений, особенно устаревших, могут адресовать только двухзначные номера COM портов и отказываться работать с COM100 и выше. Или они могут видеть только порты COM1-COM9. Что делать, если подключённое устройство получило высокий номер COM порта? В этой статье рассмотрим, как сбросить нумерацию для зарезервированных COM портов и удалить ненужные порты.
Изменение номера COM порта устройства в Windows
В Windows можно вручную изменить номер COM порта, назначенный устройству:
1. Откройте диспетчер устройств (Device Manager) командой
devmgmt.msc
.
2. В меню выберите Вид > Показать скрытые устройства.
3. Разверните Ports (COM & LPT) и найдите в списке устройство.
4. Перейдите на вкладку Параметры порта через свойства и нажмите кнопку Дополнительно.
5. Текущий номер COM порта указан в поле COM Port Number. Чтобы изменить его, выберите нужный номер из выпадающего списка.
Если нужный номер занят, вам нужно удалить резервацию COM порта за другим устройством:
— Найдите устройство, которому назначен нужный вам номер COM порта (бледная иконка означает, что устройство не подключено).
— Щёлкните по нему ПКМ и выберите Удалить.
— Теперь вы можете назначить освобождённый номер другому устройству. Еще раз откройте свойства вашего устройство, перейдите на вкладку Параметры порта > Дополнительно. Задайте свободный номер COM порта для вашего устройства.
Определение занятых COM портов с помощью PowerShell
Вы можете вывести полный список занятых COM портов с помощью PowerShell:
Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
Или определить номер COM порта для конкретного устройства по его имени:
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*Arduino*"} | Select Name, DeviceID
Определение процесса, использующего COM порт в Windows
Если устройство используется процессом, освободить COM порт не получится. Чтобы определить имя процесса, воспользуйтесь утилитой Process Explorer.
1. Сначала нужно вывести имя службы, которая использует COM порт. Выполните команду PowerShell:
get-pnpdevice -class Ports -ea 0 | Select Name, PNPDeviceID, Status, Service
Имя службы данного COM порта указано в столбце Service.
2. Запустите Process Explorer с правами администратора, выберите Find -> Find Handle or DLL, введите значение Service и завершите процесс, использующий COM порт.
Сброс назначенных COM портов через реестр
Информация об используемых COM портах хранится в реестре по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter.
Важно! Настоятельно рекомендуем предварительно создать резервную копию данной ветки реестра (File -> Export). В том случае, если что-то пойдет не так, вы сможете вернуться к первоначальной конфигурации COM портов.
1. Откройте редактор реестра
regedit.exe
и перейдите в указанный раздел.
2. Параметр ComDB в двоичном формате определяет зарезервированные порты. Каждый бит определяет состояние соответствующего порта (от 1 до 255). К примеру, если нам нужно оставить резервацию только для COM3, hex значение ComDB будет равно 04 (0000 0100).
Важно! Будьте предельно внимательными, ни в коем случае не добавьте в этот параметр дополнительные байт, иначе система может начать падать в BSOD.
3. Если нужно полностью сбросить все привязки COM, измените значение ключа ComDB на 0.
Примечание. В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеть полный список COM портов, доступных в Windows.В разделе HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM можно увидеться список COM портов, подключенных к системе.
4. В ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports содержится список назначенных COM портов. Все ненужные порты можно удалить (в нашем примере мы оставим только COM3 и удалим остальные);
5. После выполнения всех действий отключите всё оборудование и перезагрузите Windows. После перезагрузки включите оборудование в нужном порядке — все обнаруженные COM порты будут автоматически определены системой.
Дополнительные утилиты для очистки COM портов
Вы можете использовать следующие бесплатные утилиты для очистки занятых COM портов:
1. COM Name Arbiter Tool — утилита для освобождения занятых COM портов. Запустите её с правами администратора, выберите нужные порты и нажмите Clear unused Reservations.
2. Device Cleanup Tool — утилита для удаления неиспользуемых устройств и очистки резерваций COM портов.
When you connect a new COM, USB, or Bluetooth device to your computer, Windows assigns the first available free COM port number from 1 to 256 to the device (COM1, COM2, COM3, etc). Even after the device is disconnected, the assigned COM port number is not released and remains reserved for the device (Windows shows it as “in use”). Some legacy apps can only use low COM port numbers from 1 to 9. In order for such an application and device to work properly, you should change the assigned COM port number or completely release the reserved COM ports used by other app.
Note. Virtual COM ports are still widely used in Windows, although modern computers almost never have physical serial COM ports on the motherboard. For example, virtual COM ports are currently used by USB (USB-to-UART, USB-to-COM, USB modem, card/RFID reader) and Bluetooth adapters.
How to Change the COM Port Number in Windows
The administrator can manually change the assigned COM port number for the device using the Device Manager.
- Open the Device Manager (press Win + R and run devmgmt.msc)
- Expand Ports (COM & LPT);
- Find the device you want to change the COM port number for and open its Properties;
- Go to the Port Settings tab and click the Advanced button;
- Select a free COM port number from the COM Port Number drop-down list.
These steps won’t help if Windows says you that the COM port you need is already in use. In this case, try to manually reset the used COM port and then reassign it to a new device.
Reset COM Port in Use on Windows
If the device is not currently connected to the computer, you can reset its assigned COM port number.
- Go to Device Manager, select View > Show Hidden Devices from the menu. This will cause the unplugged devices to be displayed in the Device Manager.
- Expand the Ports (COM & LPT) section. Disconnected devices have the reserved COM port number in their names and greyed out icons;
- Right-click on the device with the COM port number you want to free up and select Uninstall;
- DO NOT check the option “Delete the driver software for this device”;
- Repeat these steps until all grayed-out COM ports are removed;
- Now you can assign a free COM port number to the device you want as described above.
How to Find Which Process is Using the Serial (COM) Port
COM ports are used by devices in Windows in exclusive mode. A COM port cannot be released or deleted if it is being used by another running process. In this case, use the Process Explorer to find out which Windows app is using the COM port.
- Go to the Device Manager, expand Ports (COM & LPT), right-click on the COM port you want to check, and select Properties;
- Go to the Details tab, select Service from the Property dropdown list;
- Copy the service value that your COM port refers to. In this example, this is Serial;
- Download the Process Explorer utility from Microsoft;
- Extract the ProcessExplorer.zip and run the procexp.exe or procexp64.exe (depending on the bitness of your Windows) as an administrator;
- Select the Find > Find Handle or DLL from the top menu (or press Ctrl+F);
- Paste the COM port handle you copied from Device Manager into the Handle or DLL substring search box (serial in this case) and click Search;
- Process Explorer will display the name and PID of the process using the target COM port.
- Kill the process found to free the COM port. Use the TaskManager.exe or the command:
taskkill.exe /F /IM putty.exe - Then you can reassign the COM port number to another device.
Clear COM Ports Using the COM Name Arbiter
The free third-party tool COM Name Arbiter can be used to release unused COM ports and change assigned port numbers. Download the COM Name Arbiter Tool from the official website and run as an Administrator.
The tool shows list of COM ports with checkmark next to the currently busy ports of connected devices. Press the Remove non-present devices to clear all assigned COM port number reservations.
You can also clear the COM port manually, by unchecking a specific device from the list.
Another handy tool for viewing COM port configuration is COM Port Info. This tool allows you:
- View assigned COM port numbers;
- Safely remove hardware;
- Change and swap COM port numbers;
- Reset USB Ports.
Removing Unused COM Ports via CMD
The built-in PnPUtil tools can be used to list and remove assigned COM port numbers from the command prompt.
List COM port devices:
pnputil /enum-devices /class ports
In this example, the COM3 port is assigned to a MediaTek USB Port device. This device is currently Disconnected.
Copy and paste the Instance ID into the following command to remove this COM device reservation:
pnputil /remove-device "USB\VID_0E8D&PID_0003\5&1082c90b&0&2"
Reset COM Ports Reservation via the Registry Editor
The following low-level method of removing all COM port reservations in Windows requires direct modification of the system registry. Windows stores COM port assignments in the registry value of the ComDB parameter under the reg key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter. You can make direct changes to the registry to reset COM port reservations.
Caution. Create a system restore point before making these registry changes.
- Disconnect any peripheral devices from the computer;
- Open the Registry Editor (regedit.exe);
- Go to the reg key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter;
- Right-click on the COM Name Arbiter key, select Export, and backup this registry key to the *.REG file. This allows you to restore previous settings if something goes wrong;
- If you want to reset all the COM port assignments, change the ComDB value to 0. The binary value of ComDB is a bit-mask of already allocated COM ports. Every bit defines the status of the corresponding port (1 to 255);
- Then go to the reg key HKLMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports key. Delete any assigned COM ports you want to free up;
- Restart your computer. When it boots back, connect all the COM devices in the proper order.
Now you know how to delete COM ports and reassign them to a different device.
Brian Jackson
Brian Jackson started this blog in 2011. Brian has a huge passion for WordPress and technology for over a decade. Brian enjoys blogging, movies, and hiking.
When you plug a USB device to your computer or laptop, windows assigns a new and unique COM Port number to the device. Even If you plug the same device in different USB ports, a different unique port is assigned.
Because of this, your computer or laptop occupies so many COM ports.
This article will show you how to change or remove unused com ports from your computer.
When you open the device manager and wants to see occupied comports, you are unable to see hidden comports in device manager. So first you need to show hidden comports in device manager.
How to show hidden comports in device manager?
Just follow these simple and quick steps to show hidden comports in your computer.
Note: If you have Windows-7, Vista or any higher operating system, run every .exe application as an Administrator.
Step-1:
Go to “Start” Menu > Type “cmd” > right click on “cmd.exe” and open it as “Run as Administrator” as shown in below snapshot.
Step-2:
Type both the lines step by step as shown in snapshot.
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
Above command “start devmgmt.msc” will automatically open the Device Manager for you.
Step-3:
Select “Device Manager” > click on “View” menu > Select “Show hidden devices” option.
Step-4:
Now expand the section labeled “Ports (COM & LPT)” to view all comports that are assigned on your computer. You will see many hidden comports in the list that are not assigned currently. You can remove or change them easily.
How to Remove an OLD Comport?
Right click on any Comport and choose “Uninstall” option to remove comport from computer.
Note: Don’t forget to reboot your computer after uninstalling unused comport.
How to Change an Assigned Comport?
Right click on any Comport and choose “Properties” option.
Select “Port Settings” tab under “Properties” window. Click on “Advanced” option to change comport.
Now select unused COM port from the drop-down list as shown in below snapshot.
Note: Reboot your computer to ensure that the COM Port has been successfully assigned.
By this way you can easily Reset or Remove Unused COM Ports in Windows.
Must Read:
How to Install Telnet in Windows 7 and Vista
Still many of us don’t know how to check hidden comports in Windows. So share this useful information with your friends and colleagues. They will definitely thank you for this information.
Очистка занятых COM портов может быть полезной, если устройство, подключенное через COM порт, не распознается вашей операционной системой. Это может произойти, если порт занят другим процессом или устройством.
Вот несколько шагов для очистки занятых COM портов в Windows 11:
- Откройте диспетчер устройств. Нажмите Win + X и выберите «Диспетчер устройств» из меню.
- Разверните раздел «Порты (COM и LPT)».
- Если вы видите какой-либо порт, помеченный как «Занят другим устройством», то вы должны освободить его. Для этого щелкните правой кнопкой мыши на устройстве и выберите «Отключить устройство».
- После этого отключите устройство физически из компьютера.
- Подключите устройство снова и включите его.
- Проверьте, появился ли порт снова в диспетчере устройств.
- Если порт по-прежнему не распознается вашей операционной системой, попробуйте обновить драйвер для порта. Щелкните правой кнопкой мыши на порте и выберите «Обновить драйвер».
- Если проблема сохраняется, попробуйте перезагрузить компьютер и проверить снова.
Если ничего не помогает, возможно, проблема не в занятых портах, а в другом месте. В этом случае вам может потребоваться обратиться к производителю устройства или к специалисту по настройке компьютера.
Батник который чистит неиспользуемые ком порты
К сожалению, нельзя создать bat файл, который будет автоматически удалять неиспользуемые COM-порты на компьютере, так как это требует выполнения действий в пользовательском интерфейсе. Однако, можно создать bat файл, который запускает командную строку с нужными командами для удаления неиспользуемых портов.
Вот пример bat файла, который запускает командную строку и выполняет описанные выше действия:
@echo off
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
Этот файл устанавливает переменную среды devmgr_show_nonpresent_devices, которая позволяет отображать скрытые устройства в Диспетчере устройств. Затем он запускает Диспетчер устройств с помощью команды start. После запуска Диспетчера устройств, вы можете выполнить ручное удаление неиспользуемых портов, как описано выше.
После того, как вы завершили удаление портов в Диспетчере устройств, вы можете закрыть его, а bat файл закончит работу.
Описание
Каждый раз, когда подключается новое устройство COM или USB (верно для модемов, сотовых телефонов, Bluetooth, преобразователей последовательного интерфейса в USB и т.д.), Windows обнаруживает его с помощью механизма Plug-n-Play и назначает ему номер COM-порта в диапазон от 1 до 255. При повторном подключении того же устройства ему назначается COM-порт, ранее зарезервированный для него. Новым устройствам присваивается первый незанятый номер COM-порта. Нередки случаи, когда внешние устройства при подключении создают одновременно несколько COM-портов (в моем случае после подключения адаптера Bluetooth в системе одновременно появилось 10 новых COM-портов).
Ряд приложений (обычно довольно старых) могут обращаться только к двузначным номерам COM-портов, отказываясь работать с COM100 и более поздними версиями. В более «запущенных» вариантах эти программы корректно работают только на портах с COM1-COM9. Что делать, если подключенное устройство получает большой номер? Могу ли я сбросить нумерацию зарезервированных COM-портов и удалить назначенные порты? Попробуем разобраться на примере Windows 7.
Как правило, в свойствах оборудования невозможно поменять выданный COM-порт на другой, так как система пишет, что все «младшие» COM-порты уже заняты).
Прежде всего, вы должны попытаться вручную изменить номер COM-порта для определенного COM-устройства. Предположим, требуемый COM-порт уже занят, и вы хотите попробовать его освободить.
- Запустим диспетчер устройств так:
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
- В меню консоли выберите Вид-> Показать скрытые устройства.
- Разверните ветку Порты (COM и LPT) и в списке найдите устройство, которому назначен желаемый COM-порт (тусклый значок означает, что этот COM-порт назначен, но это устройство в настоящее время не подключено). Щелкните его правой кнопкой мыши и выберите Удалить
- Освободившийся COM-порт можно назначить другому устройству. Найдите свое устройство в той же ветке, откройте его окно свойств. Затем перейдите на вкладку «Параметры порта» и нажмите кнопку «Дополнительно». В раскрывающемся списке выберите неиспользуемый COM-порт.
Вышеупомянутый метод не всегда позволяет освободить занятый COM-порт. В этом случае придется прибегнуть к редактированию реестра.
Сброс привязок COM портов через реестр
Информация об используемых COM-портах хранится в разделе реестра CommDB в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ COM Name Arbiter
- Откройте редактор реестра (regedit) и перейдите в указанную ветку. Настоятельно рекомендуется сначала создать резервную копию этой ветки реестра (Файл -> Экспорт). Если что-то пойдет не так, вы можете восстановить исходную конфигурацию порта.
- Двоичное значение ComDB определяет список зарезервированных COM-портов в системе. Каждый бит определяет статус соответствующего порта (от 1 до 255). Например, если нам нужно оставить резервирование только для COM3, шестнадцатеричное значение ComDB будет 04 (0000 0100)
Будьте очень осторожны, чтобы не добавлять лишние байты в этот параметр, иначе система может начать давать сбой в BSOD.
- Если вам нужно полностью восстановить все ассоциации COM, измените ключ ComDB на 0.
Примечание. В разделе HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM вы можете увидеть список COM-портов, подключенных к системе.
- Ветка HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Ports содержит список назначенных COM-портов. Все ненужные порты можно удалить (в нашем примере мы просто оставим COM3, а остальные удалим.
- Отключите все оборудование и перезагрузите компьютер.
- После перезагрузки включите оборудование в правильном порядке (переустановите преобразователи USB в последовательные и т.д.). Все обнаруженные COM-порты автоматически обнаруживаются системой, и им назначаются последовательные номера COM-портов.
Источник изображения: winitpro.ru