mayho33
Goto Top

Eigene Klasse in VBSCRIPT erstellen

Hallo Gemeinde!

Vor kurzem habe ich am einem Problem mit Programm- Aufrufen aus externen Sripts und es wurde mit hervorragend von "emeriks" geholfen. Nun habe ich ein neues Problem und hoffe wieder auf euer Fachwissen.

Das Problem:

Wir paketieren im Team systemübergreifend und wollen gewisse Funktionen einheitlich gecodet gestalten. Nicht zuletzt um die Qualität und Sicherheit des Codes zu verbessern. Z.B. den Pfad zu "Startmenü\Programme" herauszufinden. Da gibt es natürlich viele Wege und jeder hat seine eigene Technik dafür die, je nach System und Ersteller, funktioniert oder aber leider auch nicht.

Meine Idee um hier Fehler zu vermeiden ist alle vom System (egal welches) in der Registry abgespeicherten Environmentvariablen auszulesen und diese in einer eigenen Klasse bereitzustellen.

der Aufruf könnte dann lauten:

dim Startmenu : Startmenu = Meineklasse.Startmenü

Ich habe aber keinen Tau wie ich eine Klasse in VBSCRIPT erstelle und diese dann bereitstelle.

Hat eventuell jemand ein kleines Howto oder ein einfaches A-Z Beispiel für mich?

Danke!

lg

Mayho

PS: Wir verwenden durchwegs Programme wie VBSEDIT um die Opjekte einer Klasse komfortabel anzuzeigen

Content-ID: 184633

Url: https://administrator.de/contentid/184633

Printed on: October 15, 2024 at 16:10 o'clock

emeriks
emeriks May 08, 2012 at 10:08:29 (UTC)
Goto Top
Hi,
google, suchen nach "vbscript class". Da kommt z.B. das raus: http://www.aspheute.com/artikel/20000526.htm

MRX
colinardo
colinardo May 08, 2012 at 10:12:08 (UTC)
Goto Top
mayho33
mayho33 May 08, 2012 at 10:38:18 (UTC)
Goto Top
Danke!! @emeriks und @softmeister

Die Sites hatte ich schon offen und irgendwie ist der Groschen nicht gefallen.

jetzt aber...
'==========================================================================================  
Dim objShell, objFso
Set objShell = WScript.CreateObject("Wscript.Shell")  
Set objFso = WScript.CreateObject("Scripting.FileSystemObject")  

Class EnvVar
  Property Get CommonPrograms
    Common Programs = objShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Programs")  
  End Property
  
  Property Get CommonDesktop
    CommonDesktop = objShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Desktop")  
  End Property
  
  ...
  ...
  ...
  ...
End Class


Set MyTest = New EnvVar
WScript.Echo MyTest.CommonDesktop

'=================================================================================================  
many THX

lg

Mayho

[Edit Biber] Codeformatierung nachgetragen, aber überflüssiges Leerzeichen bei "Common Programs" stehen lassen [/edit]
mak-xxl
mak-xxl May 08, 2012 at 15:27:40 (UTC)
Goto Top
Moin Mayho,

Zitat von @mayho33:
Common Programs = objShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Programs")

Bring das n ein wenig näher an das P ... sonst kommt unnötiger Frust auf ...

Viel Erfolg und freundliche Grüße von der Insel - Mario