![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться
Александр © (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: "Значения некоторых ключей бывают в кавычках"