![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Собственно в этом и непонятка. При открытии такого файла ворд радостно сообщает, что он занят и предлагает нам выбрать дальнейшие действия.
Вот только мне не надо этого счастья вообще. Мне требуется тупо пропустить такой файл и обработать сие как исключение. Вопрос - как? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#2
|
||||
|
||||
![]() можно попробовать открыть файл самостоятельно (например, через CreateFile), открылось - не занят, не открылось - занят, правда такой метод не очень гарантирует, что после проверки и до программного открытия файла в ворде пользователь его не откроет сам (а вдруг успеет
![]() Понять, что хочет заказчик - бесценно, ведь он платит MasterCard ![]() |
#3
|
||||
|
||||
![]() когда документ открыт рядом появляется файл имя которого начинается с ~$ в нем имя пользователя.
Пишу программы за еду. __________________ |
#4
|
||||
|
||||
![]() Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
![]() Код:
uses ActiveX, ComObj, ... function IsRunning(const PathName: string): Boolean; var bc: IBindCtx; mk: IMoniker; begin OleCheck(CreateBindCtx(0, bc)); OleCheck(CreateFileMoniker(PChar(PathName), mk)); Result:=mk.IsRunning(bc, nil, nil)=S_OK; end; Пишу программы за еду. __________________ |
#6
|
||||
|
||||
![]() Читал я про эту штуку IMoniker. Даже пример его использования скачивал, но он там в итоге запускал тот-же ворд, я и бросил не разбираясь в причинах
![]() Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |