This commit is contained in:
SchreiberM 2017-01-25 13:21:40 +01:00
commit a30112bc0e
60 changed files with 7881 additions and 0 deletions

22
DD_Clipboard_Searcher.sln Normal file
View File

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DD_Clipboard_Searcher", "DD_Clipboard_Searcher\DD_Clipboard_Searcher.vbproj", "{09BC9934-1A38-4752-8873-639B42779CDB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{09BC9934-1A38-4752-8873-639B42779CDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{09BC9934-1A38-4752-8873-639B42779CDB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="DD_Clipboard_Searcher.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
</startup>
<userSettings>
<DD_Clipboard_Searcher.My.MySettings>
<setting name="WDSearch_maximized" serializeAs="String">
<value>False</value>
</setting>
</DD_Clipboard_Searcher.My.MySettings>
</userSettings>
</configuration>

View File

@ -0,0 +1,69 @@
Imports Microsoft.VisualBasic.ControlChars
Imports System.Runtime.InteropServices
Public Class ClipboardWatcher : Inherits NativeWindow : Implements IDisposable
<DllImport("user32", EntryPoint:="SetClipboardViewer")> _
Private Shared Function SetClipboardViewer(ByVal hWnd As IntPtr) As IntPtr
End Function
Public Event Changed As EventHandler
Private _hview As IntPtr
'nur eine globale Instanz zulassen
Public Shared Singleton As New ClipboardWatcher
Private Sub New()
MyBase.CreateHandle(New CreateParams)
_hview = SetClipboardViewer(MyBase.Handle)
End Sub
Protected Overrides Sub WndProc(ByRef m As Message)
Const WM_DRAWCLIPBOARD As Integer = &H308
Select Case m.Msg
Case WM_DRAWCLIPBOARD
Dim CapTxt As String = clsWINDOWSApi.GetCaption()
Console.WriteLine("Window-Title: " & CapTxt)
If CapTxt.ToUpper.StartsWith("DD") Then Exit Sub
RaiseEvent Changed(Me, EventArgs.Empty)
End Select
MyBase.WndProc(m)
End Sub
#Region " IDisposable Support "
' Für diese Klasse ist korrekte Ressourcenbereinigung besonders wichtig, da
' mit systemübergreifenden Ressourcen gearbeitet wird
' So ermitteln Sie überflüssige Aufrufe
Private disposedValue As Boolean = False
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
' TODO: Verwaltete Ressourcen freigeben, wenn sie explizit
' aufgerufen werden
End If
MyBase.DestroyHandle()
Dim H As IntPtr = SetClipboardViewer(_hview)
End If
Me.disposedValue = True
End Sub
' Dieser Code wird von Visual Basic hinzugefügt, um das Dispose-Muster
' richtig zu implementieren.
Public Sub Dispose() Implements IDisposable.Dispose
' Sie sollten diesen Code nicht ändern, sondern stattdessen ihren
' Bereinigungscode oben in
' Dispose(ByVal disposing As Boolean) einfügen.
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
Protected Overrides Sub Finalize()
MyBase.Finalize()
Dispose(False)
End Sub
#End Region
End Class

View File

@ -0,0 +1,138 @@
Imports System.ComponentModel
Imports DD_LIB_Standards
Public Class ClassInit
Public _lizenzManager As clsLicenseManager
Public Sub InitLogger()
ClassLogger.Init("")
End Sub
Public Function InitDatabase()
Dim dbResult As Boolean
clsDatabase.GUI = True
If MyConnectionString <> String.Empty Then
dbResult = clsDatabase.Init(MyConnectionString)
Else
MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information)
ERROR_INIT = "NO DB-CONNECTION"
frmConfig_Basic.ShowDialog()
dbResult = clsDatabase.Init(MyConnectionString)
InitBasics()
End If
If dbResult = False Then
ERROR_INIT = "FAILED DBCONNECTION"
MsgBox("Error in init database. (Connection failed) More information in the logfile.", MsgBoxStyle.Critical)
Return False
Else
Return True
End If
End Function
Public Function InitBasics()
Dim configResult As Boolean
configResult = LoadMyConfig()
If configResult = False Then
Throw New Exception("Unexpected error inm Initialisieren der Basis-Einstellungen. Weitere Informationen finden Sie in der Logdatei.")
Else
Return False
End If
End Function
Public Shared Function InitUserLogin(Optional _User As String = "")
Try
If _User = "" Then
USER_USERNAME = Environment.UserName
Else
USER_USERNAME = _User
End If
Dim sql = String.Format("SELECT * FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('{0}'))", USER_USERNAME)
ClassLogger.Add(">> Login time: " & Now.ToString, False)
ClassLogger.Add(">> Username: " & USER_USERNAME, False)
Dim USER_DT As DataTable = clsDatabase.Return_Datatable(sql, True)
If USER_DT.Rows.Count = 0 Then
ClassLogger.Add(" - User '" & USER_USERNAME & "' not listed in Useradminsitration!", False)
'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
'Me.Close()
Dim msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.")
MsgBox(msg, MsgBoxStyle.Exclamation)
Return False
Else
USER_GUID = USER_DT.Rows(0).Item("GUID")
USER_LANGUAGE = USER_DT.Rows(0).Item("LANGUAGE")
DT_CLIENT_USER = clsDatabase.Return_Datatable("SELECT T.*, T1.CLIENT_NAME FROM TBDD_CLIENT_USER T,TBDD_CLIENT T1 WHERE T.CLIENT_ID = T1.GUID AND T.USER_ID = " & USER_GUID, True)
Dim Access_right As Boolean = USER_DT.Rows(0).Item("MODULE_DDCBSEARCHER")
If Access_right = False Then
ClassLogger.Add(" - User: " & USER_USERNAME & " nicht für Modul freigegben!", False)
'MsgBox("Achtung: Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
Dim msg = String.Format("Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!")
If USER_LANGUAGE <> "de-DE" Then
msg = String.Format("You are not authorized for using this module." & vbNewLine & "Please contact the admin.")
End If
MsgBox(msg, MsgBoxStyle.Exclamation, "Attention:")
Return False
Else
'Am System anmelden
clsLicense.Refresh_Licence(0)
'Am System anmelden
sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 1, LOGGED_WHERE = '{0}' WHERE GUID = {1}", Environment.MachineName, USER_GUID)
clsDatabase.Execute_non_Query(sql)
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'DD_CLIPB_SEARCH'"
If clsDatabase.Execute_non_Query(sql, True) = True Then
End If
sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE) VALUES ({0},{1},'DD_CLIPB_SEARCH')", USER_GUID, 0)
clsDatabase.Execute_non_Query(sql)
USER_IS_ADMIN = USER_DT.Rows(0).Item("RECORD_ADMIN")
If USER_IS_ADMIN = True Then
If ESC_Hidden = True Then
'frmLoginUserSelect.ShowDialog()
ESC_Hidden = False
If USER_USERNAME <> "" Then
InitUserLogin(USER_USERNAME)
End If
End If
' 'Admin
' pageAdmin.Visible = True
End If
WD_UNICODE = clsDatabase.Execute_Scalar("SELECT WD_UNICODE FROM TBGH_WINDREAM_CONFIGURATION WHERE GUID = 1")
sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('DD_CLIPB_SEARCH') AND CLIENT_ID = {0}", 0)
Dim anzahl = clsDatabase.Execute_Scalar(sql)
USERS_LOGGED_IN = CInt(anzahl)
If LogErrorsOnly = False Then ClassLogger.Add(" >> User# logged in: " & anzahl.ToString, False)
'####
If LICENSE_COUNT < USERS_LOGGED_IN And LICENSE_EXPIRED = False Then
Dim msg = String.Format("Die Anzahl der aktuell angemeldeten User (" & USERS_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!")
If USER_LANGUAGE <> "de-DE" Then
msg = String.Format("The number of logged Users (" & USERS_LOGGED_IN.ToString & ") exceeds the number of licenses." & vbNewLine & _
"Number of licenses: " & LICENSE_COUNT.ToString & vbNewLine & "Please contact Your admin!")
End If
MsgBox(msg, MsgBoxStyle.Exclamation)
ClassLogger.Add(" >> The number of logged Users (" & USERS_LOGGED_IN.ToString & ") exceeds the number of licenses (" & LICENSE_COUNT & ") ", False)
If USER_IS_ADMIN = False Then
'Anmeldung wieder herausnehmen
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'DD_CLIPB_SEARCH'"
clsDatabase.Execute_non_Query(sql, True)
ClassLogger.Add(" - logged out the user", False)
Return False
End If
End If
Return True
'LabelLoggedIn.Caption = "Anzahl Angemeldete User: " & anzahl.ToString
End If
End If
Catch ex As Exception
ClassLogger.Add("Unexpected Error in InitUserLogin: " & ex.Message, True)
MsgBox("Unexpected Error in InitUserLogin: " & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
End Class

View File

@ -0,0 +1,165 @@
Imports System.Xml
Imports System.IO
Public Class ClassWindowLocation
Public Shared Sub LoadFormLocationSize(ByRef form As Form, Optional Prefix As String = "")
Try
Dim LayoutPath As String
LayoutPath = Path.Combine(Application.UserAppDataPath(), Prefix & form.Name & "-PositionSize.xml")
Dim layout As ClassLayout = New ClassLayout(LayoutPath)
Dim settings As System.Collections.Generic.List(Of ClassSetting)
settings = layout.Load()
If settings.Count = 0 Then
settings.Add(New ClassSetting("PositionX", form.Location.X))
settings.Add(New ClassSetting("PositionY", form.Location.Y))
settings.Add(New ClassSetting("Width", form.Size.Width))
settings.Add(New ClassSetting("Height", form.Size.Height))
layout.Save(settings)
End If
For Each s As ClassSetting In settings
Dim x, y, w, h As Integer
Select Case s._name
Case "PositionX"
x = Integer.Parse(s._value)
Case "PositionY"
y = Integer.Parse(s._value)
Case "Width"
w = Integer.Parse(s._value)
Case "Height"
h = Integer.Parse(s._value)
End Select
If x = 5000 Then
form.WindowState = FormWindowState.Maximized
Else
If x > 0 Then
form.Location = New Point(x, y)
form.Size = New Size(w, h)
End If
End If
Next
Catch notFoundEx As System.IO.FileNotFoundException
ClassLogger.Add("Window Position & Size added for Form " & form.Name)
Catch ex As Exception
MsgBox("Error while loading Window Position!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Public Shared Sub SaveFormLocationSize(ByRef form As Form, Optional Prefix As String = "")
Try
Dim _path As String
_path = Path.Combine(Application.UserAppDataPath(), Prefix & form.Name & "-PositionSize.xml")
Dim layout As ClassLayout = New ClassLayout(_path)
Dim settings As System.Collections.Generic.List(Of ClassSetting) = New System.Collections.Generic.List(Of ClassSetting)
Dim width As Integer
Dim height As Integer
Dim x As Integer
Dim y As Integer
If form.WindowState = FormWindowState.Maximized Then
width = 5000
height = 5000
x = 5000
y = 5000
Else
width = form.Size.Width
height = form.Size.Height
x = form.Location.X
y = form.Location.Y
End If
settings.Add(New ClassSetting("PositionX", x))
settings.Add(New ClassSetting("PositionY", y))
settings.Add(New ClassSetting("Width", width))
settings.Add(New ClassSetting("Height", height))
layout.Save(settings)
Catch notFoundEx As System.IO.FileNotFoundException
ClassLogger.Add("Window Position & Size added for Form " & form.Name)
Catch ex As Exception
MsgBox("Error while saving Window Position!" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
End Class
'-------------------------------------------------------------------
Public Class ClassSetting
Public _name As String
Public _value As String
Public Sub New(name As String, value As String)
_name = name
_value = value
End Sub
End Class
Public Class ClassLayout
Private _filename As String
Private _reader As XmlReader
Private _settings As XmlWriterSettings
Public Sub New(filename As String)
_filename = filename
_settings = New XmlWriterSettings()
_settings.Encoding = System.Text.Encoding.UTF8
_settings.Indent = True
End Sub
Public Sub Save(settings As System.Collections.Generic.List(Of ClassSetting))
Dim w = XmlTextWriter.Create(_filename, _settings)
w.WriteStartDocument()
w.WriteStartElement("Settings")
For Each setting As ClassSetting In settings
w.WriteStartElement("Setting")
w.WriteAttributeString("name", setting._name)
w.WriteAttributeString("value", setting._value.ToString())
w.WriteEndElement()
Next
w.WriteEndElement()
w.WriteEndDocument()
w.Dispose()
w.Close()
End Sub
Public Function Load() As System.Collections.Generic.List(Of ClassSetting)
Dim Result As List(Of ClassSetting) = New List(Of ClassSetting)()
If Not File.Exists(_filename) Then
Return Result
End If
_reader = XmlReader.Create(_filename)
While _reader.Read()
If _reader.IsStartElement() Then
If _reader.Name = "Setting" Then
Dim name As String = _reader("name")
' Dim value As Integer = Integer.Parse(_reader("value"))
Dim setting As ClassSetting = New ClassSetting(name, _reader("value")) 'value)
Result.Add(setting)
End If
End If
End While
_reader.Dispose()
_reader.Close()
Return Result
End Function
End Class

View File

@ -0,0 +1,201 @@
Imports System.IO
Imports DD_LIB_Standards
Public Class ClassLogger
Public Shared DateiSpeicherort As String = Nothing
Public Shared DateiPrefix As String = ""
Public Shared Datei As IO.File = Nothing
Public Shared logDateiname As String = ""
Private Shared StreamWriter As IO.StreamWriter = Nothing
Private Shared HasInformedAboutError As Boolean = False
' eine Art Konstruktor
Public Shared Sub Init(ByVal speicherort As String, Optional ByVal prefix As String = "", Optional ByVal appendFile As Boolean = True)
' initialisiert den Speicherort
ClassLogger.SetSpeicherort(speicherort)
' wenn ein Prfix gesetzt wurde
If Not prefix = "" Then
' initialisiert das Prefix
ClassLogger.SetPrefix(prefix)
End If
Dim str As String = ClassLogger.DateiSpeicherort & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & ".txt"
Dim anz As Integer = 1
Do While File.Exists(str)
Dim info As New FileInfo(str)
Dim length As Long = info.Length
If length > 5000000 Then
str = IO.Path.GetDirectoryName(str)
str = str & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & "(" & anz.ToString & ").txt"
anz = anz + 1
Else
Exit Do
End If
Loop
ClassLogger.logDateiname = str
If Not appendFile Then
' der Versuch die Datei zu löschen
My.Computer.FileSystem.WriteAllText(ClassLogger.logDateiname, String.Empty, False)
End If
' testen ob sich die Datei öffnen und beschreiben lässt
'ClassNILogger.CheckIsLogWritable()
End Sub
' legt den Speicherort fest
Public Shared Sub SetSpeicherort(ByVal speicherort As String)
Dim f As String = Application.UserAppDataPath() & "\Log"
If speicherort = "" Then
If IO.Directory.Exists(f) = False Then
IO.Directory.CreateDirectory(f)
End If
ClassLogger.DateiSpeicherort = f
Else
ClassLogger.DateiSpeicherort = speicherort
End If
' clsLogger.LOGFILE_PATH = ClassLogger.DateiSpeicherort
End Sub
' legt das Prefix für den Dateinamen fest
Public Shared Sub SetPrefix(ByVal prefix As String)
ClassLogger.DateiPrefix = prefix
End Sub
Public Shared Sub Add(ByVal information As String, Optional ByVal ACHTUNG As Boolean = True)
If ClassLogger.OpenFile Then
Try
If ACHTUNG Then
ClassLogger.StreamWriter.WriteLine("#ATTENTION# (" & System.DateTime.Now & "): " & information)
Else
ClassLogger.StreamWriter.WriteLine(information)
End If
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
End Try
Else
ClassLogger.ShowErrorMessage()
End If
End Sub
'Public Shared Sub Add(ByVal ex As Exception)
' If ClassLogger.OpenFile Then
' Try
' ClassLogger.StreamWriter.WriteLine("##### Exception (" & System.DateTime.Now & ")")
' ClassLogger.StreamWriter.WriteLine("##### Error: " & ex.Message & " Source [" & ex.Source & "]")
' ClassLogger.CloseFile()
' Catch e As Exception
' ClassLogger.ShowErrorMessage()
' End Try
' Else
' ClassLogger.ShowErrorMessage()
' End If
'End Sub
' öffnet eine Datei zum Schreiben
Private Shared Function OpenFile()
Try
' wenn ein Speicherort festgelegt wurde
If Not ClassLogger.DateiSpeicherort = Nothing Then
' den Dateienamen definieren
Dim dateiname As String = ClassLogger.logDateiname
' Datei anlegen wenn noch nicht vorhanden
My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True)
' die Datei zum Schreiben öffnen
ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8)
End If
' wenn die Datei erfolgreich geöffnet wurde
If ClassLogger.StreamWriter IsNot Nothing Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
' öffnet eine Datei zum Schreiben
Private Shared Function OpenFile(ByVal DateiSpeicherort As String, ByVal DateiPrefix As String)
Try
' wenn ein Speicherort festgelegt wurde
If Not DateiSpeicherort = Nothing And ClassLogger.CheckIsLogWritable() Then
' den Dateienamen definieren
Dim dateiname As String = ClassLogger.logDateiname
' Datei anlegen wenn noch nicht vorhanden
My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True)
' die Datei zum Schreiben öffnen
ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8)
End If
' wenn die Datei erfolgreich geöffnet wurde
If ClassLogger.StreamWriter IsNot Nothing Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
' schliesst die geöffnete Datei
Private Shared Sub CloseFile()
' wenn eine Datei geöffnet ist
If ClassLogger.StreamWriter IsNot Nothing Then
' die Datei schliessen
ClassLogger.StreamWriter.Close()
ClassLogger.StreamWriter = Nothing
End If
End Sub
Public Shared Function CheckIsLogWritable()
If ClassLogger.OpenFile Then
Try
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
Return False
End Try
Else
ClassLogger.ShowErrorMessage()
Return False
End If
Return True
End Function
Public Shared Function CheckIsLogWritable(ByVal vDateiSpeicherort As String, ByVal vDateiPrefix As String)
If ClassLogger.OpenFile(vDateiSpeicherort, vDateiPrefix) Then
Try
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
Return False
End Try
Else
ClassLogger.ShowErrorMessage()
Return False
End If
Return True
End Function
Private Shared Sub ShowErrorMessage()
If Not ClassLogger.HasInformedAboutError Then
MsgBox("Please make sure You can access the logpath and are able to write to the file. This may be due to security privileges or storage place in the drive." & _
vbNewLine & vbNewLine & "A logfile won't be written from now on." & vbNewLine & vbNewLine & "You won't be informed about further logdetails from now on.", _
MsgBoxStyle.Information, "Error opening Logfile")
ClassLogger.HasInformedAboutError = True
End If
End Sub
End Class

View File

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{09BC9934-1A38-4752-8873-639B42779CDB}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>DD_Clipboard_Searcher.My.MyApplication</StartupObject>
<RootNamespace>DD_Clipboard_Searcher</RootNamespace>
<AssemblyName>DD_Clipboard_Searcher</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>DD_Clipboard_Searcher.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>DD_Clipboard_Searcher.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DD_LIB_Standards, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDLibStandards\DD_LIB_Standards\bin\Debug\DD_LIB_Standards.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.vb" />
<Compile Include="ClassInit.vb" />
<Compile Include="ClassLayout.vb" />
<Compile Include="ClassLogger.vb" />
<Compile Include="clsLicense.vb" />
<Compile Include="clsSearch.vb" />
<Compile Include="clsWindowApivb.vb" />
<Compile Include="clsWINDOWSApi.vb" />
<Compile Include="frmLicense.Designer.vb">
<DependentUpon>frmLicense.vb</DependentUpon>
</Compile>
<Compile Include="frmLicense.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMain.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMain.Designer.vb">
<DependentUpon>frmMain.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="frmConfig_Basic.Designer.vb">
<DependentUpon>frmConfig_Basic.vb</DependentUpon>
</Compile>
<Compile Include="frmConfig_Basic.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmSplash.Designer.vb">
<DependentUpon>frmSplash.vb</DependentUpon>
</Compile>
<Compile Include="frmSplash.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="modCurrent.vb" />
<Compile Include="modMySettings.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmLicense.resx">
<DependentUpon>frmLicense.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.resx">
<DependentUpon>frmMain.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmConfig_Basic.resx">
<DependentUpon>frmConfig_Basic.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmSplash.resx">
<DependentUpon>frmSplash.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\folder_Open_16xLG.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\KeyDown_8461.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\StatusAnnotations_Stop_16xLG.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\control_start_blue.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.36366
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.DD_Clipboard_Searcher.frmMain
End Sub
End Class
End Namespace

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-16"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>frmMain</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' Allgemeine Informationen über eine Assembly werden über die folgenden
' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
' die mit einer Assembly verknüpft sind.
' Die Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("DD Clipboard Watcher for windream")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("DD Clipboard Watcher for windream")>
<Assembly: AssemblyCopyright("Copyright © 2017")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
<Assembly: Guid("0fff4783-c1b4-4d08-8ce2-7e1a4dbbaf8b")>
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
'
' Hauptversion
' Nebenversion
' Buildnummer
' Revision
'
' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.3.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -0,0 +1,103 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.36366
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
'-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DD_Clipboard_Searcher.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property control_start_blue() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("control_start_blue", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property folder_Open_16xLG() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("folder_Open_16xLG", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property KeyDown_8461() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("KeyDown_8461", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property StatusAnnotations_Stop_16xLG() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("StatusAnnotations_Stop_16xLG", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="folder_Open_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\folder_Open_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="KeyDown_8461" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\KeyDown_8461.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="StatusAnnotations_Stop_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\StatusAnnotations_Stop_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="control_start_blue" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\control_start_blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -0,0 +1,85 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.36366
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "Funktion zum automatischen Speichern von My.Settings"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property WDSearch_maximized() As Boolean
Get
Return CType(Me("WDSearch_maximized"),Boolean)
End Get
Set
Me("WDSearch_maximized") = value
End Set
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.DD_Clipboard_Searcher.My.MySettings
Get
Return Global.DD_Clipboard_Searcher.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
<Profiles />
<Settings>
<Setting Name="WDSearch_maximized" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="DD_Clipboard_Searcher.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
</startup>
<userSettings>
<DD_Clipboard_Searcher.My.MySettings>
<setting name="WDSearch_maximized" serializeAs="String">
<value>False</value>
</setting>
</DD_Clipboard_Searcher.My.MySettings>
</userSettings>
</configuration>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="DD_Clipboard_Searcher.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
</startup>
<userSettings>
<DD_Clipboard_Searcher.My.MySettings>
<setting name="WDSearch_maximized" serializeAs="String">
<value>False</value>
</setting>
</DD_Clipboard_Searcher.My.MySettings>
</userSettings>
</configuration>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@ -0,0 +1,66 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DD_Clipboard_Searcher
</name>
</assembly>
<members>
<member name="M:DD_Clipboard_Searcher.clsWindowApi.GetTopLevelWindows">
<summary>
Get all top-level window information
</summary>
<returns>List of window information objects</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.GetChildWindows(System.Int32)">
<summary>
Get all child windows for the specific windows handle (hwnd).
</summary>
<returns>List of child windows for parent window</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.EnumWindowProc(System.Int32,System.Int32)">
<summary>
Callback function that does the work of enumerating top-level windows.
</summary>
<param name="hwnd">Discovered Window handle</param>
<returns>1=keep going, 0=stop</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.EnumChildWindowProc(System.Int32,System.Int32)">
<summary>
Callback function that does the work of enumerating child windows.
</summary>
<param name="hwnd">Discovered Window handle</param>
<returns>1=keep going, 0=stop</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.GetWindowIdentification(System.Int32)">
<summary>
Build the ApiWindow object to hold information about the Window object.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.control_start_blue">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.folder_Open_16xLG">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.KeyDown_8461">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.StatusAnnotations_Stop_16xLG">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="T:DD_Clipboard_Searcher.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,222 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DD_LIB_Standards
</name>
</assembly>
<members>
<member name="M:DD_LIB_Standards.clsLicense.#ctor(System.String,System.DateTime,System.String,System.String)">
<summary>
Konstruktor der Lizenz
</summary>
<param name="modulename">Name des Moduls</param>
<param name="expires">Gültigkeitsdatum der Lizenz</param>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicense.Modulename">
<summary>
Liefert oder setzt den Namen des Moduls für diese Lizenz
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicense.Expires">
<summary>
Liefert oder setzt das Gültigkeitsdatum der Lizenz für das Modul
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicense.IsExpired">
<summary>
Liefert ob die Lizenz schon abgelaufen ist
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicense.Type">
<summary>
Liefert den Typend er Lizenz
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicense.Anz_Profile">
<summary>
Liefert die Anzahl der Profile
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member><member name="P:DD_LIB_Standards.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member><member name="T:DD_LIB_Standards.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member><member name="M:DD_LIB_Standards.clsLicenses.#ctor(System.String[0:,0:])">
<summary>
Konstruktor für die Lizenzen-Sammlung
</summary>
<param name="licenseStringArray">In Array übertragene Lizenzinformationen</param>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsLicenses.Add(System.String,System.DateTime,System.String,System.String)">
<summary>
Fügt der Lizenz-Sammlung eine Lizenz hinzu
</summary>
<param name="modulename">Name des Moduls, für das eine Lizenz angelegt werden soll</param>
<param name="expires">Datum der Gültigkeit der Lizenz</param>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsLicenses.GetLicense(System.String)">
<summary>
Liefert eine Lizenz an Hand des Modulnamens
</summary>
<param name="modulename">Name des zu suchenden Moduls</param>
<returns>liefert ein Lizenzobjekt</returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicenses.Licenses">
<summary>
liefert eine Sammlung von Lizenzobjekten
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicenses.License(System.String)">
<summary>
liefert eine Lizenz an Hand des Modulnamens
</summary>
<param name="modulename">Name des zu suchenden Moduls</param>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicenses.Company">
<summary>
Liefert oder setzt den Firmennamen des Lizenzeigentümers
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsWD_GET.WDFile_exists(System.String)">
<summary>
Checks wether a file is existing in windream
</summary>
<param name="WD_File">full filepath to the file</param>
<returns>Returns true when file exists, false if not</returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsWD_GET.GetTypeOfIndexAsIntByName(System.String)">
<summary>
Returns a windream-type as Integer.
</summary>
<param name="indexname">Name of indexfield</param>
<returns>Returns integer, which describes the type</returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsWindream.CreateSession_AsUser(System.Object,System.Object,System.Object,System.Object)">
<summary>
Creates a personified session
</summary>
<param name="Domain">Domainname as string</param>
<param name="ServerName">ServerName as string</param>
<param name="UserName">UserName as string</param>
<param name="Password">Password as string</param>
<returns>Returns true when file exists, false if not</returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsWindream.Create_Session">
<summary>
Creates a windream session with the actual user
</summary>
</member><member name="M:DD_LIB_Standards.clsLicenseManager.#ctor(System.String,System.String)">
<summary>
Konstruktor für den Lizenz-Manager
</summary>
<param name="password">Passwort zum Entschlüsseln des Lizenzkeys</param>
<param name="key">verschlüsselter Lizenzkey</param>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsLicenseManager.#ctor(System.String)">
<summary>
Konstruktor für den Lizenz-Manager ohne License load
</summary>
<param name="password">Passwort zum Entschlüsseln des Lizenzkeys</param>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsLicenseManager.LoadLicenses">
<summary>
Lädt alle Lizenzen aus dem Lizenz-Array
</summary>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsLicenseManager.EncodeLicenseKey(System.String,System.String)">
<summary>
Codiert eine Zeichenkette
</summary>
<param name="str">zu verschlüsselnde Zeichenkette</param>
<param name="password">das zur Verschlüsselung verwendete Passwort</param>
<returns>liefert eine verschlüsselte Zeichenkette</returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsLicenseManager.DecodeLicenseKey(System.String)">
<summary>
Decodiert den verschlüsselten Lizenzkey
</summary>
<param name="licenseCodeStr">verschlüsselter Lizenzkey</param>
<returns></returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsLicenseManager.SplitLicenseString(System.String)">
<summary>
Zerlegt den entschlüsselten Lizenzkey
</summary>
<param name="licenseStr">entschlüsselter Lizenzkey</param>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicenseManager.Password">
<summary>
Liefert das Passwort zum Entschlüsseln des Lizenzschlüssels
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicenseManager.Licenses">
<summary>
Liefert eine Sammlung von Lizenzobjekten
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="P:DD_LIB_Standards.clsLicenseManager.Key">
<summary>
Liefert oder setzt den Lizenzschlüssel
</summary>
<value></value>
<returns></returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsWD_SET.Create_Version(System.String,System.String)">
<summary>
Creates a new version of the file
</summary>
<param name="WD_File">full filepath to the file</param>
<param name="Comment">Comment</param>
<returns>Returns true when version was created exists, false if not</returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsWD_SET.Delete_WDFile(System.String)">
<summary>
Deletes a file in windream
</summary>
<param name="WD_File">full filepath to the file</param>
<returns>Returns true when file was deleted, false if not</returns>
<remarks></remarks>
</member><member name="M:DD_LIB_Standards.clsWD_SET.IndexFile(System.String,System.String,System.String,System.String)">
<summary>
Passes indexvalues to a windream-file
</summary>
<param name="WD_File">full filepath to the file</param>
<param name="_Indexname">Indexname of Index</param>
<param name="_Value">Value for indexing</param>
<param name="_objecttype">_objecttype</param>
<returns>Returns true when indexing was successfull, false if not</returns>
<remarks></remarks>
</member>
</members>
</doc>

View File

@ -0,0 +1,48 @@
Imports DD_LIB_Standards
Public Class clsLicense
Private Shared lic_string As String
Private Shared Sub Get_License(CLIENT_ID As Integer)
Dim sql As String = String.Format("SELECT LICENSE_DDCBSEARCHER FROM TBDD_CLIENT WHERE GUID = {0}", CLIENT_ID)
lic_string = clsDatabase.Execute_Scalar(sql)
End Sub
Public Shared Sub Refresh_Licence(CLIENT_ID As Integer)
Try
Dim _lizenzManager = New clsLicenseManager("#DigitalData35452!#", "")
Get_License(CLIENT_ID)
If lic_string = "" Then
LICENSE_COUNT = 0
LICENSE_DATE = "1900-01-01"
ERROR_INIT = "NO LICENSE"
Exit Sub
End If
Dim licString = _lizenzManager.DecodeLicenseKey(lic_string)
Dim split() = licString.ToString.Split("#")
If lic_string <> "" Then
LICENSE_COUNT = split(0)
LICENSE_DATE = CDate(split(1))
End If
If CDate(split(1)) < CDate(Now.ToShortDateString) Then
MsgBox("Your license evaluated!" & vbNewLine & "Last valid date: " & split(1) & vbNewLine & "Please contact Digital Data.", MsgBoxStyle.Exclamation)
LICENSE_EXPIRED = True
LICENSE_COUNT = 0
ERROR_INIT = "NO LICENSE"
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in licensemanager:")
End Try
End Sub
Public Shared Function license_is_Valid()
If LICENSE_EXPIRED Then
MsgBox("Your license has expired!" & vbNewLine & "Last valid date: " & LICENSE_DATE & vbNewLine & "Please contact Digital Data!", MsgBoxStyle.Exclamation)
Return False
Else : Return True
End If
End Function
End Class

View File

@ -0,0 +1,147 @@
Imports DD_LIB_Standards
Imports System.IO
Imports System.Text
Public Class clsSearch
''Fenster position ermitteln/auslesen
'Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hWnd As IntPtr, ByRef lpRect As RECT) As Int32
Private Declare Function ShowWindow Lib "user32" (ByVal handle As IntPtr, ByVal nCmdShow As Integer) As Integer
Private Structure RECT
Dim Left As Integer
Dim Top As Integer
Dim Right As Integer
Dim Bottom As Integer
End Structure
Private Shared fileContents As String
Public Shared Function RUN_WD_SEARCH(BaseSearch As String)
Try
Dim extension = Path.GetExtension(BaseSearch)
Dim windream_temp_search As String = ""
If IO.File.Exists(BaseSearch) = False Then
ClassLogger.Add("Die Windream-Suche existiert nicht oder ist nicht zugreifbar!", True)
MsgBox("Die Windream-Suche existiert nicht oder ist nicht zugreifbar!", MsgBoxStyle.Critical)
Return Nothing
End If
fileContents = ""
'Eine tempfile generieren
Dim tempFilename1 = My.Computer.FileSystem.GetTempFileName()
'Nur den Filenamen ohne Erweiterung
Dim tempName = Path.GetFileNameWithoutExtension(tempFilename1)
'tempfile löschen
If My.Computer.FileSystem.FileExists(tempFilename1) Then
My.Computer.FileSystem.DeleteFile(tempFilename1)
End If
Dim temppath = Path.GetTempPath
Dim EncodingFormat As Encoding
If WD_UNICODE = True Then
EncodingFormat = Encoding.GetEncoding(1252) '1252
If LogErrorsOnly = False Then ClassLogger.Add(" ...Unicode is used (Encoding.GetEncoding(1252))", False)
Else
If LogErrorsOnly = False Then ClassLogger.Add(" ...UTF8 (Encoding.GetEncoding(65001))", False)
EncodingFormat = Encoding.GetEncoding(65001)
End If
If LogErrorsOnly = False Then ClassLogger.Add(" ...ReadAlltext: " & BaseSearch, False)
fileContents = My.Computer.FileSystem.ReadAllText(BaseSearch, EncodingFormat) ', System.Text.Encoding.Unicode
If LogErrorsOnly = False Then ClassLogger.Add(" ...fileContents geladen", False)
fileContents = fileContents.Replace("Í", "Ö")
fileContents = fileContents.Replace("@Clipboard", CURR_MATCH_RESULT)
Try
'Die windream File zusammensetzen
windream_temp_search = temppath & tempName & extension
Try
'Die File schreiben
My.Computer.FileSystem.WriteAllText(windream_temp_search, fileContents, False, EncodingFormat)
If LogErrorsOnly = False Then ClassLogger.Add(" ...wrote Text to windream_temp_search: " & windream_temp_search, False)
' XML-Datei öffnen und laden
Dim Stream As New IO.StreamReader(CStr(windream_temp_search), EncodingFormat)
Dim Reader As New System.Xml.XmlTextReader(Stream)
' XML-Datei initialisieren
Dim xml As New System.Xml.XmlDocument()
' XML-Datei öffnen und laden
xml.Load(Reader)
Reader.Close()
xml.Save(windream_temp_search)
If LogErrorsOnly = False Then ClassLogger.Add(" ...Xml Generiert: " & windream_temp_search, False)
Catch ex As Exception
ClassLogger.Add("TempFile could not be created: " & ex.Message, True)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unerwarteter Fehler in Write XmlSearch:")
End Try
CURRENT_WD_TEMPSEARCH = windream_temp_search
TEMP_FILES.Add(CURRENT_WD_TEMPSEARCH)
Try
Dim myhWnd As IntPtr
Dim p As New Process()
p.StartInfo.FileName = windream_temp_search
If My.Settings.WDSearch_maximized = True Then
p.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
Else
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
End If
p.Start()
myhWnd = p.MainWindowHandle
Threading.Thread.Sleep(1000)
Dim rctMain As RECT
GetWindowRect(p.MainWindowHandle, rctMain)
If LogErrorsOnly = False Then
ClassLogger.Add(" ...Top-Position: " & rctMain.Top.ToString, False)
ClassLogger.Add(" ...Left-Position: " & rctMain.Left.ToString, False)
ClassLogger.Add(" ...Right-Position: " & rctMain.Right.ToString, False)
ClassLogger.Add(" ...Bottom-Position: " & rctMain.Bottom.ToString, False)
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error in Ausführen der windream-Suche:")
ClassLogger.Add("Unexpected error while executing search: " & ex.Message, True)
Return "Unexpected error while executing search"
End Try
Dim psList() As Process
Try
psList = Process.GetProcesses()
For Each p As Process In psList
Console.WriteLine(p.Id.ToString() + " " + p.ProcessName)
If p.ProcessName.Contains("indream.Find") Then
AppActivate(p.Id)
If My.Settings.WDSearch_maximized = False Then
Dim rctMain As RECT
GetWindowRect(p.MainWindowHandle, rctMain)
If rctMain.Left = 0 Or rctMain.Right = 0 Then
ShowWindow(p.MainWindowHandle, 3) ' SW_MAXIMIZE
End If
End If
' SetForeGroundWindow( p.MainWindowHandle)
End If
Next p
Catch ex As Exception
ClassLogger.Add("Unexpected error while Setting foreground: " & ex.Message, True)
End Try
Return ""
Catch ex As Exception
ClassLogger.Add("Unexpected error in Create Search: " & ex.Message, True)
MsgBox("Error in Create Search:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return "Unexpected error in Create Search"
End Try
Catch ex As Exception
ClassLogger.Add("Unexpected error in RUN_WD_SEARCH: " & ex.Message, True)
MsgBox("Error in RUN_WD_SEARCH:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return "Unerwarteter Unexpected error in RUN_WD_SEARCH"
End Try
End Function
End Class

View File

@ -0,0 +1,68 @@
Public Class clsWINDOWSApi
Private Declare Function GetForegroundWindow Lib "user32.dll" Alias "GetForegroundWindow" () As IntPtr
Private Declare Auto Function GetWindowText Lib "user32.dll" (ByVal hWnd As System.IntPtr, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer
Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As IntPtr, ByVal WinTitle As String, ByVal MaxLength As Integer) As Integer
Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (ByVal hwnd As Int32) As Integer
Private Shared Function GetClassName(ByVal hWnd As System.IntPtr, _
ByVal lpClassName As System.Text.StringBuilder, _
ByVal nMaxCount As Integer) As Integer
' Leave function empty
End Function
Public Shared Function GetCaption() As String
Dim Caption As New System.Text.StringBuilder(256)
Dim hWnd As IntPtr = GetForegroundWindow()
Dim pid As Integer = 0
GetWindowThreadProcessId(hWnd, pid)
If pid = 0 Then Exit Function
Return Caption.ToString()
End Function
Public Shared Function IsRelevantWindow(windowname As String)
Try
Dim enumerator1 As New clsWindowApi
'Jedes Formularwindow durchlaufen
For Each top As clsWindowApi.ApiWindow In enumerator1.GetTopLevelWindows()
If LogErrorsOnly = False Then ClassLogger.Add(" ... top-window Name: " & top.MainWindowTitle, False)
If top.MainWindowTitle.Contains(windowname) Or top.MainWindowTitle.ToLower = windowname.ToLower Then
Console.WriteLine(top.MainWindowTitle)
Return False
End If
Next top
Catch ex As Exception
MsgBox("Error in IsRelevantWindowt:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add(">> Error in IsRelevantWindow:" & ex.Message, False)
Return False
End Try
End Function
Private Shared m_LastHwnd As Long
Public Shared Sub TEST()
' Get the Handle to the Current Forground Window
Dim hWnd As IntPtr = GetForegroundWindow()
If hWnd = IntPtr.Zero Then Exit Sub
' Find the Length of the Windows Title
Dim TitleLength As Int32
TitleLength = GetWindowTextLength(hWnd)
' Find the Windows Title
Dim WindowTitle As String = StrDup(TitleLength + 1, "*")
GetWindowText(hWnd, WindowTitle, TitleLength + 1)
' Find the PID of the Application that Owns the Window
Dim pid As Integer = 0
GetWindowThreadProcessId(hWnd, pid)
If pid = 0 Then Exit Sub
' Get the actual PROCESS from the process ID
Dim proc As Process = Process.GetProcessById(pid)
If proc Is Nothing Then Exit Sub
Dim msg = pid.ToString & vbNewLine
msg &= vbNewLine & "Procname: " & proc.ProcessName
msg &= vbNewLine & "MainWindowTitle: " & proc.MainWindowTitle
msg &= vbNewLine & "WindowTitle: " & WindowTitle
msg &= vbNewLine & TitleLength.ToString
MsgBox(msg)
End Sub
End Class

View File

@ -0,0 +1,179 @@
Imports System.Data
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.Collections.Generic
Public Class clsWindowApi
Public Class ApiWindow
Public MainWindowTitle As String = ""
Public ClassName As String = ""
Public hWnd As Int32
End Class
Private Delegate Function EnumCallBackDelegate(ByVal hwnd As Integer, ByVal lParam As Integer) As Integer
' Top-level windows.
Private Declare Function EnumWindows Lib "user32" _
(ByVal lpEnumFunc As EnumCallBackDelegate, ByVal lParam As Integer) As Integer
' Child windows.
Private Declare Function EnumChildWindows Lib "user32" _
(ByVal hWndParent As Integer, ByVal lpEnumFunc As EnumCallBackDelegate, ByVal lParam As Integer) As Integer
' Get the window class.
Private Declare Function GetClassName _
Lib "user32" Alias "GetClassNameA" _
(ByVal hwnd As Integer, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer) As Integer
' Test if the window is visible--only get visible ones.
Private Declare Function IsWindowVisible Lib "user32" _
(ByVal hwnd As Integer) As Integer
' Test if the window's parent--only get the one's without parents.
Private Declare Function GetParent Lib "user32" _
(ByVal hwnd As Integer) As Integer
' Get window text length signature.
Private Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
' Get window text signature.
Private Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As StringBuilder) As Int32
Private _listChildren As New List(Of ApiWindow)
Private _listTopLevel As New List(Of ApiWindow)
Private _topLevelClass As String = ""
Private _childClass As String = ""
''' <summary>
''' Get all top-level window information
''' </summary>
''' <returns>List of window information objects</returns>
Public Overloads Function GetTopLevelWindows() As List(Of ApiWindow)
EnumWindows(AddressOf EnumWindowProc, &H0)
Return _listTopLevel
End Function
Public Overloads Function GetTopLevelWindows(ByVal className As String) As List(Of ApiWindow)
_topLevelClass = className
Return Me.GetTopLevelWindows()
End Function
''' <summary>
''' Get all child windows for the specific windows handle (hwnd).
''' </summary>
''' <returns>List of child windows for parent window</returns>
Public Overloads Function GetChildWindows(ByVal hwnd As Int32) As List(Of ApiWindow)
' Clear the window list.
_listChildren = New List(Of ApiWindow)
' Start the enumeration process.
EnumChildWindows(hwnd, AddressOf EnumChildWindowProc, &H0)
' Return the children list when the process is completed.
Return _listChildren
End Function
Public Overloads Function GetChildWindows(ByVal hwnd As Int32, ByVal childClass As String) As List(Of ApiWindow)
' Set the search
_childClass = childClass
Return Me.GetChildWindows(hwnd)
End Function
''' <summary>
''' Callback function that does the work of enumerating top-level windows.
''' </summary>
''' <param name="hwnd">Discovered Window handle</param>
''' <returns>1=keep going, 0=stop</returns>
Private Function EnumWindowProc(ByVal hwnd As Int32, ByVal lParam As Int32) As Int32
' Eliminate windows that are not top-level.
If GetParent(hwnd) = 0 AndAlso CBool(IsWindowVisible(hwnd)) Then
' Get the window title / class name.
Dim window As ApiWindow = GetWindowIdentification(hwnd)
' Match the class name if searching for a specific window class.
If _topLevelClass.Length = 0 OrElse window.ClassName.ToLower() = _topLevelClass.ToLower() Then
_listTopLevel.Add(window)
End If
End If
' To continue enumeration, return True (1), and to stop enumeration
' return False (0).
' When 1 is returned, enumeration continues until there are no
' more windows left.
Return 1
End Function
''' <summary>
''' Callback function that does the work of enumerating child windows.
''' </summary>
''' <param name="hwnd">Discovered Window handle</param>
''' <returns>1=keep going, 0=stop</returns>
Private Function EnumChildWindowProc(ByVal hwnd As Int32, ByVal lParam As Int32) As Int32
Dim window As ApiWindow = GetWindowIdentification(hwnd)
' Attempt to match the child class, if one was specified, otherwise
' enumerate all the child windows.
If _childClass.Length = 0 OrElse window.ClassName.ToLower() = _childClass.ToLower() Then
_listChildren.Add(window)
End If
Return 1
End Function
''' <summary>
''' Build the ApiWindow object to hold information about the Window object.
''' </summary>
Private Function GetWindowIdentification(ByVal hwnd As Integer) As ApiWindow
Const WM_GETTEXT As Int32 = &HD
Const WM_GETTEXTLENGTH As Int32 = &HE
Dim window As New ApiWindow()
Dim title As New StringBuilder()
' Get the size of the string required to hold the window title.
Dim size As Int32 = SendMessage(hwnd, WM_GETTEXTLENGTH, 0, 0)
' If the return is 0, there is no title.
If size > 0 Then
title = New StringBuilder(size + 1)
SendMessage(hwnd, WM_GETTEXT, title.Capacity, title)
End If
' Get the class name for the window.
Dim classBuilder As New StringBuilder(64)
GetClassName(hwnd, classBuilder, 64)
' Set the properties for the ApiWindow object.
window.ClassName = classBuilder.ToString()
window.MainWindowTitle = title.ToString()
window.hWnd = hwnd
Return window
End Function
End Class

View File

@ -0,0 +1,319 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmConfig_Basic
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmConfig_Basic))
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage1 = New System.Windows.Forms.TabPage()
Me.chkbxUserAut = New System.Windows.Forms.CheckBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.cmbDatenbank = New System.Windows.Forms.ComboBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.txtActualConnection = New System.Windows.Forms.TextBox()
Me.txtServer = New System.Windows.Forms.TextBox()
Me.txtUser = New System.Windows.Forms.TextBox()
Me.txtPasswort = New System.Windows.Forms.TextBox()
Me.BtnConnect = New System.Windows.Forms.Button()
Me.TabPage2 = New System.Windows.Forms.TabPage()
Me.chkWDMaximized = New System.Windows.Forms.CheckBox()
Me.chkLogErrorsOnly = New System.Windows.Forms.CheckBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.btnApplicationFolder = New System.Windows.Forms.Button()
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.TabPage2.SuspendLayout()
Me.SuspendLayout()
'
'TabControl1
'
Me.TabControl1.Controls.Add(Me.TabPage1)
Me.TabControl1.Controls.Add(Me.TabPage2)
Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TabControl1.Location = New System.Drawing.Point(0, 0)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
Me.TabControl1.Size = New System.Drawing.Size(676, 186)
Me.TabControl1.TabIndex = 1
'
'TabPage1
'
Me.TabPage1.Controls.Add(Me.chkbxUserAut)
Me.TabPage1.Controls.Add(Me.Label5)
Me.TabPage1.Controls.Add(Me.cmbDatenbank)
Me.TabPage1.Controls.Add(Me.Label4)
Me.TabPage1.Controls.Add(Me.Label1)
Me.TabPage1.Controls.Add(Me.Label2)
Me.TabPage1.Controls.Add(Me.Label3)
Me.TabPage1.Controls.Add(Me.txtActualConnection)
Me.TabPage1.Controls.Add(Me.txtServer)
Me.TabPage1.Controls.Add(Me.txtUser)
Me.TabPage1.Controls.Add(Me.txtPasswort)
Me.TabPage1.Controls.Add(Me.BtnConnect)
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage1.Size = New System.Drawing.Size(668, 160)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "Datenbank-Verbindung"
Me.TabPage1.UseVisualStyleBackColor = True
'
'chkbxUserAut
'
Me.chkbxUserAut.AutoSize = True
Me.chkbxUserAut.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.chkbxUserAut.Location = New System.Drawing.Point(510, 36)
Me.chkbxUserAut.Name = "chkbxUserAut"
Me.chkbxUserAut.Size = New System.Drawing.Size(155, 17)
Me.chkbxUserAut.TabIndex = 47
Me.chkbxUserAut.Text = "Windows-Authentifizierung"
Me.chkbxUserAut.UseVisualStyleBackColor = True
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Label5.Location = New System.Drawing.Point(5, 115)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(138, 13)
Me.Label5.TabIndex = 46
Me.Label5.Text = "Aktueller ConnectionString:"
'
'cmbDatenbank
'
Me.cmbDatenbank.FormattingEnabled = True
Me.cmbDatenbank.Location = New System.Drawing.Point(8, 82)
Me.cmbDatenbank.Name = "cmbDatenbank"
Me.cmbDatenbank.Size = New System.Drawing.Size(252, 21)
Me.cmbDatenbank.TabIndex = 39
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Label4.Location = New System.Drawing.Point(5, 62)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(63, 13)
Me.Label4.TabIndex = 44
Me.Label4.Text = "Datenbank:"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Label1.Location = New System.Drawing.Point(5, 14)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(74, 13)
Me.Label1.TabIndex = 41
Me.Label1.Text = "Server-Name:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Label2.Location = New System.Drawing.Point(299, 14)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(80, 13)
Me.Label2.TabIndex = 42
Me.Label2.Text = "Benutzername:"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Label3.Location = New System.Drawing.Point(423, 14)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(55, 13)
Me.Label3.TabIndex = 43
Me.Label3.Text = "Passwort:"
'
'txtActualConnection
'
Me.txtActualConnection.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txtActualConnection.BackColor = System.Drawing.Color.WhiteSmoke
Me.txtActualConnection.Location = New System.Drawing.Point(8, 131)
Me.txtActualConnection.Name = "txtActualConnection"
Me.txtActualConnection.ReadOnly = True
Me.txtActualConnection.Size = New System.Drawing.Size(528, 21)
Me.txtActualConnection.TabIndex = 45
'
'txtServer
'
Me.txtServer.ForeColor = System.Drawing.SystemColors.WindowText
Me.txtServer.Location = New System.Drawing.Point(8, 34)
Me.txtServer.Name = "txtServer"
Me.txtServer.Size = New System.Drawing.Size(288, 21)
Me.txtServer.TabIndex = 36
'
'txtUser
'
Me.txtUser.ForeColor = System.Drawing.SystemColors.WindowText
Me.txtUser.Location = New System.Drawing.Point(302, 34)
Me.txtUser.Name = "txtUser"
Me.txtUser.Size = New System.Drawing.Size(118, 21)
Me.txtUser.TabIndex = 37
'
'txtPasswort
'
Me.txtPasswort.ForeColor = System.Drawing.SystemColors.WindowText
Me.txtPasswort.Location = New System.Drawing.Point(426, 34)
Me.txtPasswort.Name = "txtPasswort"
Me.txtPasswort.Size = New System.Drawing.Size(64, 21)
Me.txtPasswort.TabIndex = 38
Me.txtPasswort.UseSystemPasswordChar = True
'
'BtnConnect
'
Me.BtnConnect.Image = CType(resources.GetObject("BtnConnect.Image"), System.Drawing.Image)
Me.BtnConnect.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.BtnConnect.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.BtnConnect.Location = New System.Drawing.Point(302, 82)
Me.BtnConnect.Name = "BtnConnect"
Me.BtnConnect.Size = New System.Drawing.Size(253, 25)
Me.BtnConnect.TabIndex = 40
Me.BtnConnect.Text = "Verbindung zur Datenbank herstellen"
Me.BtnConnect.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.BtnConnect.UseVisualStyleBackColor = True
'
'TabPage2
'
Me.TabPage2.Controls.Add(Me.chkWDMaximized)
Me.TabPage2.Controls.Add(Me.chkLogErrorsOnly)
Me.TabPage2.Controls.Add(Me.Button1)
Me.TabPage2.Controls.Add(Me.btnApplicationFolder)
Me.TabPage2.Controls.Add(Me.LinkLabel1)
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage2.Size = New System.Drawing.Size(668, 160)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "Weitere Einstellungen"
Me.TabPage2.UseVisualStyleBackColor = True
'
'chkWDMaximized
'
Me.chkWDMaximized.AutoSize = True
Me.chkWDMaximized.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.chkWDMaximized.Location = New System.Drawing.Point(8, 40)
Me.chkWDMaximized.Name = "chkWDMaximized"
Me.chkWDMaximized.Size = New System.Drawing.Size(162, 17)
Me.chkWDMaximized.TabIndex = 8
Me.chkWDMaximized.Text = "windream-search maximiert?"
Me.chkWDMaximized.UseVisualStyleBackColor = True
'
'chkLogErrorsOnly
'
Me.chkLogErrorsOnly.AutoSize = True
Me.chkLogErrorsOnly.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.chkLogErrorsOnly.Location = New System.Drawing.Point(8, 17)
Me.chkLogErrorsOnly.Name = "chkLogErrorsOnly"
Me.chkLogErrorsOnly.Size = New System.Drawing.Size(100, 17)
Me.chkLogErrorsOnly.TabIndex = 7
Me.chkLogErrorsOnly.Text = "Log Errors Only"
Me.chkLogErrorsOnly.UseVisualStyleBackColor = True
'
'Button1
'
Me.Button1.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.folder_Open_16xLG
Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Button1.Location = New System.Drawing.Point(462, 71)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(198, 23)
Me.Button1.TabIndex = 6
Me.Button1.Text = "Open Log-Folder"
Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button1.UseVisualStyleBackColor = True
'
'btnApplicationFolder
'
Me.btnApplicationFolder.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.folder_Open_16xLG
Me.btnApplicationFolder.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnApplicationFolder.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.btnApplicationFolder.Location = New System.Drawing.Point(462, 45)
Me.btnApplicationFolder.Name = "btnApplicationFolder"
Me.btnApplicationFolder.Size = New System.Drawing.Size(198, 23)
Me.btnApplicationFolder.TabIndex = 2
Me.btnApplicationFolder.Text = "Open AppFolder User"
Me.btnApplicationFolder.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnApplicationFolder.UseVisualStyleBackColor = True
'
'LinkLabel1
'
Me.LinkLabel1.AutoSize = True
Me.LinkLabel1.Font = New System.Drawing.Font("Segoe UI", 9.75!)
Me.LinkLabel1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.LinkLabel1.Location = New System.Drawing.Point(459, 16)
Me.LinkLabel1.Name = "LinkLabel1"
Me.LinkLabel1.Size = New System.Drawing.Size(201, 17)
Me.LinkLabel1.TabIndex = 1
Me.LinkLabel1.TabStop = True
Me.LinkLabel1.Text = "Link zu Support-Tool Digital Data"
'
'frmConfig_Basic
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(676, 186)
Me.Controls.Add(Me.TabControl1)
Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "frmConfig_Basic"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Grundeinstellungen"
Me.TabControl1.ResumeLayout(False)
Me.TabPage1.ResumeLayout(False)
Me.TabPage1.PerformLayout()
Me.TabPage2.ResumeLayout(False)
Me.TabPage2.PerformLayout()
Me.ResumeLayout(False)
End Sub
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
Friend WithEvents chkbxUserAut As System.Windows.Forms.CheckBox
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents cmbDatenbank As System.Windows.Forms.ComboBox
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents txtActualConnection As System.Windows.Forms.TextBox
Friend WithEvents txtServer As System.Windows.Forms.TextBox
Friend WithEvents txtUser As System.Windows.Forms.TextBox
Friend WithEvents txtPasswort As System.Windows.Forms.TextBox
Friend WithEvents BtnConnect As System.Windows.Forms.Button
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
Friend WithEvents chkWDMaximized As System.Windows.Forms.CheckBox
Friend WithEvents chkLogErrorsOnly As System.Windows.Forms.CheckBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents btnApplicationFolder As System.Windows.Forms.Button
Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
End Class

View File

@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnConnect.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJVSURBVDhPpZLNi5JRFMYHWsyqPyBa1SqCilm1bBNR
EbSIoU2BxVRQm2gVFESLGCvLJjIQyhmRScRvx89XRdHZzMLPVBxmFHXwgyujos44qePTvbdm0N6gRS8c
znvgPr9z73POFID/ionC5/NNe73eWUEQTG63O+NyuQZOp/OH3W6PrKys6KxW6yWz2XxkXDMuPk3FiXg8
jlqthk6ng/39fQyHQ2xvb6NQKCAUCsFoNIYNBsNxEYB2DRSLRYxGI1r+/RsMBojFYtDpdGpaTgI8Hg/Z
29v7J4AQAq1WS2g5CaDvJb1eD9VqFc1mE7u7u1zQ7/fRarWQz+cRDodRqVSwvLwsBjgcDsJE9XqdH85k
Mkin00gkElxIPUIwGES5XIZGoxEDqNNkZ2cHjUaDdymVSjwzXyKRCDeQxdbWFpaWlsQAm81Gut0ufyMT
5XI5fpjdZm1tDX6/H4FAgINVKpUYYLFYCBsd84CJ19fX+eg2NjawuroKxbc3ePL5Nu6/v45bry6Orjw9
+3wCYDKZSLvd5h2y2Sx//+bmJv//pJXipf4O7CkF4hUBcu9D3JSfwflHx2SHALoc5MDtVCqFZDLJuzMz
Ja8vw/r9A6yZj/QoIPPdg9z3gAF6hwC6HISJ2TOYcBxw7dkMnKkvXHzw2ZIKBvglZkGX4yqdbzcajfLV
ZYayqbB84fFJvBXuYl6QcPG8RyK+AQs63xNqtfrr4uJii2bo9Xq2dZh7MYsbslN4J8zxziyzesKDP0Op
VB5VKBQzCwsL52Qy2TQ9LKXRZtf+naUApn4Cytwc5qi3odMAAAAASUVORK5CYII=
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAEBAQAAEABAAoAQAAJgAAABAQAAABAAgAaAUAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAA/wAAAAAAAA948AAAAAAA+Hd/AAAAAAD4d3fwAA
AAAA93d3///wAAAPd3d3d48AAAD3d3d3ePAAAA93d3d38AAAD3d3d3fwAAAPd3f/d/AAAA93d/D38AAA
D4d3fw/wAAAA+Hd38AAAAAAP///wAAAAAAAAAAAA//8AAOf/AADD/wAAgf8AAID/AADABwAA4AMAAPAB
AAD4AQAA+AEAAPgBAAD4EQAA+AkAAPwHAAD+BwAA//8AACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAA
AAAAAAAAAAEAAAABAAAAAAAAQkJCAE1NTQBZWVkAZGRkAIaGhgCcnJwAp6enAL6+vgDr6+sA9vb2APr6
+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAsLAAAAAAAAAAAAAAAAAAoGBwoAAAAA
AAAAAAAAAAsHAQEFCgAAAAAAAAAAAAALBwEBAQUKAAAAAAAAAAAAAAoEAQEBBQoKCgoLAAAAAAAACQQB
AQECAQEDCAoAAAAAAAAJBAEBAQEBAQEICwAAAAAAAAkBAQEBAQEBAwoAAAAAAAAKAQEBAQUFAQEKAAAA
AAAACgEBAQUKCgUBCgAAAAAAAAoDAQEFCgAKBgoAAAAAAAALCAEBAQUKAAoLAAAAAAAAAAoIAwEBBgoA
AAAAAAAAAAAACwoKCgoLAAAAAAAAAAAAAAAAAAAAAAAAAP//AADn/wAAw/8AAIH/AACA/wAAwAcAAOAD
AADwAQAA+AEAAPgBAAD4AQAA+BEAAPgJAAD8BwAA/gcAAP//AAA=
</value>
</data>
</root>

View File

@ -0,0 +1,199 @@
Imports System.Threading
Imports System.Globalization
Imports DD_LIB_Standards
Public Class frmConfig_Basic
Dim formloaded As Boolean = False
Private Sub BtnConnect_Click(sender As Object, e As EventArgs) Handles BtnConnect.Click
Try
Dim con As String
If chkbxUserAut.Checked Then
con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";Trusted_Connection=True;"
Else
con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";"
End If
Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString)
'während Verbindungsaufbau Sanduhr-Mauszeiger
Cursor = Cursors.WaitCursor
connection.Open()
Cursor = Cursors.Default
'DialogResult = Windows.Forms.DialogResult.OK
Dim result As MsgBoxResult
Dim msg = "Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?"
If USER_LANGUAGE <> "de-DE" Then
msg = "Connection was successfully opened!" & vbNewLine & "Would You like to save it?"
End If
result = MessageBox.Show(msg, "Database-Connection", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
CONNECTION_CHANGED = True
'Set the construction string
MyConnectionString = con 'csb.ConnectionString
clsDatabase.Init(MyConnectionString)
My.Settings.Save()
If chkbxUserAut.Checked = False Then
Dim wrapper As New clsEncryption("!35452didalog=")
Dim cipherText As String = wrapper.EncryptData(Me.txtPasswort.Text)
Dim pw As String = cipherText
con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & pw & ";"
End If
SaveConfigValue("MyConnectionString", con)
Dim csb As New SqlClient.SqlConnectionStringBuilder
csb.ConnectionString = MyConnectionString
Dim constr = connection.ConnectionString
If chkbxUserAut.Checked = False Then
constr = constr.Replace(csb.Password, "XXXXX")
End If
Me.txtActualConnection.Text = constr
End If
Catch ex As Exception
Cursor = Cursors.Default
MsgBox("Error in Connectionbuild: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub cmbDatenbank_MouseClick(sender As Object, e As MouseEventArgs) Handles cmbDatenbank.MouseClick
Load_Databases()
End Sub
Sub Load_Databases()
Try
Me.Cursor = Cursors.WaitCursor
Dim csb As New SqlClient.SqlConnectionStringBuilder
csb.DataSource = Me.txtServer.Text
csb.IntegratedSecurity = False
csb.UserID = Me.txtUser.Text
csb.Password = Me.txtPasswort.Text
Dim con As String
If chkbxUserAut.Checked Then
con = "Data Source=" & Me.txtServer.Text & ";Trusted_Connection=True;"
Else
'con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";"
con = "Server=" & Me.txtServer.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";"
End If
Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString)
connection.Open()
Dim cmd As New SqlClient.SqlCommand("sp_databases", connection)
cmd.CommandType = CommandType.StoredProcedure
' Ausführen und Ergebnis in einer ListBox anzeigen
Dim dr As SqlClient.SqlDataReader = cmd.ExecuteReader
If dr.HasRows Then
cmbDatenbank.Items.Clear()
Do While dr.Read
cmbDatenbank.Items.Add(dr("Database_Name"))
Loop
cmbDatenbank.DroppedDown = True
Else
MsgBox("The standard-databases could not be retrieved. The default database will be set!" & vbNewLine & "Check rights in sql-server for user: " & Me.txtUser.Text, MsgBoxStyle.Exclamation)
End If
connection.Close()
Catch ex As Exception
If ex.Message.ToLower.Contains("he standard-databases") Or ex.Message.ToLower.Contains("ie standard-datenbanken") Then
cmbDatenbank.Text = "DD_ECM"
End If
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load Databases:")
End Try
Cursor = Cursors.Default
End Sub
Private Sub frmConfig_Basic_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
End Sub
Private Sub frmConfig_Basic_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Not MyConnectionString = String.Empty Then
CONNECTION_CHANGED = False
Try
Dim csb As New SqlClient.SqlConnectionStringBuilder
csb.ConnectionString = MyConnectionString
Dim constr = MyConnectionString
If Not MyConnectionString.Contains("Trusted") Then
constr = constr.Replace(csb.Password, "XXXXX")
txtUser.Text = csb.UserID
chkbxUserAut.Checked = False
Else
chkbxUserAut.Checked = True
End If
Try
txtServer.Text = csb.DataSource
cmbDatenbank.Text = csb.InitialCatalog
Catch ex As Exception
End Try
Me.txtActualConnection.Text = constr
chkLogErrorsOnly.Checked = LogErrorsOnly
Catch ex As Exception
MsgBox("Fehler in FormLoad: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End If
End Sub
Private Sub chkbxloadWDDocs_CheckedChanged(sender As Object, e As EventArgs)
End Sub
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
' Specify that the link was visited.
Me.LinkLabel1.LinkVisited = True
' Navigate to a URL.
System.Diagnostics.Process.Start("http://www.didalog.de/Support")
End Sub
Private Sub btnApplicationFolder_Click(sender As Object, e As EventArgs) Handles btnApplicationFolder.Click
Process.Start(Application.UserAppDataPath())
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Process.Start(ClassLogger.DateiSpeicherort)
End Sub
Private Sub chkLogErrorsOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkLogErrorsOnly.CheckedChanged
LogErrorsOnly = chkLogErrorsOnly.Checked
SaveConfigValue("LogErrorsOnly", LogErrorsOnly)
End Sub
Private Sub frmConfig_Basic_Shown(sender As Object, e As EventArgs) Handles Me.Shown
formloaded = True
End Sub
Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
Select Case TabControl1.SelectedIndex
Case 1
End Select
End Sub
Private Sub chkbxUserAut_CheckedChanged(sender As Object, e As EventArgs) Handles chkbxUserAut.CheckedChanged
If chkbxUserAut.Checked Then
Me.txtPasswort.Enabled = False
Me.txtUser.Enabled = False
Else
Me.txtPasswort.Enabled = True
Me.txtUser.Enabled = True
End If
End Sub
Private Sub txtActualConnection_TextChanged(sender As Object, e As EventArgs) Handles txtActualConnection.TextChanged
End Sub
Private Sub cmbDatenbank_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbDatenbank.SelectedIndexChanged
End Sub
Private Sub txtPasswort_Leave(sender As Object, e As EventArgs) Handles txtPasswort.Leave
End Sub
Private Sub txtPasswort_TextChanged(sender As Object, e As EventArgs) Handles txtPasswort.TextChanged
End Sub
End Class

View File

@ -0,0 +1,199 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmLicense
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmLicense))
Me.txtPW = New System.Windows.Forms.TextBox()
Me.lblPW = New System.Windows.Forms.Label()
Me.grbBoxlicense = New System.Windows.Forms.GroupBox()
Me.lblClient = New System.Windows.Forms.Label()
Me.cmbClients = New System.Windows.Forms.ComboBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.dtpGueltig_GI = New System.Windows.Forms.DateTimePicker()
Me.btnnewLicenses = New System.Windows.Forms.Button()
Me.txtNewlicences = New System.Windows.Forms.TextBox()
Me.lblnewlicenses = New System.Windows.Forms.Label()
Me.btnPW_check = New System.Windows.Forms.Button()
Me.grbBoxlicense.SuspendLayout()
Me.SuspendLayout()
'
'txtPW
'
Me.txtPW.Location = New System.Drawing.Point(109, 6)
Me.txtPW.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.txtPW.Name = "txtPW"
Me.txtPW.Size = New System.Drawing.Size(207, 21)
Me.txtPW.TabIndex = 32
Me.txtPW.UseSystemPasswordChar = True
'
'lblPW
'
Me.lblPW.AutoSize = True
Me.lblPW.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.lblPW.Location = New System.Drawing.Point(12, 9)
Me.lblPW.Name = "lblPW"
Me.lblPW.Size = New System.Drawing.Size(91, 13)
Me.lblPW.TabIndex = 31
Me.lblPW.Text = "Master Passwort:"
'
'grbBoxlicense
'
Me.grbBoxlicense.Controls.Add(Me.lblClient)
Me.grbBoxlicense.Controls.Add(Me.cmbClients)
Me.grbBoxlicense.Controls.Add(Me.Label5)
Me.grbBoxlicense.Controls.Add(Me.dtpGueltig_GI)
Me.grbBoxlicense.Controls.Add(Me.btnnewLicenses)
Me.grbBoxlicense.Controls.Add(Me.txtNewlicences)
Me.grbBoxlicense.Controls.Add(Me.lblnewlicenses)
Me.grbBoxlicense.Location = New System.Drawing.Point(15, 41)
Me.grbBoxlicense.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.grbBoxlicense.Name = "grbBoxlicense"
Me.grbBoxlicense.Padding = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.grbBoxlicense.Size = New System.Drawing.Size(469, 140)
Me.grbBoxlicense.TabIndex = 30
Me.grbBoxlicense.TabStop = False
Me.grbBoxlicense.Text = "Lizenzanzahl ändern:"
Me.grbBoxlicense.Visible = False
'
'lblClient
'
Me.lblClient.AutoSize = True
Me.lblClient.Font = New System.Drawing.Font("Verdana", 9.75!)
Me.lblClient.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.lblClient.Location = New System.Drawing.Point(7, 20)
Me.lblClient.Name = "lblClient"
Me.lblClient.Size = New System.Drawing.Size(140, 16)
Me.lblClient.TabIndex = 19
Me.lblClient.Text = "Mandantenauswahl:"
'
'cmbClients
'
Me.cmbClients.Font = New System.Drawing.Font("Tahoma", 9.75!)
Me.cmbClients.FormattingEnabled = True
Me.cmbClients.Location = New System.Drawing.Point(10, 39)
Me.cmbClients.Name = "cmbClients"
Me.cmbClients.Size = New System.Drawing.Size(262, 24)
Me.cmbClients.TabIndex = 18
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Label5.Location = New System.Drawing.Point(7, 106)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(55, 13)
Me.Label5.TabIndex = 16
Me.Label5.Text = "Gültigkeit:"
Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'dtpGueltig_GI
'
Me.dtpGueltig_GI.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
Me.dtpGueltig_GI.Location = New System.Drawing.Point(168, 100)
Me.dtpGueltig_GI.Name = "dtpGueltig_GI"
Me.dtpGueltig_GI.Size = New System.Drawing.Size(104, 21)
Me.dtpGueltig_GI.TabIndex = 15
Me.dtpGueltig_GI.Value = New Date(2099, 12, 31, 0, 0, 0, 0)
'
'btnnewLicenses
'
Me.btnnewLicenses.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnnewLicenses.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.KeyDown_8461
Me.btnnewLicenses.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnnewLicenses.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.btnnewLicenses.Location = New System.Drawing.Point(307, 91)
Me.btnnewLicenses.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.btnnewLicenses.Name = "btnnewLicenses"
Me.btnnewLicenses.Size = New System.Drawing.Size(145, 30)
Me.btnnewLicenses.TabIndex = 5
Me.btnnewLicenses.Text = "Erneuere Lizenz"
Me.btnnewLicenses.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnnewLicenses.UseVisualStyleBackColor = True
'
'txtNewlicences
'
Me.txtNewlicences.Location = New System.Drawing.Point(241, 74)
Me.txtNewlicences.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.txtNewlicences.Name = "txtNewlicences"
Me.txtNewlicences.Size = New System.Drawing.Size(31, 21)
Me.txtNewlicences.TabIndex = 4
Me.txtNewlicences.Text = "1"
'
'lblnewlicenses
'
Me.lblnewlicenses.AutoSize = True
Me.lblnewlicenses.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.lblnewlicenses.Location = New System.Drawing.Point(7, 77)
Me.lblnewlicenses.Name = "lblnewlicenses"
Me.lblnewlicenses.Size = New System.Drawing.Size(113, 13)
Me.lblnewlicenses.TabIndex = 3
Me.lblnewlicenses.Text = "Anzahl User-Lizenzen:"
'
'btnPW_check
'
Me.btnPW_check.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.KeyDown_8461
Me.btnPW_check.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnPW_check.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.btnPW_check.Location = New System.Drawing.Point(322, 1)
Me.btnPW_check.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.btnPW_check.Name = "btnPW_check"
Me.btnPW_check.Size = New System.Drawing.Size(162, 32)
Me.btnPW_check.TabIndex = 33
Me.btnPW_check.Text = "Open License Manager"
Me.btnPW_check.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnPW_check.UseVisualStyleBackColor = True
'
'frmLicense
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(490, 188)
Me.Controls.Add(Me.btnPW_check)
Me.Controls.Add(Me.txtPW)
Me.Controls.Add(Me.lblPW)
Me.Controls.Add(Me.grbBoxlicense)
Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "frmLicense"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "License Manager"
Me.grbBoxlicense.ResumeLayout(False)
Me.grbBoxlicense.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents btnPW_check As System.Windows.Forms.Button
Friend WithEvents txtPW As System.Windows.Forms.TextBox
Friend WithEvents lblPW As System.Windows.Forms.Label
Friend WithEvents grbBoxlicense As System.Windows.Forms.GroupBox
Friend WithEvents lblClient As System.Windows.Forms.Label
Friend WithEvents cmbClients As System.Windows.Forms.ComboBox
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents dtpGueltig_GI As System.Windows.Forms.DateTimePicker
Friend WithEvents btnnewLicenses As System.Windows.Forms.Button
Friend WithEvents txtNewlicences As System.Windows.Forms.TextBox
Friend WithEvents lblnewlicenses As System.Windows.Forms.Label
End Class

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,112 @@
Imports DD_LIB_Standards
Public Class frmLicense
Dim CLIENT_ID As Integer
Public _lizenzManager As clsLicenseManager
Private Sub btnPW_check_Click(sender As System.Object, e As System.EventArgs) Handles btnPW_check.Click
OpenLicenseManager()
End Sub
Sub OpenLicenseManager()
If Me.txtPW.Text <> "" Then
If Me.txtPW.Text = "35452dd!" Then
Me.grbBoxlicense.Visible = True
Refresh_Licence(False)
Me.lblPW.Visible = False
Me.txtPW.Visible = False
Me.btnPW_check.Visible = False
If DT_CLIENT_USER.Rows.Count > 1 Then
lblClient.Visible = True
cmbClients.Visible = True
Try
cmbClients.DataSource = DT_CLIENT_USER
cmbClients.DisplayMember = DT_CLIENT_USER.Columns("CLIENT_NAME").ColumnName
cmbClients.ValueMember = DT_CLIENT_USER.Columns("CLIENT_ID").ColumnName
Catch ex As Exception
MsgBox("Unexpected Error in Loading Clients: " & ex.Message, MsgBoxStyle.Critical)
End Try
ElseIf DT_CLIENT_USER.Rows.Count = 1 Then
lblClient.Visible = False
cmbClients.Visible = False
CLIENT_ID = DT_CLIENT_USER.Rows(0).Item("CLIENT_ID")
End If
Else
Me.grbBoxlicense.Visible = False
MsgBox("Das eingegebene Passwort stimmt nicht überein!", MsgBoxStyle.Critical, "Falsche Eingabe:")
Me.txtPW.Text = ""
Me.txtPW.Focus()
End If
End If
End Sub
Private Sub btnnewLicenses_Click(sender As System.Object, e As System.EventArgs) Handles btnnewLicenses.Click
Try
_lizenzManager = New clsLicenseManager("#DigitalData35452!#", "")
If Me.txtNewlicences.Text <> "" Then
'Encode the license
Dim result As String = Me._lizenzManager.EncodeLicenseKey(txtNewlicences.Text & "#" & dtpGueltig_GI.Text, "#DigitalData35452!#")
Dim sql As String = String.Format("UPDATE TBDD_CLIENT SET LICENSE_DDCBSEARCHER = '" & result & "' WHERE GUID = {0}", CLIENT_ID)
If clsDatabase.Execute_non_Query(sql) = True Then
Refresh_Licence(True)
End If
'MsgBox("Die Lizenzen wurden erfolgreich aktualisiert!", MsgBoxStyle.Exclamation, "Erfolgsmeldung:")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei New Licenses:")
End Try
End Sub
Sub Refresh_Licence(Neu As Boolean)
Try
clsLicense.Refresh_Licence(CLIENT_ID)
txtNewlicences.Text = LICENSE_COUNT
dtpGueltig_GI.Value = LICENSE_DATE
If Neu = True Then
If CInt(LICENSE_COUNT) > 0 Then
Dim msg As String = "Die Lizenz wurde aktualisiert!" & vbNewLine & Now
If USER_LANGUAGE <> "de-DE" Then
msg = "The license was renewed!" & vbNewLine & Now
End If
MsgBox(msg, MsgBoxStyle.Information, "License renewed:")
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in licensemanager:")
End Try
End Sub
Private Sub frmLicense_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Try
grbBoxlicense.Visible = False
Me.lblPW.Visible = True
Me.txtPW.Visible = True
Me.btnPW_check.Visible = True
Me.txtPW.Text = ""
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei Formular Load:")
End Try
End Sub
Private Sub frmLicense_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
If e.KeyCode = Keys.Return Then
If Me.txtPW.Focus = True Then
OpenLicenseManager()
End If
End If
End Sub
Private Sub cmbClients_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbClients.SelectedIndexChanged
If cmbClients.SelectedIndex <> -1 Then
Try
CLIENT_ID = cmbClients.SelectedValue
Refresh_Licence(False)
Catch ex As Exception
CLIENT_ID = 99
End Try
End If
End Sub
End Class

View File

@ -0,0 +1,98 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmMain
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components)
Me.cmstrpNotifyIcon = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.tsmiChangeState = New System.Windows.Forms.ToolStripMenuItem()
Me.btnUserConfig = New System.Windows.Forms.Button()
Me.TimerTest = New System.Windows.Forms.Timer(Me.components)
Me.cmstrpNotifyIcon.SuspendLayout()
Me.SuspendLayout()
'
'NotifyIcon1
'
Me.NotifyIcon1.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info
Me.NotifyIcon1.BalloonTipText = "Text"
Me.NotifyIcon1.BalloonTipTitle = "Title"
Me.NotifyIcon1.ContextMenuStrip = Me.cmstrpNotifyIcon
Me.NotifyIcon1.Icon = CType(resources.GetObject("NotifyIcon1.Icon"), System.Drawing.Icon)
Me.NotifyIcon1.Text = "Digital Data Clipboard Searcher for windream"
Me.NotifyIcon1.Visible = True
'
'cmstrpNotifyIcon
'
Me.cmstrpNotifyIcon.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiChangeState})
Me.cmstrpNotifyIcon.Name = "cmstrpNotifyIcon"
Me.cmstrpNotifyIcon.Size = New System.Drawing.Size(250, 26)
'
'tsmiChangeState
'
Me.tsmiChangeState.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.StatusAnnotations_Stop_16xLG
Me.tsmiChangeState.Name = "tsmiChangeState"
Me.tsmiChangeState.Size = New System.Drawing.Size(249, 22)
Me.tsmiChangeState.Tag = "stop"
Me.tsmiChangeState.Text = "Überwachung Clipboard stoppen"
'
'btnUserConfig
'
Me.btnUserConfig.Image = CType(resources.GetObject("btnUserConfig.Image"), System.Drawing.Image)
Me.btnUserConfig.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnUserConfig.Location = New System.Drawing.Point(582, 12)
Me.btnUserConfig.Name = "btnUserConfig"
Me.btnUserConfig.Size = New System.Drawing.Size(151, 29)
Me.btnUserConfig.TabIndex = 2
Me.btnUserConfig.Text = "Grundeinstellungen User"
Me.btnUserConfig.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnUserConfig.UseVisualStyleBackColor = True
'
'TimerTest
'
Me.TimerTest.Interval = 10000
'
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(735, 380)
Me.Controls.Add(Me.btnUserConfig)
Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.KeyPreview = True
Me.MaximizeBox = False
Me.Name = "frmMain"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Form1"
Me.cmstrpNotifyIcon.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents btnUserConfig As System.Windows.Forms.Button
Friend WithEvents NotifyIcon1 As System.Windows.Forms.NotifyIcon
Friend WithEvents cmstrpNotifyIcon As System.Windows.Forms.ContextMenuStrip
Friend WithEvents tsmiChangeState As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents TimerTest As System.Windows.Forms.Timer
End Class

View File

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="NotifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="cmstrpNotifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="NotifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAMAEBAQAAEABAAoAQAANgAAABAQAAABAAgAaAUAAF4BAAAQEAAAAQAgAGgEAADGBgAAKAAAABAA
AAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA
AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAD///AP//AAAPf38Pd3fwAP9/f/d3d38A93d3d3/3fwD3d3d3f/d/AP////d3d38AAA
AAD3d38AAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAP//
AADBhwAAwQMAAIABAACAAQAAgAEAAIABAAD/AwAA/4cAAP//AAD//wAA//8AAP//AAAoAAAAEAAAACAA
AAABAAgAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgBNTU0Ab29vAODg4ADm5OUA6+vrAPb2
9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwcHAAAHBwcHAAAAAAAHAQcB
BwAGAwEBAwYAAAAHBwEHAQcHAwEBAQEDBwAABwEBAQEBAQECBQUBAQUAAAcBAQEBAQEBAgUFAQEHAAAH
BwcHBwcHAwEBAQEDBwAAAAAAAAAAAAYDAQEDBgAAAAAAAAAAAAAABwcHBwAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//
AAD//wAAwYcAAMEDAACAAQAAgAEAAIABAACAAQAA/wMAAP+HAAD//wAA//8AAP//AAD//wAAKAAAABAA
AAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2
9v/29vb/9vb2//b29v/29vb/AAAAAPb29lD29vbf9vb2//b29v/29vbf9vb2UAAAAAAAAAAAAAAAAAAA
AAD29vb/QkJC//b29v9CQkL/9vb2//b29lDr6+v/b29v/0JCQv9CQkL/b29v/+vr6//29vZQAAAAAAAA
AAD29vb/9vb2/0JCQv/29vb/QkJC//b29v/29vb/b29v/0JCQv9CQkL/QkJC/0JCQv9vb2//9vb23wAA
AAAAAAAA9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9NTU3/5uTl/+bk5f9CQkL/QkJC/+Dg
4P8AAAAAAAAAAPb29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/TU1N/+bk5f/m5OX/QkJC/0JC
Qv/29vb/AAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/b29v/0JCQv9CQkL/QkJC/0JC
Qv9vb2//9vb23wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2UOvr6/9vb2//QkJC/0JC
Qv9vb2//6+vr//b29lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vZQ9vb23/b2
9v/29vb/9vb23/b29lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAD//wAAwQMAAMAB
AACAAQAAgAEAAIABAACAAQAA/gEAAP8DAAD//wAA//8AAP//AAD//wAA
</value>
</data>
<data name="btnUserConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAJpJREFUOE/dkMENgCAMRR3BUZyBCRyCOwsxFne5c+da+yuSBtGgR5u8hLS/D3Qi
IkFXznllNoYKOK9lLFX3WgGCKSVyzpExRsAZPS15Emx6WUswK7G+gAMzc1k+iTHWmz4JMJMgV1eA4tD3
T0BxaHn4iUuJXQV43hu6Av1k730N46xnQwIQQhDa/rDAWiu0/WHBHX8WvOHYo2kHvfprYU4ZRYMAAAAA
SUVORK5CYII=
</value>
</data>
<metadata name="TimerTest.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>278, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAMAEBAQAAEABAAoAQAANgAAABAQAAABAAgAaAUAAF4BAAAQEAAAAQAgAGgEAADGBgAAKAAAABAA
AAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA
AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAD///AP//AAAPf38Pd3fwAP9/f/d3d38A93d3d3/3fwD3d3d3f/d/AP////d3d38AAA
AAD3d38AAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAP//
AADBhwAAwQMAAIABAACAAQAAgAEAAIABAAD/AwAA/4cAAP//AAD//wAA//8AAP//AAAoAAAAEAAAACAA
AAABAAgAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgBNTU0Ab29vAODg4ADm5OUA6+vrAPb2
9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwcHAAAHBwcHAAAAAAAHAQcB
BwAGAwEBAwYAAAAHBwEHAQcHAwEBAQEDBwAABwEBAQEBAQECBQUBAQUAAAcBAQEBAQEBAgUFAQEHAAAH
BwcHBwcHAwEBAQEDBwAAAAAAAAAAAAYDAQEDBgAAAAAAAAAAAAAABwcHBwAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//
AAD//wAAwYcAAMEDAACAAQAAgAEAAIABAACAAQAA/wMAAP+HAAD//wAA//8AAP//AAD//wAAKAAAABAA
AAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2
9v/29vb/9vb2//b29v/29vb/AAAAAPb29lD29vbf9vb2//b29v/29vbf9vb2UAAAAAAAAAAAAAAAAAAA
AAD29vb/QkJC//b29v9CQkL/9vb2//b29lDr6+v/b29v/0JCQv9CQkL/b29v/+vr6//29vZQAAAAAAAA
AAD29vb/9vb2/0JCQv/29vb/QkJC//b29v/29vb/b29v/0JCQv9CQkL/QkJC/0JCQv9vb2//9vb23wAA
AAAAAAAA9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9NTU3/5uTl/+bk5f9CQkL/QkJC/+Dg
4P8AAAAAAAAAAPb29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/TU1N/+bk5f/m5OX/QkJC/0JC
Qv/29vb/AAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/b29v/0JCQv9CQkL/QkJC/0JC
Qv9vb2//9vb23wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2UOvr6/9vb2//QkJC/0JC
Qv9vb2//6+vr//b29lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vZQ9vb23/b2
9v/29vb/9vb23/b29lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAD//wAAwQMAAMAB
AACAAQAAgAEAAIABAACAAQAA/gEAAP8DAAD//wAA//8AAP//AAD//wAA
</value>
</data>
</root>

View File

@ -0,0 +1,156 @@
Imports System.Threading
Imports DD_LIB_Standards
Public Class frmMain
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
Me.TextBox1.Clear()
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
CLIPBOARD_TEXT = Clipboard.GetText
For Each row As DataRow In DT_USER_PROFILES.Rows
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"))
End If
Else
Exit For
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 = 'DD_CLIPB_SEARCH'"
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_Connected = True Then
Me.NotifyIcon1.Visible = True
Dim sql = String.Format("SELECT T.* FROM TBCBS_PROFILES T, TBCBS_USER_PROFILE T1 WHERE T.GUID = T1.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
TimerTest.Start()
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
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
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) Handles TimerTest.Tick
clsWINDOWSApi.TEST()
End Sub
End Class

View File

@ -0,0 +1,182 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmSplash
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSplash))
Me.Copyright = New System.Windows.Forms.Label()
Me.Version = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.ApplicationTitle = New System.Windows.Forms.Label()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.lblStatus = New System.Windows.Forms.Label()
Me.pbStatus = New System.Windows.Forms.ProgressBar()
Me.PictureBox2 = New System.Windows.Forms.PictureBox()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TableLayoutPanel1.SuspendLayout()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Copyright
'
Me.Copyright.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.Copyright.BackColor = System.Drawing.Color.Transparent
Me.Copyright.Font = New System.Drawing.Font("Segoe UI", 9.0!)
Me.Copyright.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Copyright.Location = New System.Drawing.Point(3, 21)
Me.Copyright.Name = "Copyright"
Me.Copyright.Size = New System.Drawing.Size(185, 21)
Me.Copyright.TabIndex = 2
Me.Copyright.Text = "Copyright"
Me.Copyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'Version
'
Me.Version.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.Version.BackColor = System.Drawing.Color.Transparent
Me.Version.Font = New System.Drawing.Font("Segoe UI", 9.0!)
Me.Version.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Version.Location = New System.Drawing.Point(3, 0)
Me.Version.Name = "Version"
Me.Version.Size = New System.Drawing.Size(185, 21)
Me.Version.TabIndex = 1
Me.Version.Text = "Version {0}.{1:00}"
Me.Version.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!)
Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.Label1.Location = New System.Drawing.Point(299, 102)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(182, 13)
Me.Label1.TabIndex = 12
Me.Label1.Text = "This software is in parts based on:"
'
'ApplicationTitle
'
Me.ApplicationTitle.BackColor = System.Drawing.Color.Transparent
Me.ApplicationTitle.Font = New System.Drawing.Font("Segoe UI", 18.0!)
Me.ApplicationTitle.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.ApplicationTitle.Location = New System.Drawing.Point(12, 4)
Me.ApplicationTitle.Name = "ApplicationTitle"
Me.ApplicationTitle.Size = New System.Drawing.Size(469, 33)
Me.ApplicationTitle.TabIndex = 6
Me.ApplicationTitle.Text = "Anwendungstitel"
Me.ApplicationTitle.TextAlign = System.Drawing.ContentAlignment.BottomLeft
'
'PictureBox1
'
Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
Me.PictureBox1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.PictureBox1.Location = New System.Drawing.Point(304, 118)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(109, 38)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox1.TabIndex = 10
Me.PictureBox1.TabStop = False
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.ColumnCount = 1
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle())
Me.TableLayoutPanel1.Controls.Add(Me.Copyright, 0, 1)
Me.TableLayoutPanel1.Controls.Add(Me.Version, 0, 0)
Me.TableLayoutPanel1.Location = New System.Drawing.Point(304, 51)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 2
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(200, 42)
Me.TableLayoutPanel1.TabIndex = 9
'
'lblStatus
'
Me.lblStatus.AutoSize = True
Me.lblStatus.BackColor = System.Drawing.SystemColors.Control
Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 9.0!)
Me.lblStatus.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.lblStatus.Location = New System.Drawing.Point(9, 157)
Me.lblStatus.Name = "lblStatus"
Me.lblStatus.Size = New System.Drawing.Size(79, 15)
Me.lblStatus.TabIndex = 8
Me.lblStatus.Text = "Statusanzeige"
Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'pbStatus
'
Me.pbStatus.Dock = System.Windows.Forms.DockStyle.Bottom
Me.pbStatus.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.pbStatus.Location = New System.Drawing.Point(0, 179)
Me.pbStatus.Name = "pbStatus"
Me.pbStatus.Size = New System.Drawing.Size(540, 23)
Me.pbStatus.TabIndex = 7
'
'PictureBox2
'
Me.PictureBox2.Image = CType(resources.GetObject("PictureBox2.Image"), System.Drawing.Image)
Me.PictureBox2.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.PictureBox2.Location = New System.Drawing.Point(12, 51)
Me.PictureBox2.Name = "PictureBox2"
Me.PictureBox2.Size = New System.Drawing.Size(276, 103)
Me.PictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage
Me.PictureBox2.TabIndex = 11
Me.PictureBox2.TabStop = False
'
'frmSplash
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(540, 202)
Me.ControlBox = False
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.ApplicationTitle)
Me.Controls.Add(Me.PictureBox1)
Me.Controls.Add(Me.TableLayoutPanel1)
Me.Controls.Add(Me.lblStatus)
Me.Controls.Add(Me.pbStatus)
Me.Controls.Add(Me.PictureBox2)
Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Name = "frmSplash"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "frmSplash"
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.TableLayoutPanel1.ResumeLayout(False)
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Copyright As System.Windows.Forms.Label
Friend WithEvents Version As System.Windows.Forms.Label
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents ApplicationTitle As System.Windows.Forms.Label
Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Friend WithEvents lblStatus As System.Windows.Forms.Label
Friend WithEvents pbStatus As System.Windows.Forms.ProgressBar
Friend WithEvents PictureBox2 As System.Windows.Forms.PictureBox
End Class

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,122 @@
Imports System.ComponentModel
Public NotInheritable Class frmSplash
'TODO: Dieses Formular kann einfach als Begrüßungsbildschirm für die Anwendung festgelegt werden, indem Sie zur Registerkarte "Anwendung"
' des Projekt-Designers wechseln (Menü "Projekt", Option "Eigenschaften").
Private InitSteps As Integer = 6
Private bw As New BackgroundWorker()
Private mainForm As Form
Private Sub frmSplash_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
End Sub
Private Sub frmSplash_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
If e.KeyCode = Keys.Escape Then
ESC_Hidden = True
End If
End Sub
Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Richten Sie den Dialogtext zur Laufzeit gemäß den Assemblyinformationen der Anwendung ein.
'TODO: Die Assemblyinformationen der Anwendung im Bereich "Anwendung" des Dialogfelds für die
' Projekteigenschaften (im Menü "Projekt") anpassen.
'Anwendungstitel
If My.Application.Info.Title <> "" Then
ApplicationTitle.Text = My.Application.Info.Title
Else
'Wenn der Anwendungstitel fehlt, Anwendungsnamen ohne Erweiterung verwenden
ApplicationTitle.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
End If
'Verwenden Sie zum Formatieren der Versionsinformationen den Text, der zur Entwurfszeit in der Versionskontrolle festgelegt wurde, als
' Formatierungszeichenfolge. Dies ermöglicht ggf. eine effektive Lokalisierung.
' Build- und Revisionsinformationen können durch Verwendung des folgenden Codes und durch Ändern
' des Entwurfszeittexts der Versionskontrolle in "Version {0}.{1:00}.{2}.{3}" oder einen ähnlichen Text eingeschlossen werden. Weitere Informationen erhalten Sie unter
' String.Format() in der Hilfe.
'
' Version.Text = System.String.Format(Version.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)
Version.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
'Copyrightinformationen
Copyright.Text = My.Application.Info.Copyright & " " & My.Application.Info.CompanyName
Me.BringToFront()
InitProgram()
End Sub
Private Sub InitProgram()
bw.WorkerReportsProgress = True
AddHandler bw.DoWork, AddressOf bw_DoWork
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
' mainForm = My.Forms.frmMain
bw.RunWorkerAsync()
End Sub
Private Function CalcProgress(_step As Integer)
Return _step * (100 / InitSteps)
End Function
Private Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
Try
Dim Init = New ClassInit()
bw.ReportProgress(CalcProgress(1), "Initializing Logger")
Init.InitLogger()
System.Threading.Thread.Sleep(500)
bw.ReportProgress(CalcProgress(2), "Initializing Database")
Init.InitBasics()
If Init.InitDatabase() = True Then
System.Threading.Thread.Sleep(500)
bw.ReportProgress(CalcProgress(4), "Initializing User-Configuration")
If ClassInit.InitUserLogin = False Then
ERROR_INIT = "INVALID USER"
End If
System.Threading.Thread.Sleep(500)
'bw.ReportProgress(CalcProgress(5), "Initializing Addons")
'Init.InitAddons()
'System.Threading.Thread.Sleep(500)
bw.ReportProgress(CalcProgress(6), "Initializing Frontend")
' InitInterface wurde in frmMain integriert
'Init.InitInterface(mainForm)
System.Threading.Thread.Sleep(500)
Else
ERROR_INIT = "DATABASE"
End If
Catch ex As Exception
MsgBox("Unexpected Error in bw_DoWork: " & vbNewLine, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub bw_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs)
pbStatus.Value = e.ProgressPercentage
lblStatus.Text = e.UserState.ToString()
End Sub
Private Sub bw_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs)
' Bei Fehler MsgBox anzeigen und Programm beenden
If e.Error IsNot Nothing Then
MsgBox(e.Error.Message, MsgBoxStyle.Critical, "Unexpected Error in frmSplash")
Application.Exit()
End If
' Wenn kein Fehler, Splashscreen schließen
Me.Close()
End Sub
End Class

View File

@ -0,0 +1,37 @@
Module modCurrent
Public MyConnectionString As String = ""
Public LogErrorsOnly As Boolean = True
Public USER_LANGUAGE As String = "de-DE"
Public CURRENT_WINDOW_NAME As String
Public CURRENT_USER_SHORT As String
Public USER_USERNAME As String
Public USER_GUID As Integer
Public USER_IS_ADMIN As Boolean = False
Public USERS_LOGGED_IN As Integer
Public LICENSE_COUNT As Integer
Public LICENSE_DATE As Date
Public LICENSE_EXPIRED As Boolean = False
Public DT_CLIENT_USER As DataTable
Public ERROR_INIT As String
Public START_INCOMPLETE As Boolean = False
Public CONNECTION_CHANGED As Boolean = False
Public ESC_Hidden As Boolean = False
Public CURRENT_WD_TEMPSEARCH As String
Public TEMP_FILES As List(Of String) = New List(Of String)
Public WD_UNICODE As Boolean = False
Public DT_USER_PROFILES As DataTable
Public CLIPBOARD_TEXT As String
Public CURR_MATCH_RESULT
Public MONITORING_ACTIVE As Boolean = True
End Module

View File

@ -0,0 +1,115 @@
Imports System.IO
Imports DD_LIB_Standards
Module modMySettings
Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml")
Public Function LoadMyConfig()
Dim rowresult As String = ""
Try
Dim DT As DataTable
'if file doesn't exist, create the file with its default xml table
If Not File.Exists(ConfigPath) Then
DT = CreateConfigTable()
DT.WriteXml(ConfigPath)
End If
DT = GetTablefromXML()
For Each Row As DataRow In DT.Rows
rowresult &= Row.Item("ConfigName")
Select Row.Item("ConfigName")
Case "MyConnectionString"
Dim connstring As String
'Den ConnectonString mit verschlüsseltem PW laden
Dim csb As New SqlClient.SqlConnectionStringBuilder
csb.ConnectionString = Row.Item("Value")
If csb.ConnectionString.Contains("Password=") Then
'SA-Auth
'Jetzt das Passwort entschlüsseln
Dim PWplainText As String
Dim wrapper As New clsEncryption("!35452didalog=")
' DecryptData throws if the wrong password is used.
Try
PWplainText = wrapper.DecryptData(csb.Password)
Catch ex As Exception
clsLogger.Add("- the Password '" & csb.Password & "' could not be decrypted", False)
PWplainText = csb.Password
End Try
connstring = Row.Item("Value").ToString.Replace(csb.Password, PWplainText)
Else
'Win-Auth
connstring = Row.Item("Value").ToString
End If
MyConnectionString = connstring
Case "LogErrorsOnly"
LogErrorsOnly = CBool(Row.Item("Value"))
End Select
Next
Return True
Catch ex As Exception
MsgBox("Error in MySettings-LoadMyConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
Private Function GetTablefromXML()
Try
Dim DS As New DataSet
DS.ReadXml(ConfigPath)
Return DS.Tables(0)
Catch ex As Exception
MsgBox("Error in GetTablefromXML" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
Private Function CreateConfigTable() As DataTable
Try
' Create sample Customers table, in order
' to demonstrate the behavior of the DataTableReader.
Dim table As New DataTable
table.TableName = "MyConfig"
' Create two columns, ID and Name.
Dim idColumn As DataColumn = table.Columns.Add("ID", _
GetType(System.Int32))
idColumn.AutoIncrement = True
idColumn.AutoIncrementSeed = 0
idColumn.AutoIncrementStep = 1
table.Columns.Add("ConfigName", GetType(System.String))
table.Columns.Add("Value", GetType(System.String))
'Set the ID column as the primary key column.
table.PrimaryKey = New DataColumn() {idColumn}
Dim newRow As DataRow = table.NewRow()
newRow("ConfigName") = "MyConnectionString"
newRow("Value") = ""
table.Rows.Add(newRow)
Dim newRow1 As DataRow = table.NewRow()
newRow1("ConfigName") = "LogErrorsOnly"
newRow1("Value") = "True"
table.Rows.Add(newRow1)
table.AcceptChanges()
Return table
Catch ex As Exception
MsgBox("Error in CreateConfigTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
Public Function SaveConfigValue(name As String, value As String)
Try
Dim DT As DataTable
DT = GetTablefromXML()
For Each Row As DataRow In DT.Rows
If Row.Item("ConfigName") = name Then
Row.Item("Value") = value
End If
Next
DT.AcceptChanges()
DT.WriteXml(ConfigPath)
Catch ex As Exception
MsgBox("Error in SaveConfigValue" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
Return True
End Function
End Module

View File

@ -0,0 +1,20 @@
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\bin\Debug\DD_Clipboard_Searcher.exe.config
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\bin\Debug\DD_Clipboard_Searcher.exe
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\bin\Debug\DD_Clipboard_Searcher.pdb
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\bin\Debug\DD_Clipboard_Searcher.xml
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.Resources.resources
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.vbproj.GenerateResource.Cache
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.exe
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.xml
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.pdb
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\bin\Debug\DD_LIB_Standards.dll
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\bin\Debug\DD_LIB_Standards.pdb
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\bin\Debug\DD_LIB_Standards.xml
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.vbprojResolveAssemblyReference.cache
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.frmMain.resources
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.frmConfig_Basic.resources
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.frmSplash.resources
E:\SchreiberM\Visual Studio\GIT\DD_Clipboard_Searcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.frmLicense.resources
E:\SchreiberM\Visual Studio\GIT\DDClipboardSearcher\DD_Clipboard_Searcher\bin\Debug\DD_Clipboard_Searcher.exe.config
E:\SchreiberM\Visual Studio\GIT\DDClipboardSearcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.xml
E:\SchreiberM\Visual Studio\GIT\DDClipboardSearcher\DD_Clipboard_Searcher\obj\Debug\DD_Clipboard_Searcher.pdb

View File

@ -0,0 +1,66 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DD_Clipboard_Searcher
</name>
</assembly>
<members>
<member name="M:DD_Clipboard_Searcher.clsWindowApi.GetTopLevelWindows">
<summary>
Get all top-level window information
</summary>
<returns>List of window information objects</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.GetChildWindows(System.Int32)">
<summary>
Get all child windows for the specific windows handle (hwnd).
</summary>
<returns>List of child windows for parent window</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.EnumWindowProc(System.Int32,System.Int32)">
<summary>
Callback function that does the work of enumerating top-level windows.
</summary>
<param name="hwnd">Discovered Window handle</param>
<returns>1=keep going, 0=stop</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.EnumChildWindowProc(System.Int32,System.Int32)">
<summary>
Callback function that does the work of enumerating child windows.
</summary>
<param name="hwnd">Discovered Window handle</param>
<returns>1=keep going, 0=stop</returns>
</member><member name="M:DD_Clipboard_Searcher.clsWindowApi.GetWindowIdentification(System.Int32)">
<summary>
Build the ApiWindow object to hold information about the Window object.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.control_start_blue">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.folder_Open_16xLG">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.KeyDown_8461">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="P:DD_Clipboard_Searcher.My.Resources.Resources.StatusAnnotations_Stop_16xLG">
<summary>
Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
</summary>
</member><member name="T:DD_Clipboard_Searcher.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
</members>
</doc>