2014-06-11 19 views
5

C# kodundan düzenlemek için bir dosyayı nasıl açıyorsunuz, yani kullanıcıya sağ tıklanıyor ve 'Açık' yerine 'Düzenle' seçiliyor mu? 'Açık' eşdeğeri için Process.Start(<filename>) var, ancak bu durumda özellikle 'Düzenle' seçeneğine ihtiyacım var.Koddan düzenlemek için bir dosya açın

Bunu yapmanın daha kolay bir yolu yoksa, muhtemelen dosya türüyle ilişkili 'Düzenleme' eylemi için kayıt defterini denetlemem gerekiyor ve bu eylemi bir şekilde çağırmam gerekiyor, ancak emin değilim nereye bakılacağı veya nasıl güvenilir bir şekilde yapılacağı.

Bunu yapmanın en iyi yolu bilen var mı?

+0

hangi programı ile için "Düzenle" umuyor: Eğer Düzenleme fiil ilgili işlemine başlamadan önce geçerli olup olmadığını görmek için kontrol etmek isterseniz

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

, aşağıdaki deneyebilirsiniz ve dosya türü nedir? – samuelesque

+0

Bu benim amacım - Bilmiyorum. Kullanıcı kendisini düzenlemeye çalışırsa ne yaparsa alsın. Kullanıcının PC'sinde ne olduğunu bilmiyorum ve Not Defteri'nin her durumda uygun olması olası değildir. – Flynn1179

+0

Yinelenen iyi çağrı - Özel olarak resimlerle çalışmıyorum, ancak çözüm zaten geçerli. – Flynn1179

cevap

6

Tüm uzantıların tümü DüzenlemeProcessStartInfo.Verb'a sahip değil, ancak bazı durumlarda aşağıdakiler size yardımcı olabilir.

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

Burada bir catch/catch, catch'taki normal "Open" prosedürüyle, işleri ele alacaktır. –

+0

Evet, o rotaya da gidebilirsin. – samuelesque

+0

Evet, yaptığım buydu. Yine de itiraf etmeliyim, bir alternatif varsa, istisnaları yakalamaya dayanmamayı tercih ederim. Sadece görsel stüdyo hata ayıkken benimle dalga geçiyor. – Flynn1179

İlgili konular