Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск файла, по формату ехе, а по расширению фигня 
:(
    Опции темы
Borland_Delphi_6
  Дата 15.7.2003, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



В общем, есть файл, по формату ехе, но расширение НЕ ехе. Его нужно запустить. Все бы хорошо, winexec и никаких проблем, но нужно запустить его с парамметрами, чего функция winexec не понимает. Как иначе можно запустить эту программу из программы на Delphi. Кроме того, прога, которую надо запустить консольная, и нужно сделать так, чтобы при запуске из проги на Delphi консоль не была видна. Заранее спасибо!


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
p0s0l
Дата 15.7.2003, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 14
Всего: 112



Это можно сделать с помощью CreateProcess - проверял



--------------------
С уважением, г-н Посол.
PM   Вверх
Medved
Дата 15.7.2003, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



используй ShellExecute.
WinExec - это устаревшая функция.

Цитата

Описание:

function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
  Directory: PChar; ShowCmd: Integer): HINST;

Функция может открыть или напечатать определенный файл. Исполняет как Windows-приложения так и открывает файлы-документы.
Например с файлами типа ".txt" связан Блокнот "Notepad.exe" и запуск файла "my.txt" приведет к тому, что будет запущен Блокнот и в него будет передан параметр с именем файла.

Также с помощью этой функци можно в проводнике открыть папку.

Параметры:
hWnd: Хендл родителя запускаемого приложения.

Operation: Строка определяющая команду для исполнения. Может содержать:
  "open" - открыть файл определенный параметром FileName.
  "print" - напечатать файл определенный параметром FileName.
  "explore" - открыть папку определенную параметром FileName.
Если параметр Operation равен nil, то по умолчанию выполняется операция "open".

FileName: Определяет имя файла или папки для открытия или печати. Функция может запускать файл на исполнение или документ на печать.

Parameters: определяет параметры передаваемые при запуске исполняемого приложения. Бессмысленно его использовать при запуске документа. Параметр можеть быть равен Nil.

Directory: опеределяет каталог по умолчанию(рабочий каталог). Получить\установить можно с помощью функций GetCurrentDirectory, SetCurrentDirectory.

ShowCmd: определяет режим открытия файла.

Возвращаемые значения
Функция возвращает Хендл открытого приложения или сервера DDE. Возвращаемое значение должно быть больше 32. В противном случае это ошибка:

  0 -  Системе не хватает памяти, выполняемый файл испорчен или нехватает ресурсов.
  ERROR_FILE_NOT_FOUND -  файл не найден.
  ERROR_PATH_NOT_FOUND - путь не найден.
  ERROR_BAD_FORMAT -  .EXE-Файл неверен (не-Win32.EXE или ошибка в .EXE).
  SE_ERR_ACCESSDENIED - Операционная Система отвергла доступ к файлу.
  SE_ERR_ASSOCINCOMPLETE -  неправильная или неполная ассоциация с файлом.
  SE_ERR_DDEBUSY -  транзакция DDE не может завершаться поскольку были запущены другие транзакции.

  SE_ERR_DDEFAIL -  транзакция DDE потерпела неудачу.
  SE_ERR_DDETIMEOUT - транзакция DDE не могла завершаться поскольку запрос несинхронизированный.
  SE_ERR_DLLNOTFOUND - динамическая библиотека(.DLL) не обнаружена.
  SE_ERR_FNF - файл не найден.
  SE_ERR_NOASSOC - нет приложения ассоцированного с данным типом файла.
  SE_ERR_OOM - недостаточно памяти для завершения операции.
  SE_ERR_PNF - путь не найден.
  SE_ERR_SHARE - разделение(shared) файла неверно.

Функция находится в файле shell32.dll



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Borland_Delphi_6
Дата 15.7.2003, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Можно пример работы с функцией?


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
<Spawn>
Дата 15.7.2003, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 1
Всего: 64



ShellExecute(0,nil,'Mspaint.exe',nil,nil,SW_SHOWNORMAL);


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Mikel
Дата 15.7.2003, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

Репутация: нет
Всего: 2



Но она откроет exe, только если он *.exe, а так по-моему спросит чем его открывать если расширение не известно или откроет каким-нть блокнотом.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Borland_Delphi_6
Дата 15.7.2003, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Если так, то это не подходит sad.gif


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
stab
Дата 18.7.2003, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



ну, дык, CreateProcess, как уже говорили...


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.