An alle Profaner und Profanerinnen und besonders an Herrn Hüllsmann,
Ich glaube, daß das Problem beim Drucken das ändern des Standartdruckers in der Win.ini liegt.
Wenn der Standartdrucker bei WIN95 geändert wird ist in der Registrierungsdatenbank immer noch der alte Standartdrucker eingetragen.
Kann mit den folgenden Programmzeilen abgefragt werden.
-------------------------------------------------
Declare Drucker$,Treiber$,Port$
CLS
Let Drucker$=ReadIni$("HKEY_5","System\CurrentControlSet\Control\Print\Printers","Default")
Print "Druckername = "+Drucker$
Let Treiber$=ReadIni$("HKEY_2",Add$("System\CurrentControlSet\Control\Print\Environments\Windows 4.0\Drivers\",Drucker$),"Driver")
Print "Treiber = "+Treiber$
Let Port$=ReadIni$("HKEY_2",Add$("System\CurrentControlSet\Control\Print\Printers\",Drucker$),"Port")
Print "Port = "+Port$
WaitInput
-------------------------------------------------
Funktioniert aber bei NT4 nicht, da die Adressen dort anders lauten..
Was geschieht aber bei NT4 bei der es ja keine Win.ini mehr gibt ???????????
Es sollte bei 32Bit Programmen überhaupt in die Win.ini nichts mehr eingetragen werden sondern nur in die Registrie.
Hier gibt es eine tückische Falle im System:
Window muß die Einträge innerhalb der INI-Dateien und der Registrierung konstant halten. Bei jedem Systemstart liest Window die INI-Einträge und prüft, ob der betreffende Parameter in der Registrirung enthalten ist. Ist dies nicht der Fall, wird die INI-Einstellung in der Registrierung übernommen – der vorherige Wert wird damit überschrieben. Die einzige Lösung für dieses Problem besteht darin, daß Sie die betreffenden Einträge aus der INI-Datei entfernen und in die Registrierung verlagern.
Neue Win-32 Anwendungen benutzen keine INI-Dateien mehr, und Microsoft empfiehlt allen Entwicklern, zukünftig nur noch die Registrierung zu unterstützen, die das System betreffen.
Bitte um eure Meinung
MFG
Bernhard
|