![]() |
Re: TurboPascal Windows Benutzernamen anzeigen
Die Windows VXD Dinger haben seit jeher über den bösen "Exception (ungültiger Opcode) in VM" Weg eien API. Darüber kann man auch den Nutzernamen ermitteln. Ich werde heute Abend mal meine Bücher wälzen und das raussuchen.
|
Re: TurboPascal Windows Benutzernamen anzeigen
Zitat:
Mit Turbo Pascal 7 konnte man nur Realmodeanwendungen erstellen. Mit Borland Pascal 7 konnte man jedoch auch Windows 16bit Programme unter Dos erstellen -> Crosscompiler. -- Ich kann mich irgendwie erinnern, dass es für DOS Bibilotheken gab/gibt, die Windowsbibilotheken laden konnten, um lange Dateinamen anzeigen zu können. Vielleicht hilfts? |
Re: TurboPascal Windows Benutzernamen anzeigen
Abend!
Wir wärs, wenn Du Dir ein Mini NonVCL Windows Programm schreibst, welches Dein DOS Programm aufruft und den Benutzernamen als Parameter übergibt? |
Re: TurboPascal Windows Benutzernamen anzeigen
Netzwerke und Benutzernamen gab es durchaus schon unter Dos! Auch in nem "Singleuser"-Betriebssystem kann man sich an nem Netzwerk anmelden, zudem war nicht jedes Dos so... da gabs z.B. ConcurrentDos, auch kein schlechteres Multitasking als Win 3.1 ;)
Ich erinnere mich auch grob an Netzwerkprogrammierung unter TP7... leider hab ich das immer nur für Novell-Netze (sprich laufendem Novell-Client) gemacht, ich denke aber mal, hier dürfte es um Windows-Netze gehen. Für Novell Netware gab's da dicke Bücher direkt von Novell... für DOS selber auch das IBM Technical Reference Manual mit DOS-Interrupts, allerdings noch lange nicht modern genug für Netzwerkkrams... beides wahrscheinlich nicht mehr zu bekommen oder nur noch zu Sammlerpreisen, aber es gab irgendwann auchmal eine wirklich riesige "Datenbank" mit Infos zu so ziemlich jedem Software-Interrupt, den man sich nur vorstellen kann. Wie hieß die bloß? Ein wichtiges Suchstichwort dürfte auf jeden Fall Interrupttabelle sein... |
Re: TurboPascal Windows Benutzernamen anzeigen
Zitat:
Zitat:
Zitat:
Zitat:
![]() So, ich habe wohl zuviel versprochen. Die VxD's haben keine Möglichkeit den Usernamen zu ermitteln. Du kannst ja selber nochmal schauen: ![]() ![]() |
Re: TurboPascal Windows Benutzernamen anzeigen
Hallo,
man kann unter TP auch externe Programme mittels exec ![]() Mal schauen, ob mein Noteooki das kann. Gruß Horst |
Re: TurboPascal Windows Benutzernamen anzeigen
@Horst_
Daran hatte ich auch schon gedacht aber fand das bis jetzt nicht so die saubere Lösung eine Temporärdatei dafür zuverwenden. @Muetze1 Also die Interrupt Liste hatte ich auch schon mal gesehen jedoch scheitert es bei mir an der Assembler Programmierung. So das ich nicht genau weiß wie ich den Befehl absetzte bzw. das Ergebnis einlesen kann. |
Re: TurboPascal Windows Benutzernamen anzeigen
Mehr "Assembler" als in der von Dir selber eingangs geposteten Funktion brauchst Du dazu meist gar nicht. Such mal in der Liste nach dem Interrupt mit den Parametern, die Dein Beispiel enthält, dann dürfte Dir die Analogie klarwerden ;)
![]() AX = word; AH & AL sind dessen beide bytes (high & low), dein AH = $5E und AL = $00 entspricht als AX = $5E00. Und Du löst Interrupt 21 aus. Du musst also "nur" noch die Funktion für "GET USER NAME" (wahrscheinlich anders beschrieben, sonst wäre es ja zu einfach) für Deine Umgebung finden und ziemlich parallel dazu umsetzen. |
Re: TurboPascal Windows Benutzernamen anzeigen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz