Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Wenn der Schlüssel des Kontextmenü-Eintrages bzw. sein Anzeigename in der Registry umbenannt wurde, dann diesen im IE sofort aktualisiert anzeigen

Frage Entwicklung HTML

Mitglied: evinben

evinben (Level 2) - Jetzt verbinden

10.06.2013, aktualisiert 14:33 Uhr, 2292 Aufrufe, 7 Kommentare, 1 Danke

Verwendet wird IE10 unter Windows 7 x32

Hallo,

ich möchte ein Kontextmenü-Eintrag einbauen, der je nach aktuellem Zustand z. B. "Deaktivieren" und "Aktivieren" heißen sollen. Wenn der Schlüssel in der Registry von "Deaktivieren" auf "Aktivieren" umbenannt und IE mit der Taste F5 aktualisiert wird, dann aktualisiert sich das Kontextmenü leider nicht mit, sodass der eigene Kontextmenü-Eintrag weiterhin als "Deaktivieren" angezeigt.

- Wie kann das Kontextmenü im Internet Explorer ohne IE-Neustart aktualisiert werden? Gibt es hierfür ein VB-Skript?

- Wie kann ein Symbol für eigene Kontextmenü-Einträge eingebaut werden?

Ich habe sehr viel recherchiert, aber nichts Relevantes war im Netz zu finden.

Wenn ich folgendes Skript von Desktop aus ausführe, dann wird das aktive Fenster von IE aktualisiert:
01.
set ws = CreateObject("Wscript.shell") 
02.
 ws.AppActivate ("Internet Explorer") 
03.
 ws.sendkeys("{f5}")
Wenn ich das Skript in einer htm-Datei einbaue und ihr Pfad in der Registry in Standard REG_SZ für den jeweiligen Kontextmenü-Eintrag einfüge, dann aktualisiert sich das IE-Fenster beim Aufruf des Eintrages über das Kontextmenü leider nicht. So sieht die htm-Datei aus:
01.
<HTML> 
02.
 < SCRIPT LANGUAGE="VBSCRIPT">  
03.
 set ws = CreateObject("Wscript.shell") 
04.
 ws.AppActivate ("Internet Explorer") 
05.
 ws.sendkeys("{f5}") 
06.
 < /SCRIPT> 
07.
 < /HTML>
Ansonsten andere Codes, z. B. zum Ausführen einer Datei, funktionieren dagegen:
01.
<HTML> 
02.
 < SCRIPT LANGUAGE="VBSCRIPT">  
03.
set Wshshell = CreateObject("Shell.Application") 
04.
Wshshell.ShellExecute "cmd.exe", "/c ""TEST.vbs"" " & str,"", "runas", 0 
05.
</SCRIPT> 
06.
 < /HTML>
Würde das Aktualisieren eventuell ohne RunAs möglich sein (also ohne UAC/Kontensteuerungsabfrage) und wie?


Vielen Dank für eure Hilfe

Gruß
Evinben
Mitglied: Biber
10.06.2013 um 21:39 Uhr
Moin evinben,

was eventuell funktionieren könnte :

mit VBS inetcpl.cpl öffnen, per Sendkeys
ALT-F TAB TAB TAB ENTER ESC
(Register Allgemein > Farben > OK > ESC schließt Fenster, danach lädt der IE offenbar seine Konfiguration, die er sich sonst NUR BEIM ProgrammSTART holt neu.

ausführen lassen, das funktioniert im IE8 unter XP und wird wohl auf ähnliche Art und Weise auch beim IE10 funktionieren.

Allerdings gibt es sicherlich Punktabzug bei der B-Note (Ästhetik und Eleganz).

Grüße
Biber
P.S. & OT:
Zusatzfrage an dich: Gäbe es bei deiner Idee auch irgendwann den Punkt, an dem du sagen würdest: "ja nee, da ist nur eine Frickellösung möglich.. ich stell mal das Projekt ein?"-

Ich meine, wenn inzwischen sogar schon Drohnen-Projekte nach wenigen Arbeitsjahrhunderten und ein paar hundert Milliarden verbrannten Steuereuronen gestoppt werden, dann solltest auch du erwägen....

Oder wie das Tao und Angies Imageberater immer sagen: Lerne, dich von Dingen zu trennen, die dir wichtig sind..
Bitte warten ..
Mitglied: evinben
11.06.2013 um 06:55 Uhr
Hallo Biber,

Allerdings gibt es sicherlich Punktabzug bei der B-Note (Ästhetik und Eleganz).
leider hast du Recht ;-(

Jedoch habe ich nun zumindest eine funktionelle Lösung, bis einer hier den internen Befehl zur Aktualisierung von IE verrät.

Gruß
Evinben
Bitte warten ..
Mitglied: Biber
11.06.2013 um 16:36 Uhr
Moin evinben,

eine kleine Vereinfachung kann ich noch anbieten.

01.
' IE_RefreshKrams.vbs 
02.
' für %windir% korrekten Pfad einsetzen oder expandieren: 
03.
set oShell = CreateObject("Shell.Application") 
04.
set wshell = CreateObject("Wscript.shell") 
05.
oShell.ShellExecute "%windir%\System32\RUNDLL32.EXE", "inetcpl.cpl, ShowLanguageDialog" 
06.
wscript.sleep(100) 
07.
wShell.Sendkeys "{ENTER}" 
08.
wscript.quit 
09.
 

Voila. ;)

Aber nicht getestet unter Win8/IE 10 oder höher.

Grüße
Biber
Bitte warten ..
Mitglied: evinben
11.06.2013 um 19:18 Uhr
Hallo Biber,

jepp, das funktioniert, auch wenn es etwa Animationen „merkwürdig erscheinender Fenster“ abspielt.

Ich frage mich nur, in welcher Hinsicht deine letzte Lösung gegenüber deiner vorherstehenden besonders gut sein sollte. Sieht sie scriptisch wegen ShowLanguageDialog etwa stylischer aus?
OK, oben sind es (habe ich nun gezählt: 1.ALT-F, 2.TAB, 3.TAB, 4.TAB, 5ENTER und 6.ESC) genau sechs Schritte erforderlich.
Nun sind es (1.ShowLanguageDialog und 2.ENTER für OK) nur 2 Schritte.

Nicht schlecht.. Fein du Füchsle
O.. sorry Biber natürlich bist du.

Die Namen der Kontextmenü-Einträge werden wie gewollt aktualisiert - klasse!
Nun können die erstellten Kontext-Optionen als Switcher gehandhabt werden, da der Eintrag mal so (z. B. deaktivieren) und mal so (z. B. aktivieren) heißt, und muss daher nicht mehr doppelt vorhanden sein.


Gruß
Evinben
Bitte warten ..
Mitglied: rubberman
11.06.2013, aktualisiert um 19:35 Uhr
Hallo evinben.
Zitat von evinben:
...bis einer hier den internen Befehl zur Aktualisierung von IE verrät.
Location.Reload?

*.vbs
01.
Option Explicit 
02.
Dim objShell, colWindows, objWindow, objDoc 
03.
 
04.
Set objShell = CreateObject("Shell.Application") 
05.
Set colWindows = objShell.Windows 
06.
For Each objWindow In colWindows 
07.
  If InStr(1, objWindow.FullName, "iexplore.exe", vbTextCompare) Then 
08.
    Set objDoc = objWindow.Document 
09.
    objDoc.Location.Reload(True) 
10.
    WScript.Sleep 500 
11.
    Set objDoc = Nothing 
12.
  End if 
13.
Next 
14.
Set objWindow = Nothing 
15.
Set colWindows = Nothing 
16.
Set objShell = Nothing
Bibers Version sollte aber trotzdem die bessere Wahl sein. In meinem Code wird jede Seite neu geladen. Nicht im Sinne des Erfinders ...

Grüße
rubberman
Bitte warten ..
Mitglied: evinben
11.06.2013 um 19:52 Uhr
Hallo rubberman,

...bis einer hier den internen Befehl zur Aktualisierung von IE verrät.
ich habe hier nicht gemeint die Webseite zu aktualisieren, sondern das IE-Fenster systemintern.

Die Reload-Methode war mir lang bekannt, was in diesem Falle leider nicht weiter hilft.

Danke für's Mitmachen natürlich!

Und um das hier noch zu verfeinern, veröffentliche ich nachfolgend die Kommentare zu diesem Biber-Skript:

01.
'Falls sich z. B. die Namen der Kontextmenü-Einträge in der Registrierung geändert haben, kann mit diesem Skript 
02.
'der Explorer aktualisiert werden, um die neuen Namen anzuzeigen. 
03.
'Diese Lösung wird insbesondere dann nützlich, wenn Einträge im Kontextmenü des Internet Explorers 
04.
'hinzugefügt werden, die als Umschalter (Switcher) arbeiten. 
05.
'D. h. der Eintrag heißt einmal z. B. "Flash Player deaktivieren" und einmal "Flash Player aktivieren". 
06.
'Vor der hier gefundenen Lösung zur Aktualisierung von IE, waren die Einträge im Kontextmenü daher doppelt vorhanden,  
07.
'was nicht nur mehr Platz genommen hat und auch sehr unübersichtlich war, sondern vor allem zur Verwirrung gestiftet hat,  
08.
'da für den Anwender der Stand der letzten Aktion nicht immer bekannt war. 
09.
 
10.
 
11.
'http://www.administrator.de/link/wenn-der-schl%c3%bcssel-des-kontextmen%c3%bc-eintrages-bzw-sein-anzeigename-in-der-registry-umbenannt-wurde-dann-diesen-im-ie-sofort-aktualisiert-anzeigen-207775.html#comment-846821
Achtung: bei mir hat der Skript erst dann angesprochen, sobald ich den Pfad zu der RUNDLL32.EXE-Datei im Skript expandiert habe (so wie der Biber es im Vorfeld - "im Falle eines Problems" - empfohlen hatte).

Gruß
Evinben
Bitte warten ..
Mitglied: rubberman
11.06.2013 um 20:35 Uhr
Oh, da bin ich meilenweit am Ziel vorbei.

Intern wird sicher die API bemüht (InternetSetOption mit INTERNET_OPTION_SETTINGS_CHANGED und/oder INTERNET_OPTION_REFRESH als zweiten Parameter). Da bekommst du aber keinen Zugang per J-/VBScript

Grüße
rubberman
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Windows Server
gelöst SCCM2012 Abfrage eines Registry Wertes (5)

Frage von busteron zum Thema Windows Server ...

Router & Routing
AVM entweicht geheimer FritzBox-Schlüssel (5)

Link von mikrotik zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...