![]() |
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
okay hab ihm geschrieben,mal sehen, hat denn eventuell jemand noch einen anderen Code parrat mit dem ich 4 buttons machen kann, 1 zum aktivieren , 1 zum deaktivieren, 1 zum geräte suchen, 1 zum auflisten der usb ports ?? mache ich vielleicht auch einen falschen Aufruf? |
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
des weiteren hast Du etwas falsch verstanden!!!..ich schrieb
Delphi-Quellcode:
das ... sollte heissen...nach !!! dem Programm-Kopf(header)
...
Uses SetupAPI; also nach
Delphi-Quellcode:
Auch war es nur ein Beispiel!!! um die Art und Weise zu erklaeren...deshalb auch die Kommentare
Program test1;
uses System, Forms........; var Form1: TForm1; implementation {$R *.dfm} Uses SetupAPI;
Delphi-Quellcode:
// state disable setzen
... // Devices listen ein bisschen musst Du schon noch nachdenken..sorry!!!! P.S.: ich habe ebenfalls D7 und es funktioniert Prima Die Geraetebezeichnung "Universal Host Controller" entsprach auch damals meinem Problem..muesstest Du kontrollieren, ob es unter Windows 7 auch so heisst!! |
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Moin Kaki,
*räusper* JCL <> JVCL ;) Meine Vermutung ist, dass die Unit im Laufe der Zeit überarbeitet wurde und mit Deinem Code nicht mehr ohne Weiteres kompatibel ist. Deshalb mein Vorschlag, dass Du ihm Deine Version schicken sollst (oder hier anhängen, Attachments in PMs gehen ja nicht mehr). |
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
wollte ich tun..ABER "Dein Seitenaufruf konnte aufgrund eines fehlenden Securitytokens nicht verarbeitet werden. " hier die Version (nur Namen) die geht "JVCL333CompleteJCL1101-Build2725" evtl. mal googeln;-) |
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Ich habe ne
![]() |
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
|
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
Um nochmal mein Problem zu verdeutlichen: Ich möchte die Serielle Schnittstelle ansprechen den COM5. habe da ein Messgerät über SERIAL-to-USB angeschlossen dem ich Befehle übergeben möchte: Anweisungen aus dem Handbuch des Geräts über Delphi an das Gerät senden über COM5: Beispielbefehle aus dem Handbuch des Geräts: CONFigure:TEMPerature:TCOuple<parameter> Temperatur configurieren DISPlay:BACKlight? Abfragen ob Hintergrundbeleuchtung an ist rückgabe 1 oder 0 solche befehle möchte ich über Delphi realisieren und an die Schnittstelle senden und auslesen
Code:
link zu gleichem problem anderer Code
http://www.delphi-forum.de/viewtopic.php?t=107280&highlight=serielle+schnittstelle
|
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
|
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
Delphi-Quellcode:
und hier den 1. Unterschrich entfernt :
if (SetupDiGetDeviceRegistryProperty(hdev,devinfo,SPDRP_DEVICEDESC,
DataType,@Buffer[0],sizeof(Buffer),BufferSize)) then
Delphi-Quellcode:
ClassInstallParams.Classinstallheader.cbSize:= sizeof(SP_CLASSINSTALL_HEADER);
p.s.: Grade nochmal ein Build gemacht, jetzt hagelt es bei mir auch Fehler ( alle im Bereich WINNT ) |
AW: USB-Ports deaktivieren&aktivieren in Delphi 7
Zitat:
jetzt hab ich nur noch folgende fehlermeldung popupfenster "Im Projekt usbtest.exe ist eine Excepton der Klasse EAccess Violation aufgetreten. Meldung: Zugriffverletzung bei Adresse 00000000. Lesen von Adresse 00000000'. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen" bei folgendem Code
Code:
dann klcike ich ok und garnix passiert
unit main;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, SetupAPI; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button4Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure Disable_USB; var hdev: HDEVINFO; devinfo: TSPDevInfoData; DriverInfoData: TSPDrvInfoDataA; DriverInstallParams: TSPPropChangeParams; ClassInstallParams:TSPPropChangeParams; ClassInstallParamsSize: DWORD; devInfoListDetail: TSPDevInfoListDetailDataA; buffer:Array [0..1024] of char; buffersize,dataType:DWORD; status,problem:DWORD; i,z:integer; s:string; OK:Longbool; begin devinfo.cbSize:= sizeof(devinfo); hdev:= SetupDiGetClassDevs(0,0,0,DIGCF_ALLCLASSES); if (hdev = NIL ) then begin Showmessage('Unable to enumerate device'); exit; end; i:=0; //Devices listen repeat Buffer[0]:=#0; if not (SetupDiEnumDeviceInfo(hdev,i,devinfo)) then break; if (GetLastError() = ERROR_NO_MORE_ITEMS) then break; if (SetupDiGetDeviceRegistryProperty(hdev,devinfo,SPDRP_DEVICEDESC, DataType,@Buffer[0],sizeof(Buffer),BufferSize)) then begin s:=strpas(Buffer); //suchen des speziellen Device if pos('USB Universal Host Controller',s)>0 then begin devInfoListDetail.cbSize:= sizeof(devInfoListDetail); ClassInstallParams.Classinstallheader.cbSize:= sizeof(SP_CLASSINSTALL_HEADER); ClassInstallParams.Classinstallheader.Installfunction:=DIF_Propertychange; // state disable setzen ClassInstallParams.statechange:=DICS_Disable; ClassInstallParams.Scope:=DICS_FLAG_CONFIGSPECIFIC; ClassInstallParams.HWProfile:=0; if SetupDiSetClassInstallParams(HDEV,@DevInfo,@ClassInstallParams.Classinstallheader,sizeof(ClassInstallParams)) then begin SetupDICallClassInstaller(DIF_PropertyChange,HDEV,@devinfo); end else z:=Getlasterror; end; Buffer[0]:=#0; end; i:=i+1; until false; SetupDiDestroyDeviceInfoList(hdev); end; procedure TForm1.Button4Click(Sender: TObject); begin Disable_USB(); ShowMessage('deaktiviert'); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz