文件管理部分功能得以通讯
2605
CcRemote/CcRemote/CFileManagerDlg.cpp
Normal file
156
CcRemote/CcRemote/CFileManagerDlg.h
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "TrueColorToolBar.h"
|
||||||
|
#include "include/IOCPServer.h"
|
||||||
|
#include "resource.h"
|
||||||
|
|
||||||
|
|
||||||
|
typedef CList<CString, CString&> strList;
|
||||||
|
// CFileManagerDlg 对话框
|
||||||
|
|
||||||
|
class CFileManagerDlg : public CDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC(CFileManagerDlg)
|
||||||
|
|
||||||
|
public:
|
||||||
|
CFileManagerDlg(CWnd* pParent = NULL, CIOCPServer* pIOCPServer = NULL, ClientContext *pContext = NULL); // 标准构造函数
|
||||||
|
virtual ~CFileManagerDlg();
|
||||||
|
bool m_bIsStop;
|
||||||
|
CString m_strReceiveLocalFile;
|
||||||
|
CString m_strUploadRemoteFile;
|
||||||
|
void ShowProgress();
|
||||||
|
void SendStop();
|
||||||
|
int m_nTransferMode;
|
||||||
|
CString m_hCopyDestFolder;
|
||||||
|
void SendContinue();
|
||||||
|
void SendException();
|
||||||
|
void EndLocalRecvFile();
|
||||||
|
void EndRemoteDeleteFile();
|
||||||
|
CString m_strOperatingFile; // 文件名
|
||||||
|
__int64 m_nOperatingFileLength; // 文件总大小
|
||||||
|
__int64 m_nCounter;// 计数器
|
||||||
|
void WriteLocalRecvFile();
|
||||||
|
void CreateLocalRecvFile();
|
||||||
|
BOOL SendDownloadJob();
|
||||||
|
BOOL SendUploadJob();
|
||||||
|
BOOL SendDeleteJob();
|
||||||
|
|
||||||
|
strList m_Remote_Download_Job;
|
||||||
|
strList m_Remote_Upload_Job;
|
||||||
|
strList m_Remote_Delete_Job;
|
||||||
|
CTrueColorToolBar m_wndToolBar_Local;
|
||||||
|
CTrueColorToolBar m_wndToolBar_Remote;
|
||||||
|
void ShowMessage(char *lpFmt, ...);
|
||||||
|
CString m_Remote_Path;
|
||||||
|
BYTE m_bRemoteDriveList[1024];
|
||||||
|
CString GetParentDirectory(CString strPath);
|
||||||
|
void OnReceiveComplete();
|
||||||
|
|
||||||
|
CImageList* m_pImageList_Large;
|
||||||
|
CImageList* m_pImageList_Small;
|
||||||
|
|
||||||
|
int m_nNewIconBaseIndex; // 新加的ICON
|
||||||
|
|
||||||
|
ClientContext* m_pContext;
|
||||||
|
CIOCPServer* m_iocpServer;
|
||||||
|
CString m_IPAddress;
|
||||||
|
|
||||||
|
CProgressCtrl* m_ProgressCtrl;
|
||||||
|
HCURSOR m_hCursor;
|
||||||
|
CString m_Local_Path;
|
||||||
|
bool FixedUploadDirectory(LPCTSTR lpPathName);
|
||||||
|
void FixedLocalDriveList();
|
||||||
|
void FixedRemoteDriveList();
|
||||||
|
void FixedLocalFileList(CString directory = "");
|
||||||
|
void GetRemoteFileList(CString directory = "");
|
||||||
|
void FixedRemoteFileList(BYTE *pbBuffer, DWORD dwBufferLen);
|
||||||
|
|
||||||
|
HICON m_hIcon;
|
||||||
|
CStatusBar m_wndStatusBar;
|
||||||
|
|
||||||
|
CComboBox m_Remote_Directory_ComboBox;
|
||||||
|
CComboBox m_Local_Directory_ComboBox;
|
||||||
|
CListCtrl m_list_remote;
|
||||||
|
CListCtrl m_list_local;
|
||||||
|
// 对话框数据
|
||||||
|
#ifdef AFX_DESIGN_TIME
|
||||||
|
enum { IDD = IDD_FILE };
|
||||||
|
#endif
|
||||||
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
||||||
|
protected:
|
||||||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||||
|
virtual void PostNcDestroy();
|
||||||
|
virtual BOOL OnInitDialog();
|
||||||
|
afx_msg HCURSOR OnQueryDragIcon();
|
||||||
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||||||
|
afx_msg void OnDblclkListLocal(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg void OnBegindragListLocal(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg void OnBegindragListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg BOOL OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
||||||
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
||||||
|
afx_msg void OnTimer(UINT nIDEvent);
|
||||||
|
afx_msg void OnClose();
|
||||||
|
afx_msg void OnDblclkListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg void OnLocalPrev();
|
||||||
|
afx_msg void OnRemotePrev();
|
||||||
|
afx_msg void OnLocalView();
|
||||||
|
afx_msg void OnLocalList();
|
||||||
|
afx_msg void OnLocalReport();
|
||||||
|
afx_msg void OnLocalBigicon();
|
||||||
|
afx_msg void OnLocalSmallicon();
|
||||||
|
afx_msg void OnRemoteBigicon();
|
||||||
|
afx_msg void OnRemoteList();
|
||||||
|
afx_msg void OnRemoteReport();
|
||||||
|
afx_msg void OnRemoteSmallicon();
|
||||||
|
afx_msg void OnRemoteView();
|
||||||
|
afx_msg void OnUpdateLocalStop(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateRemoteStop(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateLocalPrev(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateRemotePrev(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateLocalCopy(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateRemoteCopy(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateRemoteDelete(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateRemoteNewfolder(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateLocalDelete(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnUpdateLocalNewfolder(CCmdUI* pCmdUI);
|
||||||
|
afx_msg void OnRemoteCopy();
|
||||||
|
afx_msg void OnLocalCopy();
|
||||||
|
afx_msg void OnLocalDelete();
|
||||||
|
afx_msg void OnRemoteDelete();
|
||||||
|
afx_msg void OnRemoteStop();
|
||||||
|
afx_msg void OnLocalStop();
|
||||||
|
afx_msg void OnLocalNewfolder();
|
||||||
|
afx_msg void OnRemoteNewfolder();
|
||||||
|
afx_msg void OnTransfer();
|
||||||
|
afx_msg void OnRename();
|
||||||
|
afx_msg void OnEndlabeleditListLocal(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg void OnEndlabeleditListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg void OnDelete();
|
||||||
|
afx_msg void OnNewfolder();
|
||||||
|
afx_msg void OnRefresh();
|
||||||
|
afx_msg void OnLocalOpen();
|
||||||
|
afx_msg void OnRemoteOpenShow();
|
||||||
|
afx_msg void OnRemoteOpenHide();
|
||||||
|
afx_msg void OnRclickListLocal(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
afx_msg void OnRclickListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
CListCtrl* m_pDragList; //Which ListCtrl we are dragging FROM
|
||||||
|
CListCtrl* m_pDropList; //Which ListCtrl we are dropping ON
|
||||||
|
BOOL m_bDragging; //T during a drag operation
|
||||||
|
int m_nDragIndex; //Index of selected item in the List we are dragging FROM
|
||||||
|
int m_nDropIndex; //Index at which to drop item in the List we are dropping ON
|
||||||
|
CWnd* m_pDropWnd; //Pointer to window we are dropping on (will be cast to CListCtrl* type)
|
||||||
|
|
||||||
|
void DropItemOnList(CListCtrl* pDragList, CListCtrl* pDropList);
|
||||||
|
private:
|
||||||
|
bool m_bIsUpload; // 是否是把本地主机传到远程上,标志方向位
|
||||||
|
bool MakeSureDirectoryPathExists(LPCTSTR pszDirPath);
|
||||||
|
void SendTransferMode();
|
||||||
|
void SendFileData();
|
||||||
|
void EndLocalUploadFile();
|
||||||
|
bool DeleteDirectory(LPCTSTR lpszDirectory);
|
||||||
|
void EnableControl(BOOL bEnable = TRUE);
|
||||||
|
};
|
@ -205,6 +205,8 @@
|
|||||||
<ClInclude Include="..\..\common\macros.h" />
|
<ClInclude Include="..\..\common\macros.h" />
|
||||||
<ClInclude Include="CcRemote.h" />
|
<ClInclude Include="CcRemote.h" />
|
||||||
<ClInclude Include="CcRemoteDlg.h" />
|
<ClInclude Include="CcRemoteDlg.h" />
|
||||||
|
<ClInclude Include="CFileManagerDlg.h" />
|
||||||
|
<ClInclude Include="FileTransferModeDlg.h" />
|
||||||
<ClInclude Include="CScreenSpyDlg.h" />
|
<ClInclude Include="CScreenSpyDlg.h" />
|
||||||
<ClInclude Include="CSettingDlg.h" />
|
<ClInclude Include="CSettingDlg.h" />
|
||||||
<ClInclude Include="CShellDlg.h" />
|
<ClInclude Include="CShellDlg.h" />
|
||||||
@ -215,6 +217,7 @@
|
|||||||
<ClInclude Include="include\IOCPServer.h" />
|
<ClInclude Include="include\IOCPServer.h" />
|
||||||
<ClInclude Include="include\Mapper.h" />
|
<ClInclude Include="include\Mapper.h" />
|
||||||
<ClInclude Include="IniFile.h" />
|
<ClInclude Include="IniFile.h" />
|
||||||
|
<ClInclude Include="InputDlg.h" />
|
||||||
<ClInclude Include="pch.h" />
|
<ClInclude Include="pch.h" />
|
||||||
<ClInclude Include="PublicStruct.h" />
|
<ClInclude Include="PublicStruct.h" />
|
||||||
<ClInclude Include="Resource.h" />
|
<ClInclude Include="Resource.h" />
|
||||||
@ -225,6 +228,8 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="CcRemote.cpp" />
|
<ClCompile Include="CcRemote.cpp" />
|
||||||
<ClCompile Include="CcRemoteDlg.cpp" />
|
<ClCompile Include="CcRemoteDlg.cpp" />
|
||||||
|
<ClCompile Include="CFileManagerDlg.cpp" />
|
||||||
|
<ClCompile Include="FileTransferModeDlg.cpp" />
|
||||||
<ClCompile Include="CScreenSpyDlg.cpp" />
|
<ClCompile Include="CScreenSpyDlg.cpp" />
|
||||||
<ClCompile Include="CSettingDlg.cpp" />
|
<ClCompile Include="CSettingDlg.cpp" />
|
||||||
<ClCompile Include="CShellDlg.cpp" />
|
<ClCompile Include="CShellDlg.cpp" />
|
||||||
@ -244,6 +249,7 @@
|
|||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Use</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Use</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Use</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Use</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="InputDlg.cpp" />
|
||||||
<ClCompile Include="pch.cpp">
|
<ClCompile Include="pch.cpp">
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
@ -257,15 +263,23 @@
|
|||||||
<ResourceCompile Include="CcRemote.rc" />
|
<ResourceCompile Include="CcRemote.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="res\1.cur" />
|
||||||
|
<None Include="res\2.cur" />
|
||||||
|
<None Include="res\3.cur" />
|
||||||
|
<None Include="res\4.cur" />
|
||||||
<None Include="res\CcRemote.rc2" />
|
<None Include="res\CcRemote.rc2" />
|
||||||
<None Include="res\dot.cur" />
|
<None Include="res\dot.cur" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Image Include="res\background_picture.bmp" />
|
<Image Include="res\background_picture.bmp" />
|
||||||
|
<Image Include="res\Bitmap_4.bmp" />
|
||||||
|
<Image Include="res\Bitmap_5.bmp" />
|
||||||
|
<Image Include="res\bmp00001.bmp" />
|
||||||
<Image Include="res\CcRemote.ico" />
|
<Image Include="res\CcRemote.ico" />
|
||||||
<Image Include="res\cmdshell.ico" />
|
<Image Include="res\cmdshell.ico" />
|
||||||
<Image Include="res\system.ico" />
|
<Image Include="res\system.ico" />
|
||||||
<Image Include="res\toolbar1.bmp" />
|
<Image Include="res\toolbar1.bmp" />
|
||||||
|
<Image Include="res\toolbar2.bmp" />
|
||||||
<Image Include="res\ToolBar_Main.bmp" />
|
<Image Include="res\ToolBar_Main.bmp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
@ -78,6 +78,15 @@
|
|||||||
<ClInclude Include="CScreenSpyDlg.h">
|
<ClInclude Include="CScreenSpyDlg.h">
|
||||||
<Filter>头文件</Filter>
|
<Filter>头文件</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="CFileManagerDlg.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="FileTransferModeDlg.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="InputDlg.h">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="CcRemote.cpp">
|
<ClCompile Include="CcRemote.cpp">
|
||||||
@ -119,6 +128,15 @@
|
|||||||
<ClCompile Include="CScreenSpyDlg.cpp">
|
<ClCompile Include="CScreenSpyDlg.cpp">
|
||||||
<Filter>源文件</Filter>
|
<Filter>源文件</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="CFileManagerDlg.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="FileTransferModeDlg.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="InputDlg.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="CcRemote.rc">
|
<ResourceCompile Include="CcRemote.rc">
|
||||||
@ -132,6 +150,18 @@
|
|||||||
<None Include="res\dot.cur">
|
<None Include="res\dot.cur">
|
||||||
<Filter>资源文件</Filter>
|
<Filter>资源文件</Filter>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="res\1.cur">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="res\2.cur">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="res\3.cur">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="res\4.cur">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Image Include="res\CcRemote.ico">
|
<Image Include="res\CcRemote.ico">
|
||||||
@ -152,5 +182,17 @@
|
|||||||
<Image Include="res\background_picture.bmp">
|
<Image Include="res\background_picture.bmp">
|
||||||
<Filter>资源文件</Filter>
|
<Filter>资源文件</Filter>
|
||||||
</Image>
|
</Image>
|
||||||
|
<Image Include="res\Bitmap_4.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\Bitmap_5.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\bmp00001.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\toolbar2.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -84,8 +84,8 @@ BEGIN_MESSAGE_MAP(CCcRemoteDlg, CDialogEx)
|
|||||||
ON_MESSAGE(WM_OPENSHELLDIALOG, OnOpenShellDialog)
|
ON_MESSAGE(WM_OPENSHELLDIALOG, OnOpenShellDialog)
|
||||||
ON_MESSAGE(WM_OPENPSLISTDIALOG, OnOpenSystemDialog)
|
ON_MESSAGE(WM_OPENPSLISTDIALOG, OnOpenSystemDialog)
|
||||||
ON_MESSAGE(WM_OPENSCREENSPYDIALOG, OnOpenScreenSpyDialog)
|
ON_MESSAGE(WM_OPENSCREENSPYDIALOG, OnOpenScreenSpyDialog)
|
||||||
|
ON_MESSAGE(WM_OPENMANAGERDIALOG, OnOpenManagerDialog)
|
||||||
|
|
||||||
|
|
||||||
//-------------系统-------------
|
//-------------系统-------------
|
||||||
ON_WM_SYSCOMMAND()
|
ON_WM_SYSCOMMAND()
|
||||||
ON_WM_PAINT()
|
ON_WM_PAINT()
|
||||||
@ -294,6 +294,8 @@ void CCcRemoteDlg::OnSize(UINT nType, int cx, int cy)
|
|||||||
if (SIZE_MINIMIZED == nType)//当窗口最小化避免大小为0造成崩溃直接返回
|
if (SIZE_MINIMIZED == nType)//当窗口最小化避免大小为0造成崩溃直接返回
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (m_CList_Online.m_hWnd != NULL)
|
if (m_CList_Online.m_hWnd != NULL)
|
||||||
{
|
{
|
||||||
CRect rc;
|
CRect rc;
|
||||||
@ -310,6 +312,12 @@ void CCcRemoteDlg::OnSize(UINT nType, int cx, int cy)
|
|||||||
int lenth = dd; //转换为int 类型
|
int lenth = dd; //转换为int 类型
|
||||||
m_CList_Online.SetColumnWidth(i, (lenth)); //设置当前的宽度
|
m_CList_Online.SetColumnWidth(i, (lenth)); //设置当前的宽度
|
||||||
}
|
}
|
||||||
|
//TCHAR szBuffer[_MAX_PATH];
|
||||||
|
//VERIFY(::GetModuleFileName(AfxGetInstanceHandle(), szBuffer, _MAX_PATH));
|
||||||
|
//CString sPath = (CString)szBuffer; sPath = sPath.Left(sPath.ReverseFind('\\') + 1);
|
||||||
|
CString sPath = "F:\\myapp\\CcRemote\\CcRemote\\CcRemote\\res\\background_list_online.bmp";
|
||||||
|
m_CList_Online.SetBkImage(sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义:CListCtrl m_controllist1;
|
||||||
|
sPath.ReleaseBuffer();
|
||||||
}
|
}
|
||||||
if (m_CList_Message.m_hWnd != NULL)
|
if (m_CList_Message.m_hWnd != NULL)
|
||||||
{
|
{
|
||||||
@ -327,6 +335,9 @@ void CCcRemoteDlg::OnSize(UINT nType, int cx, int cy)
|
|||||||
int lenth = dd; //转换为int 类型
|
int lenth = dd; //转换为int 类型
|
||||||
m_CList_Message.SetColumnWidth(i, (lenth)); //设置当前的宽度
|
m_CList_Message.SetColumnWidth(i, (lenth)); //设置当前的宽度
|
||||||
}
|
}
|
||||||
|
CString sPath = "F:\\myapp\\CcRemote\\CcRemote\\CcRemote\\res\\background_list_online.bmp";
|
||||||
|
m_CList_Message.SetBkImage(sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义:CListCtrl m_controllist1;
|
||||||
|
sPath.ReleaseBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_wndStatusBar.m_hWnd != NULL) { //当对话框大小改变时 状态条大小也随之改变
|
if (m_wndStatusBar.m_hWnd != NULL) { //当对话框大小改变时 状态条大小也随之改变
|
||||||
@ -375,15 +386,15 @@ int CCcRemoteDlg::InitMyMenu()
|
|||||||
|
|
||||||
int CCcRemoteDlg::InitList()
|
int CCcRemoteDlg::InitList()
|
||||||
{
|
{
|
||||||
//m_CList_Online.SetTextBkColor(CLR_NONE);
|
|
||||||
//m_CList_Online.SetBkColor(CLR_NONE);
|
// CLR_NONE没有背景色。图像是透明的。
|
||||||
//m_CList_Online.SetTextColor(RGB(255, 0, 0));
|
m_CList_Online.SetTextBkColor(CLR_NONE);
|
||||||
//TCHAR szBuffer[_MAX_PATH];
|
m_CList_Online.SetBkColor(CLR_NONE);
|
||||||
//VERIFY(::GetModuleFileName(AfxGetInstanceHandle(), szBuffer, _MAX_PATH));
|
m_CList_Online.SetTextColor(RGB(255, 0, 0));
|
||||||
////CString sPath = (CString)szBuffer; sPath = sPath.Left(sPath.ReverseFind('\\') + 1);
|
|
||||||
//CString sPath = "F:\myapp\\CcRemote\\CcRemote\\CcRemote\\background_picture.bmp";
|
m_CList_Message.SetTextBkColor(CLR_NONE);
|
||||||
//m_CList_Online.SetBkImage(sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义:CListCtrl m_controllist1;
|
m_CList_Message.SetBkColor(CLR_NONE);
|
||||||
//sPath.ReleaseBuffer();
|
//m_CList_Message.SetTextColor(RGB(255, 0, 0));
|
||||||
|
|
||||||
//设置list可选中
|
//设置list可选中
|
||||||
m_CList_Online.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
m_CList_Online.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
||||||
@ -451,12 +462,13 @@ void CCcRemoteDlg::ShowMessage(bool bIsOK, CString strMsg)
|
|||||||
m_OnlineCount = (m_OnlineCount <= 0 ? 0 : m_OnlineCount); //防止iCount 有-1的情况
|
m_OnlineCount = (m_OnlineCount <= 0 ? 0 : m_OnlineCount); //防止iCount 有-1的情况
|
||||||
strStatusMsg.Format("已连接: %d", m_OnlineCount);
|
strStatusMsg.Format("已连接: %d", m_OnlineCount);
|
||||||
m_wndStatusBar.SetPaneText(0, strStatusMsg); //在状态条上显示文字
|
m_wndStatusBar.SetPaneText(0, strStatusMsg); //在状态条上显示文字
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CCcRemoteDlg::Test()
|
void CCcRemoteDlg::Test()
|
||||||
{
|
{
|
||||||
|
|
||||||
ShowMessage(true, "软件初始化成功...");
|
ShowMessage(true, "软件初始化成功...");
|
||||||
//AddList("192.168.0.1", "本机局域网", "CHANG", "Windows7", "2.2GHZ", "有", "123232");
|
//AddList("192.168.0.1", "本机局域网", "CHANG", "Windows7", "2.2GHZ", "有", "123232");
|
||||||
//AddList("192.168.10.1", "本机局域网", "WANG", "Windows10", "2.2GHZ", "无", "111111");
|
//AddList("192.168.10.1", "本机局域网", "WANG", "Windows10", "2.2GHZ", "无", "111111");
|
||||||
@ -520,6 +532,8 @@ void CCcRemoteDlg::OnOnlineDesktop()
|
|||||||
void CCcRemoteDlg::OnOnlineFile()
|
void CCcRemoteDlg::OnOnlineFile()
|
||||||
{
|
{
|
||||||
// TODO: 在此添加命令处理程序代码
|
// TODO: 在此添加命令处理程序代码
|
||||||
|
BYTE bToken = COMMAND_LIST_DRIVE; //在服务端中搜索COMMAND_LIST_DRIVE
|
||||||
|
SendSelectCommand(&bToken, sizeof(BYTE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -709,6 +723,8 @@ void CCcRemoteDlg::OnClose()
|
|||||||
{
|
{
|
||||||
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
||||||
Shell_NotifyIcon(NIM_DELETE, &nid); //销毁图标
|
Shell_NotifyIcon(NIM_DELETE, &nid); //销毁图标
|
||||||
|
m_CList_Message.SetBkImage("relese", TRUE);
|
||||||
|
m_CList_Online.SetBkImage("relese", TRUE);
|
||||||
CDialogEx::OnClose();
|
CDialogEx::OnClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -766,9 +782,9 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
|
|||||||
{
|
{
|
||||||
switch (pContext->m_Dialog[0])
|
switch (pContext->m_Dialog[0])
|
||||||
{
|
{
|
||||||
//case FILEMANAGER_DLG:
|
case FILEMANAGER_DLG:
|
||||||
// ((CFileManagerDlg *)dlg)->OnReceiveComplete();
|
((CFileManagerDlg *)dlg)->OnReceiveComplete();
|
||||||
// break;
|
break;
|
||||||
case SCREENSPY_DLG:
|
case SCREENSPY_DLG:
|
||||||
((CScreenSpyDlg *)dlg)->OnReceiveComplete();
|
((CScreenSpyDlg *)dlg)->OnReceiveComplete();
|
||||||
break;
|
break;
|
||||||
@ -824,11 +840,7 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
/*case TOKEN_DRIVE_LIST: // 驱动器列表
|
/*
|
||||||
// 指接调用public函数非模态对话框会失去反应, 不知道怎么回事,太菜
|
|
||||||
g_pCcRemoteDlg->PostMessage(WM_OPENMANAGERDIALOG, 0, (LPARAM)pContext);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TOKEN_WEBCAM_BITMAPINFO: // 摄像头
|
case TOKEN_WEBCAM_BITMAPINFO: // 摄像头
|
||||||
g_pCcRemoteDlg->PostMessage(WM_OPENWEBCAMDIALOG, 0, (LPARAM)pContext);
|
g_pCcRemoteDlg->PostMessage(WM_OPENWEBCAMDIALOG, 0, (LPARAM)pContext);
|
||||||
break;
|
break;
|
||||||
@ -838,6 +850,10 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
|
|||||||
case TOKEN_KEYBOARD_START:
|
case TOKEN_KEYBOARD_START:
|
||||||
g_pCcRemoteDlg->PostMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)pContext);
|
g_pCcRemoteDlg->PostMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)pContext);
|
||||||
break;*/
|
break;*/
|
||||||
|
case TOKEN_DRIVE_LIST: // 驱动器列表
|
||||||
|
// 指接调用public函数非模态对话框会失去反应, 不知道怎么回事,太菜
|
||||||
|
g_pCcRemoteDlg->PostMessage(WM_OPENMANAGERDIALOG, 0, (LPARAM)pContext);
|
||||||
|
break;
|
||||||
case TOKEN_BITMAPINFO: //
|
case TOKEN_BITMAPINFO: //
|
||||||
// 指接调用public函数非模态对话框会失去反应, 不知道怎么回事
|
// 指接调用public函数非模态对话框会失去反应, 不知道怎么回事
|
||||||
g_pCcRemoteDlg->PostMessage(WM_OPENSCREENSPYDIALOG, 0, (LPARAM)pContext);
|
g_pCcRemoteDlg->PostMessage(WM_OPENSCREENSPYDIALOG, 0, (LPARAM)pContext);
|
||||||
@ -1029,23 +1045,41 @@ LRESULT CCcRemoteDlg::OnOpenScreenSpyDialog(WPARAM wParam, LPARAM lParam)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//打开文件管理窗口
|
||||||
|
LRESULT CCcRemoteDlg::OnOpenManagerDialog(WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
|
||||||
|
ClientContext *pContext = (ClientContext *)lParam;
|
||||||
|
|
||||||
|
//转到CFileManagerDlg 构造函数
|
||||||
|
CFileManagerDlg *dlg = new CFileManagerDlg(this, m_iocpServer, pContext);
|
||||||
|
// 设置父窗口为桌面
|
||||||
|
dlg->Create(IDD_FILE, GetDesktopWindow());
|
||||||
|
dlg->ShowWindow(SW_SHOW);
|
||||||
|
|
||||||
|
pContext->m_Dialog[0] = FILEMANAGER_DLG;
|
||||||
|
pContext->m_Dialog[1] = (int)dlg;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
//绘制背景图片
|
//绘制背景图片
|
||||||
BOOL CCcRemoteDlg::OnEraseBkgnd(CDC* pDC)
|
BOOL CCcRemoteDlg::OnEraseBkgnd(CDC* pDC)
|
||||||
{
|
{
|
||||||
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
||||||
CDC MemDC; MemDC.CreateCompatibleDC(pDC);
|
//CDC MemDC; MemDC.CreateCompatibleDC(pDC);
|
||||||
CBitmap Cbp;
|
//CBitmap Cbp;
|
||||||
Cbp.LoadBitmap(IDB_BACKGROUND_CCREMOTE);
|
//Cbp.LoadBitmap(IDB_BACKGROUND_CCREMOTE);
|
||||||
MemDC.SelectObject(&Cbp);
|
//MemDC.SelectObject(&Cbp);
|
||||||
BITMAP Bp;
|
//BITMAP Bp;
|
||||||
Cbp.GetBitmap(&Bp);
|
//Cbp.GetBitmap(&Bp);
|
||||||
CRect rect;
|
//CRect rect;
|
||||||
GetClientRect(&rect);
|
//GetClientRect(&rect);
|
||||||
pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &MemDC, 0, 0, Bp.bmWidth, Bp.bmHeight, SRCCOPY);
|
//pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &MemDC, 0, 0, Bp.bmWidth, Bp.bmHeight, SRCCOPY);
|
||||||
MemDC.DeleteDC();
|
//MemDC.DeleteDC();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
//return CDialogEx::OnEraseBkgnd(pDC);
|
return CDialogEx::OnEraseBkgnd(pDC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#include "CShellDlg.h"
|
#include "CShellDlg.h"
|
||||||
#include "CSystemDlg.h"
|
#include "CSystemDlg.h"
|
||||||
#include "CScreenSpyDlg.h"
|
#include "CScreenSpyDlg.h"
|
||||||
|
#include "CFileManagerDlg.h"
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
@ -101,6 +102,7 @@ public:
|
|||||||
afx_msg LRESULT OnOpenShellDialog(WPARAM, LPARAM);
|
afx_msg LRESULT OnOpenShellDialog(WPARAM, LPARAM);
|
||||||
afx_msg LRESULT OnOpenSystemDialog(WPARAM, LPARAM);
|
afx_msg LRESULT OnOpenSystemDialog(WPARAM, LPARAM);
|
||||||
afx_msg LRESULT OnOpenScreenSpyDialog(WPARAM, LPARAM);
|
afx_msg LRESULT OnOpenScreenSpyDialog(WPARAM, LPARAM);
|
||||||
|
afx_msg LRESULT OnOpenManagerDialog(WPARAM, LPARAM);
|
||||||
|
|
||||||
//-------------系统消息处理-------------
|
//-------------系统消息处理-------------
|
||||||
afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult);
|
afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult);
|
||||||
|
@ -10,21 +10,7 @@ f:\myapp\ccremote\ccremote\ccremote\debug\csystemdlg.obj
|
|||||||
f:\myapp\ccremote\ccremote\ccremote\debug\cshelldlg.obj
|
f:\myapp\ccremote\ccremote\ccremote\debug\cshelldlg.obj
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\csettingdlg.obj
|
f:\myapp\ccremote\ccremote\ccremote\debug\csettingdlg.obj
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\cscreenspydlg.obj
|
f:\myapp\ccremote\ccremote\ccremote\debug\cscreenspydlg.obj
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremotedlg.obj
|
f:\myapp\ccremote\ccremote\ccremote\debug\filetransfermodedlg.obj
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.obj
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\iocpserver.obj
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\buffer.obj
|
|
||||||
f:\myapp\ccremote\bin\ccremote.ilk
|
|
||||||
f:\myapp\ccremote\bin\ccremote.exe
|
|
||||||
f:\myapp\ccremote\bin\ccremote.pdb
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.res
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\..\..\bin\ccremote.exe
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.command.1.tlog
|
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.command.1.tlog
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.read.1.tlog
|
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.read.1.tlog
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.write.1.tlog
|
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.write.1.tlog
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.command.1.tlog
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.read.1.tlog
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.write.1.tlog
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.command.1.tlog
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.read.1.tlog
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.write.1.tlog
|
|
||||||
|
@ -1,45 +1,2 @@
|
|||||||
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
|
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
|
||||||
pch.cpp
|
|
||||||
CcRemote.cpp
|
|
||||||
CcRemoteDlg.cpp
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(164): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(169): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(310): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(327): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(812): warning C4018: “<=”: 有符号/无符号不匹配
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(894): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
|
||||||
CScreenSpyDlg.cpp
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(54): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(607): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(621): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
|
|
||||||
CSettingDlg.cpp
|
|
||||||
CShellDlg.cpp
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(95): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(122): warning C4018: “<”: 有符号/无符号不匹配
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(208): warning C4018: “<=”: 有符号/无符号不匹配
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(218): warning C4018: “<”: 有符号/无符号不匹配
|
|
||||||
CSystemDlg.cpp
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\csystemdlg.cpp(114): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
|
||||||
CpuUsage.cpp
|
|
||||||
IniFile.cpp
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\inifile.cpp(33): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明
|
|
||||||
SEU_QQwry.cpp
|
|
||||||
TrueColorToolBar.cpp
|
|
||||||
正在生成代码...
|
|
||||||
Buffer.cpp
|
|
||||||
IOCPServer.cpp
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(133): warning C4996: 'WSASocketA': Use WSASocketW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(3416): note: 参见“WSASocketA”的声明
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(725): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
|
||||||
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(774): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据
|
|
||||||
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(920): warning C4018: “>=”: 有符号/无符号不匹配
|
|
||||||
正在生成代码...
|
|
||||||
CcRemote.vcxproj -> F:\myapp\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
|
CcRemote.vcxproj -> F:\myapp\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
|
||||||
|
BIN
CcRemote/CcRemote/Debug/cfilemanagerdlg.obj.enc
Normal file
63
CcRemote/CcRemote/FileTransferModeDlg.cpp
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
// CInputDlg.cpp: 实现文件
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "pch.h"
|
||||||
|
#include "CcRemote.h"
|
||||||
|
#include "FileTransferModeDlg.h"
|
||||||
|
#include "afxdialogex.h"
|
||||||
|
|
||||||
|
|
||||||
|
// CFileTransferModeDlg 对话框
|
||||||
|
|
||||||
|
IMPLEMENT_DYNAMIC(CFileTransferModeDlg, CDialog)
|
||||||
|
|
||||||
|
CFileTransferModeDlg::CFileTransferModeDlg(CWnd* pParent /*=nullptr*/)
|
||||||
|
: CDialog(IDD_TRANSFERMODE_DLG, pParent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CFileTransferModeDlg::~CFileTransferModeDlg()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CFileTransferModeDlg::DoDataExchange(CDataExchange* pDX)
|
||||||
|
{
|
||||||
|
CDialog::DoDataExchange(pDX);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(CFileTransferModeDlg, CDialog)
|
||||||
|
ON_CONTROL_RANGE(BN_CLICKED, IDC_OVERWRITE, IDC_CANCEL, OnEndDialog)
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
// CFileTransferModeDlg 消息处理程序
|
||||||
|
|
||||||
|
|
||||||
|
BOOL CFileTransferModeDlg::OnInitDialog()
|
||||||
|
{
|
||||||
|
CDialog::OnInitDialog();
|
||||||
|
|
||||||
|
// TODO: 在此添加额外的初始化
|
||||||
|
CString str;
|
||||||
|
str.Format("此文件夹已包含一个名为“%s”的文件", m_strFileName);
|
||||||
|
|
||||||
|
for (int i = 0; i < str.GetLength(); i += 120)
|
||||||
|
{
|
||||||
|
str.Insert(i, "\n");
|
||||||
|
i += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetDlgItemText(IDC_TIPS, str);
|
||||||
|
return TRUE; // return TRUE unless you set the focus to a control
|
||||||
|
// 异常: OCX 属性页应返回 FALSE
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//重写这个函数是因为让继承他的子类能够重载这个函数来判断id吧
|
||||||
|
void CFileTransferModeDlg::OnEndDialog(UINT id)
|
||||||
|
{
|
||||||
|
// TODO: Add your control notification handler code here
|
||||||
|
EndDialog(id);
|
||||||
|
}
|
27
CcRemote/CcRemote/FileTransferModeDlg.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "resource.h"
|
||||||
|
// CFileTransferModeDlg 对话框
|
||||||
|
|
||||||
|
class CFileTransferModeDlg : public CDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC(CFileTransferModeDlg)
|
||||||
|
|
||||||
|
public:
|
||||||
|
CString m_strFileName;
|
||||||
|
CFileTransferModeDlg(CWnd* pParent = nullptr); // 标准构造函数
|
||||||
|
virtual ~CFileTransferModeDlg();
|
||||||
|
|
||||||
|
// 对话框数据
|
||||||
|
#ifdef AFX_DESIGN_TIME
|
||||||
|
enum { IDD = IDD_TRANSFERMODE_DLG };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||||
|
afx_msg void OnEndDialog(UINT id);
|
||||||
|
virtual BOOL OnInitDialog();
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
public:
|
||||||
|
|
||||||
|
};
|
228
CcRemote/CcRemote/InputDlg.cpp
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// MSDN Magazine -- June 2005
|
||||||
|
// If this code works, it was written by Paul DiLascia.
|
||||||
|
// If not, I don't know who wrote it.
|
||||||
|
// Compiles with Visual Studio .NET 2003 (V7.1) on Windows XP. Tab size=3.
|
||||||
|
//
|
||||||
|
#include "pch.h"
|
||||||
|
#include "InputDlg.h"
|
||||||
|
#include "PublicStruct.h"
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#define new DEBUG_NEW
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Note: Make sure nBufLen is big enough to hold your entire dialog template!
|
||||||
|
//
|
||||||
|
CDlgTemplateBuilder::CDlgTemplateBuilder(UINT nBufLen)
|
||||||
|
{
|
||||||
|
m_pBuffer = new WORD[nBufLen];
|
||||||
|
m_pNext = m_pBuffer;
|
||||||
|
m_pEndBuf = m_pNext + nBufLen;
|
||||||
|
}
|
||||||
|
|
||||||
|
CDlgTemplateBuilder::~CDlgTemplateBuilder()
|
||||||
|
{
|
||||||
|
delete [] m_pBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Create template (DLGTEMPLATE)
|
||||||
|
//
|
||||||
|
DLGTEMPLATE* CDlgTemplateBuilder::Begin(DWORD dwStyle, const CRect& rc,
|
||||||
|
LPCTSTR text, DWORD dwStyleEx)
|
||||||
|
{
|
||||||
|
ASSERT(m_pBuffer==m_pNext); // call Begin first and only once!
|
||||||
|
|
||||||
|
DLGTEMPLATE* hdr = (DLGTEMPLATE*)m_pBuffer;
|
||||||
|
hdr->style = dwStyle; // copy style..
|
||||||
|
hdr->dwExtendedStyle = dwStyleEx; // ..and extended, too
|
||||||
|
hdr->cdit = 0; // number of items: zero
|
||||||
|
|
||||||
|
// Set dialog rectangle.
|
||||||
|
CRect rcDlg = rc;
|
||||||
|
hdr->x = (short)rcDlg.left;
|
||||||
|
hdr->y = (short)rcDlg.top;
|
||||||
|
hdr->cx = (short)rcDlg.Width();
|
||||||
|
hdr->cy = (short)rcDlg.Height();
|
||||||
|
|
||||||
|
// Append trailing items: menu, class, caption. I only use caption.
|
||||||
|
m_pNext = (WORD*)(hdr+1);
|
||||||
|
*m_pNext++ = 0; // menu (none)
|
||||||
|
*m_pNext++ = 0; // dialog class (use standard)
|
||||||
|
m_pNext = AddText(m_pNext, text); // append dialog caption
|
||||||
|
|
||||||
|
ASSERT(m_pNext < m_pEndBuf);
|
||||||
|
return hdr;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Add dialog item (control).
|
||||||
|
//
|
||||||
|
void CDlgTemplateBuilder::AddItemTemplate(WORD wType, DWORD dwStyle,
|
||||||
|
const CRect& rc, WORD nID, DWORD dwStyleEx)
|
||||||
|
{
|
||||||
|
ASSERT(m_pNext < m_pEndBuf);
|
||||||
|
|
||||||
|
// initialize DLGITEMTEMPLATE
|
||||||
|
DLGITEMTEMPLATE& it = *((DLGITEMTEMPLATE*)AlignDWORD(m_pNext));
|
||||||
|
it.style = dwStyle;
|
||||||
|
it.dwExtendedStyle = dwStyleEx;
|
||||||
|
|
||||||
|
CRect rcDlg = rc;
|
||||||
|
it.x = (short)rcDlg.left;
|
||||||
|
it.y = (short)rcDlg.top;
|
||||||
|
it.cx = (short)rcDlg.Width();
|
||||||
|
it.cy = (short)rcDlg.Height();
|
||||||
|
it.id = nID;
|
||||||
|
|
||||||
|
// add class (none)
|
||||||
|
m_pNext = (WORD*)(&it+1);
|
||||||
|
*m_pNext++ = 0xFFFF; // next WORD is atom
|
||||||
|
*m_pNext++ = wType; // ..atom identifier
|
||||||
|
ASSERT(m_pNext < m_pEndBuf); // check not out of range
|
||||||
|
|
||||||
|
// increment control/item count
|
||||||
|
DLGTEMPLATE* hdr = (DLGTEMPLATE*)m_pBuffer;
|
||||||
|
hdr->cdit++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Add dialog item (control).
|
||||||
|
//
|
||||||
|
void CDlgTemplateBuilder::AddItem(WORD wType, DWORD dwStyle,
|
||||||
|
const CRect& rc, LPCTSTR text, WORD nID, DWORD dwStyleEx)
|
||||||
|
{
|
||||||
|
AddItemTemplate(wType, dwStyle, rc, nID, dwStyleEx);
|
||||||
|
m_pNext = AddText(m_pNext, text); // append title
|
||||||
|
*m_pNext++ = 0; // no creation data
|
||||||
|
ASSERT(m_pNext < m_pEndBuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Add dialog item (control).
|
||||||
|
//
|
||||||
|
void CDlgTemplateBuilder::AddItem(WORD wType, DWORD dwStyle,
|
||||||
|
const CRect& rc, WORD wResID, WORD nID, DWORD dwStyleEx)
|
||||||
|
{
|
||||||
|
AddItemTemplate(wType, dwStyle, rc, nID, dwStyleEx);
|
||||||
|
*m_pNext++ = 0xFFFF; // next is resource id
|
||||||
|
*m_pNext++ = wResID; // ..here it is
|
||||||
|
*m_pNext++ = 0; // no extra stuff
|
||||||
|
ASSERT(m_pNext < m_pEndBuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Append text to buffer. Convert to Unicode if necessary.
|
||||||
|
// Return pointer to next character after terminating NULL.
|
||||||
|
//
|
||||||
|
WORD* CDlgTemplateBuilder::AddText(WORD* buf, LPCTSTR text)
|
||||||
|
{
|
||||||
|
if (text) {
|
||||||
|
USES_CONVERSION;
|
||||||
|
wcscpy((WCHAR*)buf, T2W((LPTSTR)text));
|
||||||
|
buf += wcslen((WCHAR*)buf)+1;
|
||||||
|
} else {
|
||||||
|
*buf++ = 0;
|
||||||
|
}
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Create string dialog. If no icon specified, use IDI_QUESTION. Note that
|
||||||
|
// the order in which the controls are added is the TAB order.
|
||||||
|
//
|
||||||
|
BOOL CInputDialog::Init(LPCTSTR caption, LPCTSTR prompt, CWnd* pParent, WORD nIDIcon)
|
||||||
|
{
|
||||||
|
const int CXDIALOG = 200; // dialog width
|
||||||
|
const int DLGMARGIN = 7; // margins all around
|
||||||
|
const int CYSTATIC = 8; // height of static text
|
||||||
|
const int CYEDIT = 12; // height of edit control
|
||||||
|
const int CYSPACE = 5; // vertical space between controls
|
||||||
|
const int CXBUTTON = 40; // button width...
|
||||||
|
const int CYBUTTON = 15; // ..and height
|
||||||
|
|
||||||
|
CDlgTemplateBuilder& dtb = m_dtb;
|
||||||
|
CRect rc(
|
||||||
|
CPoint(0,0),
|
||||||
|
CSize(CXDIALOG, CYSTATIC + CYEDIT + CYBUTTON + 2*DLGMARGIN + 2*CYSPACE));
|
||||||
|
|
||||||
|
// create dialog header
|
||||||
|
DLGTEMPLATE* pTempl = dtb.Begin(WS_POPUPWINDOW|DS_MODALFRAME|WS_DLGFRAME,rc,caption);
|
||||||
|
|
||||||
|
// shrink main rect by margins
|
||||||
|
rc.DeflateRect(CSize(DLGMARGIN,DLGMARGIN));
|
||||||
|
|
||||||
|
// create icon if needed
|
||||||
|
if (nIDIcon) {
|
||||||
|
if (nIDIcon >= (WORD)IDI_APPLICATION) {
|
||||||
|
// if using a system icon, I load it here and set it in OnInitDialog
|
||||||
|
// because can't specify system icon in template, only icons from
|
||||||
|
// application resource file.
|
||||||
|
m_hIcon = ::LoadIcon(NULL, MAKEINTRESOURCE(nIDIcon));
|
||||||
|
nIDIcon = 0;
|
||||||
|
} else {
|
||||||
|
m_hIcon = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The size is calculated in pixels, but it seems to work OK--???
|
||||||
|
CSize sz(GetSystemMetrics(SM_CXICON),GetSystemMetrics(SM_CYICON));
|
||||||
|
CRect rcIcon(rc.TopLeft(), sz);
|
||||||
|
dtb.AddItem(CDlgTemplateBuilder::STATIC, // add icon
|
||||||
|
WS_VISIBLE|WS_CHILD|SS_LEFT|SS_ICON, rc, nIDIcon, IDICON);
|
||||||
|
rc.left += sz.cx; // shrink main rect by width of icon
|
||||||
|
}
|
||||||
|
|
||||||
|
// add prompt
|
||||||
|
rc.bottom = rc.top + CYSTATIC; // height = height of static
|
||||||
|
dtb.AddItem(CDlgTemplateBuilder::STATIC, // add it
|
||||||
|
WS_VISIBLE|WS_CHILD|SS_LEFT, rc, prompt);
|
||||||
|
|
||||||
|
// add edit control
|
||||||
|
rc += CPoint(0, rc.Height() + CYSPACE); // move below static
|
||||||
|
rc.bottom = rc.top + CYEDIT; // height = height of edit control
|
||||||
|
dtb.AddItem(CDlgTemplateBuilder::EDIT, // add it ES_AUTOHSCROLL must be add
|
||||||
|
WS_VISIBLE|WS_CHILD|WS_BORDER|WS_TABSTOP|ES_AUTOHSCROLL, rc, m_str, IDEDIT);
|
||||||
|
|
||||||
|
// add OK button
|
||||||
|
rc += CPoint(0, rc.Height() + CYSPACE); // move below edit control
|
||||||
|
rc.bottom = rc.top + CYBUTTON; // height = button height
|
||||||
|
rc.left = rc.right - CXBUTTON; // width = button width
|
||||||
|
rc -= CPoint(CXBUTTON + DLGMARGIN,0); // move left one button width
|
||||||
|
dtb.AddItem(CDlgTemplateBuilder::BUTTON, // add it
|
||||||
|
WS_VISIBLE|WS_CHILD|WS_TABSTOP|BS_DEFPUSHBUTTON, rc, _T("&OK"), IDOK);
|
||||||
|
|
||||||
|
// add Cancel button
|
||||||
|
rc += CPoint(CXBUTTON + DLGMARGIN,0); // move right again
|
||||||
|
dtb.AddItem(CDlgTemplateBuilder::BUTTON, // add Cancel button
|
||||||
|
WS_VISIBLE|WS_CHILD|WS_TABSTOP, rc, _T("&Cancel"), IDCANCEL);
|
||||||
|
|
||||||
|
return InitModalIndirect(pTempl, pParent);
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Initialize dialog: if I loaded a system icon, set it in static control.
|
||||||
|
//
|
||||||
|
BOOL CInputDialog::OnInitDialog()
|
||||||
|
{
|
||||||
|
if (m_hIcon) {
|
||||||
|
CStatic* pStatic = (CStatic*)GetDlgItem(IDICON);
|
||||||
|
ASSERT(pStatic);
|
||||||
|
pStatic->SetIcon(m_hIcon);
|
||||||
|
}
|
||||||
|
return CDialog::OnInitDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
/////////////////
|
||||||
|
// User pressed OK: check for empty string if required flag is set.
|
||||||
|
//
|
||||||
|
void CInputDialog::OnOK()
|
||||||
|
{
|
||||||
|
UpdateData(TRUE);
|
||||||
|
if (m_bRequired && m_str.IsEmpty()) {
|
||||||
|
MessageBeep(0);
|
||||||
|
return; // don't quit dialog!
|
||||||
|
}
|
||||||
|
CDialog::OnOK();
|
||||||
|
}
|
83
CcRemote/CcRemote/InputDlg.h
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
////////////////////////////////////////////////////////////////
|
||||||
|
// PixieLib(TM) Copyright 1997-2005 Paul DiLascia
|
||||||
|
// If this code works, it was written by Paul DiLascia.
|
||||||
|
// If not, I don't know who wrote it.
|
||||||
|
// Compiles with Visual Studio.NET 7.1 or greater. Set tabsize=3.
|
||||||
|
//
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Helper class to build a dialog template in memory. Only supports what's
|
||||||
|
// needed for CStringDialog.
|
||||||
|
//
|
||||||
|
class CDlgTemplateBuilder {
|
||||||
|
protected:
|
||||||
|
WORD* m_pBuffer; // internal buffer holds dialog template
|
||||||
|
WORD* m_pNext; // next WORD to copy stuff
|
||||||
|
WORD* m_pEndBuf; // end of buffer
|
||||||
|
|
||||||
|
// align ptr to nearest DWORD
|
||||||
|
WORD* AlignDWORD(WORD* ptr) {
|
||||||
|
ptr++; // round up to nearest DWORD
|
||||||
|
LPARAM lp = (LPARAM)ptr; // convert to long
|
||||||
|
lp &= 0xFFFFFFFC; // make sure on DWORD boundary
|
||||||
|
return (WORD*)lp;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AddItemTemplate(WORD wType, DWORD dwStyle, const CRect& rc,
|
||||||
|
WORD nID, DWORD dwStyleEx);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Windows predefined atom names
|
||||||
|
enum { BUTTON=0x0080, EDIT, STATIC, LISTBOX, SCROLLBAR, COMBOBOX };
|
||||||
|
|
||||||
|
CDlgTemplateBuilder(UINT nBufLen=1024);
|
||||||
|
~CDlgTemplateBuilder();
|
||||||
|
|
||||||
|
DLGTEMPLATE* GetTemplate() { return (DLGTEMPLATE*)m_pBuffer; }
|
||||||
|
|
||||||
|
// functions to build the template
|
||||||
|
DLGTEMPLATE* Begin(DWORD dwStyle, const CRect& rc, LPCTSTR caption, DWORD dwStyleEx=0);
|
||||||
|
WORD* AddText(WORD* buf, LPCTSTR text);
|
||||||
|
void AddItem(WORD wType, DWORD dwStyle, const CRect& rc,
|
||||||
|
LPCTSTR text, WORD nID=-1, DWORD dwStyleEx=0);
|
||||||
|
void AddItem(WORD wType, DWORD dwStyle, const CRect& rc,
|
||||||
|
WORD nResID, WORD nID=-1, DWORD dwStyleEx=0);
|
||||||
|
};
|
||||||
|
|
||||||
|
//////////////////
|
||||||
|
// Class to implement a simple string input dialog. Kind of like MessageBox
|
||||||
|
// but it accepts a single string input from user. You provide the prompt. To
|
||||||
|
// use:
|
||||||
|
//
|
||||||
|
// CStringDialog dlg; // string dialog
|
||||||
|
// dlg.m_bRequired = m_bRequired; // if string is required
|
||||||
|
// dlg.Init(_T("Title"), _T("Enter a string:"), this, IDI_QUESTION);
|
||||||
|
// dlg.DoModal(); // run dialog
|
||||||
|
// CString result = dlg.m_str; // whatever the user typed
|
||||||
|
//
|
||||||
|
class CInputDialog : public CDialog {
|
||||||
|
public:
|
||||||
|
CString m_str; // the string returned [in,out]
|
||||||
|
BOOL m_bRequired; // string required?
|
||||||
|
HICON m_hIcon; // icon if not supplied
|
||||||
|
|
||||||
|
CInputDialog() { }
|
||||||
|
~CInputDialog() { }
|
||||||
|
|
||||||
|
// Call this to create the template with given caption and prompt.
|
||||||
|
BOOL Init(LPCTSTR caption, LPCTSTR prompt, CWnd* pParent=NULL,
|
||||||
|
WORD nIDIcon=(WORD)IDI_QUESTION);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
CDlgTemplateBuilder m_dtb; // place to build/hold the dialog template
|
||||||
|
enum { IDICON=1, IDEDIT }; // control IDs
|
||||||
|
|
||||||
|
// MFC virtual overrides
|
||||||
|
virtual BOOL OnInitDialog();
|
||||||
|
virtual void OnOK();
|
||||||
|
virtual void DoDataExchange(CDataExchange* pDX)
|
||||||
|
{
|
||||||
|
DDX_Text(pDX, IDEDIT, m_str);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -66,3 +66,19 @@ typedef struct
|
|||||||
DWORD dwSpeed; // 网速
|
DWORD dwSpeed; // 网速
|
||||||
}LOGININFO;
|
}LOGININFO;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
DWORD dwSizeHigh;
|
||||||
|
DWORD dwSizeLow;
|
||||||
|
}FILESIZE;
|
||||||
|
|
||||||
|
#define MAKEINT64(low, high) ((unsigned __int64)(((DWORD)(low)) | ((unsigned __int64)((DWORD)(high))) << 32))
|
||||||
|
#ifdef _UNICODE
|
||||||
|
#if defined _M_IX86
|
||||||
|
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||||
|
#elif defined _M_X64
|
||||||
|
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||||
|
#else
|
||||||
|
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
@ -1,46 +1,46 @@
|
|||||||
G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
|
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
|
||||||
pch.cpp
|
pch.cpp
|
||||||
CcRemote.cpp
|
CcRemote.cpp
|
||||||
CcRemoteDlg.cpp
|
CcRemoteDlg.cpp
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(162): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(164): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(167): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(169): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(308): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
|
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(312): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(325): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
|
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(335): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(798): warning C4018: “<=”: 有符号/无符号不匹配
|
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(826): warning C4018: “<=”: 有符号/无符号不匹配
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(880): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(908): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
CScreenSpyDlg.cpp
|
CScreenSpyDlg.cpp
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\cscreenspydlg.cpp(54): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(54): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\cscreenspydlg.cpp(607): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
|
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(607): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\cscreenspydlg.cpp(621): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
|
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(621): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
|
||||||
CSettingDlg.cpp
|
CSettingDlg.cpp
|
||||||
CShellDlg.cpp
|
CShellDlg.cpp
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(95): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(95): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(122): warning C4018: “<”: 有符号/无符号不匹配
|
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(122): warning C4018: “<”: 有符号/无符号不匹配
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(208): warning C4018: “<=”: 有符号/无符号不匹配
|
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(208): warning C4018: “<=”: 有符号/无符号不匹配
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(218): warning C4018: “<”: 有符号/无符号不匹配
|
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(218): warning C4018: “<”: 有符号/无符号不匹配
|
||||||
CSystemDlg.cpp
|
CSystemDlg.cpp
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\csystemdlg.cpp(114): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\csystemdlg.cpp(114): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
CpuUsage.cpp
|
CpuUsage.cpp
|
||||||
IniFile.cpp
|
IniFile.cpp
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\inifile.cpp(33): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
f:\myapp\ccremote\ccremote\ccremote\inifile.cpp(33): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
g:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明
|
d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明
|
||||||
SEU_QQwry.cpp
|
SEU_QQwry.cpp
|
||||||
TrueColorToolBar.cpp
|
TrueColorToolBar.cpp
|
||||||
Buffer.cpp
|
Buffer.cpp
|
||||||
IOCPServer.cpp
|
IOCPServer.cpp
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(133): warning C4996: 'WSASocketA': Use WSASocketW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(133): warning C4996: 'WSASocketA': Use WSASocketW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(3416): note: 参见“WSASocketA”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(3416): note: 参见“WSASocketA”的声明
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(725): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(725): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(774): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据
|
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(774): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(920): warning C4018: “>=”: 有符号/无符号不匹配
|
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(920): warning C4018: “>=”: 有符号/无符号不匹配
|
||||||
正在生成代码
|
正在生成代码
|
||||||
All 520 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
|
All 523 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
|
||||||
已完成代码的生成
|
已完成代码的生成
|
||||||
CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
|
CcRemote.vcxproj -> F:\myapp\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0
|
#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0
|
||||||
Release|Win32|G:\CcRemote\CcRemote\CcRemote\|
|
Release|Win32|F:\myapp\CcRemote\CcRemote\|
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
#include <afxwin.h>
|
#include <afxwin.h>
|
||||||
#include <afxwin.h>
|
#include <afxwin.h>
|
||||||
#include <afxwin.h>
|
#include <afxwin.h>
|
||||||
|
#include <afxwin.h>
|
||||||
|
#include <afxwin.h>
|
||||||
|
|
||||||
#endif //PCH_H
|
#endif //PCH_H
|
||||||
|
|
||||||
|
BIN
CcRemote/CcRemote/res/1.cur
Normal file
After Width: | Height: | Size: 326 B |
BIN
CcRemote/CcRemote/res/2.cur
Normal file
After Width: | Height: | Size: 326 B |
BIN
CcRemote/CcRemote/res/3.cur
Normal file
After Width: | Height: | Size: 326 B |
BIN
CcRemote/CcRemote/res/4.cur
Normal file
After Width: | Height: | Size: 326 B |
BIN
CcRemote/CcRemote/res/Bitmap_4.bmp
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
CcRemote/CcRemote/res/Bitmap_5.bmp
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
CcRemote/CcRemote/res/background_list_online.bmp
Normal file
After Width: | Height: | Size: 264 KiB |
BIN
CcRemote/CcRemote/res/bmp00001.bmp
Normal file
After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 326 B |
BIN
CcRemote/CcRemote/res/toolbar2.bmp
Normal file
After Width: | Height: | Size: 1.8 KiB |
@ -29,12 +29,26 @@
|
|||||||
#define IDD_DIALOG1 149
|
#define IDD_DIALOG1 149
|
||||||
#define IDD_SCREENSPY 149
|
#define IDD_SCREENSPY 149
|
||||||
#define IDI_DOT 153
|
#define IDI_DOT 153
|
||||||
#define IDC_DOT 153
|
|
||||||
#define IDB_BACKGROUND_ 154
|
#define IDB_BACKGROUND_ 154
|
||||||
#define IDB_BACKGROUND_CCREMOTE 154
|
#define IDB_BACKGROUND_CCREMOTE 154
|
||||||
|
#define IDD_FILE 155
|
||||||
|
#define IDD_TRANSFERMODE_DLG 157
|
||||||
|
#define IDR_FILEMANAGER 159
|
||||||
|
#define IDR_LOCAL_VIEW 160
|
||||||
|
#define IDR_REMOTE_VIEW 161
|
||||||
|
#define IDC_DRAG 162
|
||||||
|
#define IDC_MUTI_DRAG 163
|
||||||
|
#define IDC_CURSOR3 164
|
||||||
|
#define IDC_CURSOR4 165
|
||||||
|
#define IDC_DOT 167
|
||||||
|
#define IDB_TOOLBAR_ENABLE 168
|
||||||
|
#define IDB_TOOLBAR_DISABLE 169
|
||||||
|
#define IDR_TOOLBAR1 170
|
||||||
|
#define IDR_TOOLBAR2 172
|
||||||
#define IDC_ONLINE 1000
|
#define IDC_ONLINE 1000
|
||||||
#define IDC_LIST2 1001
|
#define IDC_LIST2 1001
|
||||||
#define IDC_MESSAGE 1001
|
#define IDC_MESSAGE 1001
|
||||||
|
#define IDC_LIST_REMOTE 1001
|
||||||
#define IDC_EDIT_PORT 1002
|
#define IDC_EDIT_PORT 1002
|
||||||
#define IDC_EDIT_MAX 1003
|
#define IDC_EDIT_MAX 1003
|
||||||
#define IDC_EDIT 1003
|
#define IDC_EDIT 1003
|
||||||
@ -42,6 +56,23 @@
|
|||||||
#define IDC_LIST_WINDOWS 1005
|
#define IDC_LIST_WINDOWS 1005
|
||||||
#define IDC_LIST_PROCESS_OR_WINDOW 1006
|
#define IDC_LIST_PROCESS_OR_WINDOW 1006
|
||||||
#define IDC_LIST_PROCESS_OR_WINDOW_OR_WINDOW 1006
|
#define IDC_LIST_PROCESS_OR_WINDOW_OR_WINDOW 1006
|
||||||
|
#define IDC_STATIC_FILE_LOCAL 1006
|
||||||
|
#define IDC_STATIC_LOCAL 1006
|
||||||
|
#define IDC_STATIC_FILE_REMOTE 1007
|
||||||
|
#define IDC_STATIC_REMOTE 1007
|
||||||
|
#define IDC_LIST_LOCAL 1008
|
||||||
|
#define IDC_LOCAL_PATH 1009
|
||||||
|
#define IDC_REMOTE_PATH 1010
|
||||||
|
#define IDC_OVERWRITE 1011
|
||||||
|
#define IDC_TIPS 1012
|
||||||
|
#define IDC_CANCEL 1013
|
||||||
|
#define IDC_OVERWRITE_ALL 1016
|
||||||
|
#define IDC_ADDITION 1017
|
||||||
|
#define IDC_JUMP 1018
|
||||||
|
#define IDC_ADDITION_ALL 1019
|
||||||
|
#define IDC_JUMP_ALL 1020
|
||||||
|
#define ID_LOCAL_TOOLBAR 0x5001
|
||||||
|
#define ID_REMOTE_TOOLBAR 0x5002
|
||||||
#define ID_ONLINE_32771 32771
|
#define ID_ONLINE_32771 32771
|
||||||
#define ID_ONLINE_32772 32772
|
#define ID_ONLINE_32772 32772
|
||||||
#define ID_ONLINE_32773 32773
|
#define ID_ONLINE_32773 32773
|
||||||
@ -109,14 +140,59 @@
|
|||||||
#define ID_WINDOW_MAX 32836
|
#define ID_WINDOW_MAX 32836
|
||||||
#define ID_WINDOW_MIN 32837
|
#define ID_WINDOW_MIN 32837
|
||||||
#define ID_WINDOW_S 32838
|
#define ID_WINDOW_S 32838
|
||||||
|
#define ID_FILEMANGER_32839 32839
|
||||||
|
#define ID_FILEMANGER_32840 32840
|
||||||
|
#define ID_FILEMANGER_32841 32841
|
||||||
|
#define ID_FILEMANGER_I32842 32842
|
||||||
|
#define ID_FILEMANGER_32843 32843
|
||||||
|
#define ID_FILEMANGER_32844 32844
|
||||||
|
#define ID_FILEMANGER_32845 32845
|
||||||
|
#define ID_FILEMANGER_32846 32846
|
||||||
|
#define IDM_TRANSFER 32847
|
||||||
|
#define IDM_RENAME 32848
|
||||||
|
#define IDM_DELETE 32849
|
||||||
|
#define IDM_NEWFOLDER 32850
|
||||||
|
#define IDM_LOCAL_OPEN 32851
|
||||||
|
#define IDM_REMOTE_OPEN_SHOW 32852
|
||||||
|
#define IDM_REMOTE_OPEN_HIDE 32853
|
||||||
|
#define IDM_REFRESH 32854
|
||||||
|
#define ID_LVIEW_32855 32855
|
||||||
|
#define ID_LVIEW_32856 32856
|
||||||
|
#define ID_LVIEW_32857 32857
|
||||||
|
#define ID_LVIEW_32858 32858
|
||||||
|
#define IDM_LOCAL_BIGICON 32859
|
||||||
|
#define IDM_LOCAL_SMALLICON 32860
|
||||||
|
#define IDM_LOCAL_LIST 32861
|
||||||
|
#define IDM_LOCAL_REPORT 32862
|
||||||
|
#define ID_RVIEW_32863 32863
|
||||||
|
#define ID_RVIEW_32864 32864
|
||||||
|
#define ID_RVIEW_32865 32865
|
||||||
|
#define ID_RVIEW_32866 32866
|
||||||
|
#define IDM_REMOTE_BIGICON 32867
|
||||||
|
#define IDM_REMOTE_SMALLICON 32868
|
||||||
|
#define IDM_REMOTE_LIST 32869
|
||||||
|
#define IDM_REMOTE_REPORT 32870
|
||||||
|
#define IDT_LOCAL_PREV 32871
|
||||||
|
#define IDT_LOCAL_COPY 32872
|
||||||
|
#define IDT_LOCAL_DELETE 32873
|
||||||
|
#define IDT_LOCAL_NEWFOLDER 32874
|
||||||
|
#define ID_BUTTON32875 32875
|
||||||
|
#define IDT_LOCAL_STOP 32875
|
||||||
|
#define IDT_LOCAL_VIEW 32876
|
||||||
|
#define IDT_REMOTE_PREV 32877
|
||||||
|
#define IDT_REMOTE_COPY 32878
|
||||||
|
#define IDT_REMOTE_DELETE 32879
|
||||||
|
#define IDT_REMOTE_NEWFOLDER 32880
|
||||||
|
#define IDT_REMOTE_VIEW 32881
|
||||||
|
#define IDT_REMOTE_STOP 32882
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 155
|
#define _APS_NEXT_RESOURCE_VALUE 174
|
||||||
#define _APS_NEXT_COMMAND_VALUE 32839
|
#define _APS_NEXT_COMMAND_VALUE 32883
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1006
|
#define _APS_NEXT_CONTROL_VALUE 1014
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|