Подключение Миши Через Usb Порт

30.04.2013
1
0
#1
Всем доброго времени суток. Не могли бы Вы помочь с программой. Условие звучит так: подключаем мышь в USB порт, если подключение произошло, то у нас выводиться сообщение с временем подключения и звучит звуковой сигнал, ну а если не произошло то устройство опрашивается каждые 10 секунд пока не произойдёт подключение. При отключении мыши так же выводиться сообщение с временем отключения и звучит звуковой сигнал. Заранее спасибо.

вот есть исходник, не могли бы Вы помочь исправить ошибки и убрать лишнее..

#include <vcl.h>

#pragma hdrstop

#include "Video.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "CGAUGES"

#pragma resource "*.dfm"

TForm1 *Form1;

// глобальные переменные

DWORD dwToRead = 256;

DWORD dwRead;

OVERLAPPED osWrite;

FT_HANDLE ftHandle;

FT_STATUS ftStatus;

DWORD numDevs;

DWORD devIndex = 0;

char Buffer[16];

char Buf[256]; // contains data to write to the device

DWORD dwToWrite = 128;

DWORD dwWritten;

char TxBuffer[128];

DWORD dwBytesToWrite;

DWORD dwBytesWritten;

unsigned int i,j,jk,k;

DWORD EventDWord = 0;

DWORD RxBytes = 0;

DWORD TxBytes = 0;

DWORD BytesReceived = 0;

char RxBuffer[135170];

UCHAR LatencyTimer = 4; //2

HANDLE hFileA;

DWORD dwBytesA;

short ByteDataChipA[135170];

char string[25];

Добавляем в приложение в область обработчика события создания формы следующее::

void __fastcall TForm1::FormCreate(TObject *Sender)

{

//...............................

// Определяем число подключенных устройств

ftStatus = FT_ListDevices(&numDevs,NULL,FT_LIST_NUMBER_ONLY);

if (ftStatus == FT_OK)

{

// FT_ListDevices OK, number of devices connected is in numDevs

itoa(numDevs, string, 16); // Преобразование формата

Form1->StatusBar1->Panels->Items[0]->Text = string;

}

else

{

// FT_ListDevices failed

Form1->StatusBar1->Panels->Items[0]->Text = "xxx";

}

// Определяем серийный номер устройства

ftStatus=FT_ListDevices((PVOID)devIndex,Buffer,FT_LIST_BY_INDEX|FT_OPEN_BY_SERIA
L_NUMBER);

if (FT_SUCCESS(ftStatus))

{

// FT_ListDevices OK, serial number is in Buffer

Form1->StatusBar1->Panels->Items[1]->Text = Buffer;

}

else

{

// FT_ListDevices failed

Form1->StatusBar1->Panels->Items[1]->Text = "Not device";

}