Autor Beitrag
CodexX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118

WinXP
Delphi XE
BeitragVerfasst: Di 14.12.04 21:14 
in der msdn habe ich dies hier gefunden:
msdn.microsoft.com/l...eba4621c333a.xml.asp

mit dem befehl DIF_PROPERTYCHANGE kann man demnach den status einer hardwarekomponente ändern. genau das was ich benötige.
leider weiß ich absolut nicht, wie ich das in delphi nutzen könnte.
das Windows DDK ist vorhanden.

kann bitte jemand helfen?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.12.04 21:19 
Du willst den Status einer Hardware Komponente ändern? Mit einem Delphi Programm? Vergiss es. Unter NT ff. brauchst du einen Treiber, um die hardware anzusprechen und der läßt sich mit Delphi nicht programmieren. Dazu brauchst du Visual C von Microsoft.
CodexX Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118

WinXP
Delphi XE
BeitragVerfasst: Di 14.12.04 21:43 
mit status ändern meine ich eine hardware deaktivieren und wieder aktivieren zu können.
in meinem fall brauche ich das für die netzwerkadapter.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.12.04 21:48 
Wenn es im DDK steht, dann vermute ich mal, dass du auch dafür einen Treiber brauchst. Und DIF_PROPERTYCHANGE klingt mehr nach einer Konstanten, denn nach einer Funktion oder Nachricht. Wo ist jetzt eigentlich dein Problem?
CodexX Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118

WinXP
Delphi XE
BeitragVerfasst: Di 14.12.04 21:59 
wenn ich einstellungen eines netzwerkadapters (netzwerkkarte) in der registry ändere werden diese erst aktiv, wenn dieser adapter neu aktiviert wird. dh ich muss ihn deaktivieren und wieder aktivieren können oder am besten gleich restarten.

devcon.exe (WINDDK\src\setup\devcon) macht zb genau das richtige, ist aber leider in c geschrieben und ich werde daraus nicht schlau. deswegen habe ich mich auf die suche nach anderen lösungmöglichkeiten gemacht.
(wegen devcon hier schon mal vergeblich angefragt)


edit:
etwas tiefer in msdn steht:
SetupDiChangeState
The SetupDiChangeState function is the default handler for the DIF_PROPERTYCHANGE installation request. This function changes the state of an installed device.
msdn.microsoft.com/l...483d698753ba.xml.asp
Sprint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 849



BeitragVerfasst: Di 14.12.04 22:46 
CodexX hat folgendes geschrieben:
wenn ich einstellungen eines netzwerkadapters (netzwerkkarte) in der registry ändere werden diese erst aktiv, wenn dieser adapter neu aktiviert wird. dh ich muss ihn deaktivieren und wieder aktivieren können oder am besten gleich restarten.

Such mal im Internet nach WMI und Win32_NetworkAdapterConfiguration.

_________________
Ciao, Sprint.
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Mi 15.12.04 01:05 
Luckie hat folgendes geschrieben:
Wenn es im DDK steht, dann vermute ich mal, dass du auch dafür einen Treiber brauchst.


Äh nein, Luckie. Im DDK stehen auch Sachen, die von Treibern benutzt werden können, das sind teilweise einfach ein paar Routinen der Native API. Wenns nur darum geht, einen Hardware zu deaktivieren sprich einen vorhandenen Treiber anzusprechen, braucht man dazu nicht gleich einen Treiber. ;)

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 15.12.04 05:19 
Ich habe ja auch geschrieben, dass ich es vermute. ;)
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Mi 15.12.04 15:37 
Hehe, OK :)

Ich bin ja auch ahnungslos und vermute es auch nur...

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind