From 3f0835a775619af904317f453cbc22c48ed71cd5 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 24 May 2018 13:46:42 +0200 Subject: [PATCH] =?UTF-8?q?jj:=20PDF=20Exchange=20Viewer=20Pfad=20=C3=A4nd?= =?UTF-8?q?ern=20->=20fenster=20nicht=20anklickbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/DD_PM_WINDREAM/frmValidator.vb | 41 +++++++++++++++--------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 093baf9..37fd777 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -182,26 +182,18 @@ Public Class frmValidator End Try End Sub Private Function process_User_exists(processname As String, Status As String) + Dim fi = New FileInfo(processname) + Dim filename As String = fi.Name.Replace(fi.Extension, "") + Try - Dim selectQuery As SelectQuery = New SelectQuery("Win32_Process") - Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(selectQuery) - For Each proc As ManagementObject In searcher.Get - If proc("Name").ToString.ToLower = processname.ToLower Then - Dim s(1) As String - proc.InvokeMethod("GetOwner", CType(s, Object())) - If CStr(s(0)).ToLower.Contains(Environment.UserName.ToLower) Then - Return True - End If - End If - Next - Return False - Catch ex As Exception - If Status = "CLOSE" Then - Return False - Else - 'ClassLogger.Add(">> Fehler in process_User_exists " & Status & ": " & ex.Message, True) + If Process.GetProcessesByName(filename).Length > 0 Then Return True + Else + Return False End If + Catch ex As Exception + ClassLogger.Add(">> Fehler in process_User_exists: " & ex.Message, True) + Return False End Try End Function Private Function process_terminate(processname As String) @@ -1340,7 +1332,7 @@ Public Class frmValidator End Function Sub Open_PDFXCHANGE(AktuelleIndexfile As String) Try - Dim Proc As New System.Diagnostics.Process + Dim Proc As New Process Dim psi As New ProcessStartInfo(PDFXChangeViewer, """" & AktuelleIndexfile & """") psi.WindowStyle = ProcessWindowStyle.Minimized Proc.EnableRaisingEvents = True @@ -1348,9 +1340,9 @@ Public Class frmValidator Proc.StartInfo = psi Proc.Start() - Do While process_User_exists("PDFXCview.exe", "START") = False + Do While process_User_exists(PDFXChangeViewer, "START") = False 'Warten bis PDF geladen ist - System.Threading.Thread.Sleep(500) + Thread.Sleep(500) Loop Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Open_PDFXCHANGE:") @@ -2758,6 +2750,13 @@ Public Class frmValidator Case "System.Windows.Forms.CheckBox" Dim chk As CheckBox = inctrl input = chk.Checked.ToString + + If chk.Checked = False And _MUSSEINGABE = True Then + missing = True + errmessage = "Option '" & chk.Name & "' is required." + Exit For + End If + 'den aktuellen Wert in windream auslesen Dim WertWD As String Dim Bool_WD As Boolean @@ -2789,6 +2788,8 @@ Public Class frmValidator End If + + ' Dim Bool_WD = CBool(aktivesDokument.GetVariableValue(_IDXName)) 'wenn Wert in Windream <> der Eingabe darf indexiert werden If Bool_WD <> chk.Checked Then