2019-09-29 12:45:23 +00:00
Imports System . Text . RegularExpressions
Module RemoteAppFunction
Public Sub ValidateInteger ( TheTextBox As TextBox )
Dim cloc = TheTextBox . SelectionStart
TheTextBox . Text = Val ( TheTextBox . Text )
TheTextBox . Select ( TheTextBox . Text . Length , 0 )
TheTextBox . Select ( cloc , 0 )
End Sub
Public Sub ValidatePort ( TheTextBox As TextBox )
Dim cloc = TheTextBox . SelectionStart
If Val ( TheTextBox . Text ) > 65535 Then
TheTextBox . Text = " 65535 "
cloc = TheTextBox . Text . Length
End If
TheTextBox . Text = Val ( TheTextBox . Text )
TheTextBox . Select ( TheTextBox . Text . Length , 0 )
TheTextBox . Select ( cloc , 0 )
End Sub
Public Sub ValidateSeconds ( TheTextBox As TextBox )
Dim cloc = TheTextBox . SelectionStart
If Val ( TheTextBox . Text ) > 2147483 Then
TheTextBox . Text = 2147483
cloc = TheTextBox . Text . Length
End If
TheTextBox . Text = Val ( TheTextBox . Text )
TheTextBox . Select ( TheTextBox . Text . Length , 0 )
TheTextBox . Select ( cloc , 0 )
End Sub
Public Sub ValidateAppName ( TheTextBox As TextBox )
ValidateTextBoxR ( TheTextBox , " [^\p{L}0-9\-_ "" "" ] " )
End Sub
Private Sub ValidateTextBoxR ( TheTextBox As TextBox , regex As String )
Dim cloc = TheTextBox . SelectionStart
Dim rx As New Regex ( regex )
If ( rx . IsMatch ( TheTextBox . Text ) ) Then
TheTextBox . Text = rx . Replace ( TheTextBox . Text , " " )
TheTextBox . Select ( cloc - 1 , 0 )
Else
TheTextBox . Select ( cloc , 0 )
End If
End Sub
Public Function FixShortAppName ( TheText As String )
If TheText <> " " Then
Dim rx As New Regex ( " [^\p{L}0-9\-_ "" "" ] " )
If ( rx . IsMatch ( TheText ) ) Then
TheText = rx . Replace ( TheText , " " )
End If
End If
TheText = TheText . Trim
Return TheText
End Function
Public Sub ValidateDNSname ( ByVal TheTextBox As TextBox )
' pattern matches any character that is NOT A-Z (allows upper and lower case alphabets)
2019-10-28 19:15:42 +00:00
Dim rx As New Regex ( " [^\p{L}LlUu0-9\-\._] " )
2019-09-29 12:45:23 +00:00
If ( rx . IsMatch ( TheTextBox . Text ) ) Then
TheTextBox . Text = rx . Replace ( TheTextBox . Text , " " )
TheTextBox . Select ( TheTextBox . Text . Length , 0 )
End If
End Sub
Public Sub ValidateFileType ( ByVal TheTextBox As TextBox )
' pattern matches any character that is NOT A-Z (allows upper and lower case alphabets)
Dim rx As New Regex ( " [^\p{L}0-9\-_\!\@\#\$\%\^\&\(\)\{\}\[\]\+\=\;\,\'] " )
If ( rx . IsMatch ( TheTextBox . Text ) ) Then
TheTextBox . Text = rx . Replace ( TheTextBox . Text , " " )
TheTextBox . Select ( TheTextBox . Text . Length , 0 )
End If
End Sub
Public Function GetAppBitmap ( RemoteAppShortName As String )
On Error Resume Next
Dim AppKey As String = " SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications " & " \ " & RemoteAppShortName
Dim TheRegKey = My . Computer . Registry . LocalMachine . OpenSubKey ( AppKey )
Dim TheIcon = ReturnIcon ( " " , 0 ) . ToBitmap
If Not TheRegKey Is Nothing Then
Dim IconPath = TheRegKey . GetValue ( " IconPath " , " " )
Dim IconIndex = TheRegKey . GetValue ( " IconIndex " , " " )
TheIcon = ReturnIcon ( IconPath , IconIndex ) . ToBitmap
End If
Return TheIcon
End Function
Private Declare Function GetSystemDirectory Lib " kernel32 " Alias " GetSystemDirectoryA " ( ByVal lpBuffer As String , ByVal nSize As Long ) As Long
Public Function GetSysDir ( ) As String
Return Environment . SystemDirectory . ToString
End Function
Public Sub DeleteFiles ( FilesArray As ArrayList )
For Each dFile In FilesArray
2019-11-13 19:09:43 +00:00
Dim LockCheck As New LockChecker . LockChecker ( )
Dim FileLocked As String
Dim SkipFile As Boolean = False
FileLocked = LockCheck . CheckLock ( dFile )
While Not ( FileLocked = " No locks " )
If ( MessageBox . Show ( " The file " + dFile + " is currently locked. Lock information: " + FileLocked + vbNewLine + " Do you want to try again? " , " File Locked " , MessageBoxButtons . YesNo ) = DialogResult . Yes ) Then
FileLocked = LockCheck . CheckLock ( dFile )
Else
MessageBox . Show ( " The following file will not be deleted: " + vbNewLine + dFile )
SkipFile = True
FileLocked = " No locks "
End If
End While
If Not ( SkipFile ) Then
If My . Computer . FileSystem . FileExists ( dFile ) Then My . Computer . FileSystem . DeleteFile ( dFile )
End If
2019-09-29 12:45:23 +00:00
Next
End Sub
Public Function GetEXETitle ( exePath As String )
Dim pname = System . Diagnostics . FileVersionInfo . GetVersionInfo ( exePath ) . FileDescription
If pname = " " Then pname = Left ( My . Computer . FileSystem . GetFileInfo ( exePath ) . Name , My . Computer . FileSystem . GetFileInfo ( exePath ) . Name . Length - 4 )
Return pname
End Function
End Module