Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ShellExecute [D6]


manevil ©   (2006-05-15 12:05:00) 

Здравствуйте, мастера. Помогите, плиз. Такая проблема: необходимо, чтобы прога запускала выбранные юзером файлы. Т.е если пользователь выбрал файл *.doc или *.avi то прога запускала бы эти файлы соответсвующим приложением


MetalFan   (2006-05-15 13:02:00) [1]


> files.Text+ExtractShortPathName(filef.text)

и какое в итоге имя файла передается?!


manevil   (2006-05-15 13:02:00) [2]

все, спасибо! разобрался :)
забыл слэш поставить
ShellExecute(0, nil, PChar(files.Text+ '\'+ExtractShortPathName(filef.text)), nil, nil, SW_SHOWNORMAL);


Ega23   (2006-05-15 13:01:00) [3]


> функция ExtractShortPathName получает имя файла, насколько
> я понял


А ты проверь, ради приличия...


manevil   (2006-05-15 12:57:00) [4]

прога копирует файл из места А в место Б, где А - полный путь к файлу (с именем файла есс-но):=filef.text, а Б - files.text - папка куда скопировали
функция ExtractShortPathName получает имя файла, насколько я понял


Gydvin   (2006-05-15 12:51:00) [5]


> files.Text+ExtractShortPathName(filef.text)


Что-то вот эту конструкцию не асилил


manevil   (2006-05-15 12:49:00) [6]

Антивирь оказался не причем.

> KygECHuK ©   (15.05.06 12:43) [7]
>
> надо так:
> ShellExecute(0, nil, PChar(files.Text+ExtractShortPathName(filef.
> text)), nil, nil, SW_SHOWNORMAL);

Так тоже не работает :(


Gydvin   (2006-05-15 12:49:00) [7]


> При выполнении действия заметил, что антивирь (Nod32) начинает
> кушать 90% проц. на пару секунд

Ну правильно, ты ж наверное прогу запускаешь


KygECHuK   (2006-05-15 12:43:00) [8]

надо так:
ShellExecute(0, nil, PChar(files.Text+ExtractShortPathName(filef.text)), nil, nil, SW_SHOWNORMAL);


manevil   (2006-05-15 12:41:00) [9]

При выполнении действия заметил, что антивирь (Nod32) начинает кушать 90% проц. на пару секунд


manevil   (2006-05-15 12:39:00) [10]

с 'open' тоже не работает :(


filef.Text:=opendlg1.FileName;
...
pch:=strtoPChar(files.Text+ExtractShortPathName(filef.text));


balepa   (2006-05-15 12:29:00) [11]

А так ShellExecute(0, 'open', pch, nil, nil, SW_SHOWNORMAL);


Ega23   (2006-05-15 12:29:00) [12]


> Где pch-полный путь к файлу, но почему-то не запускается


Покажи, как pch определяешь


manevil   (2006-05-15 12:19:00) [13]

делаю вот так:

var pch:Pchar;
...
ShellExecute(0, nil, pch, nil, nil, SW_SHOWNORMAL);

Где pch-полный путь к файлу, но почему-то не запускается


Ega23   (2006-05-15 12:10:00) [14]

Ну и в чём проблема? uses ShellAPI,
ShellExecute


Наверх

Титульная страница Поиск, карта сайта Написать письмо