Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Опять про EXE-файл 
V
    Опции темы
Achillius
Дата 20.3.2006, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 11.3.2006

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



Подскажите, ешё, плиз, как мне открыть файл EXE, который я добавил в проект (файл калькулятора, пусть будет в программе, а то на разных компах, он в разных местах лежит, да и весит всего 119 кб.).
Так вот. Как сделать так, чтобы при нажатии кнопки на ToolBar выводился этот калькулятор?? Обработчик я сам сделаю, мне только строку открытия файла calc.exe. smile Спасибо.
PM MAIL   Вверх
Samhein
Дата 20.3.2006, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.6.2005

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



А
Код

WinExec("calc.exe", SW_SHOW);

нельзя чтоль использовать?


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
Earnest
Дата 20.3.2006, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 87
Всего: 183



Или ShellExecute или CreateProcess (WinExec объявлена устаревшей - This function is provided only for compatibility with 16-bit Windows)


--------------------
...
PM   Вверх
Samhein
Дата 20.3.2006, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Башзэфашовец
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.6.2005

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



Earnest, главное что запускать надо calc.exe


--------------------
Знаю форум наизусть, но писать еще боюсь
PM   Вверх
Achillius
Дата 28.3.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 11.3.2006

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



А можно подробнее про ShellExecute и CreateProcess. smile Какие параметры включают эти функции. WinExec не работает. Сразу выдаёт ошибку. Это , наверное, из-за того, что она считается устаревшей.

Это сообщение отредактировал(а) Achillius - 28.3.2006, 16:50
PM MAIL   Вверх
CaptainFlint
Дата 28.3.2006, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Искатель сокровищ
**


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

Репутация: 7
Всего: 23



Achillius
Не совсем понятно, что имеется в виду под фразой "добавил в проект". Ты его внутрь EXE-файла своего проекта что ли впихнул? Просто добавил как файл в проект Студии? Добавил его, чтобы он лежал рядом с EXE-шником твоей проги? опиши подробнее, что сделано, и что хочется сделать.
Таскать с собой calc.exe может оказаться не слишком удачным вариантом - нет гарантии, что он запустится на других системах. Более корректное решение - это всё-таки определить, где находится этот самый calc.exe на целевой системе, и оттуда его запустить. Насколько я знаю (надо проверить), достаточно лишь разделить две ситуации: когда программа запущена под Win9x, и когда под WinNT. А путь, где лежит calc.exe, стандартный. Например, в NT - это \WINDOWS\system32\calc.exe. Т.е. в этом случае единственная задача - определить местоположение системного каталога, а уж решается она в два клика, причём есть куча способов, выбирай на вкус (через реестр, через переменные окружения, прямым вызовом GetSystemDirectory...)

Если же всё равно очень хочется именно запустить свой "личный" calc.exe, то см. выше - нужны подробности. До сих пор я лично не сталкивался с неработой WinExec, даже несмотря на его "устарелость". Скорее всего, причина в чём-то другом, например, пути некорректно указаны. Смотри возвращаемый код ошибки, по нему многое можно понять.


--------------------
Почему же, ё-моё, ты нигде не пишешь "ё"?
--------------------
Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) 
PM MAIL WWW ICQ   Вверх
Achillius
Дата 29.3.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 11.3.2006

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



CaptainFlint, я добавил файл в проект так: Project -> Add to project -> Files... Но это уже не так важно, т.к. WinExec выдаёт ошибку только под 98 виндой, а под XP и NT все работает нормально, как швейцарские часы. Да хрен с ней, с 98-ой, на предприятии для которогоя я программу делаю все равно 2000 стоит.
Всем спасибо. smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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