有两台电脑是连在一起的,我如何用VC++可以获取另外一台计算机的系统时间??(只有我的电脑上有程序).要利用数据库操作吗?请指点!!我实在没有时间去查资料了具体情况是这样的:那台计算机要作为数据库服务器(SQL Server),我从我电脑操作那电脑的数据库(保存数据),也可能有多个计算机都访问它(保存数据).为了保持多台电脑保存数据的时间有个统一的时间基准,要把那计算机(服务器)的时间作为统一的时间值标准,然后各个客户机依据这个时间去修改自己的系统时间.这样就可以知道各个客户机保存数据的时间(时间标准一致).或者实现这功能你有什么更好的保持时间一致的办法吗??请赐教!!!先谢了.
急啊!!!
急啊!!!
net time \\192.168.0.1
BOOL ExecDosCmd()
{
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中就是执行的结果,可以保存到文本,也可以直接输出
printf(buffer);
Sleep(200);
}
return TRUE;
}
NET TIME
[\\computername | /DOMAIN[:domainname] | /RTSDOMAIN[:domainname]] [/SET]
[\\computername] /QUERYSNTP
[\\computername] /SETSNTP[:ntp server list]
怎么不对啊?
什么意思,是指保存数据到数据库的时间?这个时间你想保存到哪?
如果保存在数据库,可以在表里加个字段 MarkTime,然后默认值设置为getdate()就可以了