Autor Téma: Context menu  (Přečteno 214 krát)

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 302
  • Karma: 4
Context menu
« kdy: 14-06-2017, 16:05:04 »
Z contextu menu složky ve winOS otevírám program a potřebuji získat adresu té složky. Prosím o radu.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1672
  • Karma: 69
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Context menu
« Odpověď #1 kdy: 14-06-2017, 16:27:42 »
ExtractFilePath(ParamStr(0), pokud tedy rozumim co chces
Embarcadero MVP - Czech republic

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 302
  • Karma: 4
Re:Context menu
« Odpověď #2 kdy: 14-06-2017, 16:50:31 »
Radku, díky za reakci, ale pochopil jsi mne špatně. Do context menu pro složky souborů ve winOS přidám další položku. Po kliknutí na tu položku se spustí program. Potřeboval bych však, aby se mi v tom programu objevila adresa té složky souborů.

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1080
  • Karma: 36
    • Verze Delphi: 7, 2010
Re:Context menu
« Odpověď #3 kdy: 14-06-2017, 17:59:04 »
Excellent
Rated 2 times
Předpokládám, že používáš registry (ještě je pak vlastní DLL). Tak si musíš upravit, aby se přidával parametr %1. Spustí ti to pak program a místo parametru to vloží cestu. Tu pak vyčteš někde v ParamStr(1).

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 302
  • Karma: 4
Re:Context menu
« Odpověď #4 kdy: 14-06-2017, 19:33:08 »
     Parametr %1 samozřejmě přidávám. Pokud volám GetCommandLine, tak ten obsahuje adresu spuštěného programu a adresu složky souborů z jehož context menu je program spuštěný. Na žádný jiný relevantnější příkaz jsem zatím nenarazil. Na všech fórech zpravidla řeší jen to, jak něco do context menu přidat.

     V mém dotazu není žádná záludnost. :D Je to jen nedostatek znalosti. Potřeboval bych tip, jakou knihovnu případně použít a jaký příkaz. Čím jednodušší, tím lépe.  ;)

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 302
  • Karma: 4
Re:Context menu
« Odpověď #5 kdy: 14-06-2017, 19:45:22 »
< z >, děkuji za radu. Pomohlo. :) Mne totiž nenapadlo použít ParamStr(1) samostatně, ale používal jsem ho jen jako součást příkazu. 
« Poslední změna: 14-06-2017, 19:50:57 od našinec »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1734
  • Karma: 72
    • Verze Delphi: D2007, XE3, DX10
Re:Context menu
« Odpověď #6 kdy: 14-06-2017, 19:45:40 »
     Parametr %1 samozřejmě přidávám. Pokud volám GetCommandLine, tak ten obsahuje adresu spuštěného programu a adresu složky souborů z jehož context menu je program spuštěný. Na žádný jiný relevantnější příkaz jsem zatím nenarazil. Na všech fórech zpravidla řeší jen to, jak něco do context menu přidat.
Podle https://stackoverflow.com/questions/34381304/c-sharp-retrieve-file-folder-path-from-selected-file-folder-in-context-menu-wind ti <z> odpovedel spravne.

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 302
  • Karma: 4
Re:Context menu
« Odpověď #7 kdy: 14-06-2017, 19:56:16 »
Děkuji Všem reagujícím na můj dotaz. 👍🏻

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: