Habe eine ImageList, mit einem Doppelklick
System.Diagnostics.Process.Start(item.FileName);
wird das Bild im StandartProgramm (z.B. WindowsBildanzeige) gestartet.
Nun will ich aber in einem ContexMenu ein
Öffnen mit ...
haben, damit ich das Bild/Datei z.b. mit Photoshop, Paint etc. öffnen kann.
Ich habe in der MSDN keine Lösung gefunden (vielleicht auch übersehen 😦)
Ist die Bindung des ContexMenuStrip das Problem oder das gezielte Starten einer Anwendung mit Parameterübergabe?
Was wurde den schon unternommen außer in der MSDN nach einer Lösung zu suchen?
Das KontexMenu ist kein Problem,
habe da ja auch andere Fktionen wie Kopieren etc.
Aber das Öffnen mit... würde ich gerne realisieren.
Hallo,
das sollte in der Registry vermerkt sein welche Apps geeignet sind, Dateien eines bestimmten Typs zu öffnen (was also im Browser-Kontextmenü unter Öffnen mit... steht). Du solltest vllt diese Einträge auslesen und dann anbieten.
Hi, so mach ich das....
/// <summary>
/// Öffnet die angegeben Datei, mit dem "Öffnen mit"-Dialog
/// </summary>
/// <param name="filepath">Pfad zur Datei</param>
private static void OpenFileWith(string filepath)
{
try
{
Process.Start("rundll32.exe", "shell32.dll, OpenAs_RunDLL " + filepath);
}
catch (Exception ex)
{
_log.Error(ex);
MessageBox.Show(ex.Message);
}
}
Hallo schorge,
mit rundll+shell32 finde ich es etwas um die Ecke. Es sollte mit ProcessStartInfo.Verb gehen.
EDIT: Ah, ok, du willst wirklich das Kontextmenü angezeigt haben. Ich bin beim ersten Lesen davon ausgegangen, dass du das Dokument mit einem bestimmten/bekannten/vorgegeben Verb öffnen willst.
herbivore