Bläddra i källkod

Merge branch 'master' of http://git.ius.plus/loki.wu/vital_shell

finlay 10 månader sedan
förälder
incheckning
6707f67e8e

+ 37 - 0
.gitignore

@@ -0,0 +1,37 @@
+/FisPrintDrive/FisPrintDrive/bin/
+/FisPrintDrive/FisPrintDrive/obj/
+/fis.Vid/bin
+/fis.Vid/obj
+
+
+#Ignore thumbnails created by Windows
+Thumbs.db
+#Ignore files built by Visual Studio
+*.obj
+*.exe
+*.pdb
+*.user
+*.aps
+*.pch
+*.vspscc
+*_i.c
+*_p.c
+*.ncb
+*.suo
+*.tlb
+*.tlh
+*.bak
+*.cache
+*.ilk
+*.log
+[Bb]in
+[Dd]ebug*/
+*.lib
+*.sbr
+obj/
+[Rr]elease*/
+_ReSharper*/
+[Tt]est[Rr]esult*
+.vs/
+#Nuget packages folder
+packages/

+ 2 - 1
FisPrintDrive/FisPrintDrive/Program.cs

@@ -84,8 +84,9 @@ namespace FisPrintDrive
                             Console.WriteLine($"response:{response}");
                             break;
                         case FisPrintDriveFuncEnum.PrintTestPage:
-                            response = FisPrintDrive.PrintTestPage(executeInfos[2], _h).ToString();
+                            response = true.ToString();
                             await StreamWriter.WriteLineAsync(response);
+                            FisPrintDrive.PrintTestPage(executeInfos[2], _h);
                             Console.WriteLine($"printResponsexxxxxxxxxxxxx:{response}");
                             break;
                         case FisPrintDriveFuncEnum.GetUninstalledPrinters:

BIN
FisPrintDrive/FisPrintDrive/bin/Debug/FisPrintDrive.exe


BIN
fis/FisPrintDrive.exe


BIN
fis/FisTools/FisPrintDrive.exe


+ 24 - 7
fis/Managers/PrinterManager.cs

@@ -24,10 +24,10 @@ namespace fis.Win.Dev.Managers
     {
         private IList<string> _allPrinterNames;
 
-        Process FrameworkRunner;
-        NamedPipeClientStream FisPipeClient;
-        StreamReader StreamReader;
-        StreamWriter StreamWriter;
+        Process? FrameworkRunner;
+        NamedPipeClientStream? FisPipeClient;
+        StreamReader? StreamReader;
+        StreamWriter? StreamWriter;
 
         public const string ZipExtension = ".zip";
 
@@ -64,9 +64,10 @@ namespace fis.Win.Dev.Managers
         public void PrintLabels(List<string> labels)
         {
             Task.Run(() => {
-                if (FrameworkRunner == null)
+                if (FrameworkRunner == null || StreamWriter == null || !FisPipeClient.IsConnected)
                 {
                     FisPrintDriveInit();
+                    Thread.Sleep(1000);
                 }
                 foreach (string label in labels)
                 {
@@ -77,7 +78,6 @@ namespace fis.Win.Dev.Managers
                     StreamReader.ReadLine();
                     Thread.Sleep(200);
                 }
-
             });
             
         }
@@ -132,13 +132,30 @@ namespace fis.Win.Dev.Managers
 
         private void FisPrintDriveInit()
         {
+            string processName = "FisPrintDrive";
+            Process[] processes = Process.GetProcessesByName(processName);
+            foreach (Process process in processes)
+            {
+                process.Kill();
+            }
+            try
+            {
+                StreamReader?.Close();
+                StreamWriter?.Close();
+            }
+            catch (Exception e) 
+            {
+                //    
+            }
+            StreamReader = null;
+            StreamWriter = null;
             ProcessStartInfo startInfo = new ProcessStartInfo
             {
                 FileName = "./FisPrintDrive.exe",
                 //Debug时FileName可以指定至对应项目的Debug目录,方便调试
                 //FileName = "F://NetCode//FisPrintDrive//FisPrintDrive//bin//Debug//FisPrintDrive.exe",
                 UseShellExecute = false,
-            CreateNoWindow = true
+                CreateNoWindow = true
             };
 #if DEBUG
             startInfo.CreateNoWindow = false;