http://www.csdn.net/Expert/topic/509/509745.shtm
解决方案 »
- VB读取文本行
- vb查询oracle时使用union all报错
- 100分问个ImageList API 的问题
- 如何在word中使字体只显示其中的一部分
- 怎么把输入的数存入数组
- VB如何出Media player那程效果,请大家帮帮助
- 诸位,预祝大家新春快乐,有个问题想请教,这个问题涉不涉及多线程?
- 如果实现ACTIVEREPORT的分页合计及总合计功能
- 请问怎么在一个label空间里面显示另一个listview控件里面有几条记录阿
- 用vb可否连db2数据库?
- 这到底是怎么回事?请各位大侠帮忙。
- 大侠帮我看这篇帖子 http://www.csdn.net/Expert/topic/510/510389.shtm (up者也有分)
If Text1.Text <> "" Then
Text2.Text = ""
a = Text1.Text
l = Len(Text1.Text)
If a <> 0 Then
For i = 1 To l
c = Mid(Text1.Text, i, 1)
If c >= "0" And c <= "9" Then
Do While a
r = a Mod 16
a = a \ 16
Select Case r
Case 0: r = "0"
Case 1: r = "1"
Case 2: r = "2"
Case 3: r = "3"
Case 4: r = "4"
Case 5: r = "5"
Case 6: r = "6"
Case 7: r = "7"
Case 8: r = "8"
Case 9: r = "9"
Case 10: r = "a"
Case 11: r = "b"
Case 12: r = "c"
Case 13: r = "d"
Case 14: r = "e"
Case 15: r = "f"
End Select
Text2.Text = r + Text2.Text
Loop
Else: Text2.Text = "输入错误"
Exit Sub
End If
Next
Else: Text2.Text = a
End If
Else: Text2.Text = "您没有输入任何数字"
End If
摘自《Visual Basic案例教程》。。
Public Const TOKEN_ADJUST_PRIVILEGES = &H20
Public Const TOKEN_QUERY = &H8
Public Const SE_PRIVILEGE_ENABLED = &H2
Public Const ANYSIZE_ARRAY = 1Public Type LUID
lowpart As Long
highpart As Long
End TypePublic Type LUID_AND_ATTRIBUTES
pLuid As LUID
Attributes As Long
End TypePublic Type TOKEN_PRIVILEGES
PrivilegeCount As Long
Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End TypePublic Declare Function GetCurrentProcess Lib "kernel32" () As Long
Public Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Public Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Public Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
'安全关机需调用的API函数
Global Const EWX_POWEROFF = 8
Global Const EWX_SHUTDOWN = 1 '终止所有进程并关闭计算机
Global Const EWX_FORCE = 4 '强迫进程终止
Global Const EWX_LOGOFF = 3 '关掉在进程安全描述表中运行的所有进程,重起计算机
Global Const EWX_REBOOT = 2 '终止所有运行的进程并关闭计算机
Global Const EWX_LOGIN = 0 '以其它用户名重新登录系统
Public Declare Function ExitWindowsEx Lib "user32" (ByVal fuOptions As Long, ByVal dwReserved As Long) As Integer '关闭系统函数Public Sub AdjustToken()
Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long
hdlProcessHandle = GetCurrentProcess()
OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hdlTokenHandle
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkp.PrivilegeCount = 1
tkp.Privileges(0).pLuid = tmpLuid
tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDAdjustTokenPrivileges hdlTokenHandle, False, tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded
End SubPrivate Sub cmdShutDownMe_Click()
AdjustToken
ExitWindowsEx EWX_FORCE Or EWX_SHUTDOWN Or EWX_POWEROFF, 0
End Sub