2010-03-25 4 views
1
s += "<p style=\"text-align: left;\"><a href=\"javascript:window.print()\">PRINT</a></p>"; 
System.IO.File.WriteAllText(@"CheckForm.html", s); 
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); 
startInfo.FileName = "explorer.exe"; 
startInfo.Arguments = "CheckForm.html"; 
System.Diagnostics.Process.Start(startInfo); 

Je vais avoir un problème quand j'ai essayé d'ouvrir mon Windows C# application dans Windows 7 sinon il n'y a pas de problème.Y at-il un problème explorer.exe dans Windows 7?

Je ne pouvais pas ouvrir explorer.exe dans Windows 7 avec le code ci-dessus.

Des suggestions?

+2

OMG! Un bug dans Windows? –

+0

Pourquoi ouvrez-vous une page Web dans Windows Explorer? – SLaks

+0

Parce que chaque ordinateur a un explorateur. – sml

Répondre

3

Pour ouvrir un fichier HTML, vous devez simplement appeler Process.Start avec le chemin du fichier, comme ceci:

Process.Start(@"CheckForm.html"); 

Cela ouvrira le fichier dans le programme par défaut. (En général IE ou Firefox)

+0

mais cela a bien fonctionné dans ie6 et avant. ou firefox ou chrome – sml

+1

C'était encore faux. – SLaks

+0

+1, cependant, juste une remarque supplémentaire: Cela ne fonctionne que si 'startInfo.UseShellExecute' (http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.useshellexecute.aspx) est défini sur 'true', qui est heureusement la valeur par défaut, donc dans l'exemple ci-dessus, vous n'avez pas à vous inquiéter. –

1

explorer.exe est l'Explorateur Windows ou système de bureau. Vous voulez probablement ouvrir Internet Explorer, le nom du processus serait iexplore.exe.

Explorateur Windows a déjà été intégré à Internet Explorer, de sorte que - selon le chemin que vous entrez - le programme passe à l'application voulue. IE pour les URL et Windows Explorer pour les chemins locaux. C'est probablement pourquoi cela a fonctionné avant.

Cependant avec Vista je pense, l'intégration a été desserrée, donc cela ne fonctionnera plus.

+0

explorer.exe est également le shell. Donc, il n'y a rien de mal avec l'exemple de code posté par @sml. –

+0

Oui, l'explorateur joue beaucoup de rôles. Mais toujours à partir du code, il semble plutôt vouloir ouvrir Internet Explorer, et non l'application par défaut pour les fichiers html. – poke

+0

Eh bien, à partir des commentaires, il semble qu'il veut IE, mais à partir du code, il obtiendra l'application qui est associée aux fichiers .html. –