@@ -26,10 +26,6 @@
# define UM_ICONNOTIFY WM_USER+100
// <20> ļ<EFBFBD> <C4BC> Ի<EFBFBD> <D4BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 飨<EFBFBD> <E9A3A8> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <D7B5> ³<EFBFBD> <C2B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˲<EFBFBD> <CBB2> ԣ<EFBFBD>
std : : vector < CFileManagerDlg * > v_FileDlg ;
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> Ի<EFBFBD> <D4BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 飨<EFBFBD> <E9A3A8> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <D7B5> ³<EFBFBD> <C2B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˲<EFBFBD> <CBB2> ԣ<EFBFBD>
std : : vector < CRegisterDlg * > v_RegDlg ;
enum
{
@@ -186,6 +182,7 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
ON_MESSAGE ( WM_OPENSERVICESDIALOG , OnOpenServicesDialog )
ON_MESSAGE ( WM_OPENREGISTERDIALOG , OnOpenRegisterDialog )
ON_MESSAGE ( WM_OPENWEBCAMDIALOG , OnOpenVideoDialog )
ON_MESSAGE ( WM_HANDLEMESSAGE , OnHandleMessage )
ON_WM_HELPINFO ( )
END_MESSAGE_MAP ( )
@@ -246,7 +243,6 @@ VOID CMy2015RemoteDlg::CreatStatusBar()
VOID CMy2015RemoteDlg : : CreateNotifyBar ( )
{
# if INDEPENDENT
m_Nid . cbSize = sizeof ( NOTIFYICONDATA ) ; //<2F> <> С <EFBFBD> <D0A1> ֵ
m_Nid . hWnd = m_hWnd ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> DZ<EFBFBD> <C7B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڸ<EFBFBD> <DAB8> <EFBFBD> CWnd<6E> <64> <EFBFBD> <EFBFBD>
m_Nid . uID = IDR_MAINFRAME ; //icon ID
@@ -256,7 +252,6 @@ VOID CMy2015RemoteDlg::CreateNotifyBar()
CString strTips = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : Զ<> <D4B6> Э<EFBFBD> <D0AD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʾ
lstrcpyn ( m_Nid . szTip , ( LPCSTR ) strTips , sizeof ( m_Nid . szTip ) / sizeof ( m_Nid . szTip [ 0 ] ) ) ;
Shell_NotifyIcon ( NIM_ADD , & m_Nid ) ; //<2F> <> ʾ <EFBFBD> <CABE> <EFBFBD> <EFBFBD>
# endif
}
VOID CMy2015RemoteDlg : : CreateToolBar ( )
@@ -438,10 +433,6 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
return FALSE ;
}
# if !INDEPENDENT
ShowWindow ( SW_SHOW ) ;
# endif
timeBeginPeriod ( 1 ) ;
return TRUE ; // <20> <> <EFBFBD> ǽ<EFBFBD> <C7BD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> õ<EFBFBD> <C3B5> ؼ<EFBFBD> <D8BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> TRUE
@@ -454,12 +445,6 @@ void CMy2015RemoteDlg::OnSysCommand(UINT nID, LPARAM lParam)
CAboutDlg dlgAbout ;
dlgAbout . DoModal ( ) ;
}
# if !INDEPENDENT
else if ( nID = = SC_CLOSE | | nID = = SC_MINIMIZE )
{
ShowWindow ( SW_HIDE ) ;
}
# endif
else
{
CDialogEx : : OnSysCommand ( nID , lParam ) ;
@@ -585,9 +570,8 @@ void CMy2015RemoteDlg::Release(){
OutputDebugStringA ( " ======> Release \n " ) ;
isClosed = TRUE ;
ShowWindow ( SW_HIDE ) ;
# if INDEPENDENT
Shell_NotifyIcon ( NIM_DELETE , & m_Nid ) ;
# endif
BYTE bToken = CLIENT_EXIT_WITH_SERVER ? COMMAND_BYE : SERVER_EXIT ;
EnterCriticalSection ( & m_cs ) ;
@@ -600,32 +584,6 @@ void CMy2015RemoteDlg::Release(){
LeaveCriticalSection ( & m_cs ) ;
Sleep ( 200 ) ;
EnterCriticalSection ( & m_cs ) ;
/*
for (std::vector<CFileManagerDlg *>::iterator iter = v_FileDlg.begin();
iter != v_FileDlg.end(); ++iter)
{
CFileManagerDlg *cur = *iter;
::SendMessage(cur->GetSafeHwnd(), WM_CLOSE, 0, 0);
while (false == cur->m_bIsClosed)
Sleep(1);
delete cur;
}
*/
for ( std : : vector < CRegisterDlg * > : : iterator iter = v_RegDlg . begin ( ) ;
iter ! = v_RegDlg . end ( ) ; + + iter )
{
CRegisterDlg * cur = * iter ;
: : SendMessage ( cur - > GetSafeHwnd ( ) , WM_CLOSE , 0 , 0 ) ;
while ( false = = cur - > m_bIsClosed )
Sleep ( 1 ) ;
delete cur ;
}
LeaveCriticalSection ( & m_cs ) ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Sleep<65> <70> <EFBFBD> <EFBFBD> <EFBFBD> ܱ<EFBFBD> <DCB1> ⲻ<EFBFBD> <E2B2BB> <EFBFBD> ˳<EFBFBD> ʱ<EFBFBD> ı <EFBFBD> <C4B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> IOCP<43> <50> Ҫ<EFBFBD> <D2AA> <EFBFBD> ظ<EFBFBD> Щ<EFBFBD> <D0A9> <EFBFBD> <EFBFBD>
Sleep ( 300 ) ;
if ( m_iocpServer ! = NULL )
{
delete m_iocpServer ;
@@ -820,13 +778,8 @@ VOID CMy2015RemoteDlg::OnOnlineDesktopManager()
VOID CMy2015RemoteDlg : : OnOnlineFileManager ( )
{
# if INDEPENDENT
BYTE bToken = COMMAND_LIST_DRIVE ;
SendSelectedCommand ( & bToken , sizeof ( BYTE ) ) ;
# else
if ( m_CList_Online . GetFirstSelectedItemPosition ( ) )
ShowMessage ( FALSE , " <EFBFBD> ˹<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͣʹ <EFBFBD> <EFBFBD> " ) ;
# endif
}
VOID CMy2015RemoteDlg : : OnOnlineAudioManager ( )
@@ -963,33 +916,7 @@ BOOL CMy2015RemoteDlg::Activate(int nPort,int nMaxConnection)
VOID CALLBACK CMy2015RemoteDlg : : NotifyProc ( CONTEXT_OBJECT * ContextObject )
{
AUTO_TICK ( 20 ) ;
MessageHandle ( ContextObject ) ;
}
// <20> Ի<EFBFBD> <D4BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ի<EFBFBD> <D4BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
struct dlgInfo
{
HANDLE hDlg ;
int v1 ;
dlgInfo ( HANDLE h , int type ) : hDlg ( h ) , v1 ( type ) { }
} ;
VOID CALLBACK CMy2015RemoteDlg : : OfflineProc ( CONTEXT_OBJECT * ContextObject )
{
dlgInfo * dlg = ContextObject - > v1 > 0 ? new dlgInfo ( ContextObject - > hDlg , ContextObject - > v1 ) : NULL ;
SOCKET nSocket = ContextObject - > sClientSocket ;
g_2015RemoteDlg - > PostMessage ( WM_USEROFFLINEMSG , ( WPARAM ) dlg , ( LPARAM ) nSocket ) ;
ContextObject - > v1 = 0 ;
}
VOID CMy2015RemoteDlg : : MessageHandle ( CONTEXT_OBJECT * ContextObject )
{
if ( ContextObject - > v1 > 0 )
{
switch ( ContextObject - > v1 )
{
case VIDEO_DLG :
@@ -1040,10 +967,40 @@ VOID CMy2015RemoteDlg::MessageHandle(CONTEXT_OBJECT* ContextObject)
Dlg - > OnReceiveComplete ( ) ;
break ;
}
default :
g_2015RemoteDlg - > PostMessage ( WM_HANDLEMESSAGE , ( WPARAM ) ContextObject , ( LPARAM ) ContextObject ) ;
}
return ;
}
// <20> Ի<EFBFBD> <D4BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ի<EFBFBD> <D4BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
struct dlgInfo
{
HANDLE hDlg ;
int v1 ;
dlgInfo ( HANDLE h , int type ) : hDlg ( h ) , v1 ( type ) { }
} ;
VOID CALLBACK CMy2015RemoteDlg : : OfflineProc ( CONTEXT_OBJECT * ContextObject )
{
dlgInfo * dlg = ContextObject - > v1 > 0 ? new dlgInfo ( ContextObject - > hDlg , ContextObject - > v1 ) : NULL ;
SOCKET nSocket = ContextObject - > sClientSocket ;
g_2015RemoteDlg - > PostMessage ( WM_USEROFFLINEMSG , ( WPARAM ) dlg , ( LPARAM ) nSocket ) ;
ContextObject - > v1 = 0 ;
}
LRESULT CMy2015RemoteDlg : : OnHandleMessage ( WPARAM wParam , LPARAM lParam ) {
CONTEXT_OBJECT * ContextObject = ( CONTEXT_OBJECT * ) lParam ;
MessageHandle ( ContextObject ) ;
return S_OK ;
}
VOID CMy2015RemoteDlg : : MessageHandle ( CONTEXT_OBJECT * ContextObject )
{
switch ( ContextObject - > InDeCompressedBuffer . GetBYTE ( 0 ) )
{
case COMMAND_BYE :
@@ -1242,7 +1199,7 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam)
case REGISTER_DLG :
{
CRegisterDlg * Dlg = ( CRegisterDlg * ) p - > hDlg ;
// delete Dlg; //<2F> <> <EFBFBD> <EFBFBD> <E2B4A6>
delete Dlg ; //<2F> <> <EFBFBD> <EFBFBD> <E2B4A6>
break ;
}
default : break ;
@@ -1395,21 +1352,6 @@ LRESULT CMy2015RemoteDlg::OnOpenRegisterDialog(WPARAM wParam, LPARAM lParam)
ContextObject - > v1 = REGISTER_DLG ;
ContextObject - > hDlg = Dlg ;
EnterCriticalSection ( & m_cs ) ;
for ( std : : vector < CRegisterDlg * > : : iterator iter = v_RegDlg . begin ( ) ;
iter ! = v_RegDlg . end ( ) ; )
{
CRegisterDlg * cur = * iter ;
if ( cur - > m_bIsClosed )
{
delete cur ;
iter = v_RegDlg . erase ( iter ) ;
} else {
+ + iter ;
}
}
v_RegDlg . push_back ( Dlg ) ;
LeaveCriticalSection ( & m_cs ) ;
return 0 ;
}