Speichern von Fensterpositionen in eine INI Datei und wieder auslesen
.
Hallo Zusammen,
Ich habe als völliger Programmier Neuling folgendes Prolem.
Ich möchte in einem VBS Script folgenden Code einfügen, um die Festerposition nach dem schließen zu speichern und beim nächste starten soll es sich die Position aus einer INI Datei holen.
Ist dieser Code denn noch VBS, oder als welche Datei muss der Code gespeichert werden?
Wie gesagt, ich habe von Programmieren überhaupt keine Ahnung, aber ich versuche mein bestes um es zu lernen
und hoffe Ihr könnt mir dabei behilflich sein.
Hier der Quellcode:
Hallo Zusammen,
Ich habe als völliger Programmier Neuling folgendes Prolem.
Ich möchte in einem VBS Script folgenden Code einfügen, um die Festerposition nach dem schließen zu speichern und beim nächste starten soll es sich die Position aus einer INI Datei holen.
Ist dieser Code denn noch VBS, oder als welche Datei muss der Code gespeichert werden?
Wie gesagt, ich habe von Programmieren überhaupt keine Ahnung, aber ich versuche mein bestes um es zu lernen
und hoffe Ihr könnt mir dabei behilflich sein.
Hier der Quellcode:
'Beispiel : INI-Dateien schreiben und lesen. Letzte Fensterposition beim
' beenden des Programms speichern, und bei einem Neu-
' start des Programms an dieser Fensterposition wieder posi-
' tionieren.
Private Declare Function WritePrivateProfileString Lib "kernel32" _
Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) _
As Long
Private Declare Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) _
As Long
Private Sub Form_Load()
Dim sRet As String
Dim lRet As Long
sRet = String$(60, 0)
lRet = GetPrivateProfileString("Fensterposition", "Links", "0", sRet, 60, App.Path & "\" & App.EXEName & ".ini")
If lRet > 0 Then
sRet = Left$(sRet, lRet)
If IsNumeric(sRet) Then
Form1.Left = CInt(sRet)
End If
Else
MsgBox "Fehler.", "Fehler..."
End If
sRet = String$(60, 0)
lRet = GetPrivateProfileString("Fensterposition", "Oben", "0", sRet, 60, App.Path & "\" & App.EXEName & ".ini")
If lRet > 0 Then
sRet = Left$(sRet, lRet)
If IsNumeric(sRet) Then
Form1.Top = CInt(sRet)
End If
Else
MsgBox "Fehler.", "Fehler..."
End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If WritePrivateProfileString("Fensterposition", "Links", Format$(Me.Left), App.Path & "\" & App.EXEName & ".ini") <= 0 Then
MsgBox "Fehler.", "Fehler..."
End If
If WritePrivateProfileString("Fensterposition", "Oben", Format$(Me.Top), App.Path & "\" & App.EXEName & ".ini") <= 0 Then
MsgBox "Fehler.", , "Fehler..."
End If
End Sub
Private Sub Command1_Click()
Unload Me
End
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204103
Url: https://administrator.de/forum/speichern-von-fensterpositionen-in-eine-ini-datei-und-wieder-auslesen-204103.html
Ausgedruckt am: 16.02.2025 um 22:02 Uhr
3 Kommentare
Neuester Kommentar
Hallo jogi1989.
In VBS aka VBScript kannst du keine WINAPIs deklarieren und somit auch nicht mit ihnen arbeiten. Außerdem hat VBScript auch kein Fenster, dessen Position gesichert werden könnte!
Der Code scheint VB6 zu sein und lässt sich sicher mit einem alten VB6 Compiler kompilieren (so wahrscheinlich noch nicht, da unvollständig). Ggf. könnte man ihn auch in VBA übertragen und in MS Office Dateien nutzen.
WINAPI Funktionen kannst du in den meisten Programmiersprachen nutzen. Da du aber, wie du schreibst, keine Programmiererfahrungen hast, ist es kaum möglich dir zu irgend etwas zu raten. Was willst du damit eigentlich erreichen?
Grüße
rubberman
In VBS aka VBScript kannst du keine WINAPIs deklarieren und somit auch nicht mit ihnen arbeiten. Außerdem hat VBScript auch kein Fenster, dessen Position gesichert werden könnte!
Der Code scheint VB6 zu sein und lässt sich sicher mit einem alten VB6 Compiler kompilieren (so wahrscheinlich noch nicht, da unvollständig). Ggf. könnte man ihn auch in VBA übertragen und in MS Office Dateien nutzen.
WINAPI Funktionen kannst du in den meisten Programmiersprachen nutzen. Da du aber, wie du schreibst, keine Programmiererfahrungen hast, ist es kaum möglich dir zu irgend etwas zu raten. Was willst du damit eigentlich erreichen?
Grüße
rubberman
Hallo jogi1989,
es bleibt dabei, ein VBScript hat kein Fenster. Somit gibt es keine Position, die zu speichern wäre.
Was HTA angeht, google ich doch gern für dich![face-wink face-wink](/images/icons/fa/light/face-laugh-wink.svg)
Hey, Scripting Guy! How Can I Get an HTA to Remember Its Previous Position Onscreen?
In wiefern das die richtige Position über mehrere Monitore speichert, weiß ich nicht. Kann es auch nicht testen, da mir nur ein Monitor zur Verfügung steht (was mir persönlich auch völlig ausreicht
).
Grüße
rubberman
es bleibt dabei, ein VBScript hat kein Fenster. Somit gibt es keine Position, die zu speichern wäre.
Was HTA angeht, google ich doch gern für dich
Hey, Scripting Guy! How Can I Get an HTA to Remember Its Previous Position Onscreen?
In wiefern das die richtige Position über mehrere Monitore speichert, weiß ich nicht. Kann es auch nicht testen, da mir nur ein Monitor zur Verfügung steht (was mir persönlich auch völlig ausreicht
Grüße
rubberman