Показать сообщение отдельно
  #4  
Старый 19.05.2016, 16:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, у меня вчера вообще что-то форум не работал...
По поводу ShellExecute. Где-то на просторх MSDN это написано. ShellExecute(Ex) лучше всего использовать для того, что бы запустить процесс и "бросить" его. Собственно, ShellRxrcute это обертка над CreateProcess, которая, с одной стороны, добавляет возможности запуска "через реестр" (по типу файла), с другой стороны не имеет всех тех возможностей, что CreateProcess.

Кстати, вот еще один момент:
Цитата:
Сообщение от MSDN
Remarks

Because ShellExecuteEx can delegate execution to Shell extensions (data sources, context menu handlers, verb implementations) that are activated using Component Object Model (COM), COM should be initialized before ShellExecuteEx is called. Some Shell extensions require the COM single-threaded apartment (STA) type. In that case, COM should be initialized as shown here:
Ответить с цитированием