HIDcontroller

所属分类:Pascal/Delphi编程
开发工具:Delphi
文件大小:2039KB
下载次数:445
上传日期:2007-10-24 14:58:57
上 传 者管理员
说明:  通过delphi USB控件读写数据
(Delphi USB control read and write through the data)

文件列表:
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\DBT.hpp (3001, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\HID.hpp (17511, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\HidBcb.bpk (5388, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\HidBcb.cpp (571, 2003-09-25)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\HidBcb.res (1540, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\HidControllerClass.dcr (1748, 2003-04-24)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\HidToken.hpp (3988, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\HidUsage.hpp (104485, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\JvHidControllerClass.hpp (18277, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\ModuleLoader.hpp (1726, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB\SetupApi.hpp (108930, 2003-09-28)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BCB (0, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\BasicDemo.exe (443392, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\BIN.TXT (39, 2003-04-27)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\CollectionDemo.exe (570880, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\IOIRWarrior.exe (514560, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\IOWarrior.exe (454144, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\LCDDemo.exe (480256, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\SimpleHIDWrite.exe (482304, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN\UsagesDemo.exe (583168, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\BIN (0, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DBT.pas (18937, 2001-04-16)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\BasicMain.dcu (3966, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\CollectionMain.dcu (9453, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\DBT.dcu (6051, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\DCU.TXT (130, 2003-04-27)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\DevReader.dcu (11786, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\HID.dcu (17452, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\HidController.dcu (2817, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\HidUsage.dcu (84626, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\Info.dcu (14855, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\IOIRMain.dcu (9736, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\IOMain.dcu (7132, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\JvHidControllerClass.dcu (62998, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\KeyEdit.dcu (5449, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\LCDMain.dcu (9149, 2007-10-21)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\ModuleLoader.dcu (2276, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\SetupApi.dcu (128516, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\UsagesInfo.dcu (168685, 2007-10-22)
HID controller v1[1].0.22 For D4-6 CB4-6\HID controller v1.0.22 For D4-6 CB4-6\www.cnzz.cn\DCU\UsagesMain.dcu (5373, 2007-10-22)
... ...

1.0.22 Two new events have been implemented in TJvHidDeviceController. OnArrival and OnRemoval. They fire for individual devices being plugged or unplugged. OnRemoval is equivalent to OnUnplug, but happens in the TJvHidDeviceController instead of the TJvHidDevice. OnDeviceChange fires after all OnArrival or OnRemoval events. The ReadWriteDemo has been updated to show arrivals and removals. Fixed some values read with GetRegistryProperty* functions. Property Security has been renamed SecuritySDS. ----------------------------------------------------------------------------- 1.0.21 mainly improves the integration in the JediVCL. IFDEF USEJVCL is used instead of STANDALONE. resourcestrings have been implemented to ease localization. FreeAndNil removed to allow Delphi 4 compatibility. ----------------------------------------------------------------------------- 1.0.19 fixes a copy & paste bug in SetNumOverlappedBuffers. A new sample has been added for the infrared receiver of the new IO-Warrior 24. Some small fixes to the demos. ----------------------------------------------------------------------------- 1.0.18 has a Borland C++ Builder 6 project for the component and C++ versions of the demos. The demos are straight conversions from the Delphi versions which means they are sometimes a bit clumsy. The Demo directory has been reorganized into a BCB branch and a Delphi branch. All projects have relative search pathes set in their options. All demos have been reworked to use CheckOutByCallback and OnData event if needed. Several bugs have been fixed. The batch file CompileExamplesDelphi.bat compiles all Delphi demos. The only issue left is that you have to copy all generated .hpp files from the base directory to the BCB directory if you install the BCB version. ----------------------------------------------------------------------------- 1.0.17 adds another check out method. CheckOutByCallback allows customized check outs. This simplifies the task to find one of the members of a composite device for example. A CountByCallback method accompanies the check out method as usual. The OnData event now starts its thread only if the device is readable. ----------------------------------------------------------------------------- 1.0.16 adds an OnDataError and an OnDeviceDataError event. The thread implementing the OnData event now does not terminate anymore when encountering a read error. It throws an OnDataError instead. OnDeviceDataError assigns the error event to all devices in the usual way. ReadWriteDemo has been updated to use the new feature. ----------------------------------------------------------------------------- 1.0.15 adds a standard Tag property to TJvHidDevice. ----------------------------------------------------------------------------- 1.0.14 adds an OnData event to TJvHidDevice. It is modelled after the ReadWriteDemo by starting a read thread on the device. Consequently the ReadWriteDemo has been simplified to use the new OnData event. TJvHidDeviceController.OnDeviceData, TJvHidDeviceController.DevThreadSleepTime and TJvHidDevice.ThreadSleepTime accompany the new event. Destroying a checked out and plugged in TJvHidDevice now results in a complete clone object created. The older version would lose event assignment. The IO-WarriorLCDDemo has been added. It can access IO-Warrior Kits with optional LCD. The IO-WarriorLCDDemo and the IO-WarriorDemo can be run in parallel on the same device. ----------------------------------------------------------------------------- 1.0.13 more and updated demos. The new C++ ExternalDemo is the first 3rd party demo. WARNING! The index of LinkCollectionNodes property is now 0-based instead of 1-based! CollectionDemo has been fixed. ----------------------------------------------------------------------------- 1.0.12 has the completed UsagePages in HidUsage.pas. CollectionDemo and UsagesDemo show them. ----------------------------------------------------------------------------- 1.0.11 has improved and cleaned up examples. HidUsage.pas has been extended to include new usage pages and usages. The new UsageDemo explores this. More usage pages and usages coming soon. The new IO-WarriorDemo is intended for the IO-Warrior Kit available from Code Mercenaries http://www.codemercs.com The output directory and the Unit output directories have been set in the project options. Do not forget to include the Unit output directory into the Delphi unit search path. ----------------------------------------------------------------------------- 1.0.10 SetupApi.pas has been improved to allow smooth usage in the Jedi-VCL. Also some problems with C++ Builder fixed. ----------------------------------------------------------------------------- 1.0.9 introduces HidOverlappedReadResult and HidOverlappedWriteResult mainly to allow reading of different sized reports. The ReadWriteDemo and the help have been updated accordingly. ----------------------------------------------------------------------------- 1.0.8 fixes a copy-and-paste bug in GetProductName. ----------------------------------------------------------------------------- 1.0.7 only has a fixed ReadWriteDemo and an improvement in SetupApi.pas. ----------------------------------------------------------------------------- 1.0.6 has the new helper function HidErrorString. ----------------------------------------------------------------------------- 1.0.5 only has internal changes. The local GetRegistryProperty functions have been made private methods of TJvHidPnPInfo because they belong there. ----------------------------------------------------------------------------- 1.0.4 introduces some changes to have the HID component coexist smoothly with the new USB component. TJvHidPnPInfo and TJvHidOpenExMode = (omhRead, omhWrite) have been renamed to allows that. TJvHidPnPInfo has been changed to a class to allow easier internal handling. Some elements have been changed to TStringList. SerialNumber has the fix again which was dropped in the last version. HasReadWriteAccess has been introduced. It allows to check if the device is readable or not. Devices like keyboards and mice are already opened exclusively by Windows. published has been removed from TJvHidDevice because such an object can not be shown in the IDE or streamed to a file. The component and all examples have been changed to Delphi 6. They still work with Delphi 5 and presumably with Delphi 4. The CollectionDemo has been fixed and improved. The GreyMouser demo has been integrated into the ReadWriteDemo. ----------------------------------------------------------------------------- 1.0.3 is a bugfix version. The file name of HidControllerClass.pas has been changed to JvHidControllerClass.pas to be compatible with the Jedi VCL. STANDALONE has been defined to allow integration in the JVCL. CancelIO is now loaded dynamically because it is missing from Windows 95. The LanguageStrings always contained the local language because of a bug in interpreting the language IDs. Fixed. The C++ Builder package project has been removed. Create it yourself by simply adding JvHidControllerClass.pas to a new package project. The BCB 6 Trial version did not work with some BCB versions. The reading of the device properties in CtlCreate has been removed almost entirely. The properties are now only read when accessed. This solves problems with bad drivers for some devices. Reading the device could crash the computer. Now it only crashes when the device is accessed. Previously it would crash if the device was plugged even if your program was not interested in the device at all. ----------------------------------------------------------------------------- 1.0.2 is a bugfix version. Dropping a second TJvHidDeviceController on a form did not give the proper exception because of a bug the destructor. CtlCreate raised a range check error because the buffer fix below was incomplete. Changed the demos to be Delphi 5 projects. Added "..\.." to their search pathes. That should make them link without problems. ----------------------------------------------------------------------------- Added the new functions (Win XP only) HidD_GetInputReport and HidD_SetOutputReport to HID.pas. Fixed a bug where the buffer for HidD_GetManufacturerString was too long for XP! Changed the .dpk back to Delphi 5 version. Delphi 6 can use it. Added "cHidControllerClassVersion = '1.0.1';" for this version. ----------------------------------------------------------------------------- Improved Windows 2000 and XP compatibility. PhysicalDecriptor is now of correct type. LinkCollectionNodes access changed to be 0 based. The C++ Builder package is for BCB 6. For earlier BCB versions best recreate it by adding HidControllerClass.pas to a new package. ----------------------------------------------------------------------------- PnPInfo extended to carry ALL possible registry entries. ----------------------------------------------------------------------------- Introduced property PnPInfo: TJvPnPInfo. The properties RegDescr (as DeviceDescr), RegClass (as ClassDescr), DeviceID and DevicePath have been moved to this record. All relevant registry entries for HID devices have been added. ----------------------------------------------------------------------------- All strings from the device and parameters to be matched with such strings have been changed to WideString. Added some methods to TJvHidDeviceController. CountByClass, CountByID, CountByProductName, CountByVendorName count the currently plugged devices. The match criteria are the same as with the CheckOut methods. Added some "const" to parameters. ----------------------------------------------------------------------------- The component is now C++ Builder compatible. PreparsedData is now a public property of the correct Pointer type. This was the last BCB incompatibility remaining. HidOverlappedHandle has been separated into HidOverlappedRead and HidOverlappedWrite handles to allow reading and writing in separate threads. OpenFileEx and CloseFileEx now have a mode parameter to address one of the file handles. Added on request of a modem programmer. The new property DeviceStringsUnicode works just like DeviceStrings but does not convert the Unicode strings to Ansi strings. Added on request of a russian programmer. "packed" has been removed from all records of HID.pas. It was wrong. ----------------------------------------------------------------------------- The component now works at design time. DoDeviceChange has been changed to the published method DeviceChange to allow calling it at design time. Its implementation has been optimized. HID.pas and SetupApi.pas now default to load their DLL dynamically. This is allows programs using USB or non-USB versions of a device to run on Win95 where there is no USB. The component simply finds no USB devices and the program can search for non-USB devices. Added class method HidVersion which reads the version information from HID.DLL. ----------------------------------------------------------------------------- Method GetPhysicalDescriptor has been replaced by string property PhysicalDescriptor. ReadFileEx and WriteFileEx implemented. HidOverlappedHandle, NumOverlappedBuffers, OpenFileEx and CloseFileEx accompany these new methods. The internal access to the device registry entries is now made with SetupDiGetDeviceRegistryProperty and is therefore Win2K safe. The property HardWareKey has been deleted because it is not needed anymore. DeviceStrings and LinkCollectionNodes have been changed to indexed properties. Their base index now starts correctly with 1. Two utility functions HidCheck and HidError have been added and documented in the help. Added NumCheckedInDevices, NumCheckedOutDevices and NumUnpluggedDevices. Various small improvements and bugfixes. ----------------------------------------------------------------------------- Bugfixes since last version: The events are set to nil in the destructor. This prevents strange problems with debugging. The index of the DeviceStrings now corresponds with their index when read in from the device. This now correctly represents device strings with nonconsecutive indices. DeviceIoControl has been added as a method. A new sample ReadWriteDemo has been added. > This sample and its data is rigged to the www.lvr.com > hid sample for the cypress evaluation board. Bugfixes since last version: PAS\HID.PAS: All params like "Report: PChar" changed to "var Report" This allows the use of buffers or records for the reports without any compiler warnings. DEMOS\HIDCLASS\HidControllerClass.pas: Propagated the untyped Report params up to the methods. Added ReadFile and WriteFile methods. The list of the language names (LanguageStrings) has been introduced. Fixed the central function FillInList to correctly use the SetupDi* functions. Added an exception to TJvHidDeviceController to prevent instanciating a second one. Various minor fixes. Help file completed. ----------------------------------------------------------------------------- Hid.pas is a conversion of HIDPI.H and HIDSDI.H since both function groups reside in HID.DLL and HIDSDI.H includes HIDPI.H anyway. I added HidD_Hello() to the conversion. This is the undocumented easter egg function of HID.DLL. See Hid.pas for details. HidToken.pas is a simple conversion of hidtoken.h. It contains only consts and some converted checking macros. HidUsage.pas is a more than complete conversion from hidusage.h The TUsage and PUsage types have been moved to Hid.pas. This eliminates the need to include HidUsage.pas in all HID projects. So HidToken.pas and HidUsage.pas are only needed in projects where the named constants are needed. Some sets of constants have been completed (mainly keys). The constants are for Usage, UsagePage and Usage values. That is they describe the real data you will get from USB devices. For real information read "USB HID Usage Tables 1.1rc3.pdf" or newer versions thereof from www.usb.org. I added some comments marked (rom) to clarify some things. Changes from Windows *** DDK to Windows 2000 DDK i marked (Win2000). The new functions documented in the Windows 2000 DDK have been implemented already in the HID.DLL of Windows *** SE. The function declarations are inside a {$IFDEF WIN2000}. You will need SetupApi.pas from the SetupApi conversion and DBT.pas from the DBT conversion. The component in Demos\HidClass gives you access to the complete HID API. There is no need to use the functions directly. known issues: some of the new constants in HidUsage.pas may be named incorrectly as a german i do not know all the real english key names

近期下载者

相关文件


收藏者