DevCon98
Microsoft hat 2001 als Beispiel den Quelltext von „devcon“ im Windows DDK veröffentlicht.
Das Tool nehme ich seit langem unter Windows 2000 und XP auf meinem Notebook, um per Batch zwischen WLAN und LAN umzuschalten und (beruflich) für die Vorinstallation der USB-Treiber unserer Geräte.
Nun hatte ich mal wieder mit Windows 98 zu tun. Der gute alte DOS-Extender, für den Herr Gates in „South Park der Film“ erschossen wurde funktioniert auf manchen aktuellen Boards noch erstaunlich gut.
Er bootet problemlos aus einer Syslinux memdisk vom USB-Stick und ist abgespeckt weniger als 30MB groß. Auch Opera und Thunderbird laufen ohne mullen und knullen. Lizenzen gibt’s günstig beim freundlichen Schrotthändler und aktiviert werden will das System nicht.
Ideal für einen USB-Surfstick! 😀
Aber: Wenn man die Netzwerkparameter ändern muss, will Windows 98 leider neu gestartet werden. 😥 Das nervt!
Hier kommt devcon ins Spiel damit kann man die Netzwerktreiber neu starten („devcon restart =net“) und alles geht wieder…
NUR leider hat Microsoft ein paar Hürden gebaut:
- devcon benutzt Funktionen des SetupAPI. In Windows 2000/XP sind die meisten(/alle?) dieser Funktionen in SetupApi.dll implementiert. In Windows 98 waren die noch in CfgMgr32.dll drin.
- In Windows 2000/XP ist die Struktur SP_DEVINFO_LIST_DETAIL_DATA abhängig von MAX_PATH (==260 Zeichen). In Windows 98 ist sie von MAX_COMPUTERNAME_LENGTH (==31 Zeichen) abhängig.
Dadurch geben Funktionen, die diese Struktur brauchen in Windows 98 einen Fehler zurück. - devcon ist ein Konsolenprogramm. In einem minimalen Windows 98 gibt es aber keine Konsole.
Ich habe kurzer Hand ein Visual Studio Projekt erstellt, die Ressourcen konvertiert, den Quelltext so geändert, dass er nur noch die lokale Maschine benutzt, je nach Compileroption die neuen oder alten Strukturen einbindet und so unter Windows 98 funktioniert.
Ein Win32 (==nicht Konsole) Build gibt es jetzt auch.
Vollständig getestet wurde das modifizierte devcon nicht, aber die Sachen, die ich brauche funktionieren. 😀
Falls das noch jemand braucht, packe ich’s mit Quellen hier ins Netz.
Folgende vorkompilierte Dateien sind neben den Quelltexten und der Mini-Doku im Zip:
Datei | für: | |
DevConNT.exe | Windows 2000/XP Win32 | |
DevConNTc.exe | Windows 2000/XP Konsole | |
DevConC.exe | Windows 98 Konsole | |
DevCon.exe | Windows 98 Win32 |
Download der geänderten Quelltexte und ausführbaren Dateien:
Nur zur Klärung: devcon ist ein Beispiel-Programm von Microsoft. Ich habe es nicht programmiert, sondern nur an Windows 98 angepasst.