diff --git a/Src/GDDC/gddcCmdDlg.cpp b/Src/GDDC/gddcCmdDlg.cpp
index cb4417d..08e174a 100644
--- a/Src/GDDC/gddcCmdDlg.cpp
+++ b/Src/GDDC/gddcCmdDlg.cpp
@@ -176,12 +176,6 @@ void GDDCCmdDlg::sendCurDate(std::byte *buffer, int num) {
   }
   UpdateDataTJDC();
 }
-// 拍一张照 按下
-void GDDCCmdDlg::on_pushButton_11_pressed() {
-  TJDCCmdBuffer[0] = (std::byte)0x32;
-}
-// 松开
-void GDDCCmdDlg::on_pushButton_11_released() { clearTJDCCmdBuffer(); }
 
 // 授时
 void GDDCCmdDlg::on_pushButton_1_1_pressed() {
diff --git a/Src/GDDC/gddcCmdDlg.h b/Src/GDDC/gddcCmdDlg.h
index 9a64938..8897969 100644
--- a/Src/GDDC/gddcCmdDlg.h
+++ b/Src/GDDC/gddcCmdDlg.h
@@ -53,8 +53,6 @@ public:
   void setAIDetcLineEditText(QString, QString); // 设置AI监测lineEdit的内容
 private slots:
   /*系统控制*/
-  void on_pushButton_11_pressed();
-  void on_pushButton_11_released();
   void on_pushButton_1_1_pressed();
   void on_pushButton_1_1_released();
   void on_pushButton_1_2_pressed();
diff --git a/Src/GDDC/gddcStateInfo.ui b/Src/GDDC/gddcStateInfo.ui
index e590f04..1509cff 100644
--- a/Src/GDDC/gddcStateInfo.ui
+++ b/Src/GDDC/gddcStateInfo.ui
@@ -10,9 +10,15 @@
     <height>1121</height>
    </rect>
   </property>
+  <property name="acceptDrops">
+   <bool>false</bool>
+  </property>
   <property name="windowTitle">
    <string>Form</string>
   </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
   <widget class="QTableView" name="tableViewShowIState">
    <property name="geometry">
     <rect>
diff --git a/Src/GDDC/gddcdlg.cpp b/Src/GDDC/gddcdlg.cpp
index f77fde0..abb00d5 100644
--- a/Src/GDDC/gddcdlg.cpp
+++ b/Src/GDDC/gddcdlg.cpp
@@ -73,8 +73,9 @@ void GDDCdlg::initWindow() {
   setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
   hide();
 
-  m_DlgGDDCSet = new GDDCSet();
-  m_DlgGDDCSet->setWindowFlags(Qt::Window); // 设置为独立窗口
+  m_DlgGDDCSet = new GDDCSet(this);
+  m_DlgGDDCSet->setWindowFlags(Qt::Dialog);
+  m_DlgGDDCSet->setWindowModality(Qt::WindowModal);//设置为模态对话框
   m_GDDCCmdDlg = new GDDCCmdDlg(this);
   m_GDDCStateDlg = new GDDCStateInfo(this);
   ui->pushButShowStatePage->setIcon(QIcon(":/res/right.png"));
@@ -318,7 +319,7 @@ void GDDCdlg::resizeUI() {
   //     = VideoAreaHeight*16/9;
   //     ui->WgtffmpegVideo->setGeometry(0.5*(VideoAreaWidth-setVideoAreaWidth),0,(int)setVideoAreaWidth,(int)setVideoAreaHeight);
   // }
-  ui->WgtffmpegVideo->setGeometry(0, 0, (int)VideoAreaWidth,
+  ui->WgtffmpegVideo->setGeometry(20, 20, (int)VideoAreaWidth,
                                   (int)VideoAreaHeight);
 
   /**************设置按钮****************/
@@ -377,8 +378,7 @@ void GDDCdlg::startConnectURL1() {
     // Is_openVideo = true;
     // ui->WgtffmpegVideo->Isplay(Is_openVideo);
     // ui->WgtffmpegVideo->m_PlayStatus = Is_openVideo;
-    ui->WgtffmpegVideo->play();
-    ui->WgtffmpegVideo->setUrl(m_DlgGDDCSet->m_playURL1);
+    ui->WgtffmpegVideo->play(m_DlgGDDCSet->m_playURL1);
   }
 }
 
diff --git a/Src/GDDC/gddcdlg.ui b/Src/GDDC/gddcdlg.ui
index 614c0e7..6eaa58b 100644
--- a/Src/GDDC/gddcdlg.ui
+++ b/Src/GDDC/gddcdlg.ui
@@ -98,7 +98,7 @@
     <bool>false</bool>
    </property>
    <property name="styleSheet">
-    <string notr="true">background-color: rgb(85, 85, 127);</string>
+    <string notr="true">border-color: rgb(255, 0, 0);</string>
    </property>
   </widget>
   <widget class="QPushButton" name="pushButShowCmdPage">
diff --git a/Src/HomePage/deviceStateDlg.cpp b/Src/HomePage/deviceStateDlg.cpp
index ecdbaab..f11cf03 100644
--- a/Src/HomePage/deviceStateDlg.cpp
+++ b/Src/HomePage/deviceStateDlg.cpp
@@ -96,11 +96,11 @@ void deviceStateDlg::initWindow() {
 
 void deviceStateDlg::initParam() {
   // 172.10.1.183 -n 2 -w 500"
-  cmdlist[0] << "/c" << "ping" << "172.10.1.183";
-  cmdlist[1] << "/c" << "ping" << "172.10.1.183";
-  cmdlist[2] << "/c" << "ping" << "www.baidu.com";
-  cmdlist[3] << "/c" << "ping" << "www.baidu.com";
-  cmdlist[4] << "/c" << "ping" << "www.baidu.com";
+  cmdlist[0] << "/c" << "ping" << "172.10.1.183 -n 2";
+  cmdlist[1] << "/c" << "ping" << "172.10.1.183 -n 2";
+  cmdlist[2] << "/c" << "ping" << "www.baidu.com -n 2";
+  cmdlist[3] << "/c" << "ping" << "www.baidu.com -n 2";
+  cmdlist[4] << "/c" << "ping" << "www.baidu.com -n 2";
   startNetDetn();
 }
 
@@ -158,32 +158,37 @@ void deviceStateDlg::setDeviceIP(int id, settingStruct param) {
   switch (id) {
   case HomePageSetingWidget::GDDC:
     strIp = stringIPSelect(param.net.remoteIp);
+    strIp="/c ping " + strIp + " -n 1";
     cmdlist[0].clear();
-    cmdlist[0] << "/c" << "ping" << strIp;
+    cmdlist[0] << strIp;
     m_networkDetection[0]->DyChangeCmdList(cmdlist[0]); // 更新到网络检测线程
     break;
   case HomePageSetingWidget::L_Link:
     strIp = stringIPSelect(param.url);
+    strIp="/c ping " + strIp + " -n 1";
     cmdlist[1].clear();
-    cmdlist[1] << "/c" << "ping" << strIp;
+    cmdlist[1] << strIp;
     m_networkDetection[1]->DyChangeCmdList(cmdlist[1]); // 更新到网络检测线程
     break;
   case HomePageSetingWidget::Adhoc_Network:
     strIp = stringIPSelect(param.url);
+    strIp="/c ping " + strIp + " -n 1";
     cmdlist[2].clear();
-    cmdlist[2] << "/c" << "ping" << strIp;
+    cmdlist[2] << strIp;
     m_networkDetection[2]->DyChangeCmdList(cmdlist[2]); // 更新到网络检测线程
     break;
   case HomePageSetingWidget::Satelite_Comm:
     strIp = stringIPSelect(param.url);
+    strIp="/c ping " + strIp + " -n 1";
     cmdlist[3].clear();
-    cmdlist[3] << "/c" << "ping" << strIp;
+    cmdlist[3] << strIp;
     m_networkDetection[3]->DyChangeCmdList(cmdlist[3]); // 更新到网络检测线程
     break;
   case HomePageSetingWidget::ModelCamera:
     strIp = stringIPSelect(param.net.remoteIp);
+    strIp="/c ping " + strIp + " -n 1";
     cmdlist[4].clear();
-    cmdlist[4] << "/c" << "ping" << strIp;
+    cmdlist[4] << strIp;
     m_networkDetection[4]->DyChangeCmdList(cmdlist[4]); // 更新到网络检测线程
     break;
   default:
@@ -232,48 +237,53 @@ void deviceStateDlg::setUrl(
 // 开始网络监测
 void deviceStateDlg::startNetDetn() {
   for (int i = 0; i < deviceNum; ++i) {
-    m_networkDetection[i] = new networkDetection();
+    m_networkDetection[i] = new networkDetection(NULL,i);
     m_workerThread[i] = new QThread();
     m_networkDetection[i]->moveToThread(m_workerThread[i]);
     m_workerThread[i]->start();
     connect(m_networkDetection[i], SIGNAL(resultReady(int, QString, QString)), this,
             SLOT(receiveResult(int, QString, QString))); // 接收线程运行结果
-    switch (i) {
-    case 0:
-      connect(this, &deviceStateDlg::startThread0, m_networkDetection[i],
-              &networkDetection::dowork); // 光电吊舱 线程开始处理数据
-      emit startThread0(i, cmdlist[i]);   // 启用线程信号
-      break;
-    case 1:
-      connect(this, &deviceStateDlg::startThread1, m_networkDetection[i],
-              &networkDetection::dowork); // L链路 线程开始处理数据
-      emit startThread1(i, cmdlist[i]);   // 启用线程信号
-      break;
-    case 2:
-      connect(this, &deviceStateDlg::startThread2, m_networkDetection[i],
-              &networkDetection::dowork); // 自组网 线程开始处理数据
-      emit startThread2(i, cmdlist[i]);   // 启用线程信号
-      break;
-    case 3:
-      connect(this, &deviceStateDlg::startThread3, m_networkDetection[i],
-              &networkDetection::dowork); // ku卫通 线程开始处理数据
-      emit startThread3(i, cmdlist[i]);   // 启用线程信号
-      break;
-    case 4:
-      connect(this, &deviceStateDlg::startThread4, m_networkDetection[i],
-              &networkDetection::dowork); // 线程开始处理数据
-      emit startThread4(i, cmdlist[i]);   // 启用线程信号
-      break;
-    default:
-      break;
-    }
+    connect(this, &deviceStateDlg::stopThread, m_networkDetection[i],
+            &networkDetection::stop); // 结束线程
+    connect(this, &deviceStateDlg::startThread, m_networkDetection[i],
+            &networkDetection::dowork); // 开始线程
+    emit startThread(i, cmdlist[i]);   // 启用线程信号
+    // switch (i) {
+    // case 0:
+    //   connect(this, &deviceStateDlg::startThread0, m_networkDetection[i],
+    //           &networkDetection::dowork); // 光电吊舱 线程开始处理数据
+    //   emit startThread0(i, cmdlist[i]);   // 启用线程信号
+    //   break;
+    // case 1:
+    //   connect(this, &deviceStateDlg::startThread1, m_networkDetection[i],
+    //           &networkDetection::dowork); // L链路 线程开始处理数据
+    //   emit startThread1(i, cmdlist[i]);   // 启用线程信号
+    //   break;
+    // case 2:
+    //   connect(this, &deviceStateDlg::startThread2, m_networkDetection[i],
+    //           &networkDetection::dowork); // 自组网 线程开始处理数据
+    //   emit startThread2(i, cmdlist[i]);   // 启用线程信号
+    //   break;
+    // case 3:
+    //   connect(this, &deviceStateDlg::startThread3, m_networkDetection[i],
+    //           &networkDetection::dowork); // ku卫通 线程开始处理数据
+    //   emit startThread3(i, cmdlist[i]);   // 启用线程信号
+    //   break;
+    // case 4:
+    //   connect(this, &deviceStateDlg::startThread4, m_networkDetection[i],
+    //           &networkDetection::dowork); // 线程开始处理数据
+    //   emit startThread4(i, cmdlist[i]);   // 启用线程信号
+    //   break;
+    // default:
+    //   break;
+    // }
   }
 }
 
 // 停止网络监测
 void deviceStateDlg::stopNetDetn() {
   for (int i = 0; i < deviceNum; ++i) {
-    m_networkDetection[i]->stop(); // 线程退出循环
+    m_networkDetection[i]->stop(i); // 线程退出循环
     m_workerThread[i]->quit();     // 退出线程请求
     m_workerThread[i]->wait();     // 使线程正常退出。
     m_workerThread[i]->deleteLater();
diff --git a/Src/HomePage/deviceStateDlg.h b/Src/HomePage/deviceStateDlg.h
index 1033ff5..4d663bc 100644
--- a/Src/HomePage/deviceStateDlg.h
+++ b/Src/HomePage/deviceStateDlg.h
@@ -23,12 +23,12 @@ public:
 signals:
   void switchToDevicePage(int id); // 发送切换到设备页信号
   // QVector<void (*)(int, QStringList)> startThread(int, QStringList);
-  void startThread0(int, QStringList); // 启动线程
+  void startThread(int, QStringList); // 启动线程
   void startThread1(int, QStringList); // 启动线程
   void startThread2(int, QStringList); // 启动线程
   void startThread3(int, QStringList); // 启动线程
   void startThread4(int, QStringList); // 启动线程
-
+  void stopThread(int);                // 结束线程
 private slots:
   void on_pushButton_homePage_GDDC_clicked();
 
diff --git a/Src/HomePage/homepagedlg.cpp b/Src/HomePage/homepagedlg.cpp
index d162d1c..51030b2 100644
--- a/Src/HomePage/homepagedlg.cpp
+++ b/Src/HomePage/homepagedlg.cpp
@@ -16,7 +16,8 @@ HomePageDlg::HomePageDlg(QWidget *parent)
   hide();
 
   settingWidget = new HomePageSetingWidget(this);
-  settingWidget->setWindowFlags(Qt::Window); // 设置为独立窗口
+  settingWidget->setWindowFlags(Qt::Dialog);
+  settingWidget->setWindowModality(Qt::WindowModal);//设置为模态对话框
 
   m_deviceStateDlg = new deviceStateDlg(this); // 状态嵌入窗口
   m_deviceStateDlg->show();
diff --git a/Src/HomePage/networkDetection.cpp b/Src/HomePage/networkDetection.cpp
index def07db..d5bc98d 100644
--- a/Src/HomePage/networkDetection.cpp
+++ b/Src/HomePage/networkDetection.cpp
@@ -1,20 +1,40 @@
 #include "networkDetection.h"
+#include <QDateTime>
 
-networkDetection::networkDetection(QObject *parent) : QObject(parent) {
+networkDetection::networkDetection(QObject *parent,int id) : QObject(parent),m_id(id){
   flagRun = true;
   CmdListChanged = false;
   m_process = new QProcess(this);
 }
-
+// networkDetection::networkDetection(int id)
+// {
+//     flagRun = true;
+//     CmdListChanged = false;
+//     m_process = new QProcess(this);
+//     m_id = id;
+// }
 networkDetection::~networkDetection() { delete m_process; }
 
 void networkDetection::dowork(int id, QStringList cmdlist) {
   m_cmd = cmdlist;
-  m_id = id;
+  if(id != m_id)
+    return;
   QString result;
   while (flagRun) {
     m_process->start("cmd", m_cmd);
+    // if(id == 1)
+    // {
+    //     QDateTime time = QDateTime::currentDateTime();
+    //     QString str = time .toString("start yyyy-MM-dd hh:mm:ss\n");//格式化时间 .toString("yyyy-MM-dd hh:mm:ss");//格式化时间
+    //     qDebug()<< str;
+    // }
     m_process->waitForFinished();  // 等待指令执行完毕
+    // if(id == 1)
+    // {
+    //     QDateTime time = QDateTime::currentDateTime();
+    //     QString str = time .toString("end yyyy-MM-dd hh:mm:ss\n");//格式化时间 .toString("yyyy-MM-dd hh:mm:ss");//格式化时间
+    //     qDebug()<< str;
+    // }
     result = QString::fromLocal8Bit(m_process->readAll()); // 获取指令执行结果
     // qDebug() << result;
     if (result.contains(QString("TTL="))) // 若包含TTL=字符串则认为网络在线
@@ -26,15 +46,16 @@ void networkDetection::dowork(int id, QStringList cmdlist) {
       // qDebug() << "离线";
       emit resultReady(m_id, "离线","通信异常");
     }
-    // if (CmdListChanged) {
-    //   CmdListChanged = false;
-    //   return;
-    // }
-    // QThread::sleep(2); // 加sleep降低CPU占用率
+
+    QThread::sleep(2); // 加sleep降低CPU占用率
   }
 }
 
-void networkDetection::stop() { flagRun = false; }
+void networkDetection::stop(int id) {
+    if(id == m_id){
+        flagRun = false;
+    }
+}
 
 void networkDetection::DyChangeCmdList(QStringList changeCmdList) {
   m_cmd.clear();
diff --git a/Src/HomePage/networkDetection.h b/Src/HomePage/networkDetection.h
index 8a05259..f410920 100644
--- a/Src/HomePage/networkDetection.h
+++ b/Src/HomePage/networkDetection.h
@@ -10,12 +10,13 @@
 class networkDetection : public QObject {
   Q_OBJECT
 public:
-  networkDetection(QObject *parent = nullptr);
+  networkDetection(QObject *parent = nullptr,int id = 0);
+  //networkDetection(int);
   ~networkDetection();
 
 public slots:
   void dowork(int, QStringList);
-  void stop();
+  void stop(int);
 signals:
   void resultReady(int, QString, QString);
 
diff --git a/Src/ModelCamera/modelcameradlg.cpp b/Src/ModelCamera/modelcameradlg.cpp
index 45a264e..f9ab911 100644
--- a/Src/ModelCamera/modelcameradlg.cpp
+++ b/Src/ModelCamera/modelcameradlg.cpp
@@ -166,8 +166,7 @@ void ModelCameraDlg::on_pushButton_5_clicked() {
   QString str = ui->pushButton_5->text();
   if (str == "播放视频") {
     QString ip = ui->videoIPLineEdit->text();
-    ui->cameraVideoWidget->play();
-    ui->cameraVideoWidget->setUrl(ip);
+    ui->cameraVideoWidget->play(ip);
     ui->pushButton_5->setText("暂停播放");
   } else {
     ui->cameraVideoWidget->stop();
diff --git a/Src/ModelCamera/modelcameradlg.ui b/Src/ModelCamera/modelcameradlg.ui
index 7162b23..23e4a33 100644
--- a/Src/ModelCamera/modelcameradlg.ui
+++ b/Src/ModelCamera/modelcameradlg.ui
@@ -1289,7 +1289,7 @@
   <customwidget>
    <class>ffmpegvideoDlg</class>
    <extends>QWidget</extends>
-   <header location="global">ffmpegvideodlg.h</header>
+   <header>ffmpegvideodlg.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/Src/Video/cffmpeg_decode.h b/Src/Video/cffmpeg_decode.h
index dc3941a..7639787 100644
--- a/Src/Video/cffmpeg_decode.h
+++ b/Src/Video/cffmpeg_decode.h
@@ -36,7 +36,6 @@ public:
   ~Cffmpeg_decode();
 
 public:
-  void setUrl(QString url);
   bool open_input_file();
   bool IsstopPlay = false;
   void stop();
@@ -47,6 +46,7 @@ public:
   void setSaveFileDirPath(QString fileDirPath);
 public slots:
   void run();
+  void setUrl(QString url);
 
 signals:
   void sendQImage(QImage);
diff --git a/Src/Video/ffmpegvideodlg.cpp b/Src/Video/ffmpegvideodlg.cpp
index 67e5dff..5ce11c3 100644
--- a/Src/Video/ffmpegvideodlg.cpp
+++ b/Src/Video/ffmpegvideodlg.cpp
@@ -22,28 +22,31 @@ void ffmpegvideoDlg::iniWindow() {
     qDebug() << "文件夹创建成功";
   }
 }
-void ffmpegvideoDlg::setUrl(QString url) { ffmpeg->setUrl(url); }
-
 void ffmpegvideoDlg::setVedioSaveFileDirPath(QString saveDirPath) {
   videoSaveDirPath = saveDirPath;
 }
 
-void ffmpegvideoDlg::play() {
+void ffmpegvideoDlg::play(QString url) {
   if (!m_PlayStatus) {
     m_PlayStatus = true;
     ffmpeg = new Cffmpeg_decode;
     ffmpeg->setSaveFileDirPath(videoSaveDirPath);
     ffmpeg->IsstopPlay = false;
     ffmpeg->moveToThread(&workerThread);
+
     connect(&workerThread, &QThread::finished, ffmpeg,
             &QObject::deleteLater); // 线程发送结束标志
     connect(this, &ffmpegvideoDlg::operate, ffmpeg,
             &Cffmpeg_decode::run); // 线程开始处理数据
+    connect(this, &ffmpegvideoDlg::setUrlSign, ffmpeg,
+            &Cffmpeg_decode::setUrl); // 设置URL
     connect(ffmpeg, SIGNAL(sendQImage(QImage)), this,
             SLOT(receiveQImage(QImage))); // 发送解析的图片
     connect(ffmpeg, SIGNAL(sendConnectFail(int)), this,
             SLOT(showMessagBox(int))); // 发送错误信息提示
+
     workerThread.start();
+    emit this->setUrlSign(url);// 设置URL
     emit this->operate(); // 启用线程信号
   }
 }
diff --git a/Src/Video/ffmpegvideodlg.h b/Src/Video/ffmpegvideodlg.h
index e91386b..f49fff7 100644
--- a/Src/Video/ffmpegvideodlg.h
+++ b/Src/Video/ffmpegvideodlg.h
@@ -43,10 +43,9 @@ private:
 
 public:
   void iniWindow();
-  void setUrl(QString url);
   void setVedioSaveFileDirPath(QString saveDirPath);
 
-  void play();
+  void play(QString);
   void stop();
   bool Isplay(bool IsstopPlay);
   bool m_PlayStatus = false;
@@ -65,6 +64,7 @@ private slots:
   void showMessagBox(int);
 signals:
   void operate();
+  void setUrlSign(QString);
 
 private:
   Cffmpeg_decode *ffmpeg;
diff --git a/Src/Video/ffmpegvideodlg.ui b/Src/Video/ffmpegvideodlg.ui
index 51bb678..3df1507 100644
--- a/Src/Video/ffmpegvideodlg.ui
+++ b/Src/Video/ffmpegvideodlg.ui
@@ -25,6 +25,9 @@
   <property name="layoutDirection">
    <enum>Qt::LayoutDirection::LeftToRight</enum>
   </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
  </widget>
  <resources/>
  <connections/>