1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Software und Anwendungen
  3. Betriebssysteme

Software zum mitloggen aktiver Fenster

    • Windows
  • DeadOne
  • 13. Dezember 2006 um 02:29
  • Unerledigt
  • DeadOne
    3
    DeadOne
    Mitglied
    Punkte
    90
    Beiträge
    13
    • 13. Dezember 2006 um 02:29
    • #1

    Hallo,

    mir ist letztens mal aufgefallen dass es mich eigentlich interessieren würde wieviel Zeit ich durchschnittlich mit den verschiedenen Applikationen wie Firefox, Thunderbird, Office, Winamp, Trillian, etc. verbringe. Vor allem die Frage wieviel Zeit effektiv durch lesen und schreiben von E-Mails und Instant Messages draufgeht würde mich echt interessieren...

    Ich denke mir dass es sicher Tools gibt, die irgendwie checken welches Fenster bzw. Programm aktuell verwendet wird und das ganze einfach mitloggen. Wenn's eine graphische Aufbereitung der Daten gibt, noch besser!

    Kennst jemand zufällig so eine Software?

    Danke,
    DeadOne

  • trenki
    1
    trenki
    Gast
    • 14. Dezember 2006 um 08:30
    • #2

    Nein, allerdings wär das nicht so ein großes Problem zum selber coden.

  • mtintel
    37
    mtintel
    Mitglied
    Reaktionen
    19
    Punkte
    14.759
    Beiträge
    2.654
    • 14. Dezember 2006 um 09:19
    • #3

    Was ich weiß gibt es sowas nur für PC Spiele, heißt XFire und da sieht man, wie lange man welches Spiel gespielt hat. Da wird was ich einfach gemessen, wie lange die Spiele geöffnet sind, aber da Outlook z.b. die ganze Zeit rennt, Firefox oft wenn er beendet wird, auch im Hintergrund (also im RAM eigentlich) noch weiter rennt, denk ich mal, ist es gar nicht sooo einfach ein Programm dazu zu schreiben, denn woher soll er wissen, welches der 5 Fenster das ich geöffnet habe, ich eigentlich im Moment brauche, und welche Programmen im RAM "Leichen" sind damit bei Wiederaufruf das Programm schneller startet, und was wirklich noch gebraucht wird,..

    HU: PISWIBibliothekHUStudentPointStatus Neuer Studienplan SammelzeugnisZID
    TU:
    TUWISBibliothekTULehrmittelzentrum TUWEL Neuer Studienplan Unifreie TageZID AbschlussarbeitenPublikationsdatenbank
    Studium: Informatik-Forum REBIRTHMitschriften1 Mitschriften2 Vorlesungs WikiForenkalender
    Allgemein: Apple on CampusUSIUniWikipedia WegfinderUni WegfinderÖffis (VOR)OpenBookMeine WebseiteBücherbörse
    Fehlende/nicht funktionierende
    Links bitte melden :)

  • Jensi
    28
    Jensi
    Mitglied
    Reaktionen
    141
    Punkte
    8.486
    Beiträge
    1.649
    • 14. Dezember 2006 um 11:04
    • #4
    Zitat von mtintel

    denn woher soll er wissen, welches der 5 Fenster das ich geöffnet habe, ich eigentlich im Moment brauche


    Weil das Fenster, das man grad verwendet, den Fokus hat.

  • Mr.Radar
    19
    Mr.Radar
    Mitglied
    Reaktionen
    13
    Punkte
    3.883
    Beiträge
    738
    • 14. Dezember 2006 um 11:28
    • #5

    außerdem kann man ja die DDE-kommunikation abhören...

  • zwutschkerl
    6
    zwutschkerl
    Mitglied
    Punkte
    365
    Beiträge
    71
    • 14. Dezember 2006 um 11:28
    • #6

    Ich hab im Sommer während eines Praktikums sowas geschrieben. Da loggt zwar noch viel mehr, aber das kannst ja heraus nehmen. Braucht aber eine SQL Server Instanz.

  • rul0r
    10
    rul0r
    Mitglied
    Punkte
    975
    Beiträge
    182
    • 14. Dezember 2006 um 14:27
    • #7
    Zitat von zwutschkerl

    Ich hab im Sommer während eines Praktikums sowas geschrieben. Da loggt zwar noch viel mehr, aber das kannst ja heraus nehmen. Braucht aber eine SQL Server Instanz.

    haben haben haben :winking_face:

    {WcM} http://www.wcm-clan.com
    ClanManagerPro CMPro http://www.cmpro.org

    Der genetische Code des Menschen und der des Schimpansen unterscheiden sich zu 1,6%.
    Bei machen Menschen merkt man das mehr, bei anderen weniger *g*

  • DeadOne
    3
    DeadOne
    Mitglied
    Punkte
    90
    Beiträge
    13
    • 14. Dezember 2006 um 15:50
    • #8
    Zitat von zwutschkerl

    Ich hab im Sommer während eines Praktikums sowas geschrieben. Da loggt zwar noch viel mehr, aber das kannst ja heraus nehmen. Braucht aber eine SQL Server Instanz.


    Würde mich auch sehr interessieren da mal einen Blick draufzuwerfen... :)

  • zwutschkerl
    6
    zwutschkerl
    Mitglied
    Punkte
    365
    Beiträge
    71
    • 14. Dezember 2006 um 18:12
    • #9

    Hmm, ich wills nicht einfach so online stellen, weils eigentlich dem Insitut gehört für das ich das gemacht hab. Aber schickt mir ein mail, dann schick ichs euch.

  • trenki
    1
    trenki
    Gast
    • 15. Dezember 2006 um 02:10
    • #10

    Hab das kurzerhand ausprobiert, ist natürlich nicht optimal aber es stellt die Daten zur Verfügung die benötigt werden.
    Gibt in die Konsole und in eine Datei mit dem Pfad "PATH" folgendes aus:

    Zitat


    Freitag, 15. Dezember 2006:01:35: trenki : 'test.exe'

    Und hier der Code(btw. wiso macht [COD.E][/COD.E] keine Syntaxhervorhebung?:wein: ):

    C
    #include <windows.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <tlhelp32.h>
    
    
    int flag=0;
    FILE *fWrite;
    static char LastWindowText[256]= {0};
    #define PATH "foo.bar"
    int WriteMsg(char msg[]) ;
    int CheckWindowChange(void);
    
    
    int main()
    {
    	fWrite = fopen(PATH, "a+");
    	while(CheckWindowChange()){
    	 //alle 100ms prüfen = niedrige cpu last
    	 //besser wären events abrufen
    	Sleep(100);
    	}
    	fclose(fWrite);
    return 0;
    }
    
    
    int WriteMsg(char msg[]) 
    {	
    	printf("%s\n", msg);
    	int len = strlen(msg), i;
    	char c;
    	for(i=0; i<len;i++)
    	{
    		c = msg[i];
    		fwrite(&c, 1, 1, fWrite);	
    	}
    	return(0);
    }
    
    
    int CheckWindowChange(void)
    {
    	char *buffer = NULL, *date = NULL, *time = NULL, *Title = NULL, *message = NULL;
            DWORD size=50;
    
    
    	HWND hWnd = GetForegroundWindow();
    
    
    	Title  = (char *)malloc(256 * sizeof(char));
    	ZeroMemory(Title, sizeof(*Title));
    	buffer =(char *)malloc(256 * sizeof(char));
    	ZeroMemory(buffer, sizeof(*buffer));
            time   = (char *)malloc(256 * sizeof(char));
    	ZeroMemory(time, sizeof(*time));
            date   =(char *)malloc(256 * sizeof(char));
    	ZeroMemory(date, sizeof(*date));
    	message = (char *)malloc(256 * sizeof(char));
    	ZeroMemory(message, sizeof(*message));
    
    
    	// ProzessID holen
    	DWORD dwPID;
        GetWindowThreadProcessId( hWnd,&dwPID );
    	HANDLE hModuleSnap = INVALID_HANDLE_VALUE;
    	MODULEENTRY32 me32;
    
    
    	  // Abbild der Module dieses Prozesses erstellen(exe,dlls etc...)
    	hModuleSnap = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwPID );
    	if( hModuleSnap == INVALID_HANDLE_VALUE )
        {
         return( false );
        }
    
    
       me32.dwSize = sizeof( MODULEENTRY32 );
     
        // Erstes modul auslesen
       if( !Module32First( hModuleSnap, &me32 ) )
        {
         CloseHandle( hModuleSnap );     
         return( false );
        }
    
    	//Wir benötigen nur den Namen des ersten Modules = exe
    	strcpy(Title,me32.szModule);
    
    	GetUserNameA(buffer, &size);
        GetTimeFormat(LOCALE_SYSTEM_DEFAULT, TIME_NOSECONDS, NULL, "HH':'mm tt", time, 50);
        GetDateFormat(LOCALE_SYSTEM_DEFAULT, DATE_LONGDATE, NULL, NULL, date, 50);
    
    	if(strcmp(Title, LastWindowText)) 
    	{
    		strcpy(LastWindowText,Title); 
    		wsprintf(message,"\n%s:%s: %s : '%s'\n", date, time, buffer, Title);
    		WriteMsg(message);		
    	}
    	// Fertig
    	CloseHandle( hModuleSnap );
    	free(message);
    	free(Title);
    	free(buffer);
    	free(time);
    	free(date);
        return(true);
    }
    Alles anzeigen
  • Maximilian Rupp 27. Dezember 2024 um 00:11

    Hat das Thema aus dem Forum Betriebssysteme nach Betriebssysteme verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung