Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/51: Рейтинг темы: голосов - 51, средняя оценка - 4.73
Dobrov
0 / 0 / 0
Регистрация: 15.04.2011
Сообщений: 13
1

OpenFileDialog - выбор и открытие файла с расширением exe

26.02.2012, 13:35. Просмотров 9585. Ответов 9
Метки нет (Все метки)

Вообщем есть две кнопки Button и один openDialog, первая кнопка обращается к openDialog я выбираю файл с расширением exe а вторая кнопка должна запускать этот файл, как вот это сделать?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2012, 13:35
Ответы с готовыми решениями:

FileListBox, открытие explorer.exe и подсвечивание файла из компонента
Доброго времени суток, вот столкнулся с проблемой, в FileListBox загружаются динамически пути к...

Открытие документа с расширением .txt и doc?
Здравствуйте форумчани. Расположил на форме компонент Батон1 и Батон2. При нажатии компонент...

Открытие БД и выбор таблицы из INI файла
Собственно есть много БД, в БД может быть одна таблица, а может быть и несколько. На вход...

Открытие файла через OpenFileDIalog и записать имя файла в переменную
Можно ли в формах Pascal ABC Net, открыв файл через openfiledialog, записать в строковую...

Открытие текстового файла в richtextbox с помощью OpenFileDialog
Есть форма, на которой распологается кнопка при нажатии на которую должно открываться диалоговое...

9
LK
Заблокирован
26.02.2012, 13:57 2
Лучший ответ Сообщение было отмечено как решение

Решение

Dobrov, а не поделитесь секретом, для чего две кнопки, если это все делается одной , при этом, диалог отображается модально, и вы даже пукнуть не сможете, пока его не закроете ?

Добавлено через 3 минуты
хотя...
C++
1
2
3
4
5
6
7
8
9
AnsiString filename;
void __fastcall Form1::Button1Click(TObject *Sender) {
  if (OpenDialog1->Execute()) }
    filename = OpenDialog1->FileName;
  }
}
void __fastcall Form1::Button2Click(TObject *Sender) {
  ShellExecute(запускаете свой файл, используя filename);
}
3
Samrisbe
1353 / 723 / 66
Регистрация: 28.01.2011
Сообщений: 1,985
26.02.2012, 14:02 3
C++
1
2
if ( OpenDialog1->Execute() ){
ShellExecute(NULL, "open", "OpenDialog1->FileName", NULL, NULL, SW_SHOWNORMAL);
код не проверял но знаю что требует некой коректировки, и в самом OpenDialog1 Filter нужно записать exe.
упс не успел за босом...

Добавлено через 2 минуты
Цитата Сообщение от LK Посмотреть сообщение
void __fastcall Form1::Button1Click(TObject *Sender) {
if (OpenDialog1->Execute()) }
filename = OpenDialog1->FileName;
}
}
void __fastcall Form1::Button1Click(TObject *Sender) {
ShellExecute(запускаете свой файл, используя filename);
}
Два раза Button1 написал, запутаеш парня в конец...
2
_engineer_
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
26.02.2012, 14:04 4
Первый нулл, если память не изменяет, то сюда функция возвращает хендер.
"OpenDialog1->FileName" - без кавычек
0
Dobrov
0 / 0 / 0
Регистрация: 15.04.2011
Сообщений: 13
26.02.2012, 14:07  [ТС] 5
Спасибо пробую
0
Dobrov
0 / 0 / 0
Регистрация: 15.04.2011
Сообщений: 13
26.02.2012, 14:51  [ТС] 6
я конечно не косяк но чет я не правильно делаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
AnsiString oyf;
void __fastcall TForm1::N11Click(TObject *Sender)
{
          if ( OpenDialog1->Execute() )
{
        oyf = OpenDialog1->FileName;
}
 
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ShellExecute(NULL, "open", "oyf", 0, 0, SW_SHOWNORMAL);
}
Все компилируется открывает OpenDialog но не запускает выбранную программу ((

 Комментарий модератора 
, используйте тег вставки кода :
[CPP ]без пробелов[ /CPP] или кнопка С++ на панели окна редактирования сообщения
Правила
2.8. Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
0
LK
Заблокирован
26.02.2012, 14:54 7
Dobrov,
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ShellExecute(NULL, "open", oyf, 0, 0, SW_SHOWNORMAL);
}
0
Dobrov
0 / 0 / 0
Регистрация: 15.04.2011
Сообщений: 13
26.02.2012, 15:07  [ТС] 8
Выходит ошибка AnsiString указан
C++
1
2
[C++ Error] OYF.cpp(27): E2034 Cannot convert 'AnsiString' to 'const char *'
[C++ Error] OYF.cpp(27): E2342 Type mismatch in parameter 'lpFile' (wanted 'const char *', got 'AnsiString')
0
LK
Заблокирован
26.02.2012, 15:18 9
C++
1
ShellExecute(NULL,"open",oyf.c_str(),0,0,SW_SHOWNORMAL);
0
Dobrov
0 / 0 / 0
Регистрация: 15.04.2011
Сообщений: 13
26.02.2012, 17:05  [ТС] 10
когда пишу так то открывается
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ShellExecute(NULL,"open","C:\\Program Files\\AIMP3\\AIMP3.exe",NULL,NULL,SW_SHOW);
}
а когда пробую вот так вот
C++
1
ShellExecute(NULL,"open",oyf.c_str(),0,0,SW_SHOWNORMAL);
ноль эмоций!

Я вот что думаю может где то вот тут ошибка?
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::N11Click(TObject *Sender)
{
   if ( OpenDialog1->Execute() )
   {
      oyf = OpenDialog1->FileName;
   }
 
}
может есть другой способ как сохранять путь?
Или может попробовать через функцию FindEXEcutable?

Добавлено через 25 минут
ура заработало!!!!
C++
1
ShellExecute(0,"open",oyf.c_str(),NULL,NULL,SW_SHOW);
а когда пишешь NULL почему то не открывает, почему так?
C++
1
ShellExecute(NULL,"open",oyf.c_str(),0,0,SW_SHOWNORMAL);
0
26.02.2012, 17:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2012, 17:05

Открытие и сохранение файла с помощью SaveFileDialog и OpenFileDialog
Здравствуйте! Не могли б вы продемонстрировать как создать файл 1.txt и записать в него 1 с...

Открытие файла с определенным расширением
Добрый день! Имеется код, в текстовое поле отображается файл, как указать, что если в текстовом...

Автоматическое открытие файла с расширением .chm
Раньше легко открывался (двойным щелчком на файле), но после временной установки HamsterPDFReader -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru