Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Speichern von Fensterpositionen in eine INI Datei und wieder auslesen

Frage Entwicklung VB for Applications

Mitglied: jogi1989

jogi1989 (Level 1) - Jetzt verbinden

28.03.2013 um 14:38 Uhr, 2898 Aufrufe, 3 Kommentare

.

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:
01.
'Beispiel : INI-Dateien schreiben und lesen. Letzte Fensterposition beim 
02.
'           beenden des Programms speichern, und bei einem Neu- 
03.
'           start des Programms an dieser Fensterposition wieder posi- 
04.
'           tionieren. 
05.
 
06.
Private Declare Function WritePrivateProfileString Lib "kernel32" _ 
07.
                                Alias "WritePrivateProfileStringA" _ 
08.
                                (ByVal lpApplicationName As String, _ 
09.
                                ByVal lpKeyName As Any, _ 
10.
                                ByVal lpString As Any, _ 
11.
                                ByVal lpFileName As String) _ 
12.
                                As Long 
13.
 
14.
Private Declare Function GetPrivateProfileString Lib "kernel32" _ 
15.
                                Alias "GetPrivateProfileStringA" _ 
16.
                                (ByVal lpApplicationName As String, _ 
17.
                                ByVal lpKeyName As Any, _ 
18.
                                ByVal lpDefault As String, _ 
19.
                                ByVal lpReturnedString As String, _ 
20.
                                ByVal nSize As Long, _ 
21.
                                ByVal lpFileName As String) _ 
22.
                                As Long 
23.
 
24.
Private Sub Form_Load() 
25.
    Dim sRet As String 
26.
    Dim lRet As Long 
27.
 
28.
    sRet = String$(60, 0) 
29.
    lRet = GetPrivateProfileString("Fensterposition", "Links", "0", sRet, 60, App.Path & "\" & App.EXEName & ".ini") 
30.
    If lRet > 0 Then 
31.
        sRet = Left$(sRet, lRet) 
32.
        If IsNumeric(sRet) Then 
33.
            Form1.Left = CInt(sRet) 
34.
        End If 
35.
        Else 
36.
            MsgBox "Fehler.", "Fehler..." 
37.
    End If 
38.
     
39.
    sRet = String$(60, 0) 
40.
    lRet = GetPrivateProfileString("Fensterposition", "Oben", "0", sRet, 60, App.Path & "\" & App.EXEName & ".ini") 
41.
    If lRet > 0 Then 
42.
        sRet = Left$(sRet, lRet) 
43.
        If IsNumeric(sRet) Then 
44.
            Form1.Top = CInt(sRet) 
45.
        End If 
46.
        Else 
47.
            MsgBox "Fehler.", "Fehler..." 
48.
    End If 
49.
End Sub 
50.
 
51.
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 
52.
    If WritePrivateProfileString("Fensterposition", "Links", Format$(Me.Left), App.Path & "\" & App.EXEName & ".ini") <= 0 Then 
53.
        MsgBox "Fehler.", "Fehler..." 
54.
    End If 
55.
    If WritePrivateProfileString("Fensterposition", "Oben", Format$(Me.Top), App.Path & "\" & App.EXEName & ".ini") <= 0 Then 
56.
        MsgBox "Fehler.", , "Fehler..." 
57.
    End If 
58.
End Sub 
59.
 
60.
Private Sub Command1_Click() 
61.
    Unload Me 
62.
    End 
63.
End Sub
Mitglied: rubberman
28.03.2013 um 22:50 Uhr
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
Bitte warten ..
Mitglied: jogi1989
02.04.2013 um 08:13 Uhr
Hallo rubberman,

ich habe mehrere vbs. dateien und .hta dateien, welche für einen Monitoring Rechner genutzt werden,
die einzelnen Fenster sollen auf 7 Monitore verteilt werden.
da es mühseligt ist diese immmer per hand zurecht zu rücken, habe ich die Aufgabe bekommen
(im besten Fall) die Fensterposition der einzelnen Fenster beim schließen in eine .Ini datei zu speichern und die position eim starten der Dateien wieder zu laden.
Bitte warten ..
Mitglied: rubberman
02.04.2013 um 18:56 Uhr
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
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
Bitte warten ..
Ähnliche Inhalte
Windows Server
Terminalserver 2012r2 speichert Fensterposition nicht (4)

Frage von schnaepper zum Thema Windows Server ...

XML
gelöst Vbs - simple XML Datei auslesen (4)

Frage von DeeJayBee zum Thema XML ...

PHP
gelöst ZIP-Datei auf Server speichern (23)

Frage von Yanmai zum Thema PHP ...

Batch & Shell
gelöst Datei zeilenweise auslesen - es passiert aber nichts (3)

Frage von Nagus zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Heise Newsticker: Microsoft veröffentlicht das "Fall Creators Update

(8)

Information von Penny.Cilin zum Thema Windows 10 ...

LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (16)

Frage von sunics zum Thema Hosting & Housing ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...