![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
Hi,
ich bastel gerade an einem Prog, welches u.a den Computernamen ermitteln soll. Jetzt habe ich aber schon vergeblich in der Hilfe & auch hier im Forum nach einem Hinweis gesucht, in welcher Systemvariablen dieser Name steht... Ist das so simpel, das ich den Wald....? oder geht das mit xProfan 8a nicht ohne weiteres? Danke & Grüße Jörg |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Hallo Jörg,
das ist über die Environment-Variablen leicht auszulesen: Code:
Print GetEnv$("COMPUTERNAME")
WaitInput
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#3 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahh!
Hi Frank, jo Danke. In der ProfanHilfe selbst ist zu diesem Thema nur getEnv$("path") erwähnt, aber da gibt es ja noch Dietmars Lehrbücher. Dort finde ich sicherlich die anderen getEnv$("nützlichen Sachen"). Bin gerade auf Arbeit & habe Dietmar z.Zt. nur zu Hause Installiert... Danke & angenehme Feitage Jörg |
|
|
|
|
|
#4 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Dau kannst auch die API verwenden.
Code:
Proc GetComputerName
Declare NAME#,size#,RESULT$
Dim name#,255
Dim size#,4
Long size#,0=255
External("Kernel32","GetComputerNameA",name#,size#)
result$=String$(name#,0)
Dispose name#
Dispose size#
Return result$
endproc
CLS
Print GetComputerName()
waitkey
Code:
Def GetUserNameEx(3) ! "secur32","GetUserNameExA" cls declare un# var size& = 100 dim un#,100 GetUserNameEx(2,un#,addr(size&))+" " print string$(un#,0) waitinput
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#5 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Die Methode von Bangkok ist auf jeden Fall vorzuziehen.
Warum: GetEnv$ liest über die API GetEnvironmentVariable die Umgebungsvariablen des jeweiligen Prozesses aus. Umgebungsvariablen sind im Prinzip nur Variablen, die innerhalb eines Prozesses auf einem bestimmten Wert sein können. Die Variablen können jederzeit geändert werde, ohne das sich der Wert verändert, der sich dahinter befindet - wenn man ein klein bischen programmieren kann, kann man das problemlos auch von einem fremden Prozess aus tun. Hier noch Code als Beleg: Code:
Declare Variable$, Wert$, Computername#, Size&
DIM Computername#, int($F+2)
Clearlist
Addstring "Vor der Änderung mit GetEnv$ ausgelesen: " + GetEnv$("COMPUTERNAME")
Variable$ = "COMPUTERNAME"
Wert$ = "Blödsinn"
external("Kernel32","SetEnvironmentVariableA",addr(Variable$),addr(Wert$))
Addstring "Nach der Änderung mit GetEnv$:" + GetEnv$("COMPUTERNAME")
Size& = int($F+1)
external("Kernel32","GetComputerNameA",Computername#,addr(Size&))
Addstring "Computername über GetComputerName nach der Änderung ausgelesen: " + String$(Computername#,0)
Dispose Computername#
EditBox("Ergebnisse",1)
Zitat:
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
|
#6 (Direktlink) | |
|
Weiß worum´s geht
![]() Registriert seit: 02.09.2009
Ort: Bayern
Alter: 36
Beiträge: 148
|
Zitat:
Aufpassen, nicht jede der Variablen existiert unter jedem Betriebssystem... |
|
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Die angesprochen Variable %COMPUTERNAME% existiert zum Beispiel nicht auf Windows98.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#8 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Ist nichtsdestotrotz eine schnelle Möglichkeit den Namen auszulesen. Windows 98 ist ja auch schon ein alter Hut.
Wenn es ganz sicher sein soll, kann die API verwandt werden.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Die einfachste und die schnellste - die Methode über die API ist aber auf jeden Fall die bessere.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| DDR Ram Speicher ermitteln | Tight-Girl | Hardware - Problemlösungen | 2 | 19.06.2008 12:04 |
| Bildgröße ermitteln | Green Ali3n | PHP/MySQL | 2 | 17.10.2006 22:23 |
| Arbeitspeicher ermitteln | rawie87 | Allgemein | 4 | 11.09.2005 10:53 |
| Leistung des PC ermitteln? | AndreasM | Software - Allgemein | 2 | 31.05.2005 19:37 |
| Computername zu IP-Adresse in Netzwerk anzeigen | Der Maier | Netzwerke | 8 | 09.08.2004 12:58 |