偶打算winsock做一个远程控制的程序,客户端运行以后,监听服务器端发来的命令。
我想在Client用KK这个变量接受服务器端发来的命令,例如KK="c:\1.doc",则用Shell "cmd.exe /c" & KK来执行此命令,但是每次除了运行c:\1.doc,而且还弹出了一个cmd窗口(如果是做木马程序,此窗口无疑就暴露了T_T)。请问大家有什么好办法能不弹出命令提示符窗口么?是/c参数不对么?
如果有其他方法也行,最好简单点:)搞定就结!

解决方案 »

  1.   

    Option ExplicitPrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPrivate Sub Command1_Click()
        ShellExecute Me.hwnd, "open", "E:\point.doc", vbNullString, vbNullString, 1
    End Sub用这个吧,这个函数会用此机器上已经注册的文件类型的程序打开!!
      

  2.   

    To cuizm(射天狼):首先谢谢!你的方法确实可以不弹出命令提示符窗口,但是只能局限于打开文件。而我如果想操作文件类似于del c:\1.txt的命令就不能执行了。能有功能类似于Shell "cmd.exe /c"可以执行任何命令的,但是不弹出窗口的办法么?
      

  3.   

    看看shell命令的帮助, 可以在后面加参数的。
      

  4.   

    另 9x下要用 Shell "command.exe /c start" & KK