ShellExecute schlägt fehl, wenn es in Windows 8 RTM von einem erhöhten Prozess und einem nicht standardmäßigen Browser ausgeführt wird

8

Legen Sie einen nicht standardmäßigen Browser in Windows 8 RTM (Chrome, Firefox) fest und versuchen Sie, Code wie folgt auszuführen:

ShellExecute(NULL, "open", "http://stackoverflow.com", NULL, NULL, SW_SHOWNORMAL);

Es ist in Ordnung. Aber ändern Sie dann das Manifest, um administrative Privilegien zu benötigen oder einfach "als Administrator auszuführen".

Code funktioniert nicht.

Ok, dann versuchen Sie any Anwendung mit "run as administrator" auszuführen.

Sie werden das gleiche Ergebnis sehen, die Links funktionieren nicht.

Ändern Sie den Standardbrowser zurück zu IE - & gt; Alles funktioniert gut.

In früheren Builds von Windows 8 gibt es kein solches Verhalten.

Was ist los?

PS. Es scheint, Microsoft hatte die gleichen Probleme in ihrer eigenen Software :) Visual Studio 2012 Veröffentlichung unter Windows 8 RTM schlägt den Browserstart fehl

    
Brun 21.08.2012, 12:11
quelle

2 Antworten

3

Ich habe bis heute dasselbe Verhalten mit Chrome beobachtet. Ich habe einige Zeit damit verbracht, herauszufinden, was vor sich geht, und konnte Chrome nicht lange mit ShellExecute () unter erhöhten Rechten auskommen lassen. Failed für erhöhte Rechte (dh. UAC-Dialog oder Ausführen als Administrator) oder sogar beim Ausschalten UAC insgesamt.

Ich habe Chrome schließlich deinstalliert und neu installiert, und das hat es tatsächlich behoben.

Habe auch das Verhalten mit anderen Browsern gesehen, aber nach ein paar Versuchen mit FireFox ging ich in die Set Default Programs Einstellungen von FireFox und EXPLICITLY (dh in Windows) setze die Assoziationen für .htm Datei und das HTTP Protokoll. Das hat auch funktioniert.

Es sieht also so aus, als wäre dies eine Art Registrierungsproblem und nicht ein echtes Problem in Windows. Als erstes würde ich versuchen, die Zuordnungen explizit in Windows zu setzen (anstatt den Standardbrowser im Browser zu setzen). Wenn das fehlschlägt, versuchen Sie den Browser neu zu installieren ...

    
Rick Strahl 13.12.2012 06:24
quelle
0

@ Rick Strahl

Sie sind falsch. Es ist nicht nur Registrierung. Ich habe mit Photoshop CC und Windows 8 getestet. Ich habe ein Startprogramm für Photoshop erstellt, um es portabel zu machen: - Mit administrativen Rechten funktioniert die Shell-Integration nicht. - Wenn sie als normaler Benutzer ausgeführt wird, funktioniert die Shell-Integration wie erwartet.

Getestet unter Windows 7. - Arbeitet mit oder ohne Administratorrechte.

Ich kann bestätigen, dass O.P. korrekt ist.

    
user2513957 23.06.2013 16:20
quelle