Необходимо реализовать запись логов событий активного приложения в формате: "Имя нашего приложения" - событие "Стороннее приложение" - просто запись
Данной конструкцией получаю имя активного окна
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);
}
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Почему метод IsPrime выполняется только один раз? Программа просто входит в вечный цикл
Если я правильно понял, то согласно концепции MVVM, данные должны либо храниться в модели, либо с помощью модели браться и обрабатываться из внешнего...