keremg 10 Geschrieben 27. Januar 2009 Melden Teilen Geschrieben 27. Januar 2009 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 Zitieren Link zu diesem Kommentar
Lian 2.436 Geschrieben 27. Januar 2009 Melden Teilen Geschrieben 27. Januar 2009 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 :) Zitieren Link zu diesem Kommentar
keremg 10 Geschrieben 27. Januar 2009 Autor Melden Teilen Geschrieben 27. Januar 2009 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 Zitieren Link zu diesem Kommentar
Damian 1.550 Geschrieben 27. Januar 2009 Melden Teilen Geschrieben 27. Januar 2009 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 Zitieren Link zu diesem Kommentar
Gulp 260 Geschrieben 27. Januar 2009 Melden Teilen Geschrieben 27. Januar 2009 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 Zitieren Link zu diesem Kommentar
keremg 10 Geschrieben 27. Januar 2009 Autor Melden Teilen Geschrieben 27. Januar 2009 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!!! Zitieren Link zu diesem Kommentar
tramp 10 Geschrieben 28. Januar 2009 Melden Teilen Geschrieben 28. Januar 2009 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. Zitieren Link zu diesem Kommentar
keremg 10 Geschrieben 28. Januar 2009 Autor Melden Teilen Geschrieben 28. Januar 2009 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. Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 28. Januar 2009 Melden Teilen Geschrieben 28. Januar 2009 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 Zitieren Link zu diesem Kommentar
keremg 10 Geschrieben 28. Januar 2009 Autor Melden Teilen Geschrieben 28. Januar 2009 Hallo phoenixcp! Hallo KeremIch 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 Zitieren Link zu diesem Kommentar
tramp 10 Geschrieben 28. Januar 2009 Melden Teilen Geschrieben 28. Januar 2009 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). Zitieren Link zu diesem Kommentar
keremg 10 Geschrieben 28. Januar 2009 Autor Melden Teilen Geschrieben 28. Januar 2009 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 Zitieren Link zu diesem Kommentar
tramp 10 Geschrieben 28. Januar 2009 Melden Teilen Geschrieben 28. Januar 2009 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. Zitieren Link zu diesem Kommentar
keremg 10 Geschrieben 28. Januar 2009 Autor Melden Teilen Geschrieben 28. Januar 2009 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: 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 Zitieren Link zu diesem Kommentar
keremg 10 Geschrieben 30. Januar 2009 Autor Melden Teilen Geschrieben 30. Januar 2009 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.