📄 filetransfer.cpp
字号:
// FileTransfer.cpp : implementation file
//
#include "stdafx.h"
#include "Chat.h"
#include "FileTransfer.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// FileTransfer dialog
FileTransfer::FileTransfer(CWnd* pParent /*=NULL*/)
: CDialog(FileTransfer::IDD, pParent)
{
//{{AFX_DATA_INIT(FileTransfer)
Notifier = _T("");
//}}AFX_DATA_INIT
}
void FileTransfer::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(FileTransfer)
DDX_Text(pDX, IDC_FILE_SEND, Notifier);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(FileTransfer, CDialog)
//{{AFX_MSG_MAP(FileTransfer)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// FileTransfer message handlers
FileTransfer::FileTransfer(char *fName, sockaddr_in aim,SOCKET hsock,CWnd *pParent): CDialog(FileTransfer::IDD, pParent)
{
m_hFiletosend=NULL;
m_filetobesent+=_T(fName);
memcpy(&m_aimaddr,&aim,sizeof(sockaddr));
m_hsock=hsock;
Notifier.Format("您正要将发送文件:%s给:\nIP:%s Port:%d\n是否继续?",
fName,inet_ntoa((in_addr)aim.sin_addr),ntohs(aim.sin_port));
}
void FileTransfer::OnOK()
{
SECURITY_ATTRIBUTES sa={0};
sa.nLength=sizeof(sa);
sa.bInheritHandle=true;
m_hFiletosend=CreateFile(m_filetobesent.GetBuffer(0),
GENERIC_READ,
FILE_SHARE_READ,
&sa,
OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN,
NULL);
if(m_hFiletosend==INVALID_HANDLE_VALUE)
{
AfxMessageBox("文件打开失败!");
return;
}
Notifier.Format("正在发送文件,请稍候......");
m_ftip.Format("文件大小:%d",GetFileSize(m_hFiletosend,0));
UpdateData(FALSE);
CWnd * pW;
pW=GetDlgItem(IDOK);
pW->ShowWindow(SW_HIDE);
pW=GetDlgItem(IDCANCEL);
pW->ShowWindow(SW_HIDE);
// pW->ShowWindow(TRUE);
m_thSender=AfxBeginThread((AFX_THREADPROC)FileSend,(LPVOID)this,THREAD_PRIORITY_NORMAL,0,0,&sa);
//界面控制
WaitForSingleObject(m_thSender->m_hThread,INFINITE);
// CloseHandle(m_thSender->m_hThread);
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -