📄 module2.vb
字号:
Imports System.Runtime.InteropServices
Public Class myfun
REM API常数声明-------------------------
Public Const SW_SHOWNORMAL = 1
Public Const gcNORMAL_PRIORITY_CLASS = &H20
Public Const gcINFINITE = &HFFFF
Public Const WAIT_TIMEOUT = &H102&
#Region "Structure SHELLEXECUTEINFO"
<StructLayout(LayoutKind.Sequential)> _
Structure SHELLEXECUTEINFO
Public cbSize As Int32
Public fMask As Int32
Public hwnd As IntPtr
Public lpVerb As IntPtr 'LPCTSTR,这种类型不能声明为string,只可以老老实实声明为Intptr
Public lpFile As IntPtr 'LPCTSTR,这种类型不能声明为string,只可以老老实实声明为Intptr
Public lpParameters As IntPtr 'LPCTSTR,这种类型不能声明为string,只可以老老实实声明为Intptr
Public lpDirectory As IntPtr 'LPCTSTR,这种类型不能声明为string,只可以老老实实声明为Intptr
Public nShow As Int32
Public hInstApp As IntPtr
'Optional members
Public lpIDList As IntPtr 'LPVOID
Public lpClass As IntPtr 'LPCTSTR
Public hkeyClass As Int32
Public dwHotKey As Int32
Public hIcon As Int32
Public hProcess As IntPtr
Public Sub Dispose()
'在调用后释放结构中的内存块
clsDAMSMobileMarshal.fnFreeHLocal(Me.lpVerb)
clsDAMSMobileMarshal.fnFreeHLocal(Me.lpFile)
clsDAMSMobileMarshal.fnFreeHLocal(Me.lpParameters)
clsDAMSMobileMarshal.fnFreeHLocal(Me.lpDirectory)
End Sub
End Structure
#End Region
#Region "Structure STARTUPINFO"
<StructLayout(LayoutKind.Sequential)> _
Public Structure STARTUPINFO
Public cb As Int32
Public lpReserved As IntPtr
Public lpDesktop As IntPtr
Public lpTitle As IntPtr
Public dwX As Int32
Public dwY As Int32
Public dwXSize As Int32
Public dwYSize As Int32
Public dwXCountChars As Int32
Public dwYCountChars As Int32
Public dwFillAttribute As Int32
Public dwFlags As Int32
Public wShowWindow As Int16
Public cbReserved2 As Int16
Public lpReserved2 As Int32
Public hStdInput As Int32
Public hStdOutput As Int32
Public hStdError As Int32
End Structure
#End Region
#Region "Structure PROCESS_INFORMATION"
<StructLayout(LayoutKind.Sequential)> _
Public Structure PROCESS_INFORMATION
Public hProcess As IntPtr
Public hThread As IntPtr
Public dwProcessId As Int32
Public dwThreadId As Int32
End Structure
#End Region
REM api函数声明---------------------------------
#Region "Function CreateProcess"
Public Overloads Declare Function CreateProcess Lib "coredll.dll" (ByVal imageName As String, _
ByVal cmdLine As String, _
ByVal lpProcessAttributes As IntPtr, _
ByVal lpThreadAttributes As IntPtr, _
ByVal boolInheritHandles As Int32, _
ByVal dwCreationFlags As Int32, _
ByVal lpEnvironment As IntPtr, _
ByVal lpszCurrentDir As IntPtr, _
ByRef si As STARTUPINFO, _
ByRef pi As PROCESS_INFORMATION _
) As Integer
#End Region
#Region "Function CloseHandle"
Public Declare Function CloseHandle Lib "CoreDll.dll" (ByVal Handle As IntPtr) As Int32
#End Region
#Region "Function WaitForSingleObjectEx"
Public Declare Function WaitForSingleObjectEx Lib "coredll.dll" (ByVal hHandle As IntPtr, _
ByVal dwMilliseconds As Int32, _
ByVal bAlertable As Int32 _
) As Int32
#End Region
#Region "Function ShellExecuteEx"
Public Declare Function ShellExecuteEx Lib "coredll.dll" (ByRef lpExecInfo As SHELLEXECUTEINFO) As Int32
#End Region
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -