Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Context menu, При щелчке на любом файле 
:(
    Опции темы
AlexSecond
Дата 7.7.2004, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 7.7.2004

Репутация: нет
Всего: нет



Такой вопрос: скачал с одного сайта программу, которая вписывает свою строчку в контекстное меню Windows, но она создается только, если кликнуть правойкнопке на exe файле, а очень надо чтобы на любом. Перерыл весь код, там есть функция которая реагирует на выбор этой строчки(в конце). Но где выбираются типы файлов при нажатии на которые появляется это меню??? Код взят с "http://www.codeguru.com/Cpp/COM-Tech/shell/article.php/c4501/".

STDMETHODIMP CCmdLineContextMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpici)
{
HINSTANCE hInst = NULL;

switch (LOWORD(lpici->lpVerb)) {
case ID_RUN_WITH_CMD_LINE_PARAMS:

CCmdLinePromptDlg dlg(m_strFileName);

if (dlg.DoModal() == IDOK) {

hInst = ::ShellExecute(NULL, NULL, m_strFileName.data(), dlg.m_strCmdLine.data(), NULL, SW_SHOW);

if ((int)hInst <= 32) {
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL,
(int)hInst, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf, 0, NULL );
::MessageBox( NULL, (LPCTSTR)lpMsgBuf, _T("Error"), MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );
}
}
break;
}

return S_OK;
}
PM MAIL   Вверх
Олег М
Дата 7.7.2004, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

Репутация: 7
Всего: 7



там в файле CmdLineExt.cpp есть
Код
hr = key.SetValue(HKEY_CLASSES_ROOT, _T("exefile\\shellex\\ContextMenuHandlers\\CmdLineExt\\"), strCLSID);

В этом наверное всё и дело

PM MAIL ICQ   Вверх
AlexSecond
Дата 8.7.2004, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 7.7.2004

Репутация: нет
Всего: нет



Цитата
там в файле CmdLineExt.cpp есть

Код
Код  
hr = key.SetValue(HKEY_CLASSES_ROOT, _T("exefile\\shellex\\ContextMenuHandlers\\CmdLineExt\\"), strCLSID);



В этом наверное всё и дело


Да я это тоже находил, похоже что это то самое, попробую найти на что это поменять для любого файла. Если кто знает подскажите Plz.

PM MAIL   Вверх
Олег М
Дата 8.7.2004, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

Репутация: 7
Всего: 7



Цитата
Если кто знает подскажите Plz.

Я не знаю. Попробуй здесь поискать что-нибудь
http://msdn.microsoft.com/library/default...._extension_.asp
Добавлено @ 09:23
или здесь
http://msdn.microsoft.com/library/default....enuhandlers.asp
PM MAIL ICQ   Вверх
AndyY
Дата 8.7.2004, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.5.2004
Где: СПб

Репутация: 2
Всего: 4



предлагаю попробовать зарегистриться здесь:
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers


--------------------
PM MAIL WWW   Вверх
Гость_AlexSecond
Дата 9.7.2004, 07:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(AndyY @ 8.7.2004, 15:20)
предлагаю попробовать зарегистриться здесь:
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers

Спасибо, так все работает biggrin.gif
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.