|
![]() | 作者: w3srv [w3srv]
![]() |
登录 |
这是我写的: #include<stdio.h> #include<windows.h> #include "winbase.h" #include "iostream.h" int main() { HANDLE wpipe,rpipe,wfile,rfile; SECURITY_ATTRIBUTES sa; sa.nLength=sizeof(SECURITY_ATTRIBUTES); sa.bInheritHandle=TRUE; sa.lpSecurityDescriptor=NULL; CreatePipe(&wpipe,&wfile,&sa,0); CreatePipe(&rfile,&rpipe,&sa,0); STARTUPINFO si; si.cb=sizeof(STARTUPINFO); si.hStdInput=wpipe; si.hStdError=si.hStdOutput=rpipe; si.wShowWindow=SW_HIDE; si.dwFlags=STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; char mulu[]="C:\\WINNT\\SYSTEM32\\cmd.exe"; PROCESS_INFORMATION pi; CreateProcess(mulu,NULL,NULL,NULL,TRUE,0,NULL,NULL,&si,&pi); char buff[]="net user"; char buf[256]; DWORD dw; BOOL b=WriteFile(wfile,buff,512,&dw,NULL); if(!b) printf("fail\n"); BOOL r=ReadFile(rfile,buf,512,&dw,NULL); if(!r) { printf("faile\n"); return 0; } printf("%s\n",buf); return 0; } 按理说,si.hStdOutput是cmd的输出,但怎么执行时没有回显,谁能告诉我啊 顺便问下,creatthread和AfxBeginThread有什么区别,谢谢了 ![]() ![]() ![]() ![]() ![]() |
地主 发表时间: 04-06-20 21:54 |
![]() | 回复: Frankiez [frankiez84] ![]() |
登录 |
不高兴看代码![]() 不过你问createthread和afxbeginthread的区别这倒是可以回答你 createthread是win32api,而afxbeginthread是使用了这个api实现的函数,据MS说更适合VC中使用 其实对你来说是一样的 |
B1层 发表时间: 04-06-20 22:03 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号