Russian Qt Forum
Ноябрь 24, 2024, 20:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: WinApi и QT  (Прочитано 3920 раз)
Offline
Гость
« : Апрель 05, 2008, 15:57 »

Столкнулся с такой проблемой и не знаю что делать.
Необходимо переключиться на процесс. Для этого я хотел использовать ВинАпи функцию SetForegroundWindow. Ей необходимо передать дескриптор процесса. Чтобы получить дескриптор я использовал функцию FindWindow, её необходимо передать имя процесса. Все имена процессов хранятся у меня в переменной типа QString. Тут то и возникает проблема.
Подскажите как перевести имя процесса из QString в wchar.
Или есть другой способ активировать процесс? Может можно это сделать зная ID приложения?
Записан
Tonal
Гость
« Ответ #1 : Апрель 07, 2008, 10:03 »

Если заменить у тебя процесс на окно, то не понятно, зачем использовать WinApi - в Qt всё есть.
Если первое упоминание процесс-а оставить, то смысл таки появится. :-)

А про QString в wchar, можно utf16(), можно toStdWString.
Записан
Offline
Гость
« Ответ #2 : Апрель 09, 2008, 21:54 »

Цитировать
Если заменить у тебя процесс на окно, то не понятно, зачем использовать WinApi - в Qt всё есть.
Не могли бы вы привести пример сего действия.
Цитировать
А про QString в wchar, можно utf16(), можно toStdWString.
Пробывал, не хочет.Может я чего-то неправильно делаю
Код:
		HWND hWnd;
str = item->text();
hWnd = FindWindow(NULL, str.utf16());
SetForegroundWindow(hWnd);
Даже когда делаю так:
Код:
hWnd = FindWindow(NULL, 'aimp.exe');
При компиляции вылетает ошибка
Код:
invalid conversion from `int' to `const WCHAR*'
Я в QT и WinAPI еще новичок  Строит глазки
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 21.