понедельник, 8 октября 2012 г.

winexec, ShellExecute

function WinExec(CmdLine: PChar; CmdShow: integеr)  : integer;

Запускає вказаний додаток
опис
Функція WinExec дозволяє виконати вказаний додаток. Параметр CmdLine є покажчиком на рядок з нульовим символом в кінці, що містить ім'я виконуваного файлу і, якщо необхідно, параметри командного рядка.
Якщо ім'я зазначено без шляху, то Windows, шукає виконуваний файл в наступній послідовності:


1. Каталог, з якого завантажено додаток.
2. Поточний каталог.
3. Системний каталог Windows, що повертається функцією GetSystemDirectory.
4. Каталог Windows, що повертається функцією GetWindowsDirectory.
5. Список каталогів із змінної оточення PATH.


 Параметр CmdShow визначає форму подання вікна запускається додатку Windows. Можливі значення цього параметра див в розділі ShellExecute. Для додатків не Windows, для файлів PIF і т.д. стан вікна визначає сам додаток.
При успішному виконанні запуску додатка функція WinExec повертає значення, більше 31. При невдачі можуть повертатися наступні значення (іменовані константи використовуються тільки Win32, а для Delphi 1 можна використовувати лише номери, причому їх більше, ніж наведено в таблиці - див розділ ShellExecute.):
Значення Номер Опис0 0 Не вистачає пам'яті або ресурсів системи.ERROR_BAD_FORMAT 11 Помилковий файл. EXE (наприклад, не для Win32. EXE).ERROR_FILE_NOT_FOUND 2 Вказаний файл не знайдений.ERROR_PATH_NOT_FOUND 3 Вказаний каталог не знайдений.
 
Перевагою функції WinExec є її сумісність з ранніми версіями Windows. Власне для цього вона і зберігається в WIN32, хоча для Win32 рекомендується користуватися функцією CreateProcess (про цю функцію див Вбудовану в Delphi довідку).При роботі з Win32 функція WinExec завершує роботу, якщо спричинене додаток викликає функцію GetMessage або закінчується виділений ліміт часу. Таким чином, очікування можна перервати, передбачивши в процесі, запущеному з допомогою WinExec, в потрібний момент виклик функції GetMessage.

  приклад

 WinExec('calc',SW_RESTORE);

 
 

ShellExecute

 ShellExecute - функція API Windows

 Модуль ShellAPI

 function ShellExecute(Wnd: HWnd;           Operation, FileName, Parameters, Directory: PChar;
          ShowCmd: Integer): THandle;

 опис

Функція ShellExecute дозволяє виконати будь-який додаток Windows. Можна також відкрити файл документа, що означає виконання пов'язаного з ним програми та завантаження в нього цього документа. Наприклад, зазвичай з документами, що мають розширення. DOC, пов'язаний Winword. У цьому випадку відкрити файл, наприклад, з ім'ям 'file.doc "означає запустити Winword і передати йому як параметр ім'я файлу' file.doc. Крім описаних можливостей функція ShellExecute дозволяє роздрукувати вказаний файл або відкрити вказану папку. Останнє означає, що буде запущена програма "Провідник" з відкритою зазначеної папкою.

Параметри функції означають наступне
:


 Wnd Батьківське вікно, в якому відображаються повідомлення запускається додатка.
Операція Вказує на рядок з нульовим символом в кінці, яка визначає виконувану операцію. Цей рядок може містити текст "відкритого" ​​(відкрити) або "друк" (надрукувати). Для Windows 95 і NT визначено ще одне значення: «вивчити» (досліджувати) - відкрити папку. Якщо параметр дорівнює нулю операції, то за умовчанням виконується операція "відкритим".
Ім'я_файлу Вказує на рядок з нульовим символом в кінці, яка визначає ім'я файлу.
Параметри Вказує на рядок з нульовим символом в кінці, яка визначає передаються в додаток параметри, якщо FileName визначає виконуваний файл. Якщо FileName вказує на рядок, визначальну відкривається документ, то цей параметр задається рівним нулю.
Каталог Вказує на рядок з нульовим символом в кінці, яка визначає каталог за замовчуванням.
ShowCmd Визначає, режим відкриття зазначеного файлу.


приклади

ShellExecute(Handle,'explore', 'c:\Program Files\Borland',  nil,nil,SW_RESTORE);
 ShellExecute(Handle,'open','Calc',nil,nil,SW_RESTORE);

 

Комментариев нет:

Отправить комментарий