﻿;;[自动回调]应用程序初始化
@Init
;;全局状态变量
	g_dim int curPage = 0
	g_dim bool needReport = false
	g_dim string tempStr
;;主窗体
	g_dim DRMainForm frm
	frm.SetHost[system]
	frm.SetSize[800|600]
	frm.SetBackground["cc1.png"]
	frm.RegisterEvent["OnClosing"|"@frm_closing"]
	frm.RegisterEvent["OnDeviceChange"|"@device_change"]
;;主窗体-关闭按钮
	g_dim GUIButton btnClose
	btnClose.LoadButton[false|"cl0.png"|"cl1.png"|"cl2.png"|"cl3.png"|""|""|""|""]
	btnClose.SetPos[770|0]
	btnClose.RegisterEvent["OnClick"|"@btnClose_click"]
	frm.AddChild[btnClose]
;;主窗体-最小化按钮
	g_dim GUIButton btnMin
	btnMin.LoadButton[false|"m0.png"|"m1.png"|"m2.png"|"m0.png"|""|""|""|""]
	btnMin.SetPos[747|0]
	btnMin.RegisterEvent["OnClick"|"@btnMin_click"]
	frm.AddChild[btnMin]
;;主窗体-论坛求助链接
	g_dim GUILinkText linkbbs
	linkbbs.SetPos[717|4]
	linkbbs.SetSize[30|18]
	linkbbs.SetFont["宋体"|9]
	linkbbs.SetText["论坛"]
	linkbbs.RegisterEvent["OnLinkClick"|"@linkbbs_linkclick"]
	frm.AddChild[linkbbs]
;;主窗体-主页说明文字
	g_dim GUIText lbTop
	lbTop.SetPos[204|7]
	lbTop.SetSize[100|18]
	lbTop.SetFont["微软雅黑"|9]
	lbTop.SetText[""]
	lbTop.SetColor[255|0|0|0]
	;;frm.AddChild[lbTop]
;;主窗体-主页按钮
	g_dim GUIButton btnHome
	btnHome.LoadButton[false|"h0.png"|"h1.png"|"h2.png"|"h0.png"|""|""|""|""]
	btnHome.SetPos[184|7]
	btnHome.EnableHint[lbTop]
	btnHome.SetHintText["访问神虎主页"]
	btnHome.RegisterEvent["OnClick"|"@btnHome_click"]
	;;frm.AddChild[btnHome]
;;主窗体-数据恢复按钮
	g_dim GUIButton btnDataRec
	btnDataRec.LoadButton[true|"dr0.png"|"dr1.png"|"dr2.png"|"dr3.png"|"dr2.png"|"dr2.png"|"dr2.png"|"dr3.png"]
	btnDataRec.SetPos[13|35]
	btnDataRec.SetToolTip["文件恢复"|"恢复删除，快速格式化的文件。"]
	btnDataRec.RegisterEvent["OnClick"|"@btnDataRec_click"]
	frm.AddChild[btnDataRec]
;;主窗体-全盘扫描按钮
	g_dim GUIButton btnDiskScan
	btnDiskScan.LoadButton[true|"adr0.png"|"adr1.png"|"adr2.png"|"adr3.png"|"adr2.png"|"adr2.png"|"adr2.png"|"adr3.png"]
	btnDiskScan.SetPos[113|35]
	btnDiskScan.SetToolTip["高级恢复"|"恢复特定格式文件，无需依赖原分区。"]
	btnDiskScan.RegisterEvent["OnClick"|"@btnDiskScan_click"]
	frm.AddChild[btnDiskScan]
;;主窗体-检查更新按钮
	g_dim GUIButton btnCheckUpd
	btnCheckUpd.LoadButton[true|"upd0.png"|"upd1.png"|"upd2.png"|"upd3.png"|"upd2.png"|"upd2.png"|"upd2.png"|"upd3.png"]
	btnCheckUpd.SetPos[213|35]
	btnCheckUpd.SetToolTip["检查更新"|"查看程序是否有新版本。"]
	btnCheckUpd.RegisterEvent["OnClick"|"@btnCheckUpd_click"]
	frm.AddChild[btnCheckUpd]
;;主窗体-关于按钮
	g_dim GUIButton btnAbout
	btnAbout.LoadButton[true|"ab0.png"|"ab1.png"|"ab2.png"|"ab3.png"|"ab2.png"|"ab2.png"|"ab2.png"|"ab3.png"]
	btnAbout.SetPos[313|35]
	btnAbout.SetToolTip["关于我们"|"关于神虎科技"]
	btnAbout.RegisterEvent["OnClick"|"@btnAbout_click"]
	frm.AddChild[btnAbout]
;;主窗体-帮助按钮
	g_dim GUIButton btnHelp
	btnHelp.LoadButton[false|"hlp0.png"|"hlp1.png"|"hlp2.png"|"hlp3.png"|"hlp2.png"|"hlp2.png"|"hlp2.png"|"hlp3.png"]
	btnHelp.SetPos[413|35]
	btnHelp.SetToolTip["帮助文档"|"查看程序附带的帮助文档。"]
	btnHelp.RegisterEvent["OnClick"|"@btnHelp_click"]
	frm.AddChild[btnHelp]
;;主窗体-注册按钮
	g_dim GUIButton btnBuy
	btnBuy.LoadButton[false|"buy0.png"|"buy1.png"|"buy2.png"|"buy3.png"|""|""|""|""]
	btnBuy.SetPos[513|35]
	btnBuy.SetVisible[!reg]
	btnBuy.SetToolTip["免费注册"|"免费注册程序，注册后您将得到免费的专业数据恢复指导。详情请见神虎官方论坛。"]
	btnBuy.RegisterEvent["OnClick"|"@btnBuy_click"]
	frm.AddChild[btnBuy]
;;主窗体-查看结果按钮
	g_dim GUIButton btnResult
	;;btnResult.LoadButton[true|"rsl0.png"|"rsl1.png"|"rsl2.png"|"rsl3.png"|"rsl2.png"|"rsl2.png"|"rsl2.png"|"rsl3.png"]
	;;btnResult.SetPos[718|35]
	;;btnResult.SetVisible[false]
	;;btnResult.RegisterEvent["OnClick"|"@btnResult_click"]
	;;frm.AddChild[btnResult]
;;主窗体-底部文字1
	g_dim GUIText lb1
	lb1.SetPos[14|577]
	lb1.SetSize[250|18]
	lb1.SetFont["微软雅黑"|9]
	if (reg)
	{
		lb1.SetText["版本：" + frm.GetVersionString[]]
	}
	else
	{
		lb1.SetText["版本：" + frm.GetVersionString[] + " [未注册]"]
	}
	lb1.SetColor[255|0|0|0]
	frm.AddChild[lb1]
;;主窗体-底部文字分隔符
	g_dim GUIImage imgBorder
	imgBorder.LoadImage["border.png"]
	imgBorder.SetPos[164|578]
	;;frm.AddChild[imgBorder]
;;主窗体-底部文字2
	g_dim GUIText lb2
	lb2.SetPos[280|577]
	lb2.SetSize[160|18]
	lb2.SetFont["微软雅黑"|9]
	lb2.SetText["成都神虎科技有限责任公司"]
	lb2.SetColor[255|0|0|0]
	frm.AddChild[lb2]
;;主窗体-底部网站链接
	g_dim GUILinkText link1
	link1.SetPos[450|577]
	link1.SetSize[150|18]
	link1.SetFont["微软雅黑"|9]
	link1.SetText["http://www.cenhoo.com"]
	link1.RegisterEvent["OnLinkClick"|"@btnHome_click"]
	frm.AddChild[link1]
;;主窗体-底部文字3
	g_dim GUIText lb3
	lb3.SetPos[620|577]
	lb3.SetSize[150|18]
	lb3.SetFont["微软雅黑"|9]
	lb3.SetText["联系电话：400-028-1331"]
	lb3.SetColor[255|0|0|0]
	frm.AddChild[lb3]
;;关于我们
	g_dim GUITab tabAbout
	tabAbout.SetHost[system]
	tabAbout.SetPos[14|118]
	tabAbout.SetSize[772|455]
	tabAbout.SetVisible[false]
	frm.AddChild[tabAbout]
;;关于我们-图片
	g_dim GUIImage imgAbout
	imgAbout.LoadImage["cont.png"]
	imgAbout.SetPos[0|0]
	tabAbout.AddChild[imgAbout]
;;封面
	g_dim GUITab tabStartPage
	tabStartPage.SetHost[system]
	tabStartPage.SetPos[14|118]
	tabStartPage.SetSize[772|455]
	frm.AddChild[tabStartPage]
;;封面-图片
	g_dim GUIImage imgWelcome
	imgWelcome.LoadImage["b1.jpg"]
	imgWelcome.SetPos[0|0]
	tabStartPage.AddChild[imgWelcome]
;;封面-开始恢复按钮
	g_dim GUIButton btnStartRec
	btnStartRec.LoadButton[false|"s0.png"|"s1.png"|"s2.png"|"s0.png"|""|""|""|""]
	btnStartRec.SetPos[433|071]
	btnStartRec.RegisterEvent["OnClick"|"@btnStartRec_click"]
	tabStartPage.AddChild[btnStartRec]
;;检查更新页面
	g_dim GUITab tabCheckUpdate
	tabCheckUpdate.SetHost[system]
	tabCheckUpdate.SetPos[14|118]
	tabCheckUpdate.SetSize[772|455]
	tabCheckUpdate.SetVisible[false]
	frm.AddChild[tabCheckUpdate]
;;tabCheckUpdate-检查更新窗口
	g_dim GUIDRCheckUpdate updform
	updform.SetPos[0|0]
	updform.SetSize[772|455]
	updform.RegisterEvent["OnUpdateFound"|"@updform_updatefound"]
	tabCheckUpdate.AddChild[updform]
;;<<<数据恢复子窗体>>>
	g_dim DataRecoveryForm frmDR
	frmDR.SetPos[14|118]
	frmDR.SetSize[772|455]
	frmDR.SetVisible[false]
	frmDR.TopLevel[false]
	frm.AddChild[frmDR]
;;<<<在线帮助子窗体>>>
	g_dim OnlineHelpForm frmOH
	frmOH.SetPos[14|118]
	frmOH.SetSize[772|455]
	frmOH.SetVisible[false]
	frmOH.TopLevel[false]
	frm.AddChild[frmOH]
;;全盘扫描页面
	g_dim GUITab tabDiskView
	tabDiskView.SetHost[system]
	tabDiskView.SetPos[14|118]
	tabDiskView.SetSize[772|455]
	tabDiskView.SetVisible[false]
	frm.AddChild[tabDiskView]
;;tabDiskView-硬盘列表
	g_dim GUIPDiskView lstDisks
	lstDisks.SetPos[9|12]
	lstDisks.SetSize[519|302]
	lstDisks.LoadIcon[""|"dt1.ico"|"dt2.ico"|"dt3.ico"|""|"dt5.png"]
	lstDisks.SetFont["微软雅黑"|9]
	lstDisks.RegisterEvent["OnDoubleClick"|"@lstDisks_doubleclick"]
	lstDisks.RegisterEvent["OnLastResult"|"@lstDisks_lastresult"]
	tabDiskView.AddChild[lstDisks]
;;tabDiskView-提示文字标志
	g_dim GUIImage imgInfo3
	imgInfo3.LoadImage["info.png"]
	imgInfo3.SetPos[9|395]
	tabDiskView.AddChild[imgInfo3]
;;tabDiskView-提示文字
	g_dim GUIText lbInfo3
	lbInfo3.SetPos[35|399]
	lbInfo3.SetSize[490|38]
	lbInfo3.SetFont["微软雅黑"|9]
	lbInfo3.SetColor[255|0|0|0]
	lbInfo3.SetText["请选择需要恢复的磁盘，适合恢复分区损坏或丢失的设备中的重要数据。此恢复方式根据容量大小可能需要花费数小时时间。"]
	tabDiskView.AddChild[lbInfo3]
;;tabDiskView-自定义恢复按钮
	g_dim GUIButton btnRawScan
	btnRawScan.LoadButton[false|"rsc0.png"|"rsc1.png"|"rsc2.png"|"rsc3.png"|""|""|""|""]
	btnRawScan.SetPos[373|319]
	btnRawScan.EnableHint[lbInfo3]
	btnRawScan.SetHintText["自定义全盘搜索类型。"]
	btnRawScan.RegisterEvent["OnClick"|"@btnRawScan_click"]
	tabDiskView.AddChild[btnRawScan]
;;tabDiskView-图片恢复按钮
	g_dim GUIButton btnRawScanPic
	btnRawScanPic.LoadButton[false|"rsp0.png"|"rsp1.png"|"rsp2.png"|"rsp3.png"|""|""|""|""]
	btnRawScanPic.SetPos[9|319]
	btnRawScanPic.EnableHint[lbInfo3]
	btnRawScanPic.SetHintText["全盘搜索照片(.jpg)。"]
	btnRawScanPic.RegisterEvent["OnClick"|"@btnRawScanPic_click"]
	tabDiskView.AddChild[btnRawScanPic]
;;tabDiskView-Office恢复按钮
	g_dim GUIButton btnRawScanOffice
	btnRawScanOffice.LoadButton[false|"rso0.png"|"rso1.png"|"rso2.png"|"rso3.png"|""|""|""|""]
	btnRawScanOffice.SetPos[191|319]
	btnRawScanOffice.EnableHint[lbInfo3]
	btnRawScanOffice.SetHintText["全盘搜索Office2003和2007文档(.doc, .xls, .ppt, .docx, .xlsx, .pptx)"]
	btnRawScanOffice.RegisterEvent["OnClick"|"@btnRawScanOffice_click"]
	tabDiskView.AddChild[btnRawScanOffice]
;;tabDiskView-互动页面
	g_dim GUIWebBrowser wbTL2
	wbTL2.SetPos[534|12]
	wbTL2.SetSize[226|431]
	wbTL2.NaviFile["1\loading.html"]
	tabDiskView.AddChild[wbTL2]
;;全盘扫描结果页面
	g_dim GUITab tabRawResult
	tabRawResult.SetHost[system]
	tabRawResult.SetPos[14|118]
	tabRawResult.SetSize[772|455]
	tabRawResult.SetVisible[false]
	frm.AddChild[tabRawResult]
;;tabRawResult-全盘扫描控件
	g_dim GUIPhysicalDiskScan pds
	pds.SetPos[9|12]
	pds.SetSize[546|418]
	pds.SetVisible[true]
	pds.RegisterEvent["OnCancelScan"|"@switch_to_disk_view"]
	pds.RegisterEvent["OnStartScan"|"@pds_startscan"]
	pds.RegisterEvent["OnEndScan"|"@pds_endscan"]
	pds.RegisterEvent["OnScanProgress"|"@pds_scanprogress"]
	pds.RegisterEvent["OnStartRecover"|"@pds_startrecover"]
	pds.RegisterEvent["OnEndRecover"|"@pds_endrecover"]
	pds.RegisterEvent["OnRecoverProgress"|"@pds_recoverprogress"]
	pds.RegisterEvent["OnPreview"|"@pds_priview"]
	pds.RegisterEvent["OnCancelPreview"|"@pds_clpriview"]
	pds.RegisterEvent["OnTimeLeftInfoUpdate"|"@pds_timeleftinfo"]
	tabRawResult.AddChild[pds]
;;tabRawResult-提示文字标志
	g_dim GUIImage imgInfo4
	imgInfo4.LoadImage["info.png"]
	imgInfo4.SetPos[564|12]
	tabRawResult.AddChild[imgInfo4]
;;tabRawResult-提示文字
	g_dim GUIText lbInfo4
	lbInfo4.SetPos[595|12]
	lbInfo4.SetSize[175|100]
	lbInfo4.SetFont["微软雅黑"|9]
	lbInfo4.SetText[""]
	lbInfo4.SetColor[255|0|0|0]
	tabRawResult.AddChild[lbInfo4]
;;tabRawResult-扫描进度条
	g_dim GUIProgressBar pgbRawScan
	pgbRawScan.SetPos[10|435]
	pgbRawScan.SetSize[150|15]
	pgbRawScan.LoadImage["pgl1.png"|"pgl0.png"]
	pgbRawScan.SetVisible[false]
	tabRawResult.AddChild[pgbRawScan]
;;tabRawResult-扫描进度文字
	g_dim GUIText txtRawScanProgress
	txtRawScanProgress.SetPos[165|432]
	txtRawScanProgress.SetSize[380|18]
	txtRawScanProgress.SetFont["微软雅黑"|11]
	txtRawScanProgress.SetText["0.00%"]
	txtRawScanProgress.SetColor[255|53|116|163]
	txtRawScanProgress.SetVisible[false]
	tabRawResult.AddChild[txtRawScanProgress]
;;tabRawResult-扫描详细信息
	;;g_dim GUIText lbRawDet
	;;lbRawDet.SetPos[365|434]
	;;lbRawDet.SetSize[172|18]
	;;lbRawDet.SetFont["微软雅黑"|9]
	;;lbRawDet.SetColor[255|0|0|0]
	;;lbRawDet.SetVisible[false]
	;;tabRawResult.AddChild[lbRawDet]
;;tabRawResult-扫描停止按钮
	g_dim GUIButton btnStopRawScan
	btnStopRawScan.LoadButton[false|"st0.png"|"st1.png"|"st2.png"|"st3.png"|""|""|""|""]
	btnStopRawScan.SetPos[560|425]
	btnStopRawScan.RegisterEvent["OnClick"|"@btnStopRawScanclick"]
	btnStopRawScan.EnableHint[lbInfo4]
	btnStopRawScan.SetVisible[false]
	btnStopRawScan.SetHintText["中止操作"]
	tabRawResult.AddChild[btnStopRawScan]
;;tabRawResult-默认恢复路径显示框
	g_dim GUITextBox txtDefaultFolder2
	txtDefaultFolder2.SetPos[9|431]
	txtDefaultFolder2.SetSize[526|22]
	txtDefaultFolder2.SetReadOnly[true]
	tabRawResult.AddChild[txtDefaultFolder2]
;;tabRawResult-默认恢复路径浏览按钮
	g_dim GUIButton btnBrowseDefaultFolder2
	btnBrowseDefaultFolder2.LoadButton[false|"bw.png"|"bw.png"|"bw.png"|"bw.png"|""|""|""|""]
	btnBrowseDefaultFolder2.SetPos[536|432]
	btnBrowseDefaultFolder2.RegisterEvent["OnClick"|"@btnBrowseDefaultFolder_click"]
	btnBrowseDefaultFolder2.EnableHint[lbInfo4]
	btnBrowseDefaultFolder2.SetHintText["浏览选择默认保存位置。"]
	tabRawResult.AddChild[btnBrowseDefaultFolder2]
	btnBrowseDefaultFolder2.BringToFront[]
;;tabRawResult-恢复按钮
	g_dim GUIButton btnRecover2
	btnRecover2.LoadButton[false|"rc0.png"|"rc1.png"|"rc2.png"|"rc3.png"|""|""|""|""]
	btnRecover2.SetPos[560|425]
	btnRecover2.SetVisible[false]
	btnRecover2.RegisterEvent["OnClick"|"@btnRecoverclick2"]
	btnRecover2.EnableHint[lbInfo4]
	btnRecover2.SetHintText["恢复选定文件"]
	tabRawResult.AddChild[btnRecover2]
;;tabRawResult-返回按钮
	g_dim GUIButton btnBack2
	btnBack2.LoadButton[false|"bk0.png"|"bk1.png"|"bk2.png"|"bk3.png"|""|""|""|""]
	btnBack2.SetPos[616|425]
	btnBack2.SetVisible[false]
	btnBack2.RegisterEvent["OnClick"|"@btnBackclick2"]
	btnBack2.EnableHint[lbInfo4]
	btnBack2.SetHintText["返回磁盘列表"]
	tabRawResult.AddChild[btnBack2]
;;tabRawResult-强制终止恢复按钮
	g_dim GUIButton btnStopRecover2
	btnStopRecover2.LoadButton[false|"st0.png"|"st1.png"|"st2.png"|"st3.png"|""|""|""|""]
	btnStopRecover2.SetPos[560|425]
	btnStopRecover2.SetVisible[false]
	btnStopRecover2.RegisterEvent["OnClick"|"@btnStopRecover2_click"]
	btnStopRecover2.EnableHint[lbInfo4]
	btnStopRecover2.SetHintText["中止恢复。"]
	tabRawResult.AddChild[btnStopRecover2]
	btnStopRecover2.BringToFront[]
;;tabRawResult-预览窗口
	g_dim GUIFilePreview filepv2
	filepv2.SetPos[560|130]
	filepv2.SetSize[210|279]
	filepv2.SetVisible[true]
	filepv2.HideInfoTab[]
	tabRawResult.AddChild[filepv2]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;启动
	frm.Show[]
	updform.CheckUpdate[]
	lstDisks.Refresh[]
	if (frm.GetHasNetwork[])
	{
		wbTL2.Navi["http://www.cenhoo.com/bbs/ch_luntan.php"]
	}
	else
	{
		wbTL2.NaviFile["1\nonetwork.html"]
	}
exit

;;按钮单击：主窗体-数据恢复按钮
@btnDataRec_click
	exitif (curPage == 1 || curPage == 2)
	gosub @switch_to_list
exit

@btnDiskScan_click
	exitif (curPage == 10 || curPage == 11)
	gosub @switch_to_disk_view
exit

;;按钮单击：主窗体：查看结果按钮
@btnResult_click
	gosub @switch_to_list
exit

@switch_to_disk_view
	tabDiskView.SetVisible[true]
	frmDR.SetVisible[false]
	frmOH.SetVisible[false]
	tabStartPage.SetVisible[false]
	tabCheckUpdate.SetVisible[false]
	tabAbout.SetVisible[false]
	tabRawResult.SetVisible[false]
	btnDiskScan.SetDown[true]
	btnDataRec.SetDown[false]
	btnAbout.SetDown[false]
	;;btnResult.SetDown[false]
	btnCheckUpd.SetDown[false]
	btnHelp.SetDown[false]
	curPage = 10
	;;lstDisks.Refresh[]
exit

@switch_to_list
	frmDR.SetVisible[true]
	frmOH.SetVisible[false]
	tabStartPage.SetVisible[false]
	tabCheckUpdate.SetVisible[false]
	tabAbout.SetVisible[false]
	tabDiskView.SetVisible[false]
	tabRawResult.SetVisible[false]
	btnDataRec.SetDown[true]
	btnAbout.SetDown[false]
	btnCheckUpd.SetDown[false]
	btnDiskScan.SetDown[false]
	btnHelp.SetDown[false]
	curPage = 1
exit

@switch_to_check_update
	updform.CheckUpdate[]
	tabCheckUpdate.SetVisible[true]
	tabAbout.SetVisible[false]
	frmDR.SetVisible[false]
	frmOH.SetVisible[false]
	tabStartPage.SetVisible[false]
	tabDiskView.SetVisible[false]
	tabRawResult.SetVisible[false]
	curPage = 3
	btnCheckUpd.SetDown[true]
	btnAbout.SetDown[false]
	btnDataRec.SetDown[false]
	btnDiskScan.SetDown[false]
	btnHelp.SetDown[false]
exit

@switch_to_online_help
	frmOH.SetVisible[true]
	frmDR.SetVisible[false]
	tabStartPage.SetVisible[false]
	tabCheckUpdate.SetVisible[false]
	tabAbout.SetVisible[false]
	tabDiskView.SetVisible[false]
	tabRawResult.SetVisible[false]
	btnHelp.SetDown[true]
	btnDataRec.SetDown[false]
	btnAbout.SetDown[false]
	btnCheckUpd.SetDown[false]
	btnDiskScan.SetDown[false]
	curPage = 30
exit

@switch_to_about
	tabAbout.SetVisible[true]
	tabCheckUpdate.SetVisible[false]
	frmDR.SetVisible[false]
	frmOH.SetVisible[false]
	tabStartPage.SetVisible[false]
	tabDiskView.SetVisible[false]
	tabRawResult.SetVisible[false]
	curPage = 4
	btnAbout.SetDown[true]
	btnCheckUpd.SetDown[false]
	btnDataRec.SetDown[false]
	btnDiskScan.SetDown[false]
	btnHelp.SetDown[false]
exit

@switch_to_raw_result
	filepv2.ClearPV[true]
	tabRawResult.SetVisible[true]
	tabDiskView.SetVisible[false]
	frmDR.SetVisible[false]
	frmOH.SetVisible[false]
	tabStartPage.SetVisible[false]
	tabCheckUpdate.SetVisible[false]
	tabAbout.SetVisible[false]
	btnDiskScan.SetDown[true]
	btnDataRec.SetDown[false]
	btnAbout.SetDown[false]
	btnCheckUpd.SetDown[false]
	btnHelp.SetDown[false]
	curPage = 11
exit

;;按钮单击：tabDiskView-自定义恢复按钮
@btnRawScan_click
	if (frmDR.Buzy[])
	{
		frm.MsgBox["其他扫描任务正在进行中，请先结束该任务再使用本功能。"]
		exit
	}
	dim string d = lstDisks.GetSelectDisk[]
	if (d == "")
	{
		dim string p = lstDisks.GetSelectPartition[]
		gotoif (p == "") @no_selection
		gosub @switch_to_raw_result
		pds.StartScanPartition[p|lstDisks.GetSelectPartitionName[]|-1]
	}
	else
	{
		gosub @switch_to_raw_result
		pds.StartScan[d|lstDisks.GetSelectDiskName[]|-1]
	}
exit

;;按钮单击：tabDiskView-图片恢复按钮
@btnRawScanPic_click
	if (frmDR.Buzy[])
	{
		frm.MsgBox["其他扫描任务正在进行中，请先结束该任务再使用本功能。"]
		exit
	}
	dim string d = lstDisks.GetSelectDisk[]
	if (d == "")
	{
		dim string p = lstDisks.GetSelectPartition[]
		gotoif (p == "") @no_selection
		gosub @switch_to_raw_result
		pds.StartScanPartition[p|lstDisks.GetSelectPartitionName[]|0]
	}
	else
	{
		gosub @switch_to_raw_result
		pds.StartScan[d|lstDisks.GetSelectDiskName[]|0]
	}
exit

;;按钮单击：tabDiskView-Office恢复按钮
@btnRawScanOffice_click
	if (frmDR.Buzy[])
	{
		frm.MsgBox["其他扫描任务正在进行中，请先结束该任务再使用本功能。"]
		exit
	}
	dim string d = lstDisks.GetSelectDisk[]
	if (d == "")
	{
		dim string p = lstDisks.GetSelectPartition[]
		gotoif (p == "") @no_selection
		gosub @switch_to_raw_result
		pds.StartScanPartition[p|lstDisks.GetSelectPartitionName[]|1]
	}
	else
	{
		gosub @switch_to_raw_result
		pds.StartScan[d|lstDisks.GetSelectDiskName[]|1]
	}
exit

;;处理全盘扫描正式开始
@pds_startscan
	lstDisks.RemoveLastResultNode[]
	frmDR.CloseAll[]
	pgbRawScan.SetVisible[true]
	txtRawScanProgress.SetVisible[true]
	btnStopRawScan.SetVisible[true]
	txtDefaultFolder2.SetVisible[false]
	btnBrowseDefaultFolder2.SetVisible[false]
	btnRecover2.SetVisible[false]
	btnBack2.SetVisible[false]
	btnStopRecover2.SetVisible[false]
	
	btnDataRec.SetEnable[false]
	btnCheckUpd.SetEnable[false]
	btnAbout.SetEnable[false]
	btnClose.SetEnable[false]
	btnResult.SetEnable[false]
	btnHelp.SetEnable[false]
	lbInfo4.SetText["正在扫描" + dn + "，请耐心等待..."]
	tempStr = ""
exit

;;处理全盘扫描回调
@pds_scanprogress
	dim string s = s.FormatString["{0:#0.00}%"|1.0 * CurrentProgress / TotalProgress * 100.0]
	s = s + " " + tempStr
	txtRawScanProgress.SetText[s]
	pgbRawScan.SetProgress[CurrentProgress|TotalProgress]
exit

@pds_endscan
	pgbRawScan.SetVisible[false]
	txtRawScanProgress.SetVisible[false]
	btnStopRawScan.SetVisible[false]
	txtDefaultFolder2.SetVisible[true]
	btnBrowseDefaultFolder2.SetVisible[true]
	btnRecover2.SetVisible[true]
	btnBack2.SetVisible[true]
	btnStopRecover2.SetVisible[false]
	
	btnDataRec.SetEnable[true]
	btnCheckUpd.SetEnable[true]
	btnAbout.SetEnable[true]
	btnClose.SetEnable[true]
	btnResult.SetEnable[true]
	btnHelp.SetEnable[true]
	lbInfo4.SetText["请勾选需要恢复的文件。"]
	lstDisks.AddLastResultNode[dn]
	tempStr = ""
exit

@pds_startrecover
	pgbRawScan.SetVisible[true]
	txtRawScanProgress.SetVisible[true]
	btnStopRawScan.SetVisible[true]
	txtDefaultFolder2.SetVisible[false]
	btnBrowseDefaultFolder2.SetVisible[false]
	btnRecover2.SetVisible[false]
	btnStopRecover2.SetVisible[true]
	
	btnDataRec.SetEnable[false]
	btnCheckUpd.SetEnable[false]
	btnAbout.SetEnable[false]
	btnClose.SetEnable[false]
	btnResult.SetEnable[false]
	btnBack2.SetEnable[false]
	btnHelp.SetEnable[false]
	lbInfo4.SetText["正在恢复，请稍候..."]
exit

@pds_recoverprogress
	;;dim string s = s.FormatString["{0:#0.0000}%"|1.0 * CurrentProgress / TotalProgress * 100.0]
	dim string s = s.FormatString["{0}/{1}"|CurrentProgress|TotalProgress]
	txtRawScanProgress.SetText[s]
	pgbRawScan.SetProgress[CurrentProgress|TotalProgress]
exit

@pds_endrecover
	pgbRawScan.SetVisible[false]
	txtRawScanProgress.SetVisible[false]
	btnStopRawScan.SetVisible[false]
	txtDefaultFolder2.SetVisible[true]
	btnBrowseDefaultFolder2.SetVisible[true]
	btnRecover2.SetVisible[true]
	btnStopRecover2.SetVisible[false]
	
	btnDataRec.SetEnable[true]
	btnCheckUpd.SetEnable[true]
	btnAbout.SetEnable[true]
	btnClose.SetEnable[true]
	btnResult.SetEnable[true]
	btnBack2.SetEnable[true]
	btnHelp.SetEnable[true]
	lbInfo4.SetText["请勾选需要恢复的文件。"]
exit

;;按钮单击-停止全盘扫描
@btnStopRawScanclick
	pds.ForceStopWorking[]
exit

;;按钮单击-恢复raw文件
@btnRecoverclick2
	pds.Recover[]
exit

@btnBackclick2
	gosub @switch_to_disk_view
exit

@btnStopRecover2_click
	pds.ForceStopWorking[]
exit

;;处理全盘搜索结果预览
@pds_priview
	filepv2.SetPreview[PreviewFilePath|PreviewType]
exit

;;处理清除全盘搜索文件预览内容
@pds_clpriview
	filepv2.ClearPV[true]
exit

@lstDisks_lastresult
	gosub @switch_to_raw_result
exit

@lstDisks_doubleclick
	frm.MsgBox["请在列表下方选择恢复方式！"]
exit

@no_selection
	frm.MsgBox["请先选择目标磁盘！"]
exit

;;按钮单击：默认恢复路径浏览按钮
@btnBrowseDefaultFolder_click
	dim _SExBrowseForFolders dlg
	dim string path = dlg.GetFolder[true|"选择默认保存位置："]
	exitif (path == "")
	frmDR.SetDefaultSaveFolder[path]
	txtDefaultFolder2.SetText[path]
	frm.UpdateDefaultSavePath[path]
exit

@pds_timeleftinfo
	tempStr = TimeLeftInfo
exit

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;链接单击-论坛求助链接
@linkbbs_linkclick
	dim _SExShellHandler shell
	shell.Execute["http://www.cenhoo.com/bbs/"]
exit

;;按钮单击：主窗体-注册按钮
@btnBuy_click
	frm.DoRegister["@regOK"]
exit

;;按钮单击：主窗体-帮助按钮
@btnHelp_click
	;;dim _SExShellHandler shell
	;;shell.Execute["DataRecovery.chm"]
	exitif (curPage == 30)
	if (!frmOH.CanUseOnlineHelp[])
	{
		frmOH.ShowDisableMessage[]
	}
	else
	{
		frmOH.NaviHelpHome[]
		gosub @switch_to_online_help
	}
exit

;;按钮单击：主窗体-检查更新按钮
@btnCheckUpd_click
	exitif (curPage == 3)
	gosub @switch_to_check_update
exit

;;按钮单击：主窗体-关于按钮
@btnAbout_click
	;;frm.ShowAbout[]
	exitif (curPage == 4)
	gosub @switch_to_about
exit

;;按钮单击：主窗体-关闭按钮
@btnClose_click
	frm.Close[]
exit

;;按钮单击：主窗体-最小化按钮
@btnMin_click
	frm.Minimize[]
exit

;;按钮单击：主窗体-主页按钮
@btnHome_click
	dim _SExShellHandler shell
	shell.Execute["http://www.cenhoo.com"]
exit

;;按钮单击：封面-开始恢复按钮
@btnStartRec_click
goto @btnDataRec_click

;;处理发现新版程序
@updform_updatefound
	if (reg)
	{
		lb1.SetText["版本：" + frm.GetVersionString[] + " [" + UpdateInfo + "]"]
	}
	else
	{
		lb1.SetText["版本：" + frm.GetVersionString[] + " [未注册]" + "[" + UpdateInfo + "]"]
	}
	lb1.SetColor[255|255|0|0]
exit

;;处理设备变化
@device_change
	frmDR.RefreshDiskList[]
	lstDisks.Refresh[]
exit

;;处理主窗体关闭
@frm_closing
	frm.SaveAll[]
	if (needReport && reg)
	{
		dim bool b1 = sriform.Report[]
		dim string fs = sriform.GetLastFS[]
		if (b1)
		{
			fs = " "
		}
		frm.AppExit[true|b1|fs]
	}
	frm.AppExit[false|false|""]
exit

;;处理注册成功
@regOK
	btnBuy.SetVisible[false]
	lb1.SetText["版本：" + frm.GetVersionString[]]
	reg = true
exit
	
;;[自动回调]处理应用程序配置初始化
@asInit
	;;frmDR.SetDefaultSaveFolder[DefaultRecoverSavePath]
	txtDefaultFolder2.SetText[DefaultRecoverSavePath]
	pds.SetRecoverSizeChoise[RecoverySizeChoise]
return true

;;[自动回调]处理应用程序配置变化
@asUpdate
	frmDR.SetDefaultSaveFolder[DefaultRecoverSavePath]
	txtDefaultFolder2.SetText[DefaultRecoverSavePath]
	pds.SetRecoverSizeChoise[RecoverySizeChoise]
return true

;;[自动回调]用户信息预处理
@tc
	g_dim bool reg = IsRegistered
exit
