Jump to content

Device Remover - Erweiterter Gerätememanager für Windows


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Windows Gemeinde,

 

seit längerem arbeite ich an einem erweiterten Gerätemanager für

Windows 2000/XP/Vista/Win7. Zwar befindet sich das Programm noch

in der in der Testphase, bzw. im Debugging, aber es hat schon einen

sehr mächtigen Funktionsumfang und sehr viele Features, die es für

Admins, Entwickler und versierte Benutzer interessant machen. Das

Program ist absolut Freeware und Teile daraus sind sogar Open-Source!

 

Wie bereits erwähnt, handelt es sich dabei um einen erweiterten

Gerätemanager mit umfangreichen und lleistungsstarken Features, die

dem Gerätemanager von Windows fehlen bzw. in ihm nicht vollständig

implementiert sind. Alle Funktionen hier aufzuzählen, würde den Rahmen

stark sprengen und in einem eigenen Buch enden! :D

 

Das Program kann von meiner Seite bezogen werden und benötigt

das .NET Framework in der Version 2 oder höher um zu laufen:

 

Device Remover - The Powerfull Device Manager

 

Über eure Rückmeldungen, Anregungen und Kritiken würde ich

mich sehr freuen,...ich wünsche viel Spaß beim ausprobieren!

 

Anbei möchte ich bemerken, das es eigentlich nicht erlaubt ist, seine

Software hier zum Testen zur verfügung zu stellen und ich dies nur mit

Rücksprache von Herrn Dr.Melzer (Moderator) darf und Ihm für die Erlaubnis

und die Unterstützung hierbei sehr dankbar bin! Besondere Grüße und

Dank an Herrn Dr.Melzer,...:)

 

Grüße

 

Kerem

Link zu diesem Kommentar
Hallo Kerem und Willkommen an board,

 

die Vorstellung eines eigenen Tools ist ein guter Einstand :thumb1:

Danke für die Rücksprache mit einem Mod.

 

Ich habe mir bis jetzt nur einen Überblick über Deine Tools verschafft, ich denke, die muss ich mir mal genauer ansehen :)

 

Hallo Lian,

 

danke für das Willkommen! Ja, die Entwicklung ist meine Passion und

besonders die Entwicklung von Werkzeugen für Admins, Entwickler und

Poweruser im besonderen. Über die Jahre hinweg sind während meiner

Arbeit und Entwicklung Werzeuge entstanden, die ich jedem interesierten

zugänglich machen will, da jeder was davon haben soll, nicht nur ich und

unser Insider-Kreis von Entwicklern und Admins! Die meisten meiner Tools

sind entweder Freeware, oder Open-Source, so das u.U. ein Interessent

das Werkzeug für sich anpassen kann,...

 

 

Grüße

 

Kerem

Link zu diesem Kommentar
Hi Kerem.

 

Für die Dauer der Testphase habe ich deinen Beitrag hier oben festgenagelt. So geht er nicht unter und Du kannst fleißig Feedback sammeln. :)

 

Damian

 

Super, danke!!!:thumb1:

Mächtiges Teil muss ich sagen, für Unbedarfte allerdings etwas over-sized (ist ja auch nicht die Zielgruppe), jetzt heisst's "Entdecke die Möglichkeiten ......" ;)

 

Grüsse

 

Gulp

 

Danke, ja das Werkzeug richtet sich hauptsächlich an Entwickler, Admins und

Poweruser die maximale Kontrolle über die Geräte, Treiber und Dienste haben

wollen. Einige der besonderen Highlights sind die Suchfunktion für Geräte,

Treiber und Dienste. Über das "restarts" Tool (Quellen liegen frei auf Microsoft

Codeplex, nach dem ich mehrmals gefragt wurde, wie "das" und "jenes" geht,

habe ich es dann Open-Source gemacht!) kann man Prozesse wie das

aktivieren, deaktivieren, etc, von Diensten und Treiber automatisieren. Der

Device Remover und die beiliegenden Werkzeuge stellen eine mächtige

Grundlage zur Geräte, Treiber und Dienstekontrolle/Verwaltung dar,...

 

Hier kannst Du mal schauen, ob das "restarts" für dich was tun kann:

 

restarts - Command Line Windows Services Controlling Application - Home

 

und gleich auch zu dem "verinfo" was dbaei liegt:

 

verinfo - File/PE-Image Version Information Application - Home

 

Quellen lliegen alle auf dem Server bei Microsoft. Wer will kann sie modifzieren

nach GNU GPL3,...

 

Das ist sind eigenständige Projekte, aber ich habe diese eingebaut, damit

man auf die schnelle ganze Dienstegruppen und Treiber auf einen Schlag

entweder per Kommandozeile oder Script aktivieren, deaktivieren, etc kann

und nach Versionsinformationen abfragen. Das "verinfo" kommt mit einem

eigenen Debugger (Experimentell) und einigen weiteren zusätzlichen

Werkzeugen...ein Blick lohnt!

 

 

Grüße

 

Kerem

Hi Kerem.

 

Für die Dauer der Testphase habe ich deinen Beitrag hier oben festgenagelt. So geht er nicht unter und Du kannst fleißig Feedback sammeln. :)

 

Damian

 

Super, danke!!!

Link zu diesem Kommentar

Hallo,

ich würde ja gerne testen, aber die Installation bricht sofort ab mit:

Ereignistyp: Informationen

Ereignisquelle: Application Popup

Ereigniskategorie: Keine

Ereigniskennung: 26

Beschreibung:

Anwendungspopup: Just-In-Time-Debuggen: Eine Ausnahme 'System.IO.FileLoadException' ist in DefaultDomain aufgetreten.Es sind keine Debugger registriert, die diese Ausnahme debuggen können. JIT-Debuggen nicht möglich.

 

Mein PC:

XP SP3 mit .NET 1.1, 2.0 SP1, 3.0,

angemeldet als administrator.

Link zu diesem Kommentar
Hallo,

ich würde ja gerne testen, aber die Installation bricht sofort ab mit:

Ereignistyp: Informationen

Ereignisquelle: Application Popup

Ereigniskategorie: Keine

Ereigniskennung: 26

Beschreibung:

Anwendungspopup: Just-In-Time-Debuggen: Eine Ausnahme 'System.IO.FileLoadException' ist in DefaultDomain aufgetreten.Es sind keine Debugger registriert, die diese Ausnahme debuggen können. JIT-Debuggen nicht möglich.

 

Mein PC:

XP SP3 mit .NET 1.1, 2.0 SP1, 3.0,

angemeldet als administrator.

 

Hallo tramp!

 

Bricht die Installation ab, oder der Startvorgang? Was meinst Du genau:

Kannst Du bitte einen Screenshot machen und hier zeigen,...

 

Grüße

 

K.

Link zu diesem Kommentar

Hallo Kerem

 

Ich bin grade dabei mir deinen Device Remover anzuschauen. Aktuell ergeben sich für mich die folgenden Auffälligkeiten:

1. Die Application Debugging Console wird sicherlich in der RTM-Version nicht mehr vorhanden sein oder? :)

2. Wenn ich ein Device per "Remove Selected" entferne, ist es dann zwingend notwendig den kompletten Devicetree neu aufzubauen? Ich kenn jetzt den Code im Hintergrund nicht mit dem du den Tree aufbaust bzw. verwaltest, aber aus meiner Sicht finde ich das ein wenig oversized. Vielleicht findest du ja hier noch ne Möglichkeit, da was zu optimieren.

 

Eine Frage am Rande: Darf ich mich nach der Entwicklungsumgebung und der Sprache erkundigen, in der du den Device Remover entwickelt hast?

 

Ansonsten auf den ersten Blick in 25 Minuten::thumb1:

 

Gruß

Carsten

Link zu diesem Kommentar

Hallo phoenixcp!

 

Hallo Kerem

Ich bin grade dabei mir deinen Device Remover anzuschauen. Aktuell ergeben sich für mich die folgenden Auffälligkeiten:

1. Die Application Debugging Console wird sicherlich in der RTM-Version nicht mehr vorhanden sein oder? :)

 

Die Konsole kann man in dem Menü "Hauptmenü"->""Options"->"ShowAlwaysCONSOLETOPMAXOnDeviceRemoverStartup" abschalten. Die ist eigentlich nur Default "True", damit beim ersten Start irgendwelche schweren Fehler eingesehen werden können. Die kannst Du ruhig abschalten, oder aber auch per Kommandozeile zuschalten (Schau mal auf die Webseite unter den Kommandozeilen-Optionen)

 

 

2. Wenn ich ein Device per "Remove Selected" entferne, ist es dann zwingend notwendig den kompletten Devicetree neu aufzubauen? Ich kenn jetzt den Code im Hintergrund nicht mit dem du den Tree aufbaust bzw. verwaltest, aber aus meiner Sicht finde ich das ein wenig oversized. Vielleicht findest du ja hier noch ne Möglichkeit, da was zu optimieren.

 

Das ist eine Notwendigkeit, da sonst nach einem Löschen eines oder mehrer Gerätes die Abbildung des sog. Device Information Set auf die Liste des Programmes nicht mehr stimmt. Ohnehin ist die Verwaltung des Trees schon hart an der Grenze zum Wahnsin, da man alle möglichen und unmöglichen Zustände von Geräten im System berücksichtigen muss. Nach dem entfernen eines, oder mehrer Geräte wird dann ein aktueller Snapshot aus dem DIS (Device Information Set) Zustand des Computers gemacht und dieser dann auf die Liste abgebildet. Der Windows Gerätemanager macht das auch, aber das geht halt bei dem viel schneller, da der nur die einfachen Gerätenamen anzeigt und die sind mit einem Schlag holt, im Gegenstz zu der Masse an Daten im DR. Obwohl die Afbauroutinen schon stark optimiert sind (Threading, Preferred Processor Affinity, intelligente Rekursion, Case-Branching, etc....) ist der Aufbau natürlich etwas langsamer als der des einfachen Gerätemanagers.

 

 

Eine Frage am Rande: Darf ich mich nach der Entwicklungsumgebung und der Sprache erkundigen, in der du den Device Remover entwickelt hast?

 

Ja klar, die Oberfläche ist in C++.NET und Teils in C# (Runtime 2.0 damit es auch auf Windows 2000 läuft) geschrieben, die Libraries, d.h. die Helper Library is zum größten Teil in C geschrieben (kein C++ und OOP, da das etwas anders im Disassembly/Debugging gehandhabt wird, auch auf unterster Ebene wollte ich Performance und Konformitiät!), bestimmte Blöcke wie z.B. auslesen von Prozessordaten ist in Assembler geschrieben (CPUID, EFLAGS, etc,..). Der Kernel Treiber ist in seiner Struktur (DriverEntry, IOCTL-Dispatch, etc) in C (Windows DDK) geschrieben, einige Interna sind in Assembler geschrieben, weil einige Sachen nicht anders gehen, oder schneller gehen. Die Helper Tools sind auch in C/C++, C#, VB.NET (einige Komponenten) und ganz kleine Teile in Assembler. Unwesentliche Dinge wie HTML/CSS und JavaScript beinhaltet das auch (verinfo html ausgabe), aber das ist "unwesentlich" ;) Wenn Du sehen willst, was ich meine, dann mach mal das in der verinfo Konsole (Pfade natürlich anpassen!):

 

verinfo -d C:\Windows\system32\drivers\*.sys -md5 -html > C:\WindowsDriversDirectorySYSFiles.html

 

 

 

Ansonsten auf den ersten Blick in 25 Minuten::thumb1:

ch wirklich gut funktionieren und bracuhbar sein: Hast Du mal das WMI Interface benutzt. Ich spiele damit immer gerne auf fremden Rechnern rum, um mir immer die internen Daten der PCs anzusehen, wie z.B. Biosversion, Typ, Hersteller, etc,...

 

 

Grüße

 

Kerem

Link zu diesem Kommentar
Hallo tramp!

 

Bricht die Installation ab, oder der Startvorgang? Was meinst Du genau:

Kannst Du bitte einen Screenshot machen und hier zeigen,...

 

Grüße

 

K.

 

Hi,

der Fehler tritt sofort auf, wenn ich von einem Netzlaufwerk aus die Datei "Device Remover.exe" anklicke.

Inzwischen habe ich herausgefunden, dass Dein Programm korrekt läuft, wenn ich es lokal ausführe (mein Netz ist in der lokalen Sicherheitszone drin).

Link zu diesem Kommentar
Hi,

der Fehler tritt sofort auf, wenn ich von einem Netzlaufwerk aus die Datei "Device Remover.exe" anklicke.

Inzwischen habe ich herausgefunden, dass Dein Programm korrekt läuft, wenn ich es lokal ausführe (mein Netz ist in der lokalen Sicherheitszone drin).

 

Hallo,

 

es ist nicht für den Einsatz im Netzlaufwerk bestimmt und so ist das Design auch nicht konzipiert. Es ist ausschliesslich für den lokalen Einsatz auf einem PC bestimmt. Du kannst in einer Zukunftsversion aber WMI Abfragen über das Netzwerk aufrufen um an daten von einem Fremnden Rechner zu kommen. Das ist ein wirklich mächtiges Werkzeug, was Du dann noch zusätzlich dazu hast,...

 

Grüße

 

Kerem

Link zu diesem Kommentar
Hallo,

 

es ist nicht für den Einsatz im Netzlaufwerk bestimmt und so ist das Design auch nicht konzipiert. Es ist ausschliesslich für den lokalen Einsatz auf einem PC bestimmt. Du kannst in einer Zukunftsversion aber WMI Abfragen über das Netzwerk aufrufen um an daten von einem Fremnden Rechner zu kommen. Das ist ein wirklich mächtiges Werkzeug, was Du dann noch zusätzlich dazu hast,...

 

Grüße

 

Kerem

 

 

Einleuchtend, aber eine sinnvollere Fehlermeldung wäre sicherlich möglich :-)

 

Die Möglichkeiten des Programms muss ich erst noch erforschen.

 

Vielen Dank.

Link zu diesem Kommentar
Einleuchtend, aber eine sinnvollere Fehlermeldung wäre sicherlich möglich :-)

 

Die Möglichkeiten des Programms muss ich erst noch erforschen.

 

Vielen Dank.

 

Leider nicht, da das Betriebssystem keine sinnvollere Fehlermeldung

zurückgibt. Das ist ungefähr so, wenn Du zum Arzt gehst und sagst:

"Herr Doktor, ich habe Bauchschmerzen, was kann das sein?" Da gibt

es aus dem Standpunkt des Arztes ettliche Möglichkeiten, aber leider

kann er keine konkrete Diagnose stellen, da deine Aussage zu "ungenau ist".

Genau so ist das auch der Fall mit der Fehlermeldung, die besagt, "Es gab

einen Ein/Ausgabe Fehler beim starten des Device Removers." Und der

Fehler wird noch vor dem starten des DR erzeugt. Stürtzt etwas im DR

selber ab, bekommst Du eine detaillierte Fehlermeldung, von der eigenen

Exception Report Engine des DR, siehe hier:

 

 

 

dummy_exception.jpg

 

 

 

Das kannst Du selber ausprobieren, in dem Du unten in dem "Enter Command:"

mal "tde" eingibst und das Fenster oben dir angezeigt wird,...

 

Wenn so was passiert, kannst Du mir direkt daraus eine Email

schicken (wenn email client vorhanden und konfiguriert!) oder den

Text speichern und dann später zukommen lassen....

 

Grüße

 

Kerem

Link zu diesem Kommentar

Hallo,

 

einige Verbesserungen und Fixes wurden gemacht:

 

- das dynamisch aufbauen des "User defined Tools" Menüs wurde etwas

verschnellert und nun findet es noch mehr ausführbare Dateien, in dem

es systematisch die registry nach potentiellen Orten für eine Datei absucht.

Für den, der es noch nicht kennt, der kann mir kurz schreiben, dann bekommt

Ihr eine einfache Erklärung wie und was man in die XML Datei einzutragen

hat, aber hier ein erklärender Auszug aus meiner eigenen XML Datei:

 

<?xml version="1.0" encoding="utf-8"?>
<DeviceRemover version="1.0">
 <ApplicationStartup>
   <CheckForNewDeviceRemoverReleasesOnStartup value="True" />
   <AllowSingleInstanceDeviceRemoverOnly value="True" />
   <ShowAlwaysCONSOLETOPMAXOnDeviceRemoverStartup value="True" />
   <ApplicationStartupProcessPriorityClass value="32768" />
 </ApplicationStartup>
 <InternetConnection>
   <UseProxyServerForInternetConnection value="False" />
   <ProxyServerConnectionPort value="8118" />
   <ProxyServerIPOrDNSAddress value="localhost" />
 </InternetConnection>
 <ApplicationUserInterface>
   <DontShowApplicationToolTipBallons value="False" />
 </ApplicationUserInterface>
 <ApplicationUserDefinedTools>
   <!--Sample entry for the user defined menu that will be build under "MainMenu"->"Tools"->"User defined Tools"
   Each tool XML Node entry will create a new menu Item under this menu in the main windows user defined tools menu.
   The Files path must be absolute and available or the menu will show a standard icon for the file and possibly
   wont execute the application if the xecutable cant be executed from the users and machines environment. Please
   take care with the entries and its settings!!! If you miss something or make any invalid entries the applications
   configuration file will be rendered useless!
   -->
   <Tool name="Microsoft Internet Explorer" path="iexplore.exe" parameters="" description="Microsoft Internet Explorer" />
 </ApplicationUserDefinedTools>
</DeviceRemover>

 

Bitte die Datei NACH dem schliessen vom DR editieren! Der Ordner kann über

das Config Menü geöffnet werden: "Tools->Application" und dann sieht man

es auch schon,..

 

- diverse Bugfixes im WMI Query Interface (Tools->System->Show WMI/WQL Interface)

 

-man kann in dem WMI/WQL Interface (zweites tab!) nach einer Klasse oder

einer gruppe von Klassen suchen

 

- man kann nun nach gefilterten Treibern im System suchen (Tools->System->Show filtered Devices), siehe Buttons Links unten

 

-es besteht nun auch die möglichkeit nach einem Mounted Device im System

zu suchen (Tools->System->Show mounted Devices), siehe Dropdown-Menü

wenn man auf eines der Devices mit der rechten Maustaste klickt

 

- verbesserte Fehlerübersetzung, incl. NTSTATUS Codes von Treibern (Tools->Application->Translate Error Codes)

 

- intergartion eines neuen "restarts" Builds mit einigen Bugfixes im Tool(Tools->Application->restarts ...), das gleiche gilt für das "verinfo" und "verinfodbg"

Tool,...

 

-shortcut keys für folgende tools (alle werden mit vollen adminrechten

und OHNE UAC gestartet, alleine deswegen kann man schon den DR starten

und dann ins tray schicken, da im tray-menü die drei Optionen auch liegen,

wenn man mit der rechten Maustate draufklickt:

 

Program wird in das tray geschickt mit "View->Send device Remover to Tray"

oder man klickt auf die fensterleiste des Hauptfensters und von dort dann.

 

Windows Ausführen Dialog = F10

Windows Kommandozeilen Console = F11

Windows Taskmanager (oder Ersatzvom System eingerichtet) = F12

 

- diverse Bugfixes im Kerneltreiber und der Schnittstelle dazu (IOCTL's)

 

 

Zu beziehen entweder über Update (Help->Check for Updates) oder vollen

Installer: Device Remover - The Powerfull Device Manager

 

Viel Spaß,...!

 

 

Grüße

 

Kerem

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...