|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.03.2012, 12:25 | #1 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
Запуск приложения ShellExecuteW
Не знаю что делать. Код не работает, но правильный.
Код:
|
30.03.2012, 12:34 | #2 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
Сам спросил, сам ответил, вместо ShellExecuteW. написал функцию WinExec и все заработало.
И да странно как-то. Переписал ShellExecuteW на ShellExecuteА Код:
Последний раз редактировалось Drugnir; 30.03.2012 в 12:54. |
30.03.2012, 14:54 | #3 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Константные строки в юникоде задаются с префиксом L, а не нагло кастуются к юникодному указателю через приведение типов (LPCTSTR).
|
30.03.2012, 14:58 | #4 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
Странно, я это с мануала брал, там пример ShellExecuteW был.
|
30.03.2012, 15:17 | #5 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
То, что Вы передали адрес первого символа строки char в функцию ожидающую wchar_t*, прикастовав указатель (LPCTSTR), саму строку еще не делает юникодной. Ее надо явно задать. L"open".
|
30.03.2012, 16:19 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
или это в билдере такой? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
30.03.2012, 16:27 | #7 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
Где-то находил, не помню. Спасибо вам, но уже не важно, я сделал по-другому. Через ShellExecuteA.
|
30.03.2012, 16:33 | #8 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
|
|
30.03.2012, 16:41 | #9 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
Нет, ваше замечание я учел. За это и благодарен.
А что на счет LPWSTR и LPСWSTR можете сказать? С - это константа я понимаю, их применять можно в таких ситуациях или только (L)"word"? (LPCTSTR) = TCHAR const*, а не wchar_t const* это я понял) Последний раз редактировалось Drugnir; 30.03.2012 в 17:07. |
07.04.2012, 14:42 | #10 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запуск приложения | jkpro | Помощь студентам | 16 | 08.11.2009 12:31 |
Запуск Java Приложения | Mega | Общие вопросы по Java, Java SE, Kotlin | 31 | 23.03.2009 09:30 |
Запуск приложения с параметрами | Arhangel_bes | Помощь студентам | 14 | 12.02.2009 21:35 |
Запуск приложения | Zloy_Doomer | Общие вопросы Delphi | 2 | 10.10.2008 13:47 |
Запуск приложения | Артэс | Общие вопросы C/C++ | 2 | 07.06.2008 17:38 |