![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Valior |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
Пишу курсовик, помогите.
У меня есть FilelistBox, который в директории DIR, в этой директории есть файл TEST.DOC. Сообственно проблема, необходимо запускать WinWord так, чтобы после изменения в файле, небыло возможности сохранить фаил в директории кроме DIR. Как и с чего вообще начать не представляю. Помогите плиз! |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Начни с ShellExecuteEx, CreateJobObject и AssignProcessToJobObject
-------------------- Обижено школьников: 8 |
|||
|
||||
Nickel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 7.2.2006 Репутация: 2 Всего: 4 |
Если бы word использовал для вывода диалога GetSaveFileName из comdlg32.dll, тогда бы можно было бы перехватить её и делать всё что угодно, однако программисты мелкософта видимо решили отличиться и создавать диалоги как-то по-другому
![]() ![]() |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 2 Всего: 16 |
Перехват подходит. Можно перехватывать WriteFileA(ZwWriteFile) и смотреть параметры. Ведь Word в файл пишет всё равно посредствам этой апи.
|
|||
|
||||
Valior |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
procedure TForm2.N3Click(Sender: TObject);
Var app : olevariant; CBar: CommandBar; begin app := CreateOleObject('Word.Application'); app.Documents.Add(FileListBox1.FileName); app.ActiveDocument.Saved := true; app.visible := true; app.ChangeFileOpenDirectory(Filelistbox1.Directory); app.CommandBars['Saveas'].Enabled:=false; end; Вот к чему свелась задача. Но при такой конструкции ругается на несоответствие типов. Может кто знает как решить такую проблему? |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Сохранять можно и наверное нужно. Но только в конкретную папку! И я думаю что Ворд - это только для примера, а нужно общее решение
-------------------- Обижено школьников: 8 |
|||
|
||||
Nickel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 7.2.2006 Репутация: 2 Всего: 4 |
А я бы CreateFile перехватил
![]() |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
В реальной проге я бы тоже так сделал. Но в курсовой..? Хотя, че ж это мнения автора не слышно?
Nickel, забей. Это уже не надо ![]() -------------------- Обижено школьников: 8 |
|||
|
||||
Nickel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 7.2.2006 Репутация: 2 Всего: 4 |
Ну надо или не надо это пусть автор темы решает.
|
|||
|
||||
Valior |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
Ребят всем спасибо, все свелось к
Это сообщение отредактировал(а) Girder - 27.5.2006, 14:15 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |