Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

Как открывать документы при помощи CreateProcess   Найти похожие ветки 

 
jeka_t   (2005-09-07 13:33) [0]

Хочу открыть в Win98 документы Word, AutoCAD, Acrobat Reader с помощью процедуры CreateProcess...
Пишу:
function OpenDOC(const cmd: String): boolean; export;
var
 StartInfo: TStartupInfo;
 ProcInfo: TProcessInformation;
begin
 FillChar(StartInfo, SizeOf(StartInfo), #0);
 with StartInfo do
   begin
   cb := SizeOf(cb);
   dwFlags := STARTF_USESHOWWINDOW;
   wShowWindow := SW_SHOWNORMAL;
   end;
 Result := CreateProcess(nil, PChar( cmd ), nil, nil, false,
                         CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
                         PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
end;

Вызываю:
OpenDOC(""C:\AutoCAD\ACAD.EXE" ""+FileName+""")
Он открывает его без проблем, но следущий файл, которого надо открыть, процедура сного запускает приложение AutoCAD...
И если файлов 10, то и запусков приложения тоже 10...
Как можно запустить одно приложение с более одним документом???


 
isasa ©   (2005-09-07 13:51) [1]


var
app : OleVariant;
........
app:=CreateOleObject("объект");
//например
app.OpenDocument(.........  //индивидуально для каждого объекта
..........


 
jeka_t   (2005-09-07 14:05) [2]

Спасибо...
Этот способ работает, но он медленнее чем CreateProcess...
Хотелось бы использовать именно эту процедуру...


 
Reindeer Moss Eater ©   (2005-09-07 14:14) [3]

но следущий файл, которого надо открыть, процедура сного запускает приложение AutoCAD...

А по твоему CreateProcess не должна каждый раз создавать новый процесс?
А должна только когда?


 
Reindeer Moss Eater ©   (2005-09-07 14:17) [4]

>Как можно запустить одно приложение с более одним документом???

Изучить параметры командной строки этого приложения.


 
jeka_t   (2005-09-07 14:24) [5]

Но приложений очень много и знать все приложения, которые работают с документами(pdf, max, plt, dwg, dwf, cdr) невозможно... и потом не все приложения работают с параметрами запуска...


 
Reindeer Moss Eater ©   (2005-09-07 14:28) [6]

Но приложений очень много и знать все приложения, которые работают с документами(pdf, max, plt, dwg, dwf, cdr) невозможно... и потом не все приложения работают с параметрами запуска...

Отсюда вывод - не задавай бессмысленных вопросов, подобных заданному тобой в этой ветке (jeka_t   (07.09.05 13:33)).


 
jeka_t   (2005-09-07 14:33) [7]

Я думаю задача форумов не потыкать, а помогать или же у Вас другое мнение по этому поводу?


 
Digitman ©   (2005-09-07 14:34) [8]


> jeka_t   (07.09.05 14:24) [5]


а их и знать не надо.
достаточно знать приложение по умолчанию.
инф-ция же о приложении по умолчанию и ком.строке для открытия им указанного документа находится в реестре

ты же не удивляешься, что по щелчку мышью на иконке txt-файла всегда стартует, скажем, Notepad а не WordPad ?
спрашивается, откуда система узнала, какой процесс стартовать и какие параметры в ком.строке ему передать ?
ответ : из реестра эта инф-ция взята системой

то же самое и ты можешь проделать программно у себя в приложении


 
Reindeer Moss Eater ©   (2005-09-07 14:35) [9]

Я думаю, что задача форумов - это иметь как можно большую аудиторию.


 
Германн ©   (2005-09-07 14:49) [10]

>Изучить параметры командной строки этого приложения.

2 jeka_t   (07.09.05 14:24) [5]
... и потом не все приложения работают с параметрами запуска...


Ну уж, а если некие приложения и не работают так как тебе хочется, то тут все-равно облом. Нельзя заставить открыть в блокноте несколько документов.


 
alpet ©   (2005-09-07 15:58) [11]

Используй ShellExecute и не мучайся.


 
jeka_t   (2005-09-08 12:26) [12]

Спасибо, это лучший на данный момент метод... Не такой уж гипкий, но при желании можно достичь нужного результата...
Всем спасибо...:)))



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.046 c
3-1128368821
ALEX_T
2005-10-03 23:47
2005.11.13
Многопользоватльская прога


1-1130064034
saNat
2005-10-23 14:40
2005.11.13
Прокрутка TScrollBox


14-1130135274
vok
2005-10-24 10:27
2005.11.13
Пропал ребенок!


2-1129547718
Parth
2005-10-17 15:15
2005.11.13
Консольное приложение: иероглифы


2-1129612756
Set2000
2005-10-18 09:19
2005.11.13
Вопрос по ComboBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский