crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> FindExecutableA результат в QString
frefik
  опции профиля:
сообщение 31.5.2011, 12:53
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 30.5.2011
Пользователь №: 2706

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




Репутация:   0  


Как правильно пользоваться функцией FindExecutableA, мне нужно результат записать в QString. У меня на второй третий раз программа начинает виснуть, без вызова функции работает нормально.

QByteArray appDefaultB;
char *fileW = file.toLocal8Bit().data();

FindExecutableA(fileW, NULL, appDefaultB.data());
QString appDefault(appDefaultB.data());

Как бы вы написали если надо было получить результат в QString?

//file - имя файла по которому нужно искать программу, QString
//appDefault - результирующая QString
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 1.6.2011, 6:34
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2846
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


http://msdn.microsoft.com/en-us/library/bb776419(VS.85).aspx

lpResult [out]
Type: LPTSTR

The address of a buffer that receives the file name of the associated executable file. This file name is
a null-terminated string that specifies the executable file started when an "open" by association is run
on the file specified in the lpFile parameter. Put simply, this is the application that is launched when the
document file is directly double-clicked or when Open is chosen from the file's shortcut menu.
This parameter must contain a valid non-null value and is assumed to be of length
MAX_PATH. Responsibility for validating the value is left to the programmer.


хде выделение памяти под путь ? Сделай вот так

std::string result(MAX_PATH+1,0);
if(32<FindExecutableA(fileW, 0, &result[0]))
{
   QString Name(result.c_str());
   //...
}


Сообщение отредактировал Алексей1153 - 1.6.2011, 6:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 10.12.2018, 18:36