C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Нетология

 95 - А вы уверены, что это RS-232 ? GetCommProperties() / Win 32 API / Win32 API

Шаг 95 - А вы уверены, что это RS-232 ? GetCommProperties()

Функции рассмотренные ранее хороши, но они подразумевают, что вы знаете тип порта. Вы совершенно уверены, что все порты у Вас RS-232 ? Уверены ? А у пользователя ??? Тут может быть что угодно. Для получения более подробной информации используется функция GetCommProperties().

BOOL GetCommProperties
(      
	HANDLE     hFile,		// указатель на порт
	LPCOMMPROP lpCommProp	// указатель на структуру COMMPROP
);

При удачном выполнении вернет ненулевое значение и заполненную структуру. Смотрим.

#include "windows.h"
#include "iostream.h"

void main()
{

COMMCONFIG  comm;
if (GetDefaultCommConfig("COM1",&comm,&comm.dwSize))
{
	switch  (comm.dwProviderSubType)
	{
	case  PST_FAX :
		cout << "FAX device " << endl;
		break;
	case  PST_LAT :
		cout << "LAT protocol" << endl; 
   		break;
	case  PST_MODEM :
		cout << "Modem device " << endl;
		break;
	case  PST_NETWORK_BRIDGE :
		cout << "Unspecified network bridge " << endl;
		break;
	case  PST_PARALLELPORT :
		cout << "Parallel port " << endl;
		break;
	case  PST_RS232 :
		cout << "RS-232 serial port " << endl;
		break;
	case  PST_RS422 :
		cout << "RS-422 port " << endl;
		break;
	case  PST_RS423 :
		cout << "RS-423 port " << endl;
		break;
	case  PST_RS449 :
		cout << "RS-449 port " << endl;
		break;
	case  PST_SCANNER :
		cout << "Scanner device " << endl;
		break;
	case  PST_TCPIP_TELNET :
		cout << "TCP/IP TelnetR protocol " << endl;
		break;
	case  PST_UNSPECIFIED :
		cout << "Unspecified " << endl;
		break;
	case  PST_X25 :
		cout << "X.25 standards " << endl;
		break;
    default :
		cout << "?????? Microsft mail please  ...." << endl;
		break;
	}
}
else cout << "Error access" << endl;
}

| |
Автор Каев Артем.
[AD]





Letyshops [lifetime]