crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Запуск ярлыка
fluffyMan2000
  опции профиля:
сообщение 13.8.2012, 14:32
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 39
Регистрация: 13.8.2012
Пользователь №: 3481

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток.

стоит задача запустить программу, прописанную в ярлыке на рабочем столе. это себе представляю таким образом:

QDir dir;
dir.setPath(dService.storageLocation(QDesktopServices::DesktopLocation));
QStringList list = dir.entryList(QDir::NoDotAndDotDot | QDir::Files); // получил список ярлыков на рабочем столе
QProcess proc(this);
proc.start(dir.path() + QDir::separator() + list.at(12)); // запускаю нужный мне ярлык (неважно что он 13й). хоть любой


но в результате не получаю ничего. ничего не происходит. подскажите что не так? (реализация под винду, то есть ярлыки *.lnk)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 13.8.2012, 15:55
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


А проверить, как поживаеть запущенный процесс с помощью QProcess::state() и если процесс не запущен, то проверить на наличи ошибки: QProcess::error()?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 13.8.2012, 19:09
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


А с чего ты взял, что должен запускаться процесс по ярлыку?
Если ты укажешь в QProcess, например, docx файл - думаешь запустится MS Word?)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fluffyMan2000
  опции профиля:
сообщение 13.8.2012, 21:42
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 39
Регистрация: 13.8.2012
Пользователь №: 3481

Спасибо сказали: 0 раз(а)




Репутация:   0  


решено:

proc.startDetached(QFileInfo(dir.path()+ QDir::separator() +list.at(12)).symLinkTarget());



Цитата(PAFOS @ 13.8.2012, 19:09) *
Если ты укажешь в QProcess, например, docx файл - думаешь запустится MS Word?)


хотелось бы) как это возможно реализовать? то есть запуск файла в программе, ассоциированной с этим форматом в системе.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 14.8.2012, 15:03
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


На винде работает

QProcess::startDetached( "start <path_to_file>" );
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fluffyMan2000
  опции профиля:
сообщение 18.8.2012, 17:06
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 39
Регистрация: 13.8.2012
Пользователь №: 3481

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(PAFOS @ 14.8.2012, 15:03) *
На винде работает

QProcess::startDetached( "start <path_to_file>" );


хорошая шутка. а ведь я даже попробовал
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 7:02