171 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			VB.net
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			VB.net
		
	
	
	
	
	
| Imports Microsoft.Win32
 | |
| Imports System.IO
 | |
| Imports System.Net.NetworkInformation
 | |
| Imports System.Net
 | |
| Imports System.Net.Dns
 | |
| Imports System.net.Mail
 | |
| Imports System.Windows.Forms
 | |
| 
 | |
| Public Class ARINCLASS
 | |
| 
 | |
|     Public Shared Sub SaveLoad_FrmSetting(ByVal Frm As Form, ByRef LastPos As Short, Optional ByVal Save As Boolean = False, Optional ByVal RestoreStatus As Boolean = False)
 | |
|         '//폼의 상태를 저장합니다.
 | |
|         'If Frm.FormBorderStyle <> FormBorderStyle.Sizable AndAlso Frm.FormBorderStyle <> FormBorderStyle.SizableToolWindow Then Return
 | |
| 
 | |
|         Dim Width As Short
 | |
|         Dim Height As Short
 | |
|         Dim State As Short
 | |
|         Dim Left, Top As Short
 | |
|         If Save Then
 | |
|             Dim INI As New MyINI(My.Application.Info.DirectoryPath & "\Frm_Setting.ini")
 | |
|             INI.Write(Frm.Name, "state", Frm.WindowState)
 | |
|             INI.Write(Frm.Name, "width", Frm.Width)
 | |
|             INI.Write(Frm.Name, "height", Frm.Height)
 | |
|             INI.Write(Frm.Name, "left", Frm.Left)
 | |
|             INI.Write(Frm.Name, "top", Frm.Top)
 | |
|             INI.Write(Frm.Name, "LastPos", LastPos)
 | |
|         Else
 | |
|             Dim INI As New MyINI(My.Application.Info.DirectoryPath & "\Frm_Setting.ini")
 | |
|             If Frm.WindowState = FormWindowState.Normal Then
 | |
|                 Width = INI.Read(Frm.Name, "width", 0)
 | |
|                 Height = INI.Read(Frm.Name, "height", 0)
 | |
|                 State = INI.Read(Frm.Name, "state", -1)
 | |
|                 Left = INI.Read(Frm.Name, "left", 0)
 | |
|                 Top = INI.Read(Frm.Name, "top", 0)
 | |
|                 LastPos = INI.Read(Frm.Name, "LastPos", 0)
 | |
|                 If Width <> 0 Then Frm.Width = Width
 | |
|                 If Height <> 0 Then Frm.Height = Height
 | |
|                 If RestoreStatus Then If State <> -1 Then Frm.WindowState = State
 | |
|                 If Left <> 0 Then Frm.Left = Left
 | |
|                 If Top <> 0 Then Frm.Top = Top
 | |
|             End If
 | |
|         End If
 | |
|     End Sub
 | |
|     Public Shared Function Read_LastPos_Frm(ByVal Frm As Form) As Short
 | |
|         '//폼의 상태를 저장합니다.
 | |
|         'If Frm.FormBorderStyle <> FormBorderStyle.Sizable AndAlso Frm.FormBorderStyle <> FormBorderStyle.SizableToolWindow Then Return
 | |
|         Dim INI As New MyINI(My.Application.Info.DirectoryPath & "\Frm_Setting.ini")
 | |
|         Return INI.Read(Frm.Name, "LastPos", 0)
 | |
|     End Function
 | |
|     Public Shared Function Read_LastPos_Frm(ByVal FrmName As String) As Short
 | |
|         '//폼의 상태를 저장합니다.
 | |
|         'If Frm.FormBorderStyle <> FormBorderStyle.Sizable AndAlso Frm.FormBorderStyle <> FormBorderStyle.SizableToolWindow Then Return
 | |
|         Dim INI As New MyINI(My.Application.Info.DirectoryPath & "\Frm_Setting.ini")
 | |
|         Return INI.Read(FrmName, "LastPos", 0)
 | |
|     End Function
 | |
|     Public Shared Sub Save_LastPos_Frm(ByVal FrmName As String, ByVal LastPos As Short)
 | |
|         '//폼의 상태를 저장합니다.
 | |
|         'If Frm.FormBorderStyle <> FormBorderStyle.Sizable AndAlso Frm.FormBorderStyle <> FormBorderStyle.SizableToolWindow Then Return
 | |
|         Dim INI As New MyINI(My.Application.Info.DirectoryPath & "\Frm_Setting.ini")
 | |
|         INI.Write(FrmName, "LastPos", LastPos)
 | |
|     End Sub
 | |
| 
 | |
|     Public Shared Function Read_LastZone(ByVal FrmName As String) As String
 | |
|         '//폼의 상태를 저장합니다.
 | |
|         'If Frm.FormBorderStyle <> FormBorderStyle.Sizable AndAlso Frm.FormBorderStyle <> FormBorderStyle.SizableToolWindow Then Return
 | |
|         Dim INI As New MyINI(My.Application.Info.DirectoryPath & "\Frm_Setting.ini")
 | |
|         Return INI.Read(FrmName, "LastZone", "")
 | |
|     End Function
 | |
|     Public Shared Sub Save_LastZone(ByVal FrmName As String, ByVal LastPos As String)
 | |
|         '//폼의 상태를 저장합니다.
 | |
|         'If Frm.FormBorderStyle <> FormBorderStyle.Sizable AndAlso Frm.FormBorderStyle <> FormBorderStyle.SizableToolWindow Then Return
 | |
|         Dim INI As New MyINI(My.Application.Info.DirectoryPath & "\Frm_Setting.ini")
 | |
|         INI.Write(FrmName, "LastZone", LastPos)
 | |
|     End Sub
 | |
| 
 | |
| 
 | |
| 
 | |
|     Public Shared Sub NOTICE(ByVal MSG As String, ByVal Src As Object)
 | |
|         On Error Resume Next
 | |
|         If Src.GetType.Name.ToUpper = "TOOLSTRIPSTATUSLABEL" Then
 | |
|             CType(Src, Windows.Forms.ToolStripStatusLabel).Text = "▶ " & MSG & Space(1)
 | |
|         ElseIf Src.GetType.Name.ToUpper = "LABEL" Then
 | |
|             CType(Src, Windows.Forms.Label).Text = "▶ " & MSG & Space(1)
 | |
|         End If
 | |
|     End Sub
 | |
|     Public Shared Sub NOTICE(ByVal MSG As String, ByVal FCOLOR As Drawing.Color, ByVal Src As Windows.Forms.ToolStripStatusLabel)
 | |
|         Src.Text = "▶ " & MSG & Space(1)
 | |
|         Src.ForeColor = FCOLOR
 | |
|     End Sub
 | |
|     Public Shared Sub NOTICE(ByVal MSG As String, ByVal Src As Windows.Forms.ToolStripStatusLabel, ByVal FCOLOR As Drawing.Color)
 | |
|         Src.Text = "▶ " & MSG & Space(1) & "[" & Format(Now, "HH시mm분ss초") & "]"
 | |
|         Src.ForeColor = FCOLOR
 | |
|         If FCOLOR = Drawing.Color.Red Then My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)
 | |
|     End Sub
 | |
| 
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' 폼을 표시합니다.
 | |
|     ''' </summary>
 | |
|     ''' <param name="fForm"></param>
 | |
|     ''' <param name="MdiMainForm"></param>
 | |
|     ''' <param name="MODALFORM"></param>
 | |
|     ''' <param name="Fstate"></param>
 | |
|     ''' <remarks></remarks>
 | |
|     Public Shared Sub ShowForm(ByVal fForm As System.Windows.Forms.Form, ByVal MdiMainForm As System.Windows.Forms.Form, Optional ByVal MODALFORM As Boolean = False, Optional ByVal Fstate As System.Windows.Forms.FormWindowState = System.Windows.Forms.FormWindowState.Normal)
 | |
|         Dim objForms As System.Windows.Forms.Form
 | |
|         Dim ALREADY As Boolean = False
 | |
| 
 | |
|         If MdiMainForm Is Nothing Then
 | |
|             If MODALFORM Then
 | |
|                 fForm.ShowDialog()
 | |
|             Else
 | |
|                 fForm.Show()
 | |
|             End If
 | |
|             fForm.Activate()
 | |
|             Return
 | |
|         End If
 | |
| 
 | |
|         Try
 | |
|             For Each objForms In MdiMainForm.MdiChildren
 | |
|                 If objForms.Name = fForm.Name Then
 | |
|                     ALREADY = True
 | |
|                     'fForm.Dispose()
 | |
|                     'fForm = Nothing
 | |
|                     objForms.Focus()
 | |
|                     Return
 | |
|                 End If
 | |
|             Next
 | |
|         Catch ex As Exception
 | |
| 
 | |
|         End Try
 | |
| 
 | |
|         If ALREADY = False Then
 | |
|             With fForm
 | |
|                 If MdiMainForm Is Nothing Then
 | |
|                     MsgBox("MDI 부모폼이 존재하지않습니다", MsgBoxStyle.Critical, "error")
 | |
|                 Else
 | |
|                     If Not MdiMainForm Is Nothing Then
 | |
|                         .MdiParent = MdiMainForm
 | |
|                         '.StartPosition = FormStartPosition.CenterParent
 | |
|                     End If
 | |
|                     .WindowState = Fstate
 | |
|                     If MODALFORM Then
 | |
|                         .ShowDialog()
 | |
|                     Else
 | |
|                         .Show()
 | |
|                     End If
 | |
|                 End If
 | |
|             End With
 | |
|         End If
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' 동일한 프로세스가 존재하는지 확인합니다.
 | |
|     ''' </summary>
 | |
|     ''' <returns></returns>
 | |
|     ''' <remarks></remarks>
 | |
|     Public Function PrevInstance() As Boolean
 | |
|         If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
 | |
|             Return True
 | |
|         Else
 | |
|             Return False
 | |
|         End If
 | |
|     End Function
 | |
| 
 | |
| End Class
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | 
