Если str английская, вроде все нормально. А вот на русском не находит окно:
QString str = "Этот компьютер";
LPCSTR lstr = str.toStdString().c_str();
HWND hwnd = FindWindowA(NULL, lstr);
Для узких char и широких wchar_t строк в WinAPI используются разные функции. Подробнее можно прочитать в моём ответе на связанный вопрос: char* to LPWSTR.
Здесь же происходит следующее: QString::toStdString преобразует строку "Этот компьютер", которая хранится внутри QString как набор 16-битных символов (т.е. QChar) в последовательность символов char (1 байт) с помощью функции toUtf8. А так как FindWindowA ждёт строку в однобайтовой (локальной) кодировке, то UTF-8 (мультибайтовая) строка для неё не подходит.
Наиболее правильным решением будет использование строк широких символов и функции QString:toStdWString.
QString str = "Этот компьютер";
LPWSTR lstr = str.toStdWString().c_str();
HWND hwnd = FindWindowW(NULL, lstr);
Хотя, вероятно, сработал бы и вариант с использованием локальной кодировки (QString::toLocal8Bit) .
QString str = "Этот компьютер";
LPCSTR lstr = str.toLocal8Bit().data();
HWND hwnd = FindWindowA(NULL, lstr);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей