Process.Start dauert sehr lange
-
Genau, und ich würde schon gern ShellExecute benutzen, weil ich eben der Shell das Rausfinden des Standardbrowsers überlassen möchte.
Seltsamerweise war es nicht immer so, vor 2 Wochen oder so gings flott. Leider ist der Code noch nicht im SVN-Repository, deswegen weiß ich nicht was sich genau geändert hat. Zu dumm, selbst schuld
Aber eigentlich wurde an dieser Stelle tatsächlich nur System.Diagnostics.Process.Start(url); aufgerufen. Es ist 100% nicht von der URL abhängig. "http://www.google.de" dauert auch lange. "c:\\test.txt" geht aber schnell, das heißt, dass es mit dem Browser zutun hat. Aber ob der IExplorer oder Firefox der Standardbrowser ist, macht keinen Unterschied. Beides dauert...Sonstige Ideen oder Vermutungen?
Danke
bja
-
Öffnet sich der Browser sich schneller wen die Url über ausführen aufrufts?
-
Ja, augenblicklich.
-
Ist denn das auf mehreren Systemen so?
-
Leider ja.
-
Kann sein, dass es mit den Sicherheitseinstellungen für die .NET Runtime zusammenhängt. Kenne mich aber nicht aus.
Simon
-
Also ich habe die Suche jetzt aufgegeben. Wir suchen uns den Browser-Pfad aus der Registry wie hier vorgeschlagen.
Also
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Classes\http\shell\open\command"); string path=((string)key.GetValue("")).Split(' ')[0]; //hoffentlich steht im ersten teil der Pfad :) System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.UseShellExecute = true; p.StartInfo.FileName = path; p.StartInfo.Arguments = url; p.Start();
Man müsste noch Fälle berücksichtigen, wenn der Key nicht da ist oder leer, oder falsch, etc...
-
und das geht schneller?
-
Verwende ShellExecute(Ex) über PInvoke.
-
Simon: ja, ohne Verzögerung.
hustbaer: Danke werde das mal testen.
-
Wie lange dauert es wenn Du die URL bei Start -> Ausführen einklimperst ?
-
Andorxor schrieb:
Öffnet sich der Browser sich schneller wen die Url über ausführen aufrufts?
bja schrieb:
Ja, augenblicklich.
-
Tja, wer lesen kann ist klar im Vorteil. Thx