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

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

Помогите разобраться


Александр ©   (2002-07-12 19:57:00) 

Здравствуйте. У меня возникла проблемма. Я из реестра вытаскивыю в ListBox1 путь к программе удаления программного обеспечения (Uninstall). Я добавил кнопку и на сoбытие OnClick:
ShellExecute(Handle,nil,listBox1.items[listBox1ItemIndex],nil,nil,SW_RESTORE);. Беда в том, что это иногда не срабатывает, т.к. иногда в строке ListBOx находится нечто вроде: C:\WINNT\ISUNINST.EXE -f"C:\Programs\Adobe Photoshop 7.0\Uninst.isu" -c"C:\Programs\Adobe Photoshop 7.0\Uninst.dll" - естественно оно не запускается, а молча игнорируется, т.к. путь к файлу и параметры надо разделить. А как это сделать я не соображу. Ведь мне не известно какие параметры, сколько их и как они идут. МОжет кто подскажет? Спасибо.


Anatoly Podgoretsky   (2002-07-13 11:06:00) [1]

Александр © (12.07.02 22:21)
Жто почему хорошо документировано в хелпе, но если в кратче, то эта функция оставлена для совместимости с Win 3.1
К тому же ее возможности значительно уступают ShellExecute, но мне достаточно первого


Александр   (2002-07-12 22:48:00) [2]

Ой куда подальше эту Майкросфт, вечно замутят, что полю-бому конфликты будут.


BorisMor   (2002-07-12 22:36:00) [3]

Щитай что под именем Anatoly Podgoretsky к тебе обращается лично Бил Г. :)
Microsoft рекомендует забыть winexec для совместимости ваших приложений со следующими версиями windows.


Александр   (2002-07-12 22:21:00) [4]

Анатолий, а почему?


Anatoly Podgoretsky   (2002-07-12 22:05:00) [5]

Но лучше все таки подумай об ShellExecute


Александр   (2002-07-12 21:48:00) [6]

TTCustomDelphiMaster: огромнейшее спасибо! Просто и гениально. Как я мог забыть о winexec. Вроде все перепробовал. Еще раз огромное спасибо.


TTCustomDelphiMaster   (2002-07-12 21:41:00) [7]

А если подумать, то так
winexec("C:\WINDOWS\ISUNINST.EXE -f"C:\Program Files\Common Files\Adobe\Acrobat 4.0\98\Uninst.isu" -c"C:\Program Files\Common Files\Adobe\Acrobat 4.0\98\Uninst.dll"", SW_SHOWDEFAULT);


TTCustomDelphiMaster   (2002-07-12 21:20:00) [8]

Попробуй из этой строчки удалять справа текст до пробела и проверять существование файла на диске. Если файл нашелся то, все что ты выкинул будут параметры запуска.
PS: "Значения некоторых ключей бывают в кавычках"


Наверх

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