| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- using NetSDKCS;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace BeltScaleSystem
- {
- public partial class Form1 : Form
- {
- IntPtr _LoginID = IntPtr.Zero;
- NET_DEVICEINFO_Ex _DeviceInfo = new NET_DEVICEINFO_Ex();
- IntPtr _PlayID = IntPtr.Zero;
- IntPtr _AttachID = IntPtr.Zero;
- fDisConnectCallBack _DisConnectCallBack;
- fHaveReConnectCallBack _ReConnectCallBack;
- public Form1()
- {
- InitializeComponent();
- try
- {
- _DisConnectCallBack = new fDisConnectCallBack(DisConnectCallBack);
- _ReConnectCallBack = new fHaveReConnectCallBack(ReConnectCallBack);
- NETClient.Init(_DisConnectCallBack, IntPtr.Zero, null);
- NETClient.SetAutoReconnect(_ReConnectCallBack, IntPtr.Zero);
- // _AnalyzerDataCallBack = new fAnalyzerDataCallBack(AnalyzerDataCallBack);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- // Process.GetCurrentProcess().Kill();
- return;
- }
- }
- void DisConnectCallBack(IntPtr lLoginID, IntPtr pchDVRIP, int nDVRPort, IntPtr dwUser)
- {
- this.BeginInvoke(new Action(() =>
- {
- this.Text = "FaceOpenDoorDemo(人脸开门Demo)---offline(离线)";
- }));
- }
- void ReConnectCallBack(IntPtr lLoginID, IntPtr pchDVRIP, int nDVRPort, IntPtr dwUser)
- {
- this.BeginInvoke(new Action(() =>
- {
- this.Text = "FaceOpenDoorDemo(人脸开门Demo)---online(在线)";
- }));
- }
- private void button1_Click(object sender, EventArgs e)
- {
- if (IntPtr.Zero == _LoginID)
- {
- ushort port = 0;
- try
- {
- port = Convert.ToUInt16(37777);
- }
- catch
- {
- MessageBox.Show("The port value must be 1 -65535(端口值必须是1-65535)");
- return;
- }
- _LoginID = NETClient.LoginWithHighLevelSecurity("192.168.184.202", port, "admin", "admin12345", EM_LOGIN_SPAC_CAP_TYPE.TCP, IntPtr.Zero, ref _DeviceInfo);
- if (IntPtr.Zero == _LoginID)
- {
- MessageBox.Show(NETClient.GetLastError());
- return;
- }
- for (int i = 0; i < _DeviceInfo.nChanNum; i++)
- {
- this.comboBox_channel.Items.Add(i + 1);
- }
- //某些型号的设备,比如“BSC”门禁主机,是没有通道的,也不支持监视和订阅
- if (this.comboBox_channel.Items.Count > 0)
- {
- this.comboBox_channel.SelectedIndex = 0;
- this.comboBox_channel.Enabled = true;
- }
- }
- else
- {
- NETClient.Logout(_LoginID);
- _LoginID = IntPtr.Zero;
- _AttachID = IntPtr.Zero;
- _PlayID = IntPtr.Zero;
- this.pictureBox1.Refresh();
- }
- }
- private void button2_Click(object sender, EventArgs e)
- {
- if (IntPtr.Zero == _PlayID)
- {
- _PlayID = NETClient.RealPlay(_LoginID, comboBox_channel.SelectedIndex, this.pictureBox1.Handle);
- if (IntPtr.Zero == _PlayID)
- {
- MessageBox.Show(NETClient.GetLastError());
- return;
- }
- bool ret = NETClient.RenderPrivateData(_PlayID, true);
- if (!ret)
- {
- MessageBox.Show(NETClient.GetLastError());
- return;
- }
- }
- else
- {
- NETClient.RenderPrivateData(_PlayID, false);
- NETClient.StopRealPlay(_PlayID);
- _PlayID = IntPtr.Zero;
- this.pictureBox1.Refresh();
- }
- }
- }
- }
|