Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[HowTo] QBasic das dt. Tastenlayout beibringen (Vista/Seven)

 
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 23.06.2007, 19:38    Titel: [HowTo] QBasic das dt. Tastenlayout beibringen (Vista/Seven) Antworten mit Zitat

Hallo,

Tjoar, ich wollte etwas für die reibungslose Arbeit mit Q(uick)Basic beitragen.

Microsoft hat ja ein Betriebssystem, das auf den Namen "Vista" hört, veröffentlicht. Dieses Betriebssystem ist bislang das erste von MS, welches komplett im "Mutterland" übersetzt wurde. Das merkt man nicht nur an die stellenweise grausige Übersetzung bestimmter Wortteile ( zwinkern ), sondern leider auch an der (wie ich finde) mangelhaften "Verpflegung" der 16bit-Emulation: Standardmäßig wird jedes DOS-Programm mit englischem Tastaturlayout ausgeführt. Für User mit QWERTZ-Tastatur ist das sicherlich nicht erwünschenswert

Nun denn, es gibt zwei Mittel, wie man das Problem lösen könnte. Die erste Möglichkeit ändert das Tastaturlayout nur temporär (d.h. nach einem Neustart ist das Problem mit der "Engländertastatur" wieder da), während die zweite Möglichkeit vorrübergehend Administratorrechte benötigt. Am Ende der Beschreibung (und sicherheitshalber nochmal am Ende dieses Beitrags) wird auf ein Progrämmchen von mir gelinkt, welches per Mausklick das Procedere automatisch durchführt.

  • Möglichkeit 1
    Unter Vista gibt es keinen "keyb"-Befehl mehr. Der Befehl wurde schlicht in "kb16" umbenannt, funktioniert aber genauso, wie damals unter Windows 9x & Co. der Fall war: In der Kommandozeile (Die man im Startmenü durch den Startknopf links unten -> "(Alle) Programme" -> Zubehör" -> "Eingabeaufforderung" aufruft) muss man KB16 GR eingeben. Sollte nach dieser Eingabe eine Fehlermeldung erscheinen, muss man möglichweise den Pfad der "keyboard.sys" mitangeben. Dann ist stattdessen die Eingabe von KB16 GR,,%SystemRoot%\system32\keyboard.sys erforderlich.
    Vorteil: Es werden keine Administratorrechte benötigt.
    Nachteil: Aus irgend einem Grund speichert Vista diese Belegung nicht. Spätestens nach einem Neustart benimmt sich Vista so, als hätte man den Befehl nie eingetippt.
  • Möglichkeit 2
    Auch unter Vista existiert noch sowas ähnliches wie eine "autoexec.bat", nur heißt die in Vista "autoexec.nt" und befindet sich im "System32"-Ordner, der sich wiederrum in dem Order befindet, in dem Vista installiert wurde (meist ist das "Windows"). Dieser Datei kann man nun einfach den in Möglichkeit 1 beschriebenen Befehl hinzufügen. Na gut, ganz so einfach ist es leider doch nicht: Vista besitzt diese UAC-Funktionalität, was u.a. dafür sorgt, dass es Schreibzugriffe auf geschützte Ordner umleitet - "windows" und "system32" sind geschützter Ordner. Würde man nun irgendein Schreibprogramm ("notepad") an die Datei lassen, werden gespeicherte Veränderungen ganz woanders gespeichert und es tritt keine Änderung des Tastenlayouts ein. Dummerweise klärt Vista den Benutzer über den veränderten Schreibzugriff nicht auf, weshalb man sich nach einem Neustart wundert, warum das Tastenlayout immer noch auf QWERTY gestellt ist.
    Das Problem lässt sich beheben, in dem man das Schreibprogramm als Administrator startet: Ihr geht auf den Start-Button unten links und navigiert zu "(Alle) Programme" -> "Zubehör". Nun klickt mit der rechten(!) Maustaste auf "Editor" und wählt im Kontextmenü "Als Administrator ausführen..." aus. Den UAC-Dialog bestätigen wir. Nun kann man ganz normal die "autoexec.nt" editieren und den KB16-Befehl an der allerletzten Zeile eintragen. Nun ist nur noch ein Neustart fällig (bzw. das in Methode 1 gezeigte Procedere), damit Vista dauerhaft das deutsche Tastenlayout für 16bit-Konsolenprogramme eingestellt hat.
  • Möglichkeit 2b
    Ganz ehrlich: Die gerade beschriebene Methode funktioniert zwar, ist warum sollte man so viel herumfrickeln, wenn man das Ganze mit einem Programm erledigen kann, was die Prozedur automatisiert übernimmt? Deshalb habe ich ein kleines Progrämmchen geschrieben, was diese Prozedur vollautomatisch übernimmt: Klick mich, ich bin ein Link *click*. In diesem 200KB-ZIP-Archiv befindet sich ein Programm, welches Adminrechte benötigt, um ausgeführt zu werden. Sind keine Adminrechte da, fragt Vista nach der typischen Art und Weise zwinkern *. Beim Start fragt es sicherheitshalber ab, ob man die Änderungen wirklich übernehmen möchte, und informiert über Erfolg und Misserfolg der Sache. Die andere Datei (eine ".au3"-Datei) ist der Quellcode des Programms; da das Programm eine vergleichsweise geringe "Schöpfungshöhe" besitzt, dürft ihr mit dem Quellcode machen, was ihr wollt grinsen . Auf alle Fälle sorgt es dafür, dass in der "%systemdir%\system32\autoexec.nt" eine neue Zeile eingefügt wird, die für die Tastenänderung sorgt. Der Nachteil dieser Sache ist, dass Adminrechte benötigt werden. Dafür ändert dieser Eintrag dauerhaft das Tastaturlayout für DOS-Programme auf deutsch um.
    Hinweis: Gelegentlich ist auch noch ein Neustart vonnöten, aber spätestens dann ist das Problem endgültig behoben.


Tjoar... Ich hoffe, dieser Beitrag hilft allen Vista-Usern, die von der englischen Tastenbelegung ihrer DOS-Programme (wie Q(uick)Basic es ist) die Nase voll haben... Ich verbleibe mit freundlichem Gruß happy

* Der UAC-Dialog wird höchstwahrscheinlich eine Meldung "Ein nicht identifiziertes Programm möchte auf Ihrem Computer zugreifen" mit gelber Umrandung anzeigen. Hier kann man problemlos auf "Zulassen" klicken. Ich kann versichern, dass ich in dem Programm weder einen Virus noch sonst irgendein Schad- oder Spionageprogramm integriert habe zwinkern . Gelegentlich melden sogar Virenscanner, dass es sich um einen Virus handeln könnte, in diesem Fall handelt es sich jedoch um falschen Alarm: Es gibt Viren, die mit AutoIt (der Sprache, mit der ich das Progrämmchen geschrieben habe) geschrieben wurden und manche Virenscanner gehen zu restriktiv gegen andere AutoIt-Programme vor. Wer ganz sicher gehen will, kann natürlich auch das mitgelieferte Script selbst kompilieren...


Hier nochmal das Programm für alle, die sich nicht durch den gesamten Beitrag wühlen möchten zwinkern
dtlayvis.zip


Version vom 24.06.2007.

Nachtrag vom 19.01.2008: Einige Infos ergänzt, außerdem sollte das Programm gleich die Tastenänderung direkt verändern können, ohne Vista neu starten zu müssen.

Nachtrag vom 18.01.2009: Das Programm funktioniert auch unter Windows Seven Beta 1 korrekt! Es gibt zwar eine Warnmeldung, dass sich das System nicht als Vista-Betriebssystem zu erkennen gibt, die kann man aber getrost ignorieren. Sobald die finale Version von Win7 draußen ist, werde ich das Programm entsprechend so bearbeiten, dass die Warnung unter Win7 nicht mehr angezeigt wird.


Zuletzt bearbeitet von Manuel am 18.01.2009, 19:41, insgesamt 5-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz