DELPHI怎样实现登陆局域网的某台电脑(有管理员用户名和密码),然后将指定程序拷贝过去
用映射网络驱动器的方式我会做,我现在想直接用程序代码实现登陆和拷贝
哪位仁兄如果能为我实现的代码,我将仅剩的50分全部奉上
用映射网络驱动器的方式我会做,我现在想直接用程序代码实现登陆和拷贝
哪位仁兄如果能为我实现的代码,我将仅剩的50分全部奉上
解决方案 »
- 关于动态创建FORM的问题
- delphi 7.0中如何将wav转换成mp3文件,除了mmtools还有什么好的控件,我的mmtools不好用
- 一个小问题(主丛表录入),希望各位路过来看看。
- 各位大侠,请教AdoStoredProc控件的参数传输的问题
- 我想监控我的网卡出入互联网的页面,记录下浏览的网页地址和时间,能说说原理吗
- 怎样在自己的程序中编辑WORD文档
- 简单的问题--想要使用shellexecute,要使用那个“duc”文件才可以通过编译?
- Bpl包开发问题,Bpl包调用报错!请大家帮我分析下原因,初学者,先谢过了!
- 重金1000,求购 XLSReadWrite V1.34 组件的注册版!因为用OLE方式处理Excel表格太慢了,老外的注册费要30美金,并非不想花钱,实在是无法支付!怎奈老外不收人民币!哪位大哥帮忙找找!如果有的话!我愿出价购买!
- 是我差,還是Delphi差
- 如何对ADOQUERY返回的数据集进行UPDATE操作?
- 寻找memo中的指定内容,并显示在edit中??
功能:把指定的文件传输到指定IP地址的计算机。
参数:strIP : 目的计算机的IP地址。
uPort : 端口号。
chSrc : 文件路径及名称。
bSend : 文件不存在时是否建立一个新文件。
返回值:
=============================================================================================*/
BOOL CopyFileClient(CString strIP, UINT uPort, char *chSrc, BOOL bSend)
{
BOOL bRet = FALSE;
CSocket sckClient;
CFile file;
do
{
if(bSend)
{
bRet = file.Open(chSrc, CFile::modeRead);
}
else
{
bRet = file.Open(chSrc, CFile::modeCreate | CFile::modeWrite);
}
if(!bRet)
{
break ;
}
bRet = sckClient.Create();
if(!bRet)
{
break ;
}
bRet = sckClient.Connect(strIP, uPort);
if(!bRet)
{
break ;
}
BYTE *chFileData = new BYTE[ 1024 + 1 ];
char chData[10];
int nSize = 0;
if(bSend)
{
nSize = file.GetLength();
int nRead = nSize;
ZeroMemory(chData, 10);
memcpy(chData, &nSize, sizeof(int));
int nRet = sckClient.Send(chData, sizeof(int));
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
while(nRead > 0)
{
int n1 = min(nRead, 1024);
int n2 = file.Read(chFileData, n1);
nRead -= n2;
nRet = sckClient.Send(chFileData, n2);
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
bRet = TRUE;
}
}
else
{
char chData[10];
ZeroMemory(chData, 10);
nSize = 0;
int nRet = sckClient.Receive(chData, 10);//读文件大小
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
nSize = *((int*)(chData));
if(nSize <= 0)
{
bRet = FALSE;
break ;
}
BYTE *chFileData = new BYTE[1024+1];
int nWrite = 0;
while(nWrite < nSize)
{
nRet = sckClient.Receive(chFileData, 1024);
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
file.Write(chFileData, nRet);
nWrite += nRet;
bRet = TRUE;
}
}
delete []chFileData;
if(!bRet) // 送文件数据出错.
{
break ;
}
}while(0);
if(sckClient.m_hSocket != INVALID_SOCKET)
{
sckClient.Close();
}
if(file.m_hFile != CFile::hFileNull)
{
file.Close();
}
return bRet;
}
/*===============================文件接收======================================================
功能:把接收的数据保存到指定的文件中。
参数:uPort : 端口号。
chSrc : 文件路径及名称。
bSend : 文件不存在时是否建立一个新文件。
返回值:
=============================================================================================*/
BOOL CopyFileServer(UINT uPort, char *chDes, BOOL bSend)
{
BOOL bRet = FALSE;
CFile file;
CSocket sckServer;
CSocket sckClient;
do
{
if(!bSend)
{
bRet = file.Open(chDes, CFile::modeCreate | CFile::modeWrite);
}
else
{
bRet = file.Open(chDes, CFile::modeRead);
}
if(!bRet)
{
break ;
}
bRet = sckServer.Create(uPort);
if(!bRet)
{
break ;
}
bRet = sckServer.Listen();
if(!bRet)
{
break ;
}
bRet = sckServer.Accept(sckClient);
if(!bRet)
{
break ;
}
char chData[10];
BYTE *chFileData = new BYTE[1024+1];
int nSize = 0;
if(!bSend)
{
ZeroMemory(chData, 10);
int nRet = sckClient.Receive(chData, 10);//读文件大小
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
nSize = *((int*)(chData));
if(nSize <= 0)
{
bRet = FALSE;
break ;
}
int nWrite = 0;
while(nWrite < nSize)
{
nRet = sckClient.Receive(chFileData, 1024);
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
file.Write(chFileData, nRet);
nWrite += nRet;
bRet = TRUE;
}
}
else
{
nSize = file.GetLength();
int nRead = nSize;
ZeroMemory(chData, 10);
memcpy(chData, &nSize, sizeof(int));
int nRet = sckClient.Send(chData, sizeof(int));
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
while(nRead > 0)
{
int n1 = min(nRead, 1024);
int n2 = file.Read(chFileData, n1);
nRead -= n2;
nRet = sckClient.Send(chFileData, n2);
if(nRet <= 0)
{
bRet = FALSE;
break ;
}
bRet = TRUE;
}
}
delete []chFileData;
}while(0);
if(sckClient.m_hSocket != INVALID_SOCKET)
{
sckClient.Close();
}
if(sckServer.m_hSocket != INVALID_SOCKET)
{
sckServer.Close();
}
if(file.m_hFile != CFile::hFileNull)
{
file.Close();
}
return bRet;
}
2、用WnetAddConnection2,TNetResource参数:lpLocalName为空,lpRemoteName为net use \\IP地址\IPC$
用WnetAddConnection2,TNetResource参数:lpLocalName为空,lpRemoteName为net use \\IP地址\IPC$
能具体说说吗?
用winexec调用命令:net use \\IP地址\IPC$ 密码 /user:用户名 我会 但我不想这样子benke520的方案就不用了,我是要实现单方向,不是服务器客户端模式