SchreiberM 82e417bad0 MS
2017-02-08 13:58:09 +01:00

196 lines
8.0 KiB
VB.net

Imports System.Threading
Imports DD_LIB_Standards
Public Class frmMain
Private PID As Integer
Private WithEvents _Watcher As ClipboardWatcher = ClipboardWatcher.Singleton
Private Sub frmClipboardWatch_Disposed(ByVal sender As Object, _
ByVal e As EventArgs) Handles Me.Disposed
_Watcher.Dispose()
End Sub
Private Sub _Watcher_Changed(ByVal sender As Object, _
ByVal e As EventArgs) Handles _Watcher.Changed
If MONITORING_ACTIVE = False Then Exit Sub
Dim Data As IDataObject = Clipboard.GetDataObject
' Dim RelevantWindow = clsWINDOWSApi.IsRelevantWindow("jonathan")
'With Me.TextBox1
' .AppendText(String.Concat("Available Formats:", vbNewLine))
' .AppendText(String.Join(vbNewLine, Data.GetFormats))
' .AppendText(String.Concat(vbNewLine, vbNewLine, "Text = '", _
' Clipboard.GetText, "'", vbNewLine, vbNewLine))
'End With
Dim found As Boolean = False
CLIPBOARD_TEXT = Clipboard.GetText
For Each row As DataRow In DT_USER_PROFILES.Rows
If PROC_Name.ToUpper = row.Item("PROC_NAME").ToString.ToUpper Then
Dim regex_expression = row.Item("REGEX_EXPRESSION")
Dim regex As New System.Text.RegularExpressions.Regex(regex_expression)
Dim match As System.Text.RegularExpressions.Match = regex.Match(CLIPBOARD_TEXT)
If match.Success Then
If match.Groups(0).Value <> CURR_MATCH_RESULT Then
CURR_MATCH_RESULT = match.Groups(0).Value
If Not IsNothing(CURR_MATCH_RESULT) Then
clsSearch.RUN_WD_SEARCH(row.Item("WD_SEARCH"))
found = True
End If
Else
Exit For
End If
Else
If found = False Then
End If
End If
End If
Next
End Sub
Public Sub New()
Dim splash As New frmSplash()
splash.ShowDialog()
If ERROR_INIT <> "INVALID USER" Then
Dim cultureInfo As System.Globalization.CultureInfo
cultureInfo = New System.Globalization.CultureInfo(USER_LANGUAGE)
'cultureInfo.DateTimeFormat.ShortDatePattern = USER_DATE_FORMAT
Thread.CurrentThread.CurrentCulture = cultureInfo
Thread.CurrentThread.CurrentUICulture = cultureInfo
Globalization.CultureInfo.DefaultThreadCurrentCulture = cultureInfo
Globalization.CultureInfo.DefaultThreadCurrentUICulture = cultureInfo
End If
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Private Sub btnUserConfig_Click(sender As Object, e As EventArgs) Handles btnUserConfig.Click
frmConfig_Basic.ShowDialog()
End Sub
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
ClassLogger.Add(">> Logout time: " & Now.ToString, False)
If ERROR_INIT = "INVALID USER" Then
Exit Sub
End If
Try
Dim sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 0, LOGGED_WHERE = '{0}' WHERE (LOWER(USERNAME) = LOWER('{1}'))", "", USER_USERNAME)
clsDatabase.Execute_non_Query(sql, True)
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE = 'Clipboard-Searcher'"
clsDatabase.Execute_non_Query(sql, True)
ClassWindowLocation.SaveFormLocationSize(Me, "")
My.Settings.Save()
Catch ex As Exception
End Try
'TempDateien löschen
Try
For Each _file In TEMP_FILES
System.IO.File.Delete(_file)
Next
Catch ex As Exception
End Try
If clsLogger.LOGG_MSG <> String.Empty Then
ClassLogger.Add(clsLogger.LOGG_MSG, False)
End If
End Sub
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
ClassWindowLocation.LoadFormLocationSize(Me)
If clsDatabase.DB_DEFAULT_INITIALIZED = True Then
Me.NotifyIcon1.Visible = True
Dim sql = String.Format("SELECT T.*, T2.PROC_NAME FROM TBCBS_PROFILES T, TBCBS_USER_PROFILE T1, TBCBS_PROFILE_PROCESS T2 WHERE T.GUID = T1.PROFILE_ID AND T.GUID = T2.PROFILE_ID AND T1.USER_ID = {0}", USER_GUID)
DT_USER_PROFILES = clsDatabase.Return_Datatable(sql)
If DT_USER_PROFILES.Rows.Count = 0 Then
MsgBox("Es wurden noch keine Profile für diesen User hinterlegt!", MsgBoxStyle.Exclamation)
End If
End If
tslblUser.Text = USER_USERNAME
End Sub
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
If ERROR_INIT <> "INVALID USER" And LICENSE_COUNT > 0 Then
If DT_USER_PROFILES.Rows.Count >= 1 Then
Me.Hide()
End If
Else
If USER_IS_ADMIN = True And ERROR_INIT = "NO LICENSE" Then
MsgBox("As an admin You have exit! Please inform Digital Data to add a valid license!", MsgBoxStyle.Exclamation, "")
Else
MsgBox("Application will close now!", MsgBoxStyle.Critical, "")
Me.Close()
End If
End If
If USER_IS_ADMIN = True Then
btnAdminConfig.Visible = True
End If
End Sub
Private Sub NotifyIcon1_DoubleClick(sender As Object, e As EventArgs) Handles NotifyIcon1.DoubleClick
If Me.Visible = False Then
Me.BringToFront()
Me.Visible = True
TimerClose.Start()
Else
Me.Hide()
NotifyIcon1.Visible = True
End If
End Sub
Private Sub frmMain_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
If e.KeyCode = Keys.F12 And USER_IS_ADMIN = True Then
frmLicense.ShowDialog()
End If
End Sub
Private Sub tsmiChangeState_Click(sender As Object, e As EventArgs) Handles tsmiChangeState.Click
If tsmiChangeState.Tag = "stop" Then
tsmiChangeState.Tag = "start"
tsmiChangeState.Image = My.Resources.control_start_blue
tsmiChangeState.Text = "Überwachung Clipboard starten"
MONITORING_ACTIVE = False
Else
tsmiChangeState.Image = My.Resources.StatusAnnotations_Stop_16xLG
tsmiChangeState.Tag = "stop"
tsmiChangeState.Text = "Überwachung Clipboard stoppen"
MONITORING_ACTIVE = True
End If
End Sub
'Private Sub Timer1_Tick(sender As Object, e As EventArgs)
' clsWINDOWSApi.Get_ForegroundWindow_Info()
' If PID <> PROC_PID Then
' PID = PROC_PID
' With Me.TextBox1
' .AppendText(String.Concat("Process-ID:" & PROC_PID, vbNewLine))
' .AppendText(String.Concat("Process-Name:" & PROC_Name, vbNewLine))
' .AppendText("Window-Title: " & PROC_WindowTitle)
' .AppendText(String.Concat("", vbNewLine))
' End With
' End If
'End Sub
Private Sub btnAdminConfig_Click(sender As Object, e As EventArgs) Handles btnAdminConfig.Click
TimerClose.Stop()
MONITORING_ACTIVE = False
frmAdministration.ShowDialog()
TimerClose.Start()
MONITORING_ACTIVE = True
End Sub
Private Sub TimerClose_Tick(sender As Object, e As EventArgs) Handles TimerClose.Tick
Me.Hide()
End Sub
Private Sub frmMain_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged
If TimerClose.Enabled = True Then
TimerClose.Stop()
End If
End Sub
End Class