Хотелось бы узнать, как можно реализовать проверку на существование процессов с определенными заголовками окон, если хоть у одного процесса заголовок окна совпадает со списком, то выполняется действие.
Ну, раз правильно понял :), то что-то вроде (не компилировал - это набросок для понимания) вызова
EnumWindows(CheckProg,LPARAM(searched_title));
searched_title
- искомое название окна, а CheckProg
- функция обратного вызова вроде
BOOL CALLBACK CheckProg(HWND hwnd, LPARAM lParam)
{
char * searched_title = (char*)lParam;
char txt[256];
// Можно проверить на видимость окна, например...
ULONG style = GetWindowLong(hwnd,GWL_STYLE);
if (style & WS_VISIBLE == 0) return TRUE;
// Получаем строку заголовка
if (GetWindowText(hwnd,txt,256))
{
// Совпадение. Выполняем, что надо
....
return FALSE; // Все, дальшейшее перечисление в EnumWindows не нужно
}
return TRUE; // Чтоб EnumWindows работал дальше
}
Примерно так...
Update
Вот код, перечисляющий все - видимые, невидимые - окна. Компилировал VC++2017 без замечаний. Работает. Скорее всего у вас проблемы или в неверном названии окна, или в использовании Unicode (если работаете с ним).
См. также http://rextester.com/IGMOUX1928
#include <iostream>
#include <iomanip>
#include <windows.h>
#pragma comment(lib,"user32")
using namespace std;
BOOL CALLBACK CheckProg(HWND hwnd, LPARAM lParam)
{
char * searched_title = (char*)lParam;
char txt[256];
if (GetWindowText(hwnd,txt,256))
{
cout << "Found title [" << txt << "]\n";
}
return TRUE;
}
int main(int argc, const char * argv[])
{
EnumWindows(CheckProg,LPARAM("test.exe"));
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу написать шаблон класса AVL_tree но столкнулся с проблемой: а как передать критерий сравения? Всмысле как написать конструктор для класса,...
Пишу простой UDP сервер под Windows, который принимает сообщения от клиентовПо заданию сокеты должны работать в неблокирующем режиме и обязательно...
Мне нужно сделать проект под линукс на плюсах, не когда ранее не программировал под негоСейчас вот поставил Visual Studio Code на Ubuntu установил все...
В своем оконном приложении на WINAPI решил использовать вертикальный скролл(Естественно, прописав в аргументах окна)Сам скролл появился, однако...