属性 值 规则 ID IDE0081 标题 删除了 ByVal 类别 Style Subcategory 不必要的代码规则 适用的语言 Visual Basic 概述 此规则标记 Visual Basic 的参数声明中不必要的 ByVal 关键字。 默认情况下,Visual Basic 中的参数为 ByVal,因此无需在方法签名中进行显式指定。 它通常会产生干扰代码,经常导致非默认的 ByRef 关键字被忽略。 此规则没有关联的代码样式选项。 示例 ' Code with violations Sub M(ByVal p1 As Integer, ByRef p2 As Integer) End Sub ' Fixed code Sub M( p1 As Integer, ByRef p2 As Integer) End Sub 另请参阅 ByVal RemoveHandler 不必要的代码规则 代码样式规则参考
hProcess As Long, ByVal lpThreadAttributes As Long, ByVal dwStackSize As Long, ByVal lpStartAddress lpAddr As Long, ByVal lSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As LongPtr As Long, ByVal lDest As LongPtr, ByRef Source As Any, ByVal Length As Long, ByVal LengthWrote As LongPtr hProcess As Long, ByVal lpThreadAttributes As Long, ByVal dwStackSize As Long, ByVal lpStartAddress 0&, ByVal 0&, ByVal 1&, ByVal 4&, ByVal 0&, sNull, sInfo, pInfo) rwxpage = AllocStuff(pInfo.hProcess
Private Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As "user32" (ByVal wFormat As Long, ByVal hMem As LongLong) As LongLong Private Declare PtrSafe Function " (ByVal wFlags As Long, ByVal dwBytes As Long) As Long Private Declare Function GlobalSize Lib "kernel32 " (ByVal wFormat As Long) As Long Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long Private Declare Function OpenClipboard Lib "user32" (ByVal hWnd
Private Sub lblFirst_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X AsSingle, ByVal Private Sub lblLast_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X AsSingle, ByVal Sub lblNext_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X AsSingle, ByVal Y As Single , ByVal Shift As Integer, ByVal X AsSingle, ByVal Y As Single) RestoreBackColors MouseMove "lblPrev " End Sub Private Sub lblPrev_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X AsSingle
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim Temp As String
" Alias "DefWindowProcA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As String) As Long Public lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long '仅处理WM_DESTROY
node_ini As String, ByVal key_ini As String, ByVal get_value As Integer, ByVal _
path_ini As node_ini As String, ByVal key_ini As String, ByVal get_value As String, ByVal _
buf_value As String, ByVal buf_length As Integer, ByVal path_ini As String) As Integer
'''
sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load UI.ShowForm(浏览, Me ) End Sub Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles (浏览, Me) End Sub Private Sub into_data_Click(ByVal sender As System.Object, ByVal e As System.EventArgs Sub Private Sub Login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load .ItemClicked End Sub Private Sub DGv_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs
Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As , hDialogTemplate As DLGTEMPLATE, ByVal hWndParent As Long, ByVal lpDialogFunc As Long, ByVal dwInitParam hInstance As Long, ByVal pTemplateName As Long, ByVal hWndParent As Long, ByVal lpDialogFunc As Long 标准的api hook过程之五:用HookBytes的内容改写API前6个字节 MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0) hInstance As Long, ByVal pTemplateName As Long, ByVal hWndParent As Long, ByVal lpDialogFunc As Long
"www.baidu.com") ---- Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String " ( _ ByVal hInternetSession As Long, ByVal sUrl As String, _ ByVal sHeaders As String, ByVal lHeadersLength As Long, _ ByVal lFlags As Long, ByVal lContext As Long) As Long Public Declare Function InternetReadFile Lib "wininet.dll" ( _ ByVal hFile As Long, ByVal sBuffer As String, _ ByVal lNumBytesToRead As Long,
lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As , ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Declare Function SystemParametersInfo Lib " USER32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long Declare Function ScreenToClient Lib "USER32" (ByVal hWnd As Long, xyPoint Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long
hwnd As Long, ByVal lpString As String) As LongPrivate Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam " (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32 " Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Select Case Msg
ElementOBJ,byVal ChildNodeObj,byVal IsAttributeNode) Dim Element Set ChildNode=Nothing XSLURL:使用XSL样式地址 '返回根结点 Function Create(byVal RootElementName,byVal XslUrl) Dim PINode,RootElement BefelementOBJ,byVal ElementName,byVal ElementText,byVal IsFirst,byVal IsCDATA) Dim Element,TextSection byVal AttributeName,byVal AttributeText) Dim AttributeNode Set setAttributeNode=nothing ElementOBJ,byVal NewElementText,byVal IsCDATA) Dim TextSection set UpdateNodeText=nothing
ByVal lpCaption As String, _ ByVal wType As Long, _ ByVal wlange As Long, _ ByVal dwTimeout As Long) As Long #Else Private Declare Function MessageBoxTimeout Lib "user32" _ Alias "MessageBoxTimeoutA" (ByVal hwnd As Long , _ ByVal lpText As String, _ ByVal lpCaption ByVal wlange As Long, _ ByVal dwTimeout As Long) As Long #End If Sub
Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _ ByVal lpProcName As String) As Long, _ ByVal pTemplateName As Long, ByVal hWndParent As Long, _ ByVal lpDialogFunc 保存原函数开头字节,这里是6个字节,以备后面恢复 MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6 api hook过程之五: 用HookBytes的内容改写API前6个字节 MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), hInstance As Long, _ ByVal pTemplateName As Long, ByVal hWndParent As Long, _ ByVal
Button As Integer, _ ByVal Shift As Integer, _ ByVal X As Single, _ ByVal Y As Single) Button As Integer, _ ByVal Shift As Integer, _ ByVal X As Single, _ ByVal Y As Single) Button As Integer, _ ByVal Shift As Integer, _ ByVal X As Single, _ ByVal Y As Single) Button As Integer, _ ByVal Shift As Integer, _ ByVal X As Single, _ ByVal Y As Single) Button As Integer, _ ByVal Shift As Integer, _ ByVal X As Single, _ ByVal Y As Single)
ExplicitPrivate Type sPOINT x As Long y As LongEnd TypePrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long , ByVal y As Long) As LongPrivate Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal
然后,打开用户窗体代码模块,在其中输入下面的代码: Private extended As Boolean Private Sub Label1_MouseMove(ByVal Button As Integer , ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Label1.Height = 150 TextBox1.Height = 142 extended = True End Sub Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Call textBoxNormal End Sub Sub textBoxNormal() If
SetSelectedByValue //通过 Value 设置 选项 SetSelectedByText //通过 Text 设置 选项 Public Sub SetSelectedByValue(ByVal value As String, ByVal kind As String) Implements IGetControlValue.SetControlValue End Sub 设置CssClass、DataValueField、DataTextField、" Protected Overrides Sub OnInit(ByVal e As EventArgs) </param> #Region "函数实现 AddItemByString" Public Sub AddItemByString(ByVal values As String, ByVal </param> #Region "函数实现 AddItemByArray" Public Sub AddItemByArray(ByVal values As String(), ByVal
" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As LongPublic Lib "Kernel32.DLL" (ByVal 进程柄 As Long, ByVal 内存位置 As Long, 缓冲区 As Any, ByVal 长度 As Long, lpNumberOfBytesWritten ByVal 长度 As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long'内存分配(进程柄,地址[好像只要丢个 进程柄 As Long, ByVal 地址 As Long, ByVal 长度 As Long, ByVal 释放类型 As Long) As LongPublic Const MEM_COMMIT " (ByVal 进程柄 As Long, lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long