2010-05-13 10 views
19

Może to być przydatna funkcja w programie współpracującym z plikami/folderami. Jest to dość łatwe do faktycznie otworzyć folder zawierający używając:Implementacja "Open Containing Folder" i podświetl plik

System.Diagnostics.Process.Start(*path to folder*); 

... ale jak mogę iść o faktycznie wybraniu pliku docelowego wewnątrz tego folderu nadrzędnego? Jeśli użyję metody Process.Start, to faktycznie spróbuję otworzyć plik.

+0

Możliwy duplikat [Otwórz folder i wybierz plik] (http://stackoverflow.com/questions/33463 0/otwórz folder i wybierz plik) – RandomEngy

Odpowiedz

46

Zgodnie z Windows Explorer Command-Line Options wystarczy uruchomić proces z parametrem /select.

Na przykład, "explorer /select,c:\Windows" otworzy okno z wybranym folderem c:\windows.

Po prostu Process.Start("explorer.exe", "/select," + filename) powinno wystarczyć.

+1

Dzięki! Ku mojemu zaskoczeniu, kiedy Directory Opus jest zainstalowany, jest on używany zamiast tego, mimo wyraźnego odniesienia do explorer.exe. To coś dobrego. – Crosbie

+0

@Crosbie, ponieważ Directory Opus podłącza się do eksploratora i przechwytuje do niego połączenia. –

4

Execute Explorer.exe z polecenia /select, "filename" linii argumentacji

System.Diagnostics.Process.Start(
    "explorer.exe", 
    string.Format("/select, \"{0}\"", filename)); 
+0

To nie zadziała, ponieważ parametr 'select' powinien być rozdzielany przecinkami, a nie oddzielony spacjami – Regent

+0

@regent, dzięki temu poprawiono literówkę. –

+0

Działa świetnie! Dzięki! – devios1

1

folderu zawierającego katalog Własna reprezentowana jest na wiele sposobów !!! Proste 2 sposoby są . i .\. nie wiem jaka jest różnica ..: D z plików DOS i nietoperzy ... Start . lub Start .\. (Y)

try ... te 2 prace, ale sprawdź, czy to jest rozwiązanie, którego oczekujesz!

System.Diagnostics.Process.Start("explorer.exe", @".\."); 

Albo

System.Diagnostics.Process.Start("explorer.exe", @"."); 

-

  • Czasami aplikacja zostanie uruchomiony z katalogu temp lub innego katalogu (np: w piaskownicy ... albo podczas skanowania przez program antywirusowy. .. itd.) :)
Powiązane problemy