Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > как работает вызов программы из контекстного меню?


Автор: lesniken 3.3.2011, 14:05
Здравствуйте
не ясно и криво ведет себя вызов моей программы с параметром из контекстного меню, можете подсказать, как этот вызов правильно обрабатывать?

Mне нужно написать простенькую программу контроля суммы md5 и сделать чтобы она вызывалась и контекстного меню
Программа должна выводить в текстовом полу сумму и имя файла.
Программа написана, ей в качестве параметра передаеться файл для которого необходимо посчитать сумму.

Если регестрировать в реестре такую команду
Код

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Посчитать MD5]
@=""

[HKEY_CLASSES_ROOT\*\shell\Посчитать MD5\command]
@="C:\\calc_md5\\calc_md5.exe %1"


то прога разделяет этот параметр на отдельные через пробел
а если такой вызов зарегестрировать

Код

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Посчитать MD5]
@=""

[HKEY_CLASSES_ROOT\*\shell\Посчитать MD5\command]
@="C:\\calc md5\\calc_md5.exe %1"


то прога принимает укороченый параметр типа 
C:\CALCMD~1\1089~1.TXT
как справиться с этим чтобы все работало?

Автор: lesniken 3.3.2011, 14:33
решилось так
Код

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Посчитать MD5]
@=""

[HKEY_CLASSES_ROOT\*\shell\Посчитать MD5\command]
@="\"C:\\calc md5\\calc_md5.exe\" \"%1\""

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)