Меню для конкретного файла\папки.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Меню для конкретного файла\папки.

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 12:20

Здраствуйте,
Как всегда - бываю редко, спрашиваю много :)

Итак несколько вопросов :)

1) Задача такая: у меня есть файл (или папка), мне нужно вывести меню Windows для этого файла (можно сказать эмуляция нажатия правой кнопки мыши на объекте - с выводом нужного меню).

2) Пишу свой компонент - что-то похожее на ListView, только под специализированные цели + дополнительные возможности. Вопрос такой - у меня есть большой модуль, в котором только одна большая функция (обработка массивов - сортировка, изменение, поиск и т.д.). Проблема в том, что если я ставлю On Error Resume Next - все работает как нужно (если компилировать в среде), но готовый EXE-шник вылетает (программа выполнила недопустимую операцию там то там то...). Убираю On error resume next и все работает... Но эту строчку убирать никак нельзя :)

3) Нужно работать с архивами через файлы pkunzip и др. Т.е. у меня есть такие старые досовые архиваторы, мне нужно получить из них данные - не запуская их. Возможно ли это?

Вот у Total Commander это как-то получается - ZIP архивы он открывает внутренним распковщиком, а ARJ и другие - внешним.

Понимаю, что нужно вытаскивать данные из консоли, что-то типа:
pkunzip extract \files\
Не получается :(

Надеюсь получить ответы хотя бы на первый и второй :) И третий :)
С уважением.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.01.2005 (Чт) 12:27

1. Не понял.
2. Незрелое мнение. Резюме убрать :)
3. Зацени zlib.dll
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 20.01.2005 (Чт) 12:39

1. может он имел ввиду контекстное меню , которое в Explorer появляется, когда правой кнопкой на папке кликаешь

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.01.2005 (Чт) 12:41

И откуда, для чего и в результате чего оно вызывается? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 12:41

2GSerg - вот открой Explorer.exe, выбери любой файл и тыкни на нем правой кнопкой мыши. Появляется менюшка ("открыть", "копировать", "отправить", "разархивировать" - вобщем стандартная менюшка для файла). Вот ее мне и нужно всунуть в проект.

Насчет второго - спокойнее себя чувствуешь когда с резюмой :)

И третий вопрос: мне желательно нужно без библиотек... внешние файлы - другое дело. А вот "таскать" еще один OCX не очень охота, итак позволил себе роскошь добавить MSCOMCTL :)
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.01.2005 (Чт) 12:45

1. Тогда, вопрос безмерно актуальный :)
Видишь ли, эта менюшка строится хитрым образом. Винда последовательно вызывает все контекст-хэндлеры, которые ассоциированы с файлом. Тебе, видимо, придётся заниматься примерно тем же :)

2. Мнение ещё более незрелое :)

3. Это native dll. Что не так? И почему она не "внешний файл"? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 12:45

КонстУан - именно-именно :))
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 12:50

Вообще у меня есть ответы на все три вопроса - но это жутко здоровенные классы по 300 кил :) И самое печальное - ничего не удаляется (или почти ничего), все сделано жутко не граммотно и не красиво - все вызывается засчет другого :)

Мне бы так какую нить апишку дайте :)) Или две... или три :)) Но не триста же кил...

Насчет последнего - ну не хочется мне ДЛЛки\OCX таскать... Не люблю. Вот решить бы вопрос с pkunzip...
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Вот, куда мне нужно все эти функции вставить :)

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 12:57

Вот этот компонент "в разработке" - глюки еще есть (к примеру я еще не сделал нормальный скроллинг - глючит :)), но кое-что вырисовывается. Самое интересное - что папку system32 открывает быстрее, чем ListView (с заполнением всех полей: размер, дата...).
Вложения
FileList.rar
Компонент FileList
(23.62 Кб) Скачиваний: 27

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 12:59

Только не смейтесь :)
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.01.2005 (Чт) 13:00

:lol: :lol: :lol:


ЗЫ: Мне можно, потому что я пока не смотрел :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 13:01

Вот туда нужно всунуть все эти функции...

Блин, я только глюканул - компонент открывает диск E: Так, что если у вас такого нет воркать не будет :)))
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.01.2005 (Чт) 13:03

Кстати, какая тебе разница - таскать pkunzip.exe или zlib.dll? :?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 13:05

У меня DLLфобия :)
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.01.2005 (Чт) 13:14

Хмм....
Как ты уживаешься с msvbvm? :)

Диска E: у меня, кстати, нет :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 13:17

Ладно, ставлю вопрос по другому...

У кого есть Исходник, который решает первую или третью проблему :)) Тому приз - могу пингануть бесплатно :))
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.01.2005 (Чт) 13:30

Какой может быть код? Берём мануал по командным ключам pkunzip и вызываем shell с этими ключами...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 20.01.2005 (Чт) 13:36

Про меню исходничек хотя бы ;))

А с пкунзипом не все так легко. Я сделал один вариант, но он мне самому не нравится... Я открываю консоль, "выковыриваю" оттуда строки, потом split делаю и получается массив из файлов. Но это настолько ненадежно... Хотелось бы ... ладно... пойду ZLibы искать :))

Понимаю, как я надоел, но я редко бываю - так что компенсируемая надоедливость :) Вот.
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.01.2005 (Чт) 15:43

GSerg писал(а):1. Тогда, вопрос безмерно актуальный :)
Видишь ли, эта менюшка строится хитрым образом. Винда последовательно вызывает все контекст-хэндлеры, которые ассоциированы с файлом. Тебе, видимо, придётся заниматься примерно тем же :)

У меня есть плагин для FAR-а, который это как-то делает. Исходников от него нет, а ковырять лень. Но никаких секретных функций из shell32 или откуда-нибудь ещё он не импортирует, значит делает всё сам.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.01.2005 (Пт) 9:29

Да они все прописаны в конкретном разделе реестра. Вызывай списком :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 21.01.2005 (Пт) 14:47

Ошень странно...
Дизасмил Total Comander.... пусто....
Нет! не потому, что он был упакован UPX'ом :)
Может панели - Компоненты?
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 21.01.2005 (Пт) 22:52

Вот я же такой компонент и пишу ;) Скорее всего. Так и не могу найти ответ на первый вопрос - не могу даже подойти к разгадке вопроса... хрен знает откуда это меню берется :)

P.S. В "хрен знает где" тоже смотрел - меню нету...
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 22.01.2005 (Сб) 2:41

У меня где то был такой пример, если еще остался выложу.
الفيجوال بيسك الرابح

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 22.01.2005 (Сб) 3:08

Вот нашел.
Вложения
!SHellContextMenu.rar
Пример
(20.32 Кб) Скачиваний: 39
الفيجوال بيسك الرابح

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

:)

Сообщение PUNK-GRUNGER » 26.01.2005 (Ср) 13:10

GM - верю, что нашел ;) Только ссылку дай плиз :) или сюда выложи :)

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 26.01.2005 (Ср) 13:12

ооо... тю... форум глюканул.. а то аттача не видно было.. хз...
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList