130 lines
5.1 KiB
VB.net
130 lines
5.1 KiB
VB.net
Imports System.Globalization
|
|
Imports System.Runtime.InteropServices
|
|
Imports System.Text
|
|
|
|
Public Module GenInterface
|
|
|
|
'-------------------------------- IniFile : Get --------------------------------------------------
|
|
<DllImport("kernel32.dll", CharSet:=CharSet.Unicode)>
|
|
Public Function GetPrivateProfileInt(
|
|
lpAppName As String,
|
|
lpKeyName As String,
|
|
nDefault As Integer,
|
|
lpFileName As String) As Integer
|
|
End Function
|
|
|
|
Public Function GetPrivateProfileDouble(
|
|
lpAppName As String,
|
|
lpKeyName As String,
|
|
dDefault As Double,
|
|
lpFileName As String) As Double
|
|
Dim sValue As String = String.Empty
|
|
GetPrivateProfileString(lpAppName, lpKeyName, dDefault.ToString(), sValue, lpFileName)
|
|
Dim nPos As Integer = sValue.IndexOf(";")
|
|
If nPos >= 0 Then
|
|
sValue = sValue.Remove(nPos)
|
|
End If
|
|
Dim dValue As Double
|
|
If Not Double.TryParse(sValue, NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, dValue) Then
|
|
dValue = dDefault
|
|
End If
|
|
Return dValue
|
|
End Function
|
|
|
|
<DllImport("kernel32.dll", CharSet:=CharSet.Unicode)>
|
|
Private Function GetPrivateProfileString(
|
|
lpAppName As String,
|
|
lpKeyName As String,
|
|
lpDefault As String,
|
|
lpReturnedString As StringBuilder,
|
|
nSize As Integer,
|
|
lpFileName As String) As Integer
|
|
End Function
|
|
Public Function GetPrivateProfileString(
|
|
lpAppName As String,
|
|
lpKeyName As String,
|
|
lpDefault As String,
|
|
ByRef lpString As String,
|
|
lpFileName As String) As Integer
|
|
Dim sb As New StringBuilder(1024)
|
|
Dim nRet As Integer = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, sb, sb.Capacity, lpFileName)
|
|
lpString = sb.ToString
|
|
Return nRet
|
|
End Function
|
|
|
|
Public Function GetPrivateProfileWinPos(
|
|
lpAppName As String,
|
|
lpKeyName As String,
|
|
ByRef nFlag As Integer,
|
|
ByRef nLeft As Integer,
|
|
ByRef nTop As Integer,
|
|
ByRef nWidth As Integer,
|
|
ByRef nHeight As Integer,
|
|
lpFileName As String) As Boolean
|
|
Dim sVal As String = String.Empty
|
|
GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
|
|
Dim sItems() As String = sVal.Split(",".ToCharArray)
|
|
If sItems.Count() >= 5 Then
|
|
Dim bOk As Boolean = True
|
|
If Not Integer.TryParse(sItems(0), nFlag) Then
|
|
nFlag = 0
|
|
bOk = False
|
|
End If
|
|
If Not Integer.TryParse(sItems(1), nLeft) Then
|
|
nLeft = 0
|
|
bOk = False
|
|
End If
|
|
If Not Integer.TryParse(sItems(2), nTop) Then
|
|
nTop = 0
|
|
bOk = False
|
|
End If
|
|
If Not Integer.TryParse(sItems(3), nWidth) Then
|
|
nWidth = 1024
|
|
bOk = False
|
|
End If
|
|
If Not Integer.TryParse(sItems(4), nHeight) Then
|
|
nHeight = 768
|
|
bOk = False
|
|
End If
|
|
Return bOk
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
'-------------------------------- IniFile : Write ------------------------------------------------
|
|
<DllImport("kernel32.dll", CharSet:=CharSet.Unicode)>
|
|
Public Function WritePrivateProfileString(
|
|
lpAppName As String,
|
|
lpKeyName As String,
|
|
lpString As String,
|
|
lpFileName As String) As Boolean
|
|
End Function
|
|
|
|
Public Function WritePrivateProfileWinPos(
|
|
lpAppName As String,
|
|
lpKeyName As String,
|
|
nFlag As Integer,
|
|
nLeft As Integer,
|
|
nTop As Integer,
|
|
nWidth As Integer,
|
|
nHeight As Integer,
|
|
lpFileName As String) As Boolean
|
|
Dim sVal As String
|
|
sVal = nFlag.ToString & "," & nLeft.ToString & "," & nTop.ToString & "," & nWidth.ToString & "," & nHeight.ToString
|
|
Return WritePrivateProfileString(lpAppName, lpKeyName, sVal, lpFileName)
|
|
End Function
|
|
|
|
'-------------------------------- Windows --------------------------------------------------------
|
|
Public Enum SW As Integer
|
|
HIDE = 0
|
|
SHOWMAXIMIZED = 3
|
|
RESTORE = 9
|
|
End Enum
|
|
|
|
<DllImport("user32.dll")>
|
|
Public Function ShowWindow(hWnd As IntPtr, nCmdShow As Integer) As Boolean
|
|
End Function
|
|
|
|
|
|
End Module
|