problema con keylogger en vb6

Iniciado por hepy_92, 28 Abril 2007, 16:44 PM

0 Miembros y 2 Visitantes están viendo este tema.

Jareth

SI,xD.Esque tienes que poner & vbnewline,para que salte una linea,o vbcrlf.
Prueba añadiendo eso.

hepy_92

nononon! lo que quiero es que haya un nuevo log, x ejemplo si existe log1, que se cree con name log2

Jareth

#12
Pues haz lo que te diej,comprueba si el archivo existe y entonces si no existe lo guardas si existe pues por ejemplo digamos que el nombre esta en un label y que es 1 pues si existe que le suem 1 mas y vuelva a comprobar si existe.

Private Sub Command1_Click()

Dim contador As Long
Dim archivo As String
Dim ruta As String
label1.caption = 1
ruta = Dir$("c:\" & Label1.Caption & ".txt")
If ruta = "" Then
Open "c:\" & Label1.Caption & ".txt" For Output As #1
Print #1, , "ei"
close#1
Else
Label1.Caption = Label1.Caption + 1
Open "c:\" & Label1.Caption & ".txt" For Output As #1
Print #1, , "te"
Close #1
End If
End Sub


PD:Solucion chapuzera,xD.

hepy_92

perdon pero la verdad no entiendo el code xD
podrias comentarlo???
gracias por todo lo que me has ayudado! =')

Jareth


Dim contador As Long               'se me ha colao haciendo pruebas(ahora el contador es el label)
Dim archivo As String
Dim ruta As String
label1.caption = 1                  'el caption del label sea 1(podria ser 0)
ruta = Dir$("c:\" & Label1.Caption & ".txt")     'la variable ruta,comporbamos si existe c:\1.txt   si no existe no nos devuleve nada por eso if ruta=""
If ruta = "" Then           
Open "c:\" & Label1.Caption & ".txt" For Output As #1    'como no existe lo creamos
Print #1, , "ei"
close#1
Else     'si existe(osea que no devuelve cadena vaci sino que existe
Label1.Caption = Label1.Caption + 1        'le sumamso 1 al contador(el caption del label)
Open "c:\" & Label1.Caption & ".txt" For Output As #1      'abrimos esta vez será el nombre con 1 mas,es decir antes 1 ahora 2 despues 3....
Print #1, , "te"
Close #1
End If


Ya esta comentado si hay algo mas que no entiendas dimelo  ;)
He comentado lo que supuse que no entendias,lo demas es facilito....

hepy_92

ia lo entendi! xD
pero al parecer no funciona muy bien =S
al principio va todo bien, genera los logs debidamente, etc, pero para probar, reinicie el keylogger, i en ves aora de guardar los logs, solo abre la carpeta C:\ podrias ver que pasa con el code??? lo habias probado??=S
este code ocupe


Private Sub Timer2_Timer()
KTime = KTime + 1
Label1.Caption = KTime
n = 1
If KTime = 100 Then
ruta = Dir$("c:\" & n & ".txt")
    If ruta = "" Then
    Open "c:\" & n & ".txt" For Output As #1
    Print #1, , Text1.Text
    Close #1
    Else
    n = n + 1
    Open "c:\" & n & ".txt" For Output As #1
    Print #1, , Text1.Text
    Close #1
    End If
Text1.Text = ""
KTime = 0
End If
End Sub

Jareth

Claro,el problema es que si se reinicia pues vuelve a empezar :xD pues que hacemos?Pues podemso guardar el ultimo valor,al cerrarse el programa,y cuando se vuelva a iniciar retomralo sumandole 1.

Private Sub Form_Unload(Cancel As Integer)
Open "c:\contador.txt" For Output As 1
Print #1, , n
Close #1
End Sub
Private Sub Timer2_Timer()
Dim ruta1 As String
ruta1 = Dir$("C:\contador.txt")
If ruta1 = "" Then
n = 1
Else
Open "C:\contador.txt" For Input As #1
Dim texto As String
texto = Input(LOF(1), #1)
Close #1
n = texto+1
End If
KTime = KTime + 1
Label1.Caption = KTime
n = 1
If KTime = 100 Then
ruta = Dir$("c:\" & n & ".txt")
    If ruta = "" Then
    Open "c:\" & n & ".txt" For Output As #1
    Print #1, , Text1.Text
    Close #1
    Else
    n = n + 1
    Open "c:\" & n & ".txt" For Output As #1
    Print #1, , Text1.Text
    Close #1
    End If
Text1.Text = ""
KTime = 0
End If
End Sub

Espero que te funcione.
Otra cosa,esto no lo guardes en c:,que canta un monton,hazlo en system,en windows o un siito de estos.
Saludos.

hepy_92

wajaj x aora todo bien!
ia enverdad no se que hacer!!! no me funciona para nada, en el contador siempre ai un numero diferente, que no corresponde, y hasta probe abriendo el contador i poniendo 3 (ya habian 2 logs generados y queria un 3) y tampoco, el contador cambio a 2 y me lo remplazo..
QUE puedo hacer!!??!?!??!?!!?!? :-(

vivachapas

Jareth tiene razon... mientras leia los codigos tb habia pensado en esa opcion... haber si te lo falicito
(escribo el code aca nomas... no tengo ganas de ponerme a programar si no funciona avisame y lo hago bien)

dim contador as long
dim ruta as string

private sub form_load()
ruta= dir$("C:\contador.txt")
if ruta = "" then
contador = 1
else
Open "c:\contador.txt" For input As #1
contador = Input(LOF(1), #1)
Close #1
contador = contador + 1
Open "c:\contador.txt" For input As #1
Print #1, , contador
Close #1
end if
end sub

private sub timer1_timer()
Open "c:\log" & contador & ".txt" For input As #1
Print #1, , label1.caption
Close #1
contador = contador + 1
Open "c:\contador.txt" For input As #1
Print #1, , contador
Close #1
end sub


bueno espero q se entiendo la idea... y q funcione... basicamente lo q hace es q cuando se inicia el form verifica si existe el archivo contador.txt si existe se fija q valor tiene lo guarda en contador al cual despues se le suma uno, si no existe crea uno q empiese con 1
despues con un timer... o adaptalo a como vos lo vayas a usar cada un intervalo guarda lo q se escribio en la label1 y le suma otro valor al contador el cual tb se guarda

bueno espero q funcione... si hice algo mal corriganme.. xq la verdad q aca es la 1 37 am y me estoy muriendo de sueño!! jeje

Jareth

#19
La idea esta clara,hay varios problemas,que reinicias el contador,y pones if ktime=100,luego lo reinicias por lo que el metodo que te he dado no sirve,tienes que adaptarlo,no uses el contador de esa manera.
No se si me entiendes,mas tarde ya miraré de adaptarlo que ahora estoy ocupado.