ich brauche mal Hilfe für das Webgadget
Habe das "FileSystemObject" für ein Javascript benutzt und nun nervt natürlich die doofe Meldung vom IE.
Natürlich kann ich unter
- Sicherheit-Stufe anpassen, ActiveX-Steuerelemente + Plugins
ActiveX-Steuerelemente ausführen, die nicht als sicher für Scripting markiert sind:
Ich möchte aber dies nur für mein Programm tun, welches das Script im Webgadget ausführt.
also Prog starten, IE umstellen, Prog beenden, IE zurückstellen.
Anscheinend geht das über die Registry, aber ich habe null Ahnung wie man dort Änderungen vornimmt.
Und ohne fachlichen Rat möchte ich da nicht rumpfuschen. Die Beispiele hier im Forum, für das prinzipielle Vorgehen sind mir doch zu unsicher.
Via Google habe ich nur folgendes gefunden
- ; HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones
;
; Zone 0 = Arbeitsplatz
; Zone 1 = Intranet
; Zone 2 = Vertrauenswürdige Sites
; Zone 3 = Internet
; Zone 4 = Eingeschränkte Sites
;
; Wertenamen als REG_DWORD:
; 1001 = Download von signierten ActiveX-Steuerelementen
; 1004 = Download von unsignierten ActiveX-Steuerelementen
; 1200 = ActiveX-Steuerelemente und Plugins ausführen
; 1201 = ActiveX-Steuerelemente initialisieren und ausführen, die nicht sicher sind
; 1405 = ActiveX-Steuerelemente ausführen, die für Scripting sicher sind
;
; aktivieren = 0
; deaktivieren = 3
; bestätigen = 1
wäre nett, wenn mir jemand einen Beispielcode posten würde.
Wenn es einen besseren Weg, als über die Registry, gibt, wäre das genial
--------------------------------------------------------------
Und hier ein Democode zum Testen des Scripts
dazu muß wenigstens in den Sicherheitseinstellungen vom IE "ActiveX-Steuerelemente ausführen" auf bestätigen bzw. aktiviert stehen.
Code: Alles auswählen
Enumeration 1
#mapwindow
#mapcontainer
#mapwebgadget
EndEnumeration
Procedure.s MakeHtmlCode()
Protected html.s
Protected *c.character
;Null Char im Memory zwischen Datazeilen gegen Return tauschen
For *c = ?MapLabel To ?MapLabelEnd
If *c\c = 0
*c\c = 13
EndIf
Next
;Script laden
html = PeekS(?MapLabel, ?MapLabelEnd - ?MapLabel)
ProcedureReturn html
EndProcedure
Procedure Main()
Protected event
Protected flags = #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget
OpenWindow(#mapwindow, 0, 0, 550, 500, "", flags)
ContainerGadget(#mapcontainer, 0, 0, 550, 500, #PB_Container_BorderLess)
WebGadget(#mapwebgadget, 0, 0, 550, 500, "")
;browser.IWebBrowser2 = GetWindowLongPtr_(GadgetID(#mapwebgadget), #GWL_USERDATA)
;If browser: browser\put_Silent(#True): EndIf
CloseGadgetList()
SetGadgetItemText(#mapwebgadget, #PB_Web_HtmlCode, MakeHtmlCode())
Repeat : event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
EndProcedure
Main()
DataSection
MapLabel:
Data.s "<html>"
Data.s "<head>"
Data.s "<title>PurebasicTest</title>"
Data.s ""
Data.s "<script type='text/javascript'>"
Data.s ""
Data.s "function TextFile(flag, text){"
Data.s ""
Data.s " // unter Sicherheit-Stufe anpassen, ActiveX-Steuerelemente + Plugins"
Data.s " // ActiveX-Steuerelemente ausführen, die nicht als sicher für Scripting markiert sind: aktivieren !!!"
Data.s ""
Data.s " var fso = new ActiveXObject('Scripting.FileSystemObject')"
Data.s " var file"
Data.s " var filename = 'c:\\test.txt'"
Data.s ""
Data.s " if (navigator.appName != 'Microsoft Internet Explorer') { return ''} // kein Explorer, abbrechen"
Data.s " if ( flag == 1 ) {"
Data.s " text = ''"
Data.s " if ( !(fso.FileExists(filename)) ) { return text} // nicht vorhanden, abbrechen"
Data.s " file = fso.OpenTextFile(filename) // öffnen"
Data.s " if ( !(file.AtEndOfStream) ) { text = file.ReadAll() } // nicht leer, Dateiinhalt lesen"
Data.s " file.Close() // schliessen"
Data.s " return text // Dateiinhalt zurück"
Data.s " }"
Data.s " else if ( flag == 2 ) {"
Data.s " file = fso.CreateTextFile(filename, true) // Datei erstellen"
Data.s " file.Write(text) // Text schreiben"
Data.s " file.Close()"
Data.s " }"
Data.s " delete fso; fso = 0"
Data.s " }"
Data.s ""
Data.s "function load(){"
Data.s " text = TextFile(1)"
Data.s " document.form.text.value = text"
Data.s " }"
Data.s ""
Data.s "function save(){"
Data.s " text = document.form.text.value"
Data.s " TextFile(2, text)"
Data.s " }"
Data.s ""
Data.s "</script>"
Data.s "</head>"
Data.s "<body>"
Data.s ""
Data.s "<form name='form'>"
Data.s " <textarea name='text' cols='30' rows='5'> hallo! </textarea><br>"
Data.s " <input type='button' value='Load!' onclick='load()'>"
Data.s " <input type='button' value='Save!' onclick='save()'>"
Data.s "</form>"
Data.s "</body>"
Data.s "</HTML>"
MapLabelEnd:
EndDataSection