unit DeCrmHeMainOld; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage, PngImageList, System.ImageList, Vcl.ImgList, Vcl.Buttons, Vcl.StdCtrls, Vcl.Menus, ManagerService, WindowAnimator; const SIZE_EXTEND_FORM = 300; type TDlgeCrmHeMainOld = class(TForm) pnMain: TPanel; imgMain: TImage; imgClose: TImage; imgMini: TImage; imgQA: TImage; Label1: TLabel; Label2: TLabel; lbVer: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; imgSetOs: TImage; imgSetAccPass: TImage; imgSetScreenSaver: TImage; imgSetAntiVirus: TImage; imgSetFW: TImage; imgAntiVirusInfo: TImage; imgFwInfo: TImage; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; lbEmpNo: TLabel; lbIpInfo: TLabel; lbOS: TLabel; lbAV: TLabel; lbFW: TLabel; lbConn: TLabel; lbFileProtec: TLabel; lbMonPrint: TLabel; imgPassSet: TImage; imgScreenSet: TImage; imgUSB: TImage; imgSoft: TImage; SpeedButton4: TSpeedButton; imgMainList: TPngImageCollection; imgUpBtnList: TPngImageList; imgEvList: TPngImageList; imgSetList: TPngImageList; popTray: TPopupMenu; miAgentState: TMenuItem; miDelAgent: TMenuItem; TrayIcon: TTrayIcon; imgOXList: TPngImageList; btnExtendLeft: TSpeedButton; btnExtendRight: TSpeedButton; imgArrow: TPngImageList; tMtx: TTimer; tInit: TTimer; lbSoftCtrl: TLabel; procedure imgMainMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure imgCloseClick(Sender: TObject); procedure imgCloseMouseEnter(Sender: TObject); procedure imgCloseMouseLeave(Sender: TObject); procedure imgQAMouseEnter(Sender: TObject); procedure imgQAMouseLeave(Sender: TObject); procedure imgMiniClick(Sender: TObject); procedure imgSetOsMouseEnter(Sender: TObject); procedure imgSetOsMouseLeave(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure imgSetOsClick(Sender: TObject); procedure imgSetScreenSaverClick(Sender: TObject); procedure imgSetAntiVirusClick(Sender: TObject); procedure imgSetFWClick(Sender: TObject); procedure imgSetAccPassClick(Sender: TObject); procedure imgAntiVirusInfoClick(Sender: TObject); procedure imgFwInfoClick(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); procedure imgQAClick(Sender: TObject); procedure btnExtendRightClick(Sender: TObject); procedure btnExtendLeftClick(Sender: TObject); procedure miAgentStateClick(Sender: TObject); procedure tMtxTimer(Sender: TObject); procedure tInitTimer(Sender: TObject); procedure miDelAgentClick(Sender: TObject); procedure popTrayPopup(Sender: TObject); procedure lbIpInfoDblClick(Sender: TObject); procedure lbEmpNoDblClick(Sender: TObject); private { Private declarations } dtStartTick_: DWORD; // ºÎÆÃ ÈÄ Æ®·¹ÀÌ »ý¼ºÀü¿¡ ÆË¾÷ÀÌµÇ¸é Æ®·¹À̰¡ ¹¯Èù´Ù. üũÇϱâ À§ÇØ Ãß°¡ 22_0511 16:22:43 kku LastWS_: TWindowState; MgSvc_: TManagerService; // WndAni_: TWindowAnimator; // bWndExpend_: Boolean; procedure SetImgBtn(aImgList: TPngImageList; imgBtn: TImage; nImgIdx: Integer); procedure SetPosiNegaImg(img: TImage; bPosi: Boolean); // procedure UpdateVisibleExtendArrow; // procedure FinishWindowExpend; procedure RefreshView; procedure VisibleMainform(bVal: Boolean); public { Public declarations } Constructor Create(aOwner: TComponent); override; procedure CreateParams(var Params: TCreateParams); override; Destructor Destroy; override; procedure process_WM_POPUP_MSG(var msg: TMessage); Message WM_POPUP_MSG; procedure process_WM_POPUP_LICENSE(var msg: TMessage); Message WM_POPUP_LICENSE; procedure process_WM_POPUP_MSG_SYSTEM(var msg: TMessage); Message WM_POPUP_MSG_SYSTEM; procedure process_WM_REFRESH_VIEW(var msg: TMessage); Message WM_REFRESH_VIEW; procedure process_WM_SYSCOMMAND(var msg: TWMSysCommand); Message WM_SYSCOMMAND; // procedure process_WM_WINDOWPOSCHANGED(var msg: TMessage); Message WM_WINDOWPOSCHANGED; end; var DlgeCrmHeMainOld: TDlgeCrmHeMainOld; implementation uses Define, Tocsg.Strings, Tocsg.Trace, Tocsg.Process, Condition, Tocsg.Shell, DNotice, Tocsg.Safe, License, DLicense, DQnA, DLiteInfo, Tocsg.Win32, GlobalDefine, Tocsg.Service, Tocsg.Path, Winapi.WinSvc, superobject, ProcessParam, Tocsg.Convert; resourcestring RS_LatestApplied = 'ÃֽŠ»óÅÂ'; RS_ActionRequired = 'Á¶Ä¡ ÇÊ¿ä'; {$R *.dfm} Constructor TDlgeCrmHeMainOld.Create(aOwner: TComponent); procedure InitCtrls; begin LastWS_ := wsNormal; // WndAni_ := TWindowAnimator.Create(Self); // WndAni_.Duration := 300; // bWndExpend_ := false; // {$IFNDEF DEBUG} SpeedButton1.Visible := false; SpeedButton2.Visible := false; SpeedButton3.Visible := false; SpeedButton4.Visible := false; // {$ENDIF} SetImgBtn(imgUpBtnList, imgMini, imgMini.Tag); SetImgBtn(imgUpBtnList, imgClose, imgClose.Tag); SetImgBtn(imgUpBtnList, imgAntiVirusInfo, imgAntiVirusInfo.Tag); SetImgBtn(imgUpBtnList, imgFwInfo, imgFwInfo.Tag); SetImgBtn(imgEvList, imgQA, imgQA.Tag); SetImgBtn(imgSetList, imgSetOs, imgSetOs.Tag); SetImgBtn(imgSetList, imgSetAccPass, imgSetAccPass.Tag); SetImgBtn(imgSetList, imgSetScreenSaver, imgSetScreenSaver.Tag); SetImgBtn(imgSetList, imgSetAntiVirus, imgSetAntiVirus.Tag); SetImgBtn(imgSetList, imgSetFW, imgSetFW.Tag); lbVer.Caption := 'Tocsg Provided'; dtStartTick_ := GetTickCount; {$IFNDEF DEBUG} tMtx.Enabled := true; {$ENDIF} tInit.Enabled := true; end; begin Inherited Create(aOwner); Caption := APP_TITLE; {$IFDEF DEBUG} // Å×½ºÆ® ¹æÇع°? ¸ÕÀú Á¦°Å TerminateProcessByName('eCrmHeService.exe'); TerminateProcessByName('eCrmHomeEdition.exe', GetCurrentProcessId); if TerminateProcessByName('javaw.exe') then Sleep(1000); {$ENDIF} MgSvc_ := nil; // MgSvc_ := TManagerService.Create(Handle); // if GetProcessPidByName(EXE_MG) <> 0 then // MgSvc_.ActiveThdreadProcess := true; InitCtrls; // RefreshView; // UpdateVisibleExtendArrow; end; procedure TDlgeCrmHeMainOld.CreateParams(var Params: TCreateParams); begin inherited CreateParams( Params ); Params.ExStyle := WS_EX_APPWINDOW; Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW; end; Destructor TDlgeCrmHeMainOld.Destroy; begin tMtx.Enabled := false; if MgSvc_ <> nil then FreeAndNil(MgSvc_); Inherited; end; procedure TDlgeCrmHeMainOld.VisibleMainform(bVal: Boolean); var OldFormStyle: TFormStyle; begin if bVal then begin WindowState := LastWS_; Show; OldFormStyle := FormStyle; FormStyle := fsStayOnTop; FormStyle := OldFormStyle; SetForegroundWindow(Handle); dtStartTick_ := 0; end else begin LastWS_ := WindowState; WindowState := wsMinimized; Hide; end; end; procedure TDlgeCrmHeMainOld.btnExtendLeftClick(Sender: TObject); begin // pnMain.Anchors := pnMain.Anchors - [akLeft]; // pnMain.Anchors := pnMain.Anchors + [akRight]; // if not bWndExpend_ then // begin // bWndExpend_ := true; // WndAni_.AnimateWidthLeft(Width + SIZE_EXTEND_FORM); // btnExtendLeft.ImageIndex := 1; // end else begin // WndAni_.AnimateWidthLeft(Width - SIZE_EXTEND_FORM, nil, FinishWindowExpend); // btnExtendLeft.ImageIndex := 0; //// bWndExpend_ := false; // end; end; procedure TDlgeCrmHeMainOld.btnExtendRightClick(Sender: TObject); begin // pnMain.Anchors := pnMain.Anchors + [akLeft]; // pnMain.Anchors := pnMain.Anchors - [akRight]; // if not bWndExpend_ then // begin // bWndExpend_ := true; // WndAni_.AnimateWidth(Width + SIZE_EXTEND_FORM); // btnExtendRight.ImageIndex := 0; // end else begin // WndAni_.AnimateWidth(Width - SIZE_EXTEND_FORM, nil, FinishWindowExpend); // btnExtendRight.ImageIndex := 1; //// bWndExpend_ := false; // end; end; procedure TDlgeCrmHeMainOld.RefreshView; var sTemp: String; begin if Application.Terminated then exit; if MgSvc_ = nil then exit; with MgSvc_.VulService do begin if (AvInfo = nil) or (AvInfo.Name = '') then begin // bad imgMain.Picture.Assign(imgMainList.Items[2].PngImage); end else begin if MgSvc_.IsServiceAvailable then begin if IsSafeMode then imgMain.Picture.Assign(imgMainList.Items[1].PngImage) // good else imgMain.Picture.Assign(imgMainList.Items[2].PngImage); // bad lbIpInfo.Caption := MgSvc_.NicService.GetIP; end else begin imgMain.Picture.Assign(imgMainList.Items[0].PngImage); // sleep lbIpInfo.Caption := '¼ö¸é ¸ðµå'; end; end; if CUSTOMER_TYPE = CUSTOMER_METLIFE then begin // ·Î°í º¯°æ end; sTemp := MgSvc_.AgentModel.EmpNo; if sTemp = '' then begin sTemp := WindowsAccount; lbEmpNo.Font.Style := lbEmpNo.Font.Style + [fsBold]; end else lbEmpNo.Font.Style := lbEmpNo.Font.Style - [fsBold]; lbEmpNo.Caption := Format('%s (%s)', [sTemp, BooleanToStr(MgSvc_.AgentModel.Location = '', 'Unknown', MgSvc_.AgentModel.Location)]); lbOS.Caption := 'MS Windows ' + OsVersion; if IsOsPatchUptoDate and IsOsSafe then begin lbOS.Caption := Format('MS Windows %s (%s)', [OsVersion, RS_LatestApplied]); lbOS.Font.Color := Label3.Font.Color; end else begin lbOS.Caption := Format('MS Windows %s (%s)', [OsVersion, RS_ActionRequired]); lbOS.Font.Color := clRed; end; SetPosiNegaImg(imgPassSet, IsPasswordSet); SetPosiNegaImg(imgScreenSet, IsScreenSaverSet); if AvInfo <> nil then begin if IsAntiVirusUpToDate then begin lbAV.Caption := Format('%s (%s)', [AvInfo.Name, RS_LatestApplied]); lbAV.Font.Color := Label3.Font.Color; end else begin lbAV.Caption := Format('%s (%s)', [AvInfo.Name, RS_ActionRequired]); lbAV.Font.Color := clRed; end; end else lbAV.Caption := ''; if FwInfo <> nil then begin if IsFirewallOn and FwInfo.IsState then begin lbFW.Caption := Format('%s (%s)', [FwInfo.Name, RS_LatestApplied]); lbFW.Font.Color := Label3.Font.Color; end else begin lbFW.Caption := Format('%s (%s)', [FwInfo.Name, RS_ActionRequired]); lbFW.Font.Color := clRed; end; end else lbFW.Caption := ''; lbConn.Caption := AccessStatus; sTemp := ''; if MgSvc_.PrefModel.IsMasking then sTemp := 'ÆÄÀÏ ¸¶½ºÅ·' else if MgSvc_.PrefModel.IsPreventFileSaving then sTemp := 'ÆÄÀÏ ÀúÀå Â÷´Ü' else if MgSvc_.PrefModel.IsFileMonitor then sTemp := 'ÆÄÀÏ ¾²±â °¨½Ã'; if MgSvc_.PrefModel.IsWaterMark then SumString(sTemp, 'ÀúÀå À̹ÌÁö ¿öÅ͸¶Å·', ' && '); lbFileProtec.Caption := sTemp; sTemp := ''; if MgSvc_.PrefModel.IsPrinterEnable then sTemp := 'ÇÁ¸°ÅÍ Â÷´Ü'; if MgSvc_.PrefModel.IsLogoDisplay then SumString(sTemp, 'È­¸é »ó½Ã·Î°í', ' && '); lbMonPrint.Caption := sTemp; SetPosiNegaImg(imgUSB, MgSvc_.PrefModel.UsbEnable); if (MgSvc_.PrefModel.SoftwareControlType = '') or (MgSvc_.PrefModel.SoftwareControlType.ToLower = 'false') then begin SetPosiNegaImg(imgSoft, false); lbSoftCtrl.Visible := false; imgSoft.Visible := true; end else begin imgSoft.Visible := false; lbSoftCtrl.Caption := MgSvc_.PrefModel.SoftwareControlType; lbSoftCtrl.Visible := true; end; if MgSvc_.IsConnStatus then begin lbVer.Caption := ' (Manage Mode) @Tocsg Provided'; lbVer.Font.Color := clBlue; end else begin lbVer.Caption := ' (Standalone Mode) @Tocsg Provided'; lbVer.Font.Color := clGreen; end; lbVer.Caption := SdkVersion + lbVer.Caption; end; Application.ProcessMessages; end; procedure TDlgeCrmHeMainOld.SetImgBtn(aImgList: TPngImageList; imgBtn: TImage; nImgIdx: Integer); begin aImgList.GetIcon(nImgIdx, imgBtn.Picture.Icon); imgBtn.Repaint end; procedure TDlgeCrmHeMainOld.SetPosiNegaImg(img: TImage; bPosi: Boolean); var nIdx: Integer; begin if bPosi then nIdx := 0 else nIdx := 1; imgOXList.GetIcon(nIdx, img.Picture.Icon); end; //procedure TDlgeCrmHeMain.UpdateVisibleExtendArrow; //begin // if not bWndExpend_ then // begin // btnExtendLeft.Visible := (Left + Width + SIZE_EXTEND_FORM) > Screen.PrimaryMonitor.Width; // btnExtendRight.Visible := not btnExtendLeft.Visible; // end; //end; //procedure TDlgeCrmHeMain.FinishWindowExpend; //begin // bWndExpend_ := not bWndExpend_; //end; procedure TDlgeCrmHeMainOld.SpeedButton1Click(Sender: TObject); begin imgMain.Picture.Assign(imgMainList.Items[0].PngImage); end; procedure TDlgeCrmHeMainOld.SpeedButton2Click(Sender: TObject); begin imgMain.Picture.Assign(imgMainList.Items[1].PngImage); end; procedure TDlgeCrmHeMainOld.SpeedButton3Click(Sender: TObject); begin imgMain.Picture.Assign(imgMainList.Items[2].PngImage); end; procedure TDlgeCrmHeMainOld.SpeedButton4Click(Sender: TObject); var dlg: TDlgNotice; begin dlg := TDlgNotice.Create(Self); dlg.Show; end; procedure TDlgeCrmHeMainOld.tInitTimer(Sender: TObject); begin tInit.Enabled := false; MgSvc_ := TManagerService.Create(Handle); if GetProcessPidByName(EXE_MG) <> 0 then MgSvc_.ActiveThdreadProcess := true; TrayIcon.Visible := true; end; procedure TDlgeCrmHeMainOld.tMtxTimer(Sender: TObject); begin if MutexExists(MUTEX_KILL) then begin TrayIcon.Visible := false; TerminateProcess(GetCurrentProcess, 99); end; // ¼­ºñ½º¸¦ DLL·Î ±¸µ¿ ½Ã ÇÊ¿äÇÏÁö ¾ÊÀ½ 22_0511 13:45:23 kku // if not MutexExists(MUTEX_SERVICE) then // begin // SetVisibleServce(NAME_SERVICE, true); // // if not ServiceExists(NAME_SERVICE) then // begin // var sSvcPath: String := GetSystemDir + EXE_SV; // if FileExists(sSvcPath) then // begin // InstallService(NAME_SERVICE, sSvcPath, NAME_SERVICE, // SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START); // end; // end; // // case GetServiceStatus(NAME_SERVICE) of // 0, SERVICE_RUNNING, // SERVICE_START_PENDING : ; // else begin // ServiceStart(NAME_SERVICE); // SetVisibleServce(NAME_SERVICE, false); // end; // end; // end; if GetProcessPidByName(EXE_MG) = 0 then begin MgSvc_.ActiveThdreadProcess := false; var sMgPath: String := GetRunExePathDir + 'conf\' + EXE_MG; if FileExists(sMgPath) then begin // ExecutePath(sMgPath); ExecuteApp(sMgPath, '', SW_SHOWNORMAL); Sleep(1000); MgSvc_.ActiveThdreadProcess := true; end; end; end; procedure TDlgeCrmHeMainOld.imgQAClick(Sender: TObject); var dlg: TDlgQnA; begin Guard(dlg, TDlgQnA.Create(Self)); if dlg.ShowModal = mrOk then MgSvc_.SendEventLog(URI_USER_ACTION, LOGCODE_EVENT_QNA, dlg.mmQnA.Text); end; procedure TDlgeCrmHeMainOld.imgQAMouseEnter(Sender: TObject); begin if Sender is TImage then SetImgBtn(imgEvList, imgQA, imgQA.Tag + 1); end; procedure TDlgeCrmHeMainOld.imgQAMouseLeave(Sender: TObject); begin if Sender is TImage then SetImgBtn(imgEvList, imgQA, imgQA.Tag); end; procedure TDlgeCrmHeMainOld.imgSetAccPassClick(Sender: TObject); begin ExecutePath_hide('cmd.exe', PARAM_GO_SETPASS); end; procedure TDlgeCrmHeMainOld.imgSetAntiVirusClick(Sender: TObject); begin ExecutePath_hide('cmd.exe', PARAM_GO_ANTIVIRUS); end; procedure TDlgeCrmHeMainOld.imgSetFWClick(Sender: TObject); begin ExecutePath_hide('cmd.exe', PARAM_GO_FIREWALL); end; procedure TDlgeCrmHeMainOld.imgSetOsClick(Sender: TObject); begin ExecutePath_hide('cmd.exe', PARAM_GO_WINUPDATE); end; procedure TDlgeCrmHeMainOld.imgSetOsMouseEnter(Sender: TObject); begin if Sender is TImage then SetImgBtn(imgSetList, TImage(Sender), TImage(Sender).Tag + 1); end; procedure TDlgeCrmHeMainOld.imgSetOsMouseLeave(Sender: TObject); begin if Sender is TImage then SetImgBtn(imgSetList, TImage(Sender), TImage(Sender).Tag); end; procedure TDlgeCrmHeMainOld.imgSetScreenSaverClick(Sender: TObject); begin ExecutePath_hide('cmd.exe', PARAM_GO_SETSAVER); end; procedure TDlgeCrmHeMainOld.lbEmpNoDblClick(Sender: TObject); begin ShowMessage(MgSvc_.VulService.WindowsAccount); end; procedure TDlgeCrmHeMainOld.lbIpInfoDblClick(Sender: TObject); begin ShowMessage(MgSvc_.VpnClient); end; procedure TDlgeCrmHeMainOld.miAgentStateClick(Sender: TObject); begin VisibleMainform(true); end; procedure TDlgeCrmHeMainOld.miDelAgentClick(Sender: TObject); var sDstDir, sCurPath: String; O: ISuperObject; begin if MessageBox(Handle, PChar('[¿¹]¸¦ ¼±ÅÃÇϸé, eCRM Home EditionÀÌ »èÁ¦µË´Ï´Ù.'+#13+#10+ '»èÁ¦´Â º¹±¸ ºÒ°¡´ÉÇϸç ÀçÅñٹ«¿Í ¿ø°Ý Á¢¼Ó¿¡ Ä¡¸íÀûÀÎ'+#13+#10+ '¿À·ù¸¦ ¾ß±âÇÒ ¼ö ÀÖ½À´Ï´Ù.'+#13+#10+ '»èÁ¦¸¦ ÁøÇàÇϽðڽÀ´Ï±î?'), APP_TITLE, MB_ICONWARNING or MB_YESNO) = IDNO then exit; sCurPath := GetRunExePath; sDstDir := ExtractFilePath(ExcludeTrailingPathDelimiter(ExtractFilePath(sCurPath))) + ExtractFileName(sCurPath); if CopyFile(PChar(sCurPath), PChar(sDstDir), false) then begin Sleep(1000); O := SO; O.I['M'] := MODE_DELETE; O.S['ID'] := ExtractFilePath(sCurPath); O.B['SD'] := true; sCurPath := GetRunExePathDir + 'reqprm.json'; if SaveJsonObjToFile(O, sCurPath) then ExecutePath_hide(sDstDir, Format('-i "%s"', [sCurPath])) else DeleteFile(sDstDir); end; end; procedure TDlgeCrmHeMainOld.imgAntiVirusInfoClick(Sender: TObject); var StrList: TStringList; i: Integer; dlg: TDlgLiteInfo; pt: TPoint; begin Guard(StrList, TStringList.Create); if MgSvc_.VulService.AvList <> nil then begin with MgSvc_.VulService do begin for i := 0 to AvList.Count - 1 do StrList.Add(Format('%s ( %s :: %s )'#13#10, [AvList[i].Name, AvList[i].Status, AvList[i].AppType])); end; end else StrList.Text := 'Á¤º¸¸¦ ºÒ·¯¿À´Â ÁßÀÔ´Ï´Ù...'; dlg := TDlgLiteInfo.Create(Self); dlg.SetInfo('Anti-virus Á¤º¸', StrList); pt.X := imgAntiVirusInfo.Left; pt.Y := imgAntiVirusInfo.Top; pt := ClientToScreen(pt); dlg.Left := pt.X - dlg.Width; dlg.Top := pt.Y - dlg.Height; dlg.Show; end; procedure TDlgeCrmHeMainOld.imgCloseClick(Sender: TObject); begin {$IFDEF DEBUG} if DebugHook <> 0 then begin Close; Application.MainForm.Close; end else {$ENDIF} VisibleMainform(false); end; procedure TDlgeCrmHeMainOld.imgCloseMouseEnter(Sender: TObject); begin if Sender is TImage then SetImgBtn(imgUpBtnList, TImage(Sender), TImage(Sender).Tag + 1); end; procedure TDlgeCrmHeMainOld.imgCloseMouseLeave(Sender: TObject); begin if Sender is TImage then SetImgBtn(imgUpBtnList, TImage(Sender), TImage(Sender).Tag); end; procedure TDlgeCrmHeMainOld.imgFwInfoClick(Sender: TObject); var StrList: TStringList; i: Integer; dlg: TDlgLiteInfo; pt: TPoint; begin Guard(StrList, TStringList.Create); if MgSvc_.VulService.FwList <> nil then begin with MgSvc_.VulService do begin for i := 0 to FwList.Count - 1 do StrList.Add(Format('%s ( %s :: %s )'#13#10, [FwList[i].Name, FwList[i].Status, FwList[i].AppType])); end; end else StrList.Text := 'Á¤º¸¸¦ ºÒ·¯¿À´Â ÁßÀÔ´Ï´Ù...'; dlg := TDlgLiteInfo.Create(Self); dlg.SetInfo('¹æÈ­º® Á¤º¸', StrList); pt.X := imgFwInfo.Left; pt.Y := imgFwInfo.Top; pt := ClientToScreen(pt); dlg.Left := pt.X - dlg.Width; dlg.Top := pt.Y - dlg.Height; dlg.Show; end; procedure TDlgeCrmHeMainOld.imgMainMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0); end; procedure TDlgeCrmHeMainOld.imgMiniClick(Sender: TObject); begin WindowState := TWindowState.wsMinimized; end; procedure TDlgeCrmHeMainOld.process_WM_POPUP_MSG(var msg: TMessage); begin // ÇÁ·Î±×·¥ ½ÃÀÛ ÈÄ 3ÃʱîÁö´Â ÆË¾÷ Á¦ÇÑ if (dtStartTick_ <> 0) and ((GetTickCount - dtStartTick_) < 3000) then exit; TDlgNotice.Create(nil).PopupMessage(String(msg.LParam)); end; procedure TDlgeCrmHeMainOld.popTrayPopup(Sender: TObject); begin dtStartTick_ := 0; end; procedure TDlgeCrmHeMainOld.process_WM_POPUP_LICENSE(var msg: TMessage); var sContent: String; begin sContent := String(msg.LParam); with TDlgLicense.Create(nil) do PopupLicense(sContent); end; procedure TDlgeCrmHeMainOld.process_WM_POPUP_MSG_SYSTEM(var msg: TMessage); begin Sleep(500); case msg.WParam of TYPE_MSG_SYSTEM_VPNCLOSED : begin TrayIcon.BalloonFlags := bfInfo; TrayIcon.BalloonTitle := TrayIcon.Hint; TrayIcon.BalloonHint := '¿ø°Ý ¾÷¹« ȯ°æÀÌ Á¾·áµÇ¾ú½À´Ï´Ù.' + #13#10 + 'QS-eCRM Home Edition Àº ¼ö¸é ¸ðµå·Î º¯°æµÇ¸ç' + // #13#10 + 'º¸¾È ±â´ÉÀº ¸ðµÎ Á¾·áµË´Ï´Ù.'; TrayIcon.ShowBalloonHint; end; TYPE_MSG_SYSTEM_NETWORKCLOSE : begin TrayIcon.BalloonFlags := bfWarning; TrayIcon.BalloonTitle := TrayIcon.Hint; TrayIcon.BalloonHint := 'Ãë¾àÇÑ º¸¾È ¼³Á¤ÀÌ °¨ÁöµÇ¾î,' + #13#10 + '³×Æ®¿öÅ©°¡ Àá½Ã Á¾·áµË´Ï´Ù.' + #13#10 + '¸ðµç ¿¬°á(VPNÆ÷ÇÔ)Àº ÃʱâÈ­ µË´Ï´Ù.'; TrayIcon.ShowBalloonHint; end; end; end; procedure TDlgeCrmHeMainOld.process_WM_REFRESH_VIEW(var msg: TMessage); begin RefreshView; end; procedure TDlgeCrmHeMainOld.process_WM_SYSCOMMAND(var msg: TWMSysCommand); begin if msg.CmdType = SC_CLOSE then begin imgCloseClick(nil); exit; end; Inherited; end; //procedure TDlgeCrmHeMain.process_WM_WINDOWPOSCHANGED(var msg: TMessage); //begin // UpdateVisibleExtendArrow; // Inherited; //end; end.