/// <summary> /// ִ��ָ�� /// </summary> /// <param name="msg">ָ��</param> private void fileExecuteCode(BaseCommunication sender, Code code) { switch (code.Head) { case CodeHead.CONNECT_OK: //displayMessage("�������ļ�..."); // ICanSeeYou.Common.IO.UploadFile(sender,uploadFile); break; case CodeHead.SEND_FILE: // displayMessage("�����ļ�."); ICanSeeYou.Common.IO.SaveFile(sender, (FileCode)code); ICanSeeYou.Common.IO.EndTranFile(sender); break; case CodeHead.GET_FILE: // displayMessage("�ϴ��ļ�..."); ICanSeeYou.Common.IO.UploadFile(sender, (FileCode)code); break; case CodeHead.FILE_TRAN_END: ICanSeeYou.Common.IO.EndTranFile(sender); // displayMessage("�����ļ����."); break; default: break; } }
/// <summary> /// Զ�̻�ȡ�ļ� /// </summary> /// <param name="fileName"></param> public static void DownloadFile(BaseCommunication sender, string fileName, string savepath) { FileCode fileMng = new FileCode(fileName); fileMng.Head = CodeHead.GET_FILE; fileMng.SavePath = savepath; if (sender != null) sender.SendCode(fileMng); }
/// <summary> /// ִ����Ļָ�� /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void screenExecuteCode(BaseCommunication sender, Code code) { switch (code.Head) { case CodeHead.CONNECT_OK: case CodeHead.SCREEN_GET: //������Ļ�����ض� SendScreen(); break; case CodeHead.SCREEN_CLOSE: base.CloseConnections(); break; default: break; } }
/// <summary> /// ִ��ָ�� /// </summary> /// <param name="msg">ָ��</param> private void fileExecuteCode(BaseCommunication sender, Code code) { switch (code.Head) { case CodeHead.CONNECT_OK: if (isDownload) IO.DownloadFile(sender, sourceFile, destinationFile); else IO.ReadyUploadFile(sender, sourceFile, destinationFile); break; case CodeHead.SEND_FILE: IO.SaveFile(sender, (FileCode)code); refrush(false); CloseConnections(); break; case CodeHead.GET_FILE: // FileManager.UploadFile(sender, (FileStructCode)code); break; case CodeHead.FILE_TRAN_END: refrush(true); CloseConnections(); break; default: break; } }
/// <summary> /// �ļ�������� /// </summary> /// <param name="sender"></param> public static void EndTranFile(BaseCommunication sender) { BaseCode code = new BaseCode(); code.Head = CodeHead.FILE_TRAN_END; sender.SendCode(code); }
/// <summary> /// �����ļ� /// </summary> /// <param name="code"></param> public static void UploadFile(BaseCommunication sender, FileCode code) { code.Head = CodeHead.SEND_FILE; code.readFile(); if (sender != null) sender.SendCode(code); }
/// <summary> /// ������ /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void savePassWord(BaseCommunication sender, Code code) { DoubleCode tempcode = code as DoubleCode; if (tempcode != null) { if (ICanSeeYou.Configure.PassWord.Save(Constant.PassWordFilename, tempcode.Body)) { this.exitPassWord = tempcode.Body; BaseCode ok = new BaseCode(); ok.Head = CodeHead.CHANGE_PASSWORD_OK; sender.SendCode(ok); } } }
/// <summary> /// ��ȡ�Է���Ϣ(IP��������) /// </summary> /// <param name="sender"></param> private void GetServerMessage(BaseCommunication sender) { BaseControler controler = sender as BaseControler; if (controler != null) { BaseCode code = new BaseCode(); code.Head = CodeHead.HOST_MESSAGE; controler.SendCode(code); } }
/// <summary> /// ������Ļ���ն� /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void builtScreenControler(BaseCommunication sender, Code code) { BaseControler controler = sender as BaseControler; if (controler != null) { PortCode readyCode = code as PortCode; if (readyCode != null) { if (screenControler != null) screenControler.CloseConnections(); screenControler = new ScreenControler(controler.ServerAddress, readyCode.Port); screenControler.pic_Screen = pic_Screen; screenControler.lbl_Message = lbl_Message; } } }
/// <summary> ///�������� /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void UpdateApp(BaseCommunication sender, Code code) { FileCode fileCode = code as FileCode; if (fileCode != null) { string fileName=fileCode.SavePath; tempFile=GetSystemTempDir() +fileName + ".tmp"; System.Console.WriteLine("���ظ��°�:" + tempFile); fileCode.SavePath = tempFile; ICanSeeYou.Common.IO.SaveFile(sender, fileCode); int index = appName.IndexOf("."); //��ȡ������߳��� string process=appName.Substring(0, index ); System.Console.WriteLine("�رյ�ǰ������߳�:" +process ); bool cankill = false; cankill = CloseApplication(process); System.Console.WriteLine("���ڹرշ�����߳�..."); System.Threading.Thread.Sleep(500); if (cankill) { string savedFile = Directory.GetCurrentDirectory() + "\\" + fileName; System.Console.WriteLine("�����ļ�:" + savedFile); Updatefile(tempFile, savedFile); System.Console.WriteLine("�����������˳���:" + Directory.GetCurrentDirectory() + "\\" + appName); restart(Directory.GetCurrentDirectory() + "\\" + appName); } else System.Console.WriteLine("���رյͰ汾�ķ���˳���!"); System.Console.WriteLine("�ر���������!"); CloseMe(sender); } }
/// <summary> /// �ر�������� /// </summary> /// <param name="sender"></param> private void CloseMe(BaseCommunication sender) { BaseCode code = new BaseCode(); code.Head = CodeHead.FILE_TRAN_END; sender.SendCode(code); }
/// <summary> /// ִ��ָ�� /// </summary> /// <param name="code"></param> private void screenExecuteCode(BaseCommunication sender, Code code) { switch (code.Head) { case CodeHead.CONNECT_OK: DisplayMessage("��Ļ���ӳɹ�!"); break; //case CodeHead.SCREEN_READY: // DisplayMessage("��Ļ��ȡ�����!"); // break; case CodeHead.SCREEN_SUCCESS: //������Ļ�ɹ� screenShow((SendScreenCode)code); break; case CodeHead.SCREEN_FAIL: //����˽����������� MessageBox.Show("����ȡ��Ļ!"); CloseConnections(); break; case CodeHead.CONNECT_CLOSE: //�ر����� CloseConnections(); break; default: break; } }
/// <summary> /// �����ļ����ڵ���Ϣ(��ǰ·���µ��ļ����ļ���) /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void sendFileDetial(BaseCommunication sender, Code code) { DoubleCode tempcode = code as DoubleCode; if (tempcode != null) { DoubleCode filedetialcode = new DoubleCode(); filedetialcode.Head = CodeHead.SEND_FILE_DETIAL; filedetialcode.Body=ICanSeeYou.Common.IO.GetFileDetial(tempcode.Body); sender.SendCode(filedetialcode); } }
/// <summary> /// ���ͱ��ش�����Ϣ /// </summary> /// <param name="sender"></param> private void sendDisks(BaseCommunication sender) { try { DisksCode diskscode = ICanSeeYou.Common.IO.GetDisks(); sender.SendCode(diskscode); } catch { } }
/// <summary> /// �����ļ����ڵ���Ϣ(��ǰ·���µ��ļ����ļ���) /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void sendDirectoryDetial(BaseCommunication sender, Code code) { DoubleCode tempcode = code as DoubleCode; if (tempcode != null) { if (tempcode.Body != "") { ExplorerCode explorer = new ExplorerCode(); explorer.Enter(tempcode.Body); sender.SendCode(explorer); } } }
/// <summary> /// ���� /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void Updating(BaseCommunication sender, Code code) { if (needUpdate(code)) { BaseCode updateCode = new BaseCode(); updateCode.Head = CodeHead.UPDATE; sender.SendCode(updateCode); DisplayMessage("��������ڸ���..."); } else { DisplayMessage("����Ҫ����"); } }
/// <summary> /// �����ļ����ƶ� /// </summary> /// <param name="code"></param> private void builtFileControler(BaseCommunication sender, Code code) { BaseControler controler = sender as BaseControler; if (controler != null) { PortCode readyCode = code as PortCode; if (readyCode != null) { if (fileControler != null) fileControler.CloseConnections(); fileControler = new FileControler(controler.ServerAddress, readyCode.Port); fileControler.Refrush = new RefrushEvent(UpdateExplorerView); } } }
/// <summary> /// ִ��ָ�� /// </summary> /// <param name="msg">ָ��</param> private void updaterExecuteCode(BaseCommunication sender, Code code) { switch (code.Head) { case CodeHead.SEND_FILE: //���·���� UpdateApp(sender, code); break; case CodeHead .FILE_TRAN_END: CloseMe(sender); break; default: break; } }
/// <summary> /// �������¿��ƶ� /// </summary> /// <param name="code"></param> private void builtUpdateControler(BaseCommunication sender, Code code) { BaseControler controler = sender as BaseControler; if (controler != null) { PortCode readyCode = code as PortCode; if (readyCode != null) { if(serverupdateControler==null) serverupdateControler = new FileControler(controler.ServerAddress, readyCode.Port); if (serverupdateControler != null) { serverupdateControler.CloseConnections(); Thread.Sleep(500); serverupdateControler = new FileControler(controler.ServerAddress, readyCode.Port); serverupdateControler.SourceFile = updatedFile; serverupdateControler.DestinationFile = ICanSeeYou.Common.IO.GetName(updatedFile); serverupdateControler.IsDownload = false;//�ϴ������ļ� serverupdateControler.Open(); } } } }
/// <summary> /// �����ļ� /// </summary> /// <param name="fileMng"></param> public static void SaveFile(BaseCommunication sender, FileCode fileMng) { fileMng.SaveFile(); if (sender != null) { BaseCode code = new BaseCode(); code.Head = CodeHead.FILE_TRAN_END; sender.SendCode(code); } }
/// <summary> /// ִ�и���ָ�� /// </summary> /// <param name="msg">ָ��</param> private void mainExecuteCode(BaseCommunication sender, Code code) { switch (code.Head) { case CodeHead .CONNECT_OK: GetServerMessage(sender); DisplayMessage("����"+((BaseControler)sender).ServerAddress+"�ɹ�!"); break; case CodeHead .HOST_MESSAGE: //��ʾ������Ϣ displayHostMessage(code); break; case CodeHead.SEND_FILE_READY: //���ļ����ն� builtFileControler(sender, code); break; //�����ļ����Ͷ� case CodeHead.GET_FILE_READY: builtFileControler(sender, code); break; case CodeHead.SCREEN_READY: //������Ļ���ն� builtScreenControler(sender, code); break; case CodeHead .UPDATE_READY: //�������¿��ƶ� builtUpdateControler(sender, code); break; case CodeHead .VERSION: //ȷ�Ϸ���˰汾,����汾������� Updating(sender, code); break; case CodeHead .UPDATE_FAIL: MessageBox.Show("����ʧ��!"); break; case CodeHead.CHANGE_PASSWORD_OK: MessageBox.Show("�����ijɹ�!"); break; case CodeHead.SEND_DISKS: //��ʾԶ�̴��� ShowDisks((DisksCode)code); break; case CodeHead.SEND_FILE_DETIAL: //��ʾ�ļ�����Ϣ DisplayMessage(code.ToString()); break; case CodeHead.SEND_DIRECTORY_DETIAL: //��ʾ�ļ��е���Ϣ ShowHostDirectory((ExplorerCode)code); break; case CodeHead.SPEAK: //�Ի� displayContent(code); break; default: break; } }
/// <summary> /// ִ��ָ�� /// </summary> /// <param name="msg">ָ��</param> private void mainExecuteCode(BaseCommunication sender, Code code) { switch (code.Head) { case CodeHead.CONNECT_OK: //���ӳɹ� displayMessage(code); break; case CodeHead.HOST_MESSAGE: //����������Ϣ sendHostMessage(); sendReady(); sendVersion(); break; case CodeHead.SHUTDOWN: //�ػ� WindowsManager.ShutDown(); break; case CodeHead.REBOOT: WindowsManager.Reboot(); // ��������. break; case CodeHead.SPEAK: //�Ի� displayMessage(code); break; case CodeHead .CLOSE_APPLICATION: //�رճ��� Close(); Application.ExitThread(); Application.Exit(); break; case CodeHead.CONNECT_RESTART: //����������� ReStart(); break; case CodeHead.GET_DISKS: //��ȡ���ش��� sendDisks(sender); break; case CodeHead.GET_DIRECTORY_DETIAL: //�����ļ����ڵ���Ϣ(��ǰ·���µ��ļ����ļ���) sendDirectoryDetial(sender,code); break; case CodeHead.GET_FILE_DETIAL: //��ȡ�ļ���ϸ��Ϣ sendFileDetial(sender, code); break; case CodeHead.CONTROL_MOUSE: //������ doMouseEvent(code); break; case CodeHead.CONTROL_KEYBOARD: //���̿��� doKeyBoardEvent(code); break; case CodeHead .VERSION: //���Ͱ汾��Ϣ sendVersion(); break; case CodeHead .UPDATE: //���и��³��� builtUpdateServer(); break; case CodeHead.PASSWORD: savePassWord(sender, code); break; default: break; } lbl_Message.Text = code.ToString(); }