Luigi Posted December 5, 2014 Posted December 5, 2014 (edited) I found this pipe's example in:client & server I believe this is the same files in this >topic. Ok, this is not doubt. I know AutoIt, but DllStruct (Send, Get and cia) it's unknow for me... It's alien! But, someone can show a example how to change the function ExecuteCmd($sCmd) to make something like this: expandcollapse popup; from server script Func ExecuteCmd($sCmd) If StringInStr($sCmd, "#InternalCmd") Then Local $aCmd = StringSplit($sCmd, " ", 2) Switch $aCmd[1] Case 1 Return "one" Case 2 Return "two" Case Else Return "unknow" EndSwitch Else Local $tProcess, $tSecurity, $tStartup, $hWritePipe ; Set up security attributes $tSecurity = DllStructCreate($tagSECURITY_ATTRIBUTES) DllStructSetData($tSecurity, "Length", DllStructGetSize($tSecurity)) DllStructSetData($tSecurity, "InheritHandle", True) ; Create a pipe for the child process's STDOUT If Not _NamedPipes_CreatePipe($hReadPipe, $hWritePipe, $tSecurity) Then LogError("ExecuteCmd ........: _NamedPipes_CreatePipe failed") Return False EndIf ; Create child process $tProcess = DllStructCreate($tagPROCESS_INFORMATION) $tStartup = DllStructCreate($tagSTARTUPINFO) DllStructSetData($tStartup, "Size", DllStructGetSize($tStartup)) DllStructSetData($tStartup, "Flags", BitOR($STARTF_USESTDHANDLES, $STARTF_USESHOWWINDOW)) DllStructSetData($tStartup, "StdOutput", $hWritePipe) DllStructSetData($tStartup, "StdError", $hWritePipe) If Not _WinAPI_CreateProcess("", $sCmd, 0, 0, True, 0, 0, "", DllStructGetPtr($tStartup), DllStructGetPtr($tProcess)) Then LogError("ExecuteCmd ........: _WinAPI_CreateProcess failed") _WinAPI_CloseHandle($hReadPipe) _WinAPI_CloseHandle($hWritePipe) Return False EndIf _WinAPI_CloseHandle(DllStructGetData($tProcess, "hProcess")) _WinAPI_CloseHandle(DllStructGetData($tProcess, "hThread")) ; Close the write end of the pipe so that we can read from the read end _WinAPI_CloseHandle($hWritePipe) LogMsg("ExecuteCommand ....: " & $sCmd) Return True EndIf EndFunc ;==>ExecuteCmd I believe the $sCmd is a string, full content a DOS command, like: "cmd.exe /c dir c:windows /s" I want from client send to server a string too, but, this string is (It's simple, only for example): InternalCmd 1 InternalCmd 2 InternalCmd other thing... I cant read, understand or change this function to intercept and make this. I want mantain the original code (execute a DOS command), but, include new commands. Br, Detefon Edited December 5, 2014 by Detefon Visit my repository
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now