AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi USB-Ports deaktivieren&aktivieren in Delphi 7
Thema durchsuchen
Ansicht
Themen-Optionen

USB-Ports deaktivieren&aktivieren in Delphi 7

Ein Thema von sneumann · begonnen am 28. Sep 2011 · letzter Beitrag vom 11. Okt 2011
Antwort Antwort
sneumann
(Gast)

n/a Beiträge
 
#1

USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 28. Sep 2011, 09:07
Hallo,
folgende Problemstellung:

Wir testen und kalibrieren mit einem Mess(Lese)/Geber(Schreibe)-Gerät Leiterplatten hinsichtlich Ihrer Temperatur, ph-Wert, Druck etc. . Die Temperaturen und ph Werte werden sozusagen auf den Leiterplatten eingestellt,abgeglichen also kalibriert. Nun haben wir ein in Delphi 7 geschriebenes Programm implementiert, welches diesen Abgleich, das Kalibrieren der Platten ermöglicht und zur Ausführung dieses Tests/Abgleichs der Temperatur & vom Ph-Wert etc dient.

Ich soll für unsere Softwareabteilung dieses Programm, welches zum Test der Platten dient, optimieren.
Da der Testabgleich mit Kalibrierung momentan noch etwas zu lange dauert und man sich viel Zeit sparen könnte beim
Testen der einzelnen Platten wäre es gut, wenn einige Prozesse automatisch ablaufen würden und nicht jeweils eine Eingabe des Benutzers benötigt wird:
Am Anfang muss man die Leiterplatte einmal kurz vom USB-Steckplatz (Verbindung über ein externes Gerät zur Platte[USB- ext. Gerät - Platte]) abziehen und der Benutzer muss mit "OK" bestätigen wenn er USB wieder
eingesteckt hat.
Diesen Ablauf könnte man zum Beispiel automatiesieren, indem man die USB-Ports kurzzeitig deaktiviert und wieder aktiviert. Eine andere Möglichkeit wäre soweit mir bekannt ist, in dem man einfach nochmal neu nach neuen Geräten sucht!? Liege ich da Richtig?
Wie kann ich das deaktivieren und aktivieren bzw. oder das erneute "Suchen nach Geräten" nun in Delphi 7 implementieren,
sodass der Benutzer nicht erst ausstecken, einstecken und auf Ok klicken muss?

Muss man dabei in irgendeiner Weise die API Funktionen nutzen?

Wäre nett, wenn mir jemand ein paar Tipps oder ähnliches geben könnte, dankeschön!!

Links zu gleichen Fragestellung:
http://www.delphipraxis.net/163417-u...elphi-7-a.html
http://entwickler-forum.de/showthrea...781#post257781
http://www.delphi-forum.de/viewtopic...ight=usb+ports
http://www.winhelpline.info/forum/pr...elphi-7-a.html
http://forum.delphi-treff.de/showthr...027#post223027

Geändert von sneumann (28. Sep 2011 um 10:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 28. Sep 2011, 09:20
Muss man dabei in irgendeiner Weise die API Funktionen nutzen?
Da die WinAPI die einzige Programmierschnittstelle zu Windows ist, wird dir nichts anderes übrig bleiben.

Um die USB-Ports zu de- und wieder zu aktivieren, brauchst du wahrscheinlich einen Treiber. Damit fällt Delphi schon mal als Entwicklungsumgebung weg. Um die Suche nach neuen Geräten anzustoßen, würde ich mir mal die Setup API angucken, eventuell findet sich da was brauchbares. aber reicht es nicht auf das wiederanstecken zu reagieren? Dazu sollten sich einige Beiträge hier im Forum finden lassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 28. Sep 2011, 10:14
Es ist nichts dagegen einzuwenden, wenn man gleichzeitig in mehreren Foren um Hilfe bitte, aber dann verlinke wem falls die Beiträge auch, damit man nicht alles zwei mal beantwortet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 28. Sep 2011, 10:42
Im Entwickler-Forum ist der Beitrag schon geschlossen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#5

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 28. Sep 2011, 13:03
Shellhardwareerkennung:
1. Deaktivieren
2. Aktivieren

svchost.exe -k netsvcs (ShellHWDetection)

Geändert von hathor (28. Sep 2011 um 13:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 28. Sep 2011, 13:50
Hallo,
unter XP habe ich es soo gemacht..obs unter Windows 7 auch so geht..weiss ich nicht genau.

Delphi-Quellcode:

...

uses setupapi;

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;
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
sneumann
(Gast)

n/a Beiträge
 
#7

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 11. Okt 2011, 07:37
Muss man dabei in irgendeiner Weise die API Funktionen nutzen?
Da die WinAPI die einzige Programmierschnittstelle zu Windows ist, wird dir nichts anderes übrig bleiben.

Um die USB-Ports zu de- und wieder zu aktivieren, brauchst du wahrscheinlich einen Treiber. Damit fällt Delphi schon mal als Entwicklungsumgebung weg. Um die Suche nach neuen Geräten anzustoßen, würde ich mir mal die Setup API angucken, eventuell findet sich da was brauchbares. aber reicht es nicht auf das wiederanstecken zu reagieren? Dazu sollten sich einige Beiträge hier im Forum finden lassen.
man soll ja garnicht erst wieder reinstecken müssen... also es soll automatisch ein bestimmter USB PORT (zb COM4)deaktiviert und wieder aktiviert werden ...
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#8

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 11. Okt 2011, 08:26
Versteht die Hardware keinen RESET-Befehl?

Für die Hardware wäre es das Gleiche wie USB-Stecker rein.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 11. Okt 2011, 09:26
Hilft dir das hier vielleicht weiter...
Angehängte Dateien
Dateityp: zip eject.zip (55,6 KB, 63x aufgerufen)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: USB-Ports deaktivieren&aktivieren in Delphi 7

  Alt 11. Okt 2011, 15:59
War das jetzt so am Thema vorbei?

Entschuldigung, für den Beitrag.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz