private void DownloadByTime() { if (m_DownLoadFileHandle > 0) { timerDownload.Stop(); XMSDK.H264_DVR_StopGetFile(m_DownLoadFileHandle); m_DownLoadFileHandle = 0; progressBarDownloadPos.Value = 0; btnDownload.Text = "Download"; return; } string strSaveName = ""; //strSaveName.Format("c:\\record"); strSaveName = BrowseForFolder(this.Handle); if (strSaveName == "") //未选择路径时退出 { return; } H264_DVR_FINDINFO info = new H264_DVR_FINDINFO(); info.nChannelN0 = comboChannel.SelectedIndex; //channel No. info.nFileType = comboRecordType.SelectedIndex; //file type info.startTime.dwYear = beginDate.Value.Year; info.startTime.dwMonth = beginDate.Value.Month; info.startTime.dwDay = beginDate.Value.Day; info.startTime.dwHour = beginTime.Value.Hour; info.startTime.dwMinute = beginTime.Value.Minute; info.startTime.dwSecond = beginTime.Value.Second; info.endTime.dwYear = endDate.Value.Year; info.endTime.dwMonth = endDate.Value.Month; info.endTime.dwDay = endDate.Value.Day; info.endTime.dwHour = endTime.Value.Hour; info.endTime.dwMinute = endTime.Value.Minute; info.endTime.dwSecond = endTime.Value.Second; int nRecordFileType = comboRecordType.SelectedIndex; info.nFileType = (nRecordFileType <= (int)PlayBackFileType.SDK_RECORD_MANUAL) ? nRecordFileType : ((int)PlayBackFileType.SDK_PIC_ALL + nRecordFileType - (int)PlayBackFileType.SDK_RECORD_MANUAL - 1); m_DownLoadFileHandle = XMSDK.H264_DVR_GetFileByTime(m_lLoginID, ref info, strSaveName, false, null, 0, null); if (m_DownLoadFileHandle > 0) { progressBarDownloadPos.Value = 0; btnDownload.Text = "Stop"; //update the progress control timerDownload.Start(); } else { string sTemp; sTemp = string.Format("dowload fail ERROR = {0}", XMSDK.H264_DVR_GetLastError()); MessageBox.Show(sTemp); } }