Необходимо реализовать запись логов событий активного приложения в формате: "Имя нашего приложения" - событие "Стороннее приложение" - просто запись
Данной конструкцией получаю имя активного окна
StringBuilder builder = new StringBuilder(255);
GetWindowText(GetForegroundWindow(), builder, 255);
Запись в лог идёт через streamwriter. Подскажите,как реализовать конструкцию,чтобы при изменении активного окна лог переходил на новую строчку? По логике понимаю,что пока title окна не изменился,то идёт запись sw.write,а как только окно изменилось,то sw.writeline(builder+" "+log),но на практике пока не смог реализовать
Помучившись нашёл решение
public static string Title = String.Empty;
public static bool IsWindowChanged()
{
StringBuilder builder = new StringBuilder(255);
GetWindowText(GetForegroundWindow(), builder, 255);
string memory = builder.ToString();
bool res = Title == memory;
winTitle = wTitle;
return res;
}
static void main()
{
if (IsWindowChanged() == false)
{
sw.WriteLine("");
sw.WriteLine(Title+" "+log);
}
else
{
sw.Write(log);
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники