4 Commits

Author SHA1 Message Date
Jonathan Jenne
130c095056 reduce obsolete logging statements 2019-10-24 16:35:41 +02:00
Jonathan Jenne
0023ca3ab7 add context menu icons for documentresultlist 2019-10-24 16:35:21 +02:00
Jonathan Jenne
427a8496ce migrate baseerrorhandler from clientsuite 2019-10-24 16:34:54 +02:00
Jonathan Jenne
660231325c improve logging in profile filter 2019-10-24 16:34:32 +02:00
13 changed files with 226 additions and 155 deletions

View File

@@ -84,6 +84,7 @@ Public Class ProfileFilter
Dim oMatch = oRegex.Match(ClipboardContents)
If oMatch.Success Then
_Logger.Debug("FilterProfilesByClipboardRegex: Clipboard Regex Matched: {0}", ClipboardContents)
_Logger.Info("Profile {0} matched!", oProfile.Name)
oFilteredProfiles.Add(oProfile)
oProfile.IsMatched = True
@@ -104,10 +105,6 @@ Public Class ProfileFilter
For Each oProfile In Profiles
Dim oGuid = oProfile.Guid
If oProfile.IsMatched = False Then
Continue For
End If
Dim oProcesses As New List(Of ProcessData)
For Each oProcessDef As ProcessData In oProfile.Processes
If oProcessDef.PROFILE_ID <> oGuid Then
@@ -121,11 +118,13 @@ Public Class ProfileFilter
oParent.Nodes.Add(oNode)
End If
_Logger.Debug($"FilterProfilesByProcess: Checking Profile: {oProfile.Name} ...")
_Logger.Debug($"FilterProfilesByProcess: Checking Profile: {oProfile.Name}")
If oIsMatch Then
_Logger.Debug($"Yes...Processname Matched: {oProcessDef.ProcessName}")
'TODO: Add Debug Data
_Logger.Debug($"Processname Matched: {oProcessDef.ProcessName}")
oFilteredProfiles.Add(oProfile)
_Logger.Info("Profile {0} matched!", oProfile.Name)
oProfile.MatchedProcessID = oProcessDef.Guid
oProcessDef.IsMatched = True
oProcesses.Add(oProcessDef)
@@ -151,9 +150,16 @@ Public Class ProfileFilter
For Each oProfile As ProfileData In Profiles
_Logger.Debug("Checking WindowDefinition for profile: {0}...", oProfile.Name)
If oProfile.IsMatched = False Then Continue For
Dim oWindows As New List(Of WindowData)
' If Profile has no windows at all, it automatically matches
If oProfile.Windows.Count = 0 Then
oProfile.IsMatched = True
oProfiles.Add(oProfile)
Continue For
End If
For Each oWindowDef As WindowData In oProfile.Windows
If oWindowDef.WindowProcessID <> oProfile.MatchedProcessID Then Continue For
Try
@@ -186,10 +192,13 @@ Public Class ProfileFilter
End Try
Next
' If Profile has windows that matched, the profile matches
If oWindows.Count > 0 Then
oProfile.Windows = oWindows
oProfile.IsMatched = True
oProfiles.Add(oProfile)
_Logger.Info("Profile {0} matched!", oProfile.Name)
End If
Next
@@ -201,8 +210,7 @@ Public Class ProfileFilter
Dim oWindow As New Window(_LogConfig)
For Each oProfile In Profiles
If oProfile.IsMatched = False Then Continue For
' If Profile has no controls at all, it automatically matches
If oProfile.Controls.Count = 0 Then
oFilteredProfiles.Add(oProfile)
Continue For
@@ -246,13 +254,15 @@ Public Class ProfileFilter
End If
Next
' If Profile has controls that matched, the profile matches
If oControls.Count > 0 Then
oProfile.Controls = oControls
oFilteredProfiles.Add(oProfile)
_Logger.Info("Profile {0} matched!", oProfile.Name)
End If
Next
Return oFilteredProfiles
End Function
@@ -320,10 +330,14 @@ Public Class ProfileFilter
End Try
Next
If oResultData > 0 Or oResultDocs > 0 Then
oProfile.CountData = oResultData
oProfile.CountDocs = oResultDocs
oProfile.CountData = oResultData
oProfile.CountDocs = oResultDocs
Next
For Each oProfile In Profiles
If oProfile.CountData > 0 Or oProfile.CountDocs > 0 Then
oProfiles.Add(oProfile)
_Logger.Info("Profile {0} matched!", oProfile.Name)
End If
Next
@@ -368,6 +382,8 @@ Public Class ProfileFilter
If oWindows.Count > 0 Then
oProfile.Windows = oWindows
oProfiles.Add(oProfile)
_Logger.Info("Profile {0} matched!", oProfile.Name)
End If
Next

View File

@@ -25,6 +25,8 @@ Public Class ProfileMatch
End Function
Public Function NewProfileNode(Profile As ProfileData) As TreeNode
_Logger.Debug("New Profile Node for Profile {0}", Profile.Name)
Dim oNode As New TreeNode() With {
.Text = $"Profile: {Profile.Name}",
.ImageIndex = ProfileFilter.ImageIndex.Profile,
@@ -35,8 +37,9 @@ Public Class ProfileMatch
End Function
Public Function NewClipboardRegexNode(Profile As ProfileData, IsMatch As Boolean) As TreeNode
Dim oText = $"{GetMatchText(IsMatch)} on Global Clipboard Regex {Profile.Regex}"
_Logger.Debug("New Clipboard Regex Node for Profile {0}", Profile.Name)
Dim oText = $"{GetMatchText(IsMatch)} on Global Clipboard Regex {Profile.Regex}"
Dim oNode As New TreeNode() With {
.Text = oText,
.ImageIndex = ProfileFilter.ImageIndex.Clipboard,
@@ -47,9 +50,10 @@ Public Class ProfileMatch
Return oNode
End Function
Public Function NewProcessNode(Profile As ProfileData, Process As ProcessData, IsMatch As Boolean) As TreeNode
_Logger.Debug("New Process Node for Profile {0} and ProcessName {1}", Profile.Name, Process.ProcessName)
Dim oMatchText = IIf(IsMatch, "MATCH", "NO MATCH")
Dim oText = $"{GetMatchText(IsMatch)} on ProcessName {Process.ProcessName}"
Dim oNode As New TreeNode() With {
.Text = oText,
.ImageIndex = ProfileFilter.ImageIndex.Process,
@@ -61,9 +65,10 @@ Public Class ProfileMatch
End Function
Public Function NewWindowNode(Profile As ProfileData, Window As WindowData, IsMatch As Boolean) As TreeNode
_Logger.Debug("New Window Node for Profile {0} and WindowTitle {1}", Profile.Name, Window.Title)
Dim oMatchText = IIf(IsMatch, "MATCH", "NO MATCH")
Dim oText = $"{GetMatchText(IsMatch)} on WindowTitle {Window.Title}"
Dim oNode As New TreeNode() With {
.Text = oText,
.ImageIndex = ProfileFilter.ImageIndex.Window,
@@ -75,6 +80,8 @@ Public Class ProfileMatch
End Function
Public Function NewControlNode(Profile As ProfileData, Control As ControlData, IsMatch As Boolean) As TreeNode
_Logger.Debug("New Control Node for Profile {0} and Control {1}", Profile.Name, Control.Description)
Dim oMatchText = IIf(IsMatch, "MATCH", "NO MATCH")
Dim oText = $"{GetMatchText(IsMatch)} on Control {Control.Description}: {IsMatch.ToString}"

View File

@@ -0,0 +1,103 @@
Imports System.Reflection
Imports System.Windows.Forms
Imports DigitalData.Modules.Logging
Namespace Base
Public Class BaseErrorHandler
Private _LogConfig As LogConfig
Private _Logger As Logger
Private _Form As Form
Private Const UNKNOWN_METHOD = "Unknown Method"
Private Const UNKNOWN_FORM = "Unknown Form"
Public Sub New(LogConfig As LogConfig, Logger As Logger, Form As Form)
_LogConfig = LogConfig
_Logger = Logger
_Form = Form
End Sub
Public Sub ShowErrorMessage(Exception As Exception)
_Logger.Error(Exception)
MessageBox.Show(GetMessage(Exception), _Form.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Sub
Public Sub ShowInfoMessage(Text As String)
_Logger.Info(Text)
MessageBox.Show(Text, _Form.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
Private Function GetMessage(Exception As Exception) As String
Dim oTargetSite = Exception.TargetSite
Dim oMethodName = GetMethodName(Exception)
Dim oFormName = GetFormName(Exception)
Dim oMessage As String = String.Empty
If TypeOf Exception Is SqlClient.SqlException Then
Dim oNumber As Integer = DirectCast(Exception, SqlClient.SqlException).Number
Select Case oNumber
Case 2627
oMessage = "Es wurde ein Doppelter Wert in eine Spalte eingetragen, die einzigartig sein muss."
End Select
ElseIf TypeOf Exception Is NoNullAllowedException Then
oMessage = "Einige benötigte Felder wurde nicht ausgefüllt."
Else
oMessage = $"Es ist ein unerwarteter Fehler in {oFormName}/{oMethodName} aufgetreten. Mehr Informationen finden Sie im Log."
End If
If _LogConfig.Debug Then
oMessage &= vbNewLine & vbNewLine & "== Debug Informationen =="
oMessage &= vbNewLine & vbNewLine & "Die ursprüngliche Fehlermeldung lautet:"
oMessage &= vbNewLine & Exception.Message
oMessage &= vbNewLine & vbNewLine & "Stacktrace:"
oMessage &= vbNewLine & Exception.StackTrace
End If
Return oMessage
End Function
'Private Function GetMessage(Exception As Exception) As String
' Dim oTargetSite = Exception.TargetSite
' Dim oMethodName = GetMethodName(Exception)
' Dim oFormName = GetFormName(Exception)
' Dim oMessage As String = String.Empty
' oMessage &= $"Form: {oFormName}{vbNewLine}"
' oMessage &= $"Method: {oMethodName}{vbNewLine}"
' If Not String.IsNullOrEmpty(Exception.StackTrace) Then
' oMessage &= $"Message: {Exception.Message}{vbNewLine}{vbNewLine}"
' End If
' If Not String.IsNullOrEmpty(Exception.StackTrace) Then
' oMessage &= $"Stacktrace: {Exception.StackTrace}{vbNewLine}"
' End If
' oMessage &= $"{vbNewLine}"
' oMessage &= $"Please report this error to error@digitaldata.works"
' Return oMessage
'End Function
Private Function GetMethodName(Exception As Exception) As String
Dim oMethodName = Exception.TargetSite?.Name
If oMethodName Is Nothing Then
Return UNKNOWN_METHOD
Else
Return oMethodName
End If
End Function
Private Function GetFormName(Exception As Exception) As String
Dim oFormName = Exception.TargetSite?.ReflectedType?.Name
If oFormName Is Nothing Then
Return UNKNOWN_FORM
Else
Return oFormName
End If
End Function
End Class
End Namespace

View File

@@ -1,72 +0,0 @@
Imports System.Reflection
Imports System.Windows.Forms
Imports DigitalData.Modules.Logging
Namespace Base
Public Class BaseErrorHandler
Private _Logger As Logger
Private _Form As Form
Private Const UNKNOWN_METHOD = "Unknown Method"
Private Const UNKNOWN_FORM = "Unknown Form"
Public Sub New(Logger As Logger, Form As Form)
_Logger = Logger
_Form = Form
End Sub
Public Sub ShowErrorMessage(Exception As Exception)
_Logger.Error(Exception)
MessageBox.Show(GetMessage(Exception), _Form.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Sub
Public Sub ShowInfoMessage(Text As String)
_Logger.Info(Text)
MessageBox.Show(Text, _Form.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
Private Function GetMessage(Exception As Exception) As String
Dim oTargetSite = Exception.TargetSite
Dim oMethodName = GetMethodName(Exception)
Dim oFormName = GetFormName(Exception)
Dim oMessage As String = String.Empty
oMessage &= $"Form: {oFormName}{vbNewLine}"
oMessage &= $"Method: {oMethodName}{vbNewLine}"
If Not String.IsNullOrEmpty(Exception.StackTrace) Then
oMessage &= $"Message: {Exception.Message}{vbNewLine}{vbNewLine}"
End If
If Not String.IsNullOrEmpty(Exception.StackTrace) Then
oMessage &= $"Stacktrace: {Exception.StackTrace}{vbNewLine}"
End If
oMessage &= $"{vbNewLine}"
oMessage &= $"Please report this error to error@digitaldata.works"
Return oMessage
End Function
Private Function GetMethodName(Exception As Exception) As String
Dim oMethodName = Exception.TargetSite?.ReflectedType?.Name
If oMethodName Is Nothing Then
Return UNKNOWN_METHOD
Else
Return oMethodName
End If
End Function
Private Function GetFormName(Exception As Exception) As String
Dim oFormName = Exception.TargetSite?.ReflectedType?.ReflectedType?.Name
If oFormName Is Nothing Then
Return UNKNOWN_FORM
Else
Return oFormName
End If
End Function
End Class
End Namespace

View File

@@ -12,8 +12,6 @@ Namespace Base
'''
''' ...
''' End Class
'''
''' Only BaseRibbonForms can have panels attached to it!
''' </summary>
Public Class BaseRibbonForm
Inherits RibbonForm
@@ -27,37 +25,9 @@ Namespace Base
End Get
End Property
''' <summary>
''' Sets or gets the ribbon Page that will be shown when the window is visible
''' </summary>
''' <returns></returns>
Public Property DefaultRibbonPage As RibbonPage
Protected Overrides Sub OnLoad(e As EventArgs)
MyBase.OnLoad(e)
If DefaultRibbonPage IsNot Nothing Then
Ribbon.SelectPage(DefaultRibbonPage)
End If
Public Sub New()
End Sub
Protected Overrides Sub OnVisibleChanged(e As EventArgs)
MyBase.OnVisibleChanged(e)
If Visible And DefaultRibbonPage IsNot Nothing Then
Ribbon.SelectPage(DefaultRibbonPage)
End If
End Sub
Protected Overrides Sub OnActivated(e As EventArgs)
MyBase.OnVisibleChanged(e)
If Visible And DefaultRibbonPage IsNot Nothing Then
Ribbon.SelectPage(DefaultRibbonPage)
End If
End Sub
Public Sub New(LogConfig As LogConfig)
' Get the full name of the inheriting form
' so the log messages have the right classname
@@ -65,19 +35,21 @@ Namespace Base
' My.LogConfig is undefined in the designer
_Logger = LogConfig?.GetLogger(oClassName)
_ErrorHandler = New BaseErrorHandler(_Logger, Me)
_ErrorHandler = New BaseErrorHandler(LogConfig, _Logger, Me)
' When you add something, be careful if it
' depends on a global var like My.LogConfig
' you might need to check for its existence with ?
End Sub
''' ============== PUBLIC METHODS ==============
Public Sub ShowErrorMessage(Exception As Exception)
_ErrorHandler.ShowErrorMessage(Exception)
End Sub
Public Sub ShowErrorMessage(ErrorMessage As String)
_ErrorHandler.ShowErrorMessage(New Exception(ErrorMessage))
_ErrorHandler.ShowErrorMessage(New ApplicationException(ErrorMessage))
End Sub
End Class
End Namespace

View File

@@ -91,7 +91,7 @@
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="Base\BaseMessageBox.vb" />
<Compile Include="Base\BaseErrorHandler.vb" />
<Compile Include="Base\BaseRibbonForm.vb">
<SubType>Form</SubType>
</Compile>
@@ -214,5 +214,14 @@
<ItemGroup>
<None Include="Resources\png.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Article_32x32.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Open_32x32.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Copy_32x32.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@@ -223,22 +223,25 @@ Partial Class frmDocumentResultList
'
Me.ContextMenuGrid.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiÖffnenToolStripMenuItem, Me.OrdnerÖffnenToolStripMenuItem, Me.PfadInZwischenablageKopierenToolStripMenuItem})
Me.ContextMenuGrid.Name = "ContextMenuGrid"
Me.ContextMenuGrid.Size = New System.Drawing.Size(200, 70)
Me.ContextMenuGrid.Size = New System.Drawing.Size(200, 92)
'
'DateiÖffnenToolStripMenuItem
'
Me.DateiÖffnenToolStripMenuItem.Image = Global.DigitalData.GUIs.Common.My.Resources.Resources.Article_32x32
Me.DateiÖffnenToolStripMenuItem.Name = "DateiÖffnenToolStripMenuItem"
Me.DateiÖffnenToolStripMenuItem.Size = New System.Drawing.Size(199, 22)
Me.DateiÖffnenToolStripMenuItem.Text = "Datei öffnen"
'
'OrdnerÖffnenToolStripMenuItem
'
Me.OrdnerÖffnenToolStripMenuItem.Image = Global.DigitalData.GUIs.Common.My.Resources.Resources.Open_32x32
Me.OrdnerÖffnenToolStripMenuItem.Name = "OrdnerÖffnenToolStripMenuItem"
Me.OrdnerÖffnenToolStripMenuItem.Size = New System.Drawing.Size(199, 22)
Me.OrdnerÖffnenToolStripMenuItem.Text = "Ordner öffnen"
'
'PfadInZwischenablageKopierenToolStripMenuItem
'
Me.PfadInZwischenablageKopierenToolStripMenuItem.Image = Global.DigitalData.GUIs.Common.My.Resources.Resources.Copy_32x32
Me.PfadInZwischenablageKopierenToolStripMenuItem.Name = "PfadInZwischenablageKopierenToolStripMenuItem"
Me.PfadInZwischenablageKopierenToolStripMenuItem.Size = New System.Drawing.Size(199, 22)
Me.PfadInZwischenablageKopierenToolStripMenuItem.Text = "Pfad in Zwischenablage"

View File

@@ -80,6 +80,26 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Article_32x32() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Article_32x32", 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 Copy_32x32() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Copy_32x32", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@@ -120,6 +140,16 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Open_32x32() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Open_32x32", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>

View File

@@ -118,23 +118,8 @@
<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="doc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\doc.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dwg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dwg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dxf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dxf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="jpg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\jpg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="png" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\png.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Open_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Open_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ppt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ppt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -142,16 +127,40 @@
<data name="tiff" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\tiff.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="txt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\txt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="pdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xls" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_blank" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="jpg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\jpg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_page" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\_page.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dwg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dwg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="doc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\doc.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="txt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\txt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="png" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\png.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_blank" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xls" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dxf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dxf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Article_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Article_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Copy_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Copy_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

View File

@@ -57,15 +57,11 @@ Public Class Window
''' </summary>
Public Function GetWindowInfo(ByVal hWnd As IntPtr) As WindowInfo
Try
_Logger.Debug("Getting Window Info")
Dim oPID As Integer = 0
Dim oTitleLength As Int32 = NativeMethods.GetWindowTextLength(hWnd)
Dim oWindowTitle As String = StrDup(oTitleLength + 1, "*")
Dim oClassBuilder As New StringBuilder(64)
_Logger.Debug("Getting Window Text and PID")
NativeMethods.GetWindowText(hWnd, oWindowTitle, oTitleLength + 1)
NativeMethods.GetWindowThreadProcessId(hWnd, oPID)
@@ -79,8 +75,6 @@ Public Class Window
Return Nothing
End If
_Logger.Debug("Getting Class Name")
NativeMethods.GetClassName(hWnd, oClassBuilder, 64)
Return New WindowInfo With {