Logging-Tool (User-Überwachung)

  • Hallo zusammen,

    Dieses Tool bestehend aus zwei Programmen ermöglicht es User in einem kleinen einfachen Rahmen zu Überwachen. Es wird regelmäßig mitgeschnitten welche sichtbaren geöffneten Fenster geöffnet sind.

    Benutzung: Der Programmteil "logon.exe", generiert aus "logon.au3", muss im Autostartordner hinterlegt werden. Es ruft das eigentliche Programm "systemstart.exe", generiert aus systemstart.au3", auf. Unter C:\WINDOWS wird die Logdatei "screen.log" erstellt und später das Protokoll zu finden ist.

    logon.au3:

    Code
    Run("C:\WINDOWS\systemstart.exe")
    Exit

    systemstart.au3:

    Das Logfile sieht dann so aus:
    [...]
    User: Stefan; Uhrzeit: 21:23:55; Anwendung: Windows Task-Manager
    User: Stefan; Uhrzeit: 21:23:55; Anwendung: Neues Thema erstellen - Skripte - .: autoit.de :. - Das deutsche AutoIt-Forum - Mozilla Firefox
    User: Stefan; Uhrzeit: 21:23:55; Anwendung: AutoIt-Hilfe (Deutsch)
    User: Stefan; Uhrzeit: 21:23:55; Anwendung: Program Manager

    User: Stefan; Uhrzeit: 21:26:34; Anwendung: Windows Task-Manager
    User: Stefan; Uhrzeit: 21:26:34; Anwendung: AutoIt-Hilfe (Deutsch)
    User: Stefan; Uhrzeit: 21:26:34; Anwendung: Neues Thema erstellen - Skripte - .: autoit.de :. - Das deutsche AutoIt-Forum - Mozilla Firefox
    User: Stefan; Uhrzeit: 21:26:34; Anwendung: Program Manager
    [...]

    Viele Grüße und Spaß beim benutzen oder weiterentwickeln,
    Stefan

    Edit:
    Mir ist aufgefallen, dass es durchaus sinnvoll ist das Datum mitzuschreiben. Dazu Zeile 32 gegen folgende austauschen:

    Code
    FileWriteLine($datei, "User: " & @UserName & "; Tag: " & @MDAY & "." & @MON & "." @YEAR & " Uhrzeit: " & @HOUR & ":" & @MIN & ":" & @SEC & "; Anwendung: " & $fenstername)

    Gruß,
    Stefan

    2 Mal editiert, zuletzt von Alter Schwede (16. Mai 2008 um 12:41)

  • hi,
    nur ein paar kleine verbesserungsvoschläge:
    - vieleicht solltest du am Anfang des Scripts noch #NoTrayIcon einfügen.
    Das verhindert das icon im tray angezeigt wird.
    ich denke so lässt es sich schwerer ausschalten.
    - vieleicht solltest du noch RunAsSet beim Startscript benutzen, um sicherzugehen, das das Script auch in C:\Windows schreiben darf.
    - und du solltest die screen.log nicht immer wieder öffnen und schließen ( also am anfang öffnen und beim runterfahren schließen) um zu vermeiden, das die datei manipuliert werden kann.
    gruß
    jendrik

    ps: Das ist keine kritik nur vorschläge um sicherzugehen das es auch gut funktioniert.

  • Also erstma möcht ich sagn, dass das n gutes script is, aber ich wurd um in eine logdatei zu schreiben _FileWriteLog benutzen.
    Und ich hab screenshots, die in einen ordner namens "bilder" gespeichert werden, hinzugefügt.
    Der Ordner Bilder wird in dem Ordner erstellt in dem auch das Script is weshalb ich es in einem extraordner (z.B.:C:\Windows\systemstart) gespeichert habe.
    Dazu wird auch eine .ini datei erstellt damit der Zähler für die Bildernamen (sie heißen "Screen1.bmp", "screen2.bmp" und so weiter.) auch nach herunterfahren des PCs noch stimmt.
    wer den code haben will:

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.12.0
    Author: Alter Schwede

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Tool zum "Überwachen" der PC Nutzung. Es werden alle sichtbaren
    Programme erkannt und in einem Textfile gespeichert. Die Abfrage
    der geöffneten Fenster erfolgt regelmäßig.
    Um Sicherzugehen, dass das Programm nicht aus dem Autostart entfernt
    wird, wird geprüft ob das Tool zum Aufrufen des Programms noch
    eingetragen ist.

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon
    #include <file.au3>
    #include <screencapture.au3>
    If FileExists(@WorkingDir & "\bilder") Then
    ;Ich mag Not einfach nicht ;)
    Else
    DirCreate(@WorkingDir & "\bilder")
    EndIf
    $pic_count=IniRead("screen.ini", "count", "counter", "1")
    For $a=1 to 2
    $window = WinList()
    For $i = 1 to $window[0][0]
    If $window[$i][0] <> "" AND IsVisible($window[$i][1]) Then
    $fenstername = $window[$i][0]
    Schreiben()
    EndIf
    Next
    Check()
    ;Leerzeile zwischen den Datenblöcken zur Übersichtlichkeit enfügen
    $datei="C:\WINDOWS\screen.log"
    FileWriteLine($datei,"")
    $a=1
    Sleep(60000)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Func Schreiben()
    ;Daten in das Logfile schreiben
    $datei="C:\WINDOWS\\systemstart\screen.log"
    _FileWriteLog($datei, "User: " & @UserName & "; Anwendung: " & $fenstername)
    _ScreenCapture_Capture(@WorkingDir & "\Bilder\Screen" & $pic_count & ".jpg")
    $pic_count=$pic_count+1
    IniWrite("screen.ini", "count", "counter", $pic_count)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func IsVisible($handle)
    ;Überprüfung auf Sichtbarkeit der Fenster
    If BitAnd( WinGetState($handle), 2 ) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Check()
    $pfad = @StartupDir & "\logon.exe"
    If FileExists($pfad) Then
    Sleep(100)
    Else
    FileCopy("C:\WINDOWS\auto.exe",$pfad)
    EndIf
    EndFunc

    [/autoit]


    Wenn iht es in einen anderen Ordner verschiebt solltet ihr nich vergessen logon.au3 zu ändern

  • kann dir nur aus vollem herzen zustimmen
    ich habe deine ersion noch ein bischen verbessert ( bildername = Datum + Zeit, alle dateien werden in das verzeichnis des scriptes kopiert)

    [autoit]

    #cs ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit]

    AutoIt Version: 3.2.12.0
    Author: Alter Schwede

    [/autoit][autoit][/autoit][autoit]

    Script Function:
    Tool zum "Überwachen" der PC Nutzung. Es werden alle sichtbaren
    Programme erkannt und in einem Textfile gespeichert. Die Abfrage
    der geöffneten Fenster erfolgt regelmäßig.
    Um Sicherzugehen, dass das Programm nicht aus dem Autostart entfernt
    wird, wird geprüft ob das Tool zum Aufrufen des Programms noch
    eingetragen ist.

    [/autoit][autoit][/autoit][autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit]

    #NoTrayIcon
    #include <file.au3>
    #include <screencapture.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $datei=@WorkingDir & "\screen.log"
    Global $bilder=@WorkingDir & "\bilder"
    Global $picname="\Screen_" & @MDAY & "_" & @MON & "_" & @YEAR & "_"& @HOUR & "_" & @MIN & "_" & @SEC & "_" & @UserName & ".jpg"

    [/autoit][autoit][/autoit][autoit]

    If FileExists($bilder) Then
    ;Ich mag Not einfach nicht ;)
    Else
    DirCreate($bilder)
    EndIf
    While 1
    $window = WinList()
    For $i = 1 to $window[0][0]
    If $window[$i][0] <> "" AND IsVisible($window[$i][1]) Then
    $fenstername = $window[$i][0]
    Schreiben()
    EndIf
    Next
    Check()
    ;Leerzeile zwischen den Datenblöcken zur Übersichtlichkeit enfügen
    FileWriteLine($datei,"")
    Sleep(60000)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func Schreiben()
    ;Daten in das Logfile schreiben
    _FileWriteLog($datei, "User: " & @UserName & "; Anwendung: " & $fenstername)
    _ScreenCapture_Capture( $bilder & $picname )
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func IsVisible($handle)
    ;Überprüfung auf Sichtbarkeit der Fenster
    If BitAnd( WinGetState($handle), 2 ) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func Check()
    $pfad = @StartupDir & "\logon.exe"
    If FileExists($pfad) Then
    Sleep(100)
    Else
    FileCopy(@WorkingDir & "\auto.exe",$pfad)
    EndIf
    EndFunc

    [/autoit]


    gruß jendrik

  • danke jendrik ich hatte auch nochn fehler in meinem script bei der check funktion

  • mir fällt gerade auf, dass da noch ein Fehler im Skript ist. Es werden bei jeder Minute mehrere Screenshots erstellt. Pro Anwendung einScreenshot. Der Screenshot-Befehl steht in der Schreiben-Funktion, deswegen wird jedesmal nachdem ein Eintrag geschrieben wurde (also pro Anwendung) ein Screenshot erstellt.
    Lösung: Screenshot-Befehl in die Check-Funktion verschieben.
    Also so:

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.12.0
    Author: Alter Schwede

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Tool zum "Überwachen" der PC Nutzung. Es werden alle sichtbaren
    Programme erkannt und in einem Textfile gespeichert. Die Abfrage
    der geöffneten Fenster erfolgt regelmäßig.
    Um Sicherzugehen, dass das Programm nicht aus dem Autostart entfernt
    wird, wird geprüft ob das Tool zum Aufrufen des Programms noch
    eingetragen ist.

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon
    #include <file.au3>
    #include <screencapture.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $datei = @WorkingDir & "\screen.log"
    Global $bilder = @WorkingDir & "\bilder"
    Global $picname = "\Screen_" & @MDAY & "_" & @MON & "_" & @YEAR & "_" & @HOUR & "_" & @MIN & "_" & @SEC & "_" & @UserName & ".jpg"

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($bilder) Then
    ;Ich mag Not einfach nicht ;)
    Else
    DirCreate($bilder)
    EndIf
    While 1
    $window = WinList()
    For $i = 1 to $window[0][0]
    If $window[$i][0] <> "" AND IsVisible($window[$i][1]) Then
    $fenstername = $window[$i][0]
    Schreiben()
    EndIf
    Next
    Check()
    ;Leerzeile zwischen den Datenblöcken zur Übersichtlichkeit enfügen
    FileWriteLine($datei, "")
    Sleep(60000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Schreiben()
    ;Daten in das Logfile schreiben
    _FileWriteLog($datei, "User: " & @UserName & "; Anwendung: " & $fenstername)
    EndFunc
    Func IsVisible($handle)
    ;Überprüfung auf Sichtbarkeit der Fenster
    If BitAnd( WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Check()
    $pfad = @StartupDir & "\logon.exe"
    If FileExists($pfad) Then
    Sleep(100)
    Else
    FileCopy(@WorkingDir & "\auto.exe", $pfad)
    EndIf
    _ScreenCapture_Capture($bilder & $picname)
    EndFunc

    [/autoit]
  • Hallo,

    das Tool wird ja immer genialer ;-). Wirklich sehr gute Ideen von euch. Freue mich schon auf die Auswertung in naher Zukunft.

    Gruß,
    Stefan

  • also den anfang find ich auch schon ganz gut, könnte man aber viiiiiiiiiiiiiiiiiel weiter ausbauen =)

    interessant wäre zB auch, welche seiten im internet aufgerufen worden sind.
    man könnte auch Ordner und Dateien loggen, die der User benutzt, bzw. Ordner und Dateitypen definieren, die geloggt
    werden sollen.

    auf der anderen seite fände ich es praktisch, wenn man die user auswählen kann, bei denen überhaupt geloggt werden soll.

    da mich damals interessiert hat, wann mein pc so runtergefahren wird, habe ich eine shutdownlog programmiert, könnte man
    evtl auch mit aufnehmen, oder?

    https://autoit.de/index.php?page…wnlog#post20589

    müsste evtl bissel angepasst werden.

  • Sagt mal: Ein Tool, das alle Aktivitäten (geöffnete / benutzte Programme) eines Users protokolliert.
    Würdet Ihr so etwas gerne "untergeschoben" bekommen?
    So als kleines Schmankerl am Arbeitsplatz?

    Mit der Folge, dass dem Arbeitgeber so nette Argumente gegeben werden, die in Sätzern wie:
    "Frau S., Sie haben am Montag um 13:11 die Seite mit Stellenangeboten der Konkurrenz aufgerufen. Möchten Sie noch etwas sagen oder nehmen Sie direkt ihre Papiere?"

    Ein derartiges Tool ist meiner Meinung nach illegal und könnte beim Einsatz juristische Konsequenzen haben.
    Wenn der User nicht nachweisbar über den Start und die dauernde Arbeit des Tools informiert wird.......

    Ein derartiges Spionage-Tool ist kein Scherz.

    Und für den Eigenbedarf: Dann braucht es nicht versteckt werden.....
    Dann kann es offen sichtbar arbeiten....

  • also zw illegal und moralisch verwerflich liegen aber welten.
    und auf dem eigenen pc darf man doch starten was man will , auch ohne jeden pimpf der dran sitzt, darüber zu informieren.
    die sagen einem ja schließlich auch nicht, auf welche (porno) seiten sie sich so viren einfangen.

    ich denke das geht vollkommen in ordnung. natürlich kann man es auch übertreiben, aber auch als elternteil kann man sich
    mal darüber informieren, was für aktivitäten auf dem pc laufen. nachher flattert ein bescheid der RIAA über 20.000€ in haus ...
    und schuld hat der besitzer (des anschlusses/pcs).

    "versteckt" wird das programm ja nicht wirklich, es ist doch in den prozessen sichtbar, es soll halt nur nicht direkt ersichtlich
    sein, was es ist, damit man es ohne weiteres schließen kann.

    als feature fänd ich übrigens nice, wenn man über die ini-datei funktionen ein/ausschalten kann =)

    PS: gibt es übrigens die möglichkeit, das prozesse nicht geschlossen werden können? (mit autoit programmiert)

  • sc4ry
    die einfachste metode wäre: zwei prozesse die sich standig gegenseitig überwachen und neu starten.

    @all
    ich denke das es auf privatrechnern okay ist.
    man sollte die Nutzer aber darauf aufmerksam machen das sie beobachted werden.

    die idee mit der .ini ist gut werde mich demnächst ransetzen (wenn das nicht schon jmd. anderes macht?)
    gruß jendrik

  • was für funktionen fallen euch denn noch ein die man mit ner ini ein- oder ausschalten können soll ?(?
    Also mir fallen nur screenshots ein .

  • sei mir nich böse jendrik aber ich hab dir die arbeit weggenommen :P .
    Also man kann jetz über eine ini, die option.ini heißt und automatisch erstellt wird, einstellen ob screenshots gemacht werden sollen und ob ein bestimmter user "überwacht" werden soll.
    Edit: Ach ja und man kann die Optionen ändern selbst wenn das Skript schon läuft es wird dann beim nächsten durchgang ausgeführt.
    hier ist der Code:

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.12.0
    Author: Alter Schwede

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Tool zum "Überwachen" der PC Nutzung. Es werden alle sichtbaren
    Programme erkannt und in einem Textfile gespeichert. Die Abfrage
    der geöffneten Fenster erfolgt regelmäßig.
    Um Sicherzugehen, dass das Programm nicht aus dem Autostart entfernt
    wird, wird geprüft ob das Tool zum Aufrufen des Programms noch
    eingetragen ist.

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon
    #include <file.au3>
    #include <screencapture.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $datei = @WorkingDir & "\screen.log"
    Global $bilder = @WorkingDir & "\bilder"
    Global $picname = "\Screen_" & @MDAY & "_" & @MON & "_" & @YEAR & "_" & @HOUR & "_" & @MIN & "_" & @SEC & "_" & @UserName & ".jpg"
    Global $iniDir = @WorkingDir & "\option.ini"

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($iniDir) Then
    ;Ich mag Not einfach nicht ;)
    Else
    IniWrite($iniDir, "Options", "screenshots", "true")
    IniWrite($iniDir, "Options", "user", "False" & @CRLF & ";User der überwacht werden soll. Wenn alle User überwacht werden sollen, lasse False stehen.")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($bilder) Then
    ;siehe oben :P
    Else
    DirCreate($bilder)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $window = WinList()
    For $i = 1 to $window[0][0]
    If $window[$i][0] <> "" AND IsVisible($window[$i][1]) Then
    $fenstername = $window[$i][0]
    Schreiben()
    EndIf
    Next
    Check()
    ;Leerzeile zwischen den Datenblöcken zur Übersichtlichkeit enfügen
    FileWriteLine($datei, "")
    Sleep(60000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Schreiben()
    $user = IniRead($iniDir, "Options", "user", "false")
    ;Daten in das Logfile schreiben
    If $user = False Then
    _FileWriteLog($datei, "User: " & @UserName & "; Anwendung: " & $fenstername)
    ElseIf $user = @UserName Then
    _FileWriteLog($datei, "User: " & @UserName & "; Anwendung: " & $fenstername)
    EndIf
    EndFunc
    Func IsVisible($handle)
    ;Überprüfung auf Sichtbarkeit der Fenster
    If BitAnd( WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Check()
    $screenshots = IniRead($iniDir, "Options", "screenshots", "true")
    $user = IniRead($iniDir, "Options", "user", "false")
    $pfad = @StartupDir & "\logon.exe"
    If FileExists($pfad) Then
    Sleep(100)
    Else
    FileCopy(@WorkingDir & "\auto.exe", $pfad)
    EndIf
    If $screenshots = "true" Then
    If $user = @UserName or $user = False Then
    _ScreenCapture_Capture($bilder & "\" & $picname)
    EndIf
    EndIf
    EndFunc

    [/autoit]
  • @twister:
    mist warst schneller, ich hatte im augenblick nicht viel zeit (sch*** Deutscharbeit)
    naja dann hast du es gemacht
    achja welche sachen man mit der .ini steuern kann: pfad wohin die dateien gespeichert werden, name des log, wie oft bilder erstellt werden (jeden 1, 2, 3, ... durchlauf) und und und
    gruß jendrik

  • Hallo,

    als "Erfinder" des Scripts möchte ich hier mal kurz darauf Aufmerksam machen, dass ein solchiges Tool wohl moralisch unschön ist aber wie bereits gesagt nicht illegal. Es gibt auch genug kostenpflichtige Software die das gleiche macht (z.B.: PCAgent). Nur die Tools entsprachen nicht meinen geringen Ansprüchen (viel zu viele Überwachungsmöglichkeiten, die ich nicht vertreten kann wie Eingabenlogging auf Webseiten etc.), weshalb ich das lieber selbst in die Hand genommen habe.

    VG,
    Stefan

  • so hier is noch ma ne neue version.
    hab nur noch log und bildverzeichnis hinzugefügt.
    code:

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.12.0
    Author: Alter Schwede

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Tool zum "Überwachen" der PC Nutzung. Es werden alle sichtbaren
    Programme erkannt und in einem Textfile gespeichert. Die Abfrage
    der geöffneten Fenster erfolgt regelmäßig.
    Um Sicherzugehen, dass das Programm nicht aus dem Autostart entfernt
    wird, wird geprüft ob das Tool zum Aufrufen des Programms noch
    eingetragen ist.

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon
    #include <file.au3>
    #include <screencapture.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $picname = "\Screen_" & @MDAY & "_" & @MON & "_" & @YEAR & "_" & @HOUR & "_" & @MIN & "_" & @SEC & "_" & @UserName & ".jpg"
    Global $iniDir = @WorkingDir & "\options.ini"

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($iniDir) Then
    ;Ich mag Not einfach nicht ;)
    Else
    IniWrite($iniDir, "Options", "screenshots", "true")
    IniWrite($iniDir, "Options", "user", "False" & @CRLF & "; user : User der überwacht werden soll. Wenn alle User überwacht werden sollen, lasse False stehen.")
    IniWrite($iniDir, "Options", "log-URL", "C:\Windows\systemstart\screen.log" & @CRLF & ";log-URL : URL in der die Log-Datei gespeichert werden soll.")
    IniWrite($iniDir, "Options", "Bild-URL", "C:\Windows\systemstart\bilder" & @CRLF & ";Bild-URL : URL in der die Screenshots gespeichert werden sollen (ohne \ am Ende).")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $bilder = IniRead($iniDir, "Options", "Bild-URL", "C:\Windows\systemstart\bilder")
    If FileExists($bilder) Then
    ;siehe oben :P
    Else
    DirCreate($bilder)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $window = WinList()
    For $i = 1 to $window[0][0]
    If $window[$i][0] <> "" AND IsVisible($window[$i][1]) Then
    $fenstername = $window[$i][0]
    $datei = IniRead($iniDir, "options", "log-URL", "C:\Windows\systemstart\screen.log")
    Schreiben()
    EndIf
    Next
    Check()
    ;Leerzeile zwischen den Datenblöcken zur Übersichtlichkeit enfügen
    FileWriteLine($datei, "")
    Sleep(60000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Schreiben()
    $user = IniRead($iniDir, "Options", "user", "false")
    ;Daten in das Logfile schreiben
    If $user = "False" Then
    _FileWriteLog($datei, "User: " & @UserName & "; Anwendung: " & $fenstername)
    ElseIf $user = @UserName Then
    _FileWriteLog($datei, "User: " & @UserName & "; Anwendung: " & $fenstername)
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func IsVisible($handle)
    ;Überprüfung auf Sichtbarkeit der Fenster
    If BitAnd( WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Check()
    $screenshots = IniRead($iniDir, "Options", "screenshots", "true")
    $user = IniRead($iniDir, "Options", "user", "false")
    $pfad = @StartupDir & "\logon.exe"
    If FileExists($pfad) Then
    Sleep(100)
    Else
    FileCopy(@WorkingDir & "\auto.exe", $pfad)
    EndIf
    If $screenshots = "true" Then
    $bilder = IniRead($iniDir, "Options", "Bild-URL", "C:\Windows\systemstart\bilder")
    If $user = @UserName or $user = "False" Then
    _ScreenCapture_Capture($bilder & "\" & $picname)
    EndIf
    EndIf
    EndFunc

    [/autoit]

    @jendrik: hab dir noch was übrig gelassen. es fehlt noch ne option das man aussuchen kann wieviele screenshots pro minute erstellt werden sollen.
    so und jetz ma sehen ob ich noch das ende vom weißen hai 2 sehe. hai rox :rock:

  • also hier hätte ich nochmal ne kleine zusammenfassung von funktionen für so ein tool (wie ich mir es vorstelle):

    So als kleine Anregung, das fände ich ganz Sinnvoll =)

  • deine vorstellungen sind ja ganz schön,
    aber da ist doch ein problem

    Zitat


    Funktionen:
    Loggen, wann PC startet
    Loggen, welcher User angemeldet wird
    Loggen, welche Programme, Ordner, Dateien wann geöffnet/geschlossen werden (allgemein, welche Fenster)


    meiner meinung nach werden ddie programme in autostart ordnern / reg-einträgen erst gestartet, wenn sich ein user angemeldet hat.
    somit ist der punkt

    Zitat

    Loggen, wann PC startet

    unnötig

    gruß
    jendrik

  • das kann schon sein, aber der vollständigkeit halber.

    ausserdem geht ja es um die programme, die der anwender startet und nicht um die programme im autostart (denn die kann man im autostart nachvollziehen). es kann ja sein, dass der pc gestartet wird und erstmal keine programme vom user geöffnet werden, dann wäre die zeit also alles andere als korrekt (um zB die laufzeit des pcs auszuwerten).

    und wie es momentan ist, geht es auch um die prozesse, die spuren, in form von (sichtbaren) fenstern, hinterlassen.

  • mir ist noch ein problem aufgefallen
    wenn man zwei monitore hat wird nur für den ersten ein screenshot erstellt
    wie könnte man das beheben?
    jendrik