局域网上A机已经开共享,共享目录下为txt文件。
B机上可正常拷贝A机上的文件到本机或用记事本直接打开。
可我自己用VC的CopyFile函数怎么都拷不下来,都是返回FALSE,使用CFile的Open函数也打开失败。
请教问题出在哪?
同样是C局域网上的另一C机的共享文件无论是CopyFile还是Open都成功。
难道是A机上的共享开得有问题?可在windows下托动拷贝或用记事本打开都没问题呀!!!!!
程序环境:Win7+VS2005。
B机上可正常拷贝A机上的文件到本机或用记事本直接打开。
可我自己用VC的CopyFile函数怎么都拷不下来,都是返回FALSE,使用CFile的Open函数也打开失败。
请教问题出在哪?
同样是C局域网上的另一C机的共享文件无论是CopyFile还是Open都成功。
难道是A机上的共享开得有问题?可在windows下托动拷贝或用记事本打开都没问题呀!!!!!
程序环境:Win7+VS2005。
共享目录已经做映射,调试CFile的Open方法的CException的m_cause、m_LOSError的值均是3,看不出问题所在。甚至用了SHFileOperation方法也不行。
难不成真是权限问题?可记事本打开与鼠标拖动拷贝怎么没问题??
跪求高手解决方法!!
2.copyfile第3个参数如果设置为true,检查本地目录下该文件是否已经存在
3.检查打开目标目录时,是否需要输入用户名,密码之类。
strFile="X:\\Data\\2010_05_11.txt";
if(!CopyFile(strFile,"E:\\Temp.txt",FALSE))
{
strErr="无法获取数据文件。";
return FALSE;
}打开过程:
CFile file;
CFileException ErrFile;
if(!file.Open(strFile,CFile::shareDenyNone|CFile::modeRead,&ErrFile))
{
strErr="无法打开数据文件:"+strFile;
return FALSE;
}已经确定用记事本直接打开或鼠标拖动拷贝到本机都没问题。
神啊救救我吧。
win7的方式可能不同 到微软找下资料在win7 跟XP分别测试下
PROCESS_INFORMATION pi = {0};
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
TCHAR Cmd[MAX_PATH];
_stprintf_s(Cmd, _countof(Cmd), TEXT("xcopy \\\\server\\share\\1.txt d:\\"));
if(!CreateProcess(NULL, Cmd, NULL, NULL, NULL, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi))
{
return FALSE;
} WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread); return TRUE;
看一下出错代码
看来尝鲜是要付出代价的,坐等MS的补丁...
谢谢大家。