***请问用win32api怎么实现arp -s的功能*** 也就是不用批处理用程序直接实现这个外部命令不是类似winexec(...) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Use CreateIpNetEntry of IP Helper APIThe CreateIpNetEntry function creates an Address Resolution Protocol (ARP) entry in the ARP table on the local computer.DWORD CreateIpNetEntry( PMIB_IPNETROW pArpEntry); 就是想绑定mac地址啊,我是新手谁能句个例子吗比如这个命令 arp -s 192.168.0.1 00-20-12-27-ba-c2 BOOL CDOSDlg::ExecDosCmd(){#define EXECDOSCMD "net send sever test?" //可以换成你的命令 SECURITY_ATTRIBUTES sa; HANDLE hRead,hWrite; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; if (!CreatePipe(&hRead,&hWrite,&sa,0)) { return FALSE; } STARTUPINFO si; PROCESS_INFORMATION pi; si.cb = sizeof(STARTUPINFO); GetStartupInfo(&si); si.hStdError = hWrite; si.hStdOutput = hWrite; si.wShowWindow = SW_HIDE; si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; //关键步骤,CreateProcess函数参数意义请查阅MSDN if (!CreateProcess(NULL, EXECDOSCMD ,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) { return FALSE; } CloseHandle(hWrite); char buffer[4096] = {0}; DWORD bytesRead; while (true) { if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL) break; //buffer中就是执行的结果,可以保存到文本,也可以直接输出 TRACE(buffer); Sleep(200); } return TRUE;} 模拟执行DOS命令,比较牵强的方法。 MSComm控件编程问题。。。。 Dialog中自定义一个控件,此控件继承自CWnd,为何响应不了ON_WM_KEYDOWN消息? 求教定时器问题 这不用进程还有其他方法解决吗? 学VC的,但好像招VC的不多,用VC的公司主要是做什么方面的软件 请教关于运行时改变资源内容的问题. 关于取得MSFlexGrid和MSHFlexGrid中的数据 为什么我的信誉分从来没加过? 哪里有tlntadmn.exe 的源码 几十万条数据中,有非法的数据,我怎样编程去找出?来者有分! 向高手求助,串口通讯过程中改变校验方式引起的错误。 如何在内存中建立一个临时文件????
PMIB_IPNETROW pArpEntry
);
比如这个命令 arp -s 192.168.0.1 00-20-12-27-ba-c2
{
#define EXECDOSCMD "net send sever test?" //可以换成你的命令 SECURITY_ATTRIBUTES sa;
HANDLE hRead,hWrite; sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE;
if (!CreatePipe(&hRead,&hWrite,&sa,0))
{
return FALSE;
} STARTUPINFO si;
PROCESS_INFORMATION pi;
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.hStdError = hWrite;
si.hStdOutput = hWrite;
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
//关键步骤,CreateProcess函数参数意义请查阅MSDN
if (!CreateProcess(NULL, EXECDOSCMD
,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi))
{
return FALSE;
}
CloseHandle(hWrite); char buffer[4096] = {0};
DWORD bytesRead;
while (true)
{
if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL)
break;
//buffer中就是执行的结果,可以保存到文本,也可以直接输出
TRACE(buffer);
Sleep(200);
}
return TRUE;
}