private void ckModel_CheckedChanged(object sender, EventArgs e) { if (ckModel.Checked) { cJiaPicture.Visible = false; homepanel.Visible = false; ckPage.Checked = true; this.OpenCapture(); btnDelete.Enabled = false; btnSave.Enabled = false; } else { ckPage.Checked = false; cJiaPicture.Visible = true; ImagesInputView.SendMessage(this.hHwnd, 0x40b, 0, 0);//停止视频注销视频句柄 ImagesInputView.DestroyWindow(this.hHwnd); if (isPicInput()) { btnDelete.Enabled = false; btnSave.Enabled = false; } else { btnDelete.Enabled = true; btnSave.Enabled = true; } } }
private void OpenCapture() { int intWidth = this.pnlCamera.Width; int intHeight = this.pnlCamera.Height; int intDevice = 0; string refDevice = intDevice.ToString(); //创建视频窗口并得到句柄 hHwnd = ImagesInputView.capCreateCaptureWindowA(ref refDevice, 1342177280, 0, 0, 640, 480, this.pnlCamera.Handle.ToInt32(), 0); if (ImagesInputView.SendMessage(hHwnd, 0x40a, intDevice, 0) > 0) { ImagesInputView.SendMessage(this.hHwnd, 0x435, -1, 0); ImagesInputView.SendMessage(this.hHwnd, 0x434, 0x42, 0); ImagesInputView.SendMessage(this.hHwnd, 0x432, -1, 0); ImagesInputView.SetWindowPos(this.hHwnd, 1, 0, 0, intWidth, intHeight, 6); } else { ImagesInputView.DestroyWindow(this.hHwnd); } }
/// <summary> /// 截图 /// </summary> private void Screenshot() { try { if (txtFolder.Text.Length > 0 && isPicInput()) { if (SetImagePage().Length == 0) { return; //页码问题 } ImagesInputView.SendMessage(this.hHwnd, 0x41e, 0, 0); IDataObject obj1 = Clipboard.GetDataObject(); if (obj1.GetDataPresent(typeof(Bitmap))) { Image image1 = (Image)obj1.GetData(typeof(Bitmap)); SaveFileDialog SaveFileDialog1 = new SaveFileDialog(); SaveFileDialog1.InitialDirectory = txtFolder.Text; SaveFileDialog1.FileName = SetImagePage(); SaveFileDialog1.Filter = "Image Files(*.JPG;*.GIF)|*.JPG;*.GIF|All files (*.*)|*.*"; string strFile = SaveFileDialog1.InitialDirectory + "\\" + SaveFileDialog1.FileName + ".JPG";//if (SaveFileDialog1.ShowDialog() == DialogResult.OK) string[] tmp1 = System.IO.Directory.GetFiles(txtFolder.Text, "*.JPG"); bool isHave = false; foreach (string s in tmp1) { if (s == strFile) { isHave = true; } } if (isHave) { if (Message.ShowQuery("文件已存在,是否覆盖?", Message.Button.YesNo) == Message.Result.Yes) { image1.Save(strFile, ImageFormat.Bmp); if (GetSavePictureData() != null) { DataTable data = SetPictureDataRows(PictureInfo, strFile); pictureGrid.DataSource = data; } else { DataTable data = CreatePictureDate(txtFolder.Text); pictureGrid.DataSource = data; } PageIdentity(); } } else { image1.Save(strFile, ImageFormat.Bmp); if (GetSavePictureData() != null) { DataTable data = SetPictureDataRows(PictureInfo, strFile); pictureGrid.DataSource = data; } else { DataTable data = CreatePictureDate(txtFolder.Text); pictureGrid.DataSource = data; } PageIdentity(); } } } else { MessageBox.Show("目录有误"); } } catch { } }