Dobrý den. Tvořím desktopovou aplikaci (c# - winforms, .net 3.5), do níž je třeba umožnit uživatelům předat požadované soubory (obrázky), resp jejich path, pomocí kontextového menu exploreru. Dosáhl jsem toho přidáním následujícího kusu reg kodu:
[HKEY_CLASSES_ROOT\Folder\shell\HromadneZverejneniObrazkuWebhouseVISMOonline]
"@"="Můj text položky kontextového menu"
[HKEY_CLASSES_ROOT\Folder\shell\vlastni-nazev\command]
"@"=""c:\Program Files\webhouse\vismoOnline\vismoUploadClient.exe" " %L""
[HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\vlastni-nazev]
"@"="Můj text položky kontextového menu"
[HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\vlastni-nazev\command]
"@"=""c:\cesta\aplikace.exe.exe" " %L""
[HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\vlastni-nazev\]
"@"="Můj text položky kontextového menu"
[HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\vlastni-nazev\command]
"@"=""c:\cesta\aplikace.exe.exe" " %L""
[HKEY_CLASSES_ROOT\SystemFileAssociations\image\shellex\ContextMenuHandlers\vlastni-nazev\]
"@"="Můj text položky kontextového menu"
[HKEY_CLASSES_ROOT\SystemFileAssociations\image\shellex\ContextMenuHandlers\vlastni-nazev\command]
"@"=""c:\cesta\aplikace.exe.exe" " %L""
Cestu k vybranému souboru dostanu v poli args[] mainu() - to je přesně žádané. Ovšem tohle funguje pouze, vybere-li uživatel pouze jeden obrázek. Při výběru dvou a více obrázků se aplikace jednoduše vůbec nespustí. Ani po mnoha hodinách hledání vůbec nevím, kde hledat řešení. Zkusil jsem místo parametru " %L" commandu v registrech použít "%1", výsledek ovšem úplně stejný. Nepomohla ani ani změna typu klíče ze stringu na multistring. Není to třeba povolit někdě na straně konfigurace mé aplikace? Předem díky za tipy
|