Сейчас на форуме: Magister Yoda, subword (+9 невидимых)

 eXeL@B —› Основной форум —› Контекстное меню.
Посл.ответ Сообщение


Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 30 мая 2008 12:23 · Поправил: MACKLIA
· Личное сообщение · #1

Вопрос в следующем. Пишу программу которая будет совершить определённые действия с файлами.Задача состои в том ,что эти файлы будут выбираться посредством правого клика мышью и выбора своей программы в контекстном меню.Т.е.по средством добавления в реестре HKEY_CLASSES_ROOT\*\shell\Proga\command\(По умолчанию)\C:\Proga.exe %1 ,получаем в контекстном меню вкладку "Proga" при выборе которой запускаем программу C:\Proga.exe ,задача при запуске программы Proga.exe в определить именя и полного пути к файлу через меню которого была вызванна моя программа.
Если определять файл через параметры (ParamStr(1)) то встречаюсь с пробемой ,которыя состоит в том,что если в имени файла встречается пробел ,то это уже считается следующем параметром.Конечно можно определить все параметры ,но если в имени файла подрят идет несколько пробелов ,то опять получаем облом.

Определить имя процесса родителя не поможет ,т.к. он всегда будет EXPLORER.EXE.

P.S. создавал тему в разделе "программирования" ,какого фига она в "основном " появилась.

-----
Что один человек сделал , другой всегда сломать может...





Ранг: 68.0 (постоянный), 6thx
Активность: 0.060
Статус: Участник

Создано: 30 мая 2008 13:00
· Личное сообщение · #2

В реестре так -> "C:\proga.exe" "%1"
В программе вызываешь GetCommandLine, он вернет такое ->"C:\proga.exe" "C:\WINDOWS\system32\calc.exe"




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 30 мая 2008 13:15 · Поправил: MACKLIA
· Личное сообщение · #3

GetCommandLine точно ,чтото я ступил немного.Вопрос закрыт.

-----
Что один человек сделал , другой всегда сломать может...



 eXeL@B —› Основной форум —› Контекстное меню.
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати