Форум: "WinAPI";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизПереопределение процедур меню другой программы Найти похожие ветки
← →
Elen © (2006-05-19 15:52) [0]Этот вопрос уже был задан на ветке НАЧИНАЮЩИХ, но думаю уместнее сюда его задать
Господа! Задача следующая : Есть стороннее приложение (AutoCAD, Word... иже с ними). В их меню присутствуют пункты СОХРАНИТЬ и СОХРАНИТЬ КАК. При их вызове выполняется стандартная процедура сохранения файла, но наши юзеры дают при сохранении имена какие угодно. Это мне не нравится, т.к. затрудняет поиск файлов
Например файл "ПРОРАБОТКИ.doc" называют скажем "046екорв.doc" (лишь бы сохранило). В дальнейшем чтобы найти файл с нужным содержимим приходится просматривать горы мусора.
Возникла идея, нельзя ли переопределить процедуры менюшек, дабы заставить пользователя своей программой правильно сформировать имя файла (Скажем с помощью карточки нарисованной мной в делфи).
Например документ содержит деталь из узла 123000, обозначение детали 123987, наименование - ПЛАНКА.
Надо сформировать имя - 123000_123987_ПЛАНКА.doc и сохранить уже с этим именем.
Заранее спасибо
P.S. Или подскажите другие методы
← →
Сергей М. © (2006-05-19 16:08) [1]Теоретически можно.
Практически - даже и не берись за эту задачу, ибо решается она совершенно с другой стороны - административным способом.
← →
Elen © (2006-05-19 16:19) [2]Сергей Админспособы уже рассматривались, и есть трудности организационного характера.
А даже ради интереса все-таки как?
← →
Сергей М. © (2006-05-19 16:27) [3]
> все-таки как?
В принципе возможно, но стоит это немало.
Понимаешь о чем я ?
← →
Elen © (2006-05-19 16:36) [4]Ну что-ж приятно было пообщаться
← →
GrayFace © (2006-05-19 17:00) [5]Надо проверять правильность названия или генерировать его?
← →
n0name (2006-05-19 18:39) [6]Переопределить можно.
← →
Elen © (2006-05-22 07:59) [7]
> Переопределить можно.
Как?
← →
Elen © (2006-05-22 08:20) [8]
>GrayFace © (19.05.06 17:00) [5]
Надо проверять правильность названия или генерировать его?
Генерировать
← →
n0name (2006-05-22 11:42) [9]
> Как?
Изменяешь адрес оконной процедуры для нужного окна на свой с помощью SetWindowLong.
Причём твоя WndProc должна быть в адресном пространстве целевого процесса.
← →
Elen © (2006-05-22 12:22) [10]Это для окна, а для менюшки?
← →
n0name (2006-05-22 13:42) [11]Ну а в обработчике отлавливай сообщении о нажатии правой клавиши мышки.
← →
GrayFace © (2006-05-22 18:02) [12]А можно вообще не выводить диалог сохранения. Но лучше просто вставить нужный текст в Edit. А дальше пока и не надо идти - если изначально будет предлагаться правильное имя, да еще под страхом страшной расплаты, уж не будут наверное выдумывать свое.
Пока что самое сложное - сгенерировать имя.
Дальше:
Поставить хук на GetMessage
Дальше действовать по обстановке: если приходит WM_CREATE, то все делать при его получении, иначе, например, при WM_SHOWWINDOW.
Еще возможна проблема с наличием дргих диалогов сохранения, например, Export.
← →
Elen © (2006-05-23 08:39) [13]
> GrayFace ©
Пока что самое сложное - сгенерировать имя.
Сгенерировать как раз несложно. Дело в том, что на предприятии имеется база данных спецификаций документов (чертежей), в которой очень строго по ГОСТ заполняются поля ОБОЗНАЧЕНИЕ, НАИМЕНОВАНИЕ и т.д., которые и составляют требуемое имя. Т.о. сделав клиентское приложения для связи БД и чертежа можно легко сформировать требуемое имя. Кроме того, в штампе чертежа (AutoCAD, Компас ) имется таже штамповая информация. и мы ее легко выдираем, занося в текстовые поля и БД. Но даже при этом подьзователь может сохранить файл где угодно и как угодно. 100% согласны, что нужен комбинированный подход, использование БД+Административные меры, но хотелось бы узнать, нет ли дополнительных возможностей ужесточить контроль.
← →
balepa © (2006-05-23 08:56) [14]
> Elen © (23.05.06 08:39) [13]
"Административные меры" надо принимать тем более если есть ГОСТы по которым составляются "имена", а то потом и чертить будут не то и не так.
← →
Elen © (2006-05-23 09:03) [15]Благодарим всех за посильную помощь в решении вопроса. Согласны,как сказано выше, что требуется комбинированный подход, использование БД+Административные меры Буде биться дальше.
Тема закрыта
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c