.Net - Monitoring aktywnych aplikacji

0

Witam,

chciałbym stworzyć program w VB, który umożliwi mi monitorowanie czasów aktywności (czas pracy w ) poszczególnych aplikacji (np. word, paint, chrome).

Dodatkowo chciałbym rozróżnić aktywność na poszczególnych plikach np. w wordzie lub stronach www w przeglądarce.

Tyle tylko, że nie mam pojęcia jak zacząć. Tzn. która klasa, które polecenia służą np do pobrania listy uruchomionych aplikacji.
Doszedłem tylko do procesów (klasa process), ale nie wiem gdzie szukać dalej- tzn. jak dojść do bardziej szczegółowych informacji.

Prosiłbym o jakieś wskazówki.

Pozdrawiam

0

Dobrze znalazłeś. Klasa Process służy do tego celu, a do szczegółów możesz się dostać używając właściwości. Przejrzyj sobie dokumentacje dla tej klasy i znajdziesz interesujące Cię informacje, tak sądzę.

Tu masz jakiś przykład jak pobrać uruchomione aplikacje.
https://stackoverflow.com/questions/20470389/how-to-get-running-applications-in-windows

Wgl. jak nie wiesz czegoś jak coś zrobić to nie wpisuj w przeglądarkę haseł po polsku, bo na pewno niczego nie znajdziesz tylko używaj angielskiego i na pewno znajdziesz rozwiązanie, przynajmniej częściowo, a potem odpalasz dokumentacje i sprawdzasz co tam te klasy udostępniają. Jak znajdziesz coś w dokumentacji, a dalej nie wiesz jak tego użyć to znowu w przeglądarkę te hasło i szukasz przykładów użycia. Taka porada na przyszłość.

0

A gdybyś sprawdzał czy np. okienko programu Paint jest "na górze"?

np. Odpalasz painta 18:00 (zapisujesz godzinę pojawienia się na na górze

Gdy zniknie (coś innego będzie na górze), to zapisujesz te godzinę np 18:10 i po odjęciu już masz czas spędzony w tej aplikacji (teoretycznie)

ma to sens?:D

https://stackoverflow.com/questions/12048511/how-do-i-see-if-my-form-is-currently-on-top-of-the-other-ones

Gdy zbierałem nazwy utworów które leciały na radio ESKA to zrobiłem to tak, że zbierałem nazwę okienka VLC

a tutaj logika chyba jest podobna z tym

aktualny process na gorze != poprzedniego :P

foreach (var process in processes)
{
	if (process.MainWindowTitle.Contains("VLC") && process.MainWindowTitle != lasttitle &&
        !process.MainWindowTitle.Contains("ESKA do pracy") && !process.MainWindowTitle.Contains("fd://0"))
	{
		output = process.MainWindowTitle.Split('-');
		CreateLog(output[0] + output[1]);
		lasttitle = process.MainWindowTitle;
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1