2014-06-11 19 views
5

Jak otworzyć plik do edycji z kodu C#, tj. Odpowiadający użytkownikowi, klikając go prawym przyciskiem myszy i wybierając opcję "Edytuj" zamiast "Otwórz"? Mam Process.Start(<filename>) dla odpowiednika "Open", ale w tym przypadku potrzebuję opcji "Edit".Otwórz plik do edycji z kodem

Jeśli nie jest to łatwiejszy sposób, zakładam, że prawdopodobnie muszę sprawdzić rejestr dla akcji "Edytuj" związanej z typem pliku i jakoś wywołać to działanie, ale nie jestem pewien gdzie szukać i jak to zrobić niezawodnie.

Ktoś wie najlepiej, jak to zrobić?

+0

Jaki program masz nadzieję na „Edit” z i jaki jest typ pliku? – samuelesque

+0

To jest moja uwaga - nie wiem. Niezależnie od tego, który użytkownik uzyskałby, gdyby sam próbował go edytować. Nie mogę założyć, że wiem, co znajduje się na komputerze użytkownika, a Notatnik raczej nie będzie odpowiedni w każdym przypadku. – Flynn1179

+0

Dobre połączenie z duplikatem - nie pracuję konkretnie z obrazami, ale i tak rozwiązanie jest ważne. – Flynn1179

Odpowiedz

6

Nie wszystkie rozszerzenia mają EdycjaProcessStartInfo.Verb, ale w niektórych przypadkach mogą Ci pomóc poniższe wskazówki.

var runFile = new ProcessStartInfo(pathToFile) {Verb = "edit"}; 
Process.Start(runFile); 

Jeśli chcesz sprawdzić, czy Edit czasownik jest ważna przed rozpoczęciem danego procesu, można spróbować wykonać następujące czynności:

public bool HasEdit() 
{ 
    var startInfo = new ProcessStartInfo(pathToFile); 
    return startInfo.Verbs.Any(verb => verb == "edit"); 
} 
+0

Myślę, że próba/połów tutaj, z regularną procedurą "otwartą" w haczyku, obejmowałaby rzeczy. –

+0

Tak, możesz też iść tą drogą. – samuelesque

+0

Tak, właśnie to zrobiłem. Muszę jednak przyznać, że wolę nie polegać na złapaniu wyjątków, jeśli istnieje alternatywa. Tylko dlatego, że podczas debugowania skomla mnie visualowe studio. – Flynn1179