100分!!急求VB高手帮我写个程序
直接用微尘小程序开发工具一键生成小程序就可以了,十分的方便。
第1种是卖模板为主的网络公司。
优点是:价格低,几千块钱到万元之间就能搞定,方便,能够快速上线;
缺点是:修改功能麻烦,这里需要避免低价陷阱,不要到最后才发现模板性的修改功能所花的钱比买模板还贵。而且不是独立的,一个模本卖给很多商家用,模板不是永久使用的,一般每年都要交年费。
第2种是主流的方式,定制开发为主的网络公司。
优点是:独一无二的,专为你的企业或者店面定制的,功能你来定,要求你来定,后期修改BUG方便,改东西也很方便,最重要的是永久使用权!!
缺点是:相对价格比较高!!! 定制版的基本费用在上万元到十几万不等!不过贵也有贵的道理吧,毕竟功能做的更全面一点。
最后总结,至于找什么样的小程序开发公司?花多少钱来开发?还是需要看贵公司准备的预算这块!希望对大家有用!
我给你一个程序,我原创的!给你写出来啊!VBscript的
Dim WkdayName, objWSH, ShowDT, Title
Set objWSH=CreateObject("WScript.Shell")
WkdayName=Array("星期日sunday","星期一monday","星期二tuesday","星期三wednesday","星期四thursday","星期五friday","星期六saterday")
ShowDT=Time & Space(4) & vbCrLf & vbCrLf & WkdayName(Weekday(Date)-1)
objWSH.PopUp ShowDT,7,Title
Msgbox"答题前,先向大家重申一下成就说明!"&chr(13)&"(死在)第一题:正常人"&chr(13)&"(死在)第二题:小学生"&chr(13)&"(死在)第三题:一般人"&chr(13)&"(死在)第四题:聪明人"&chr(13)&"(死在)第五题:超常儿童"&chr(13)&"(死在)第六题:IQ王者"&chr(13)&"(死在)第七题:大神"&chr(13)&"(死在)第八题:答题神仙"&chr(13)&"(死在)第九题:答题圣人"&chr(13)&"(死在)第十题:答题王"&chr(13)&"通关:答题帝"&chr(13)&"看看你是哪一种人吧!请大家踊跃把自己的成绩发到群里哦!",title,"一“答”到底1.2beta"
xz=inputbox("第一题:罗纳尔多(皇马现役球星)的全名是什么?","lv:1","")
if xz="克里斯蒂亚诺·罗纳尔多" then
Msgbox"答对了!",title,"一“答”到底2013"
else
if xz=""=all then
Msgbox"恭喜你!答错了!你输了,程序即将退出!"&chr(13)&"答案:克里斯蒂亚诺·罗纳尔多",title,"一“答”到底1.2beta"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底2013"
Msgbox"坏消息是.....",title,"一“答”到底2013"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("一个美国科学家,患有先天性肌肉萎缩症,他是谁","lv:2","")
if xz="霍金" then
Msgbox"不错哦!又答对了!",title,"一“答”到底2013"
else
if xz=""=all then
Msgbox"咳咳......输了吧,哈哈!"&chr(13)&"答案:霍金",title,"一“答”到底2013"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底2013"
Msgbox"坏消息是.....",title,"一“答”到底2013"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("第三题:罗斯福是当年是哪国总统?","lv:3","")
if xz="美国" then
Msgbox"不错哦!又答对了!",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"吁,这关都过不去!"&chr(13)&"答案:美国",title,"一“答”到底1.2beta"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("第四题:NBA中谁人称“闪电侠”?","lv:4","")
if xz="韦德" then
Msgbox"不错哦!强悍啊,你怎么又答对了!",title,"一“答”到底1.2beta"
else
if xz="德怀恩·韦德" then
Msgbox"不错哦!强悍啊,你怎么又答对了!",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"呦,不错嘛,到第四题才死!哈哈!"&chr(13)&"答案:韦德",title,"一“答”到底1.2beta"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
end if
xz=inputbox("第五题:英语中,japanese是什么意思?(以英语考试说明为准)","lv:5","")
if xz="日语" then
Msgbox"又答对了.....看来我不拿出点真家伙对付你算是不行了!",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"什么英语水平?这都不知道!"&chr(13)&"答案:日语",title,"一“答”到底1.2beta"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("第六题:哈雷彗星是谁发现的?","lv:6","")
if xz="哈雷" then
Msgbox"这都对了.....大神级别同学!",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"答案不就是哈雷么,给你答案了都不抄!"&chr(13)&"答案:哈雷",title,"一“答”到底1.2beta"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("第七题:VBS是属于什么编程?(回答格式:xx编程)","lv:7","")
if xz="脚本编程" then
Msgbox"这都对了.....!能闯过这关的没多少人!给跪了!",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"输了吧,哈哈哈哈!"&chr(13)&"答案:脚本编程",title,"一“答”到底1.2beta"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("第八题:宋朝是谁建立的?","lv:8","")
if xz="赵匡胤" then
Msgbox"这都对了.....你是人么?",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"哈哈哈!输了吧!"&chr(13)&"答案:赵匡胤"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("第九题:效力于NBA的华裔球员林书豪是哪个大学毕业的?","lv:9","")
if xz="哈佛大学" then
Msgbox"天哪!“答题帝”就是你!还能再继续么?",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"哎....你终于输了!程序即将退出!"&chr(13)&"答案:哈佛大学"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
xz=inputbox("第十题:捷克首都是哪里?","lv:10","")
if xz="布拉格" then
Msgbox"又......对.....了......!下面想答题都没了!答题帝出现!再见喽!",title,"一“答”到底1.2beta"
else
if xz=""=all then
Msgbox"哎....你终于输了!程序终于退出了!"&chr(13)&"答案:布拉格",title,"一“答”到底1.2beta"
WScript.Quit
else
if xz="" then
Msgbox"你没有回答问题!",title,"一“答”到底1.2beta"
Msgbox"坏消息是.....",title,"一“答”到底1.2beta"
Msgbox"你要输了!程序即将退出!",64
WScript.Quit
end if
end if
end if
Msgbox"您已闯完所有关卡,算算您用了多长时间?"
Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type Msg
hwnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type
Private Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
Private Sub ProcessMessages()
Dim Message As Msg
Do While Not bCancel
WaitMessage '等待消息
If PeekMessage(Message, Me.hwnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
If Form2.Visible Then
Form2.Hide
Me.Hide '主窗口是否隐藏或显示,自己决定
Else
Form2.Show
Unload Me
Exit Do
End If
End If
'let the operating system process other events
DoEvents
Loop
End Sub
Private Sub Form_Load()
Dim ret As Long, str1 As String
bCancel = False
Load Form2
ret = RegisterHotKey(Me.hwnd, &HBFFF&, MOD_CONTROL, vbKeyF) '注册Ctrl+F热键
Me.AutoRedraw = True
Me.Print "按 CTRL-F 显示或隐藏 窗体"
App.TaskVisible = False '在任务管理器的应用程序中隐藏
str1 = "C:\1.exe"
Shell str1
ProcessMessages
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call UnregisterHotKey(Me.hwnd, &HBFFF&) '释放热键
End Sub
代码已经实现。。。 ((((改完了。速度给分!))))
在C:\1.exe添加一个示例程序。
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Sub Form_Load()
Call ShowWindow(GetWindow(Me.hwnd, 4), 0)
Me.Hide
End Sub
或
Private Sub Form_Load()
App.TaskVisible = False
Me.Hide
End Sub
null_vbt的代码那里复制来的?唬人来着吧你看, Enum 里面没有具体值!
'窗体两个form1,form2
'以下代码均在form1中
Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type Msg
hwnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type
Private Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
Private Sub ProcessMessages()
Dim Message As Msg
Do While Not bCancel
WaitMessage '等待消息
If PeekMessage(Message, Me.hwnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
If Form2.Visible Then
Form2.Hide
Me.Hide '主窗口是否隐藏或显示,自己决定
Else
Form2.Show
Me.Show
End If
End If
'let the operating system process other events
DoEvents
Loop
End Sub
Private Sub Form_Load()
Dim ret As Long,str1 as string
bCancel = False
Load Form2
ret = RegisterHotKey(Me.hwnd, &HBFFF&, MOD_CONTROL, vbKeyF) '注册Ctrl+F热键
Me.AutoRedraw = True
Me.Print "按 CTRL-F 显示或隐藏 窗体"
App.TaskVisible = False '在任务管理器的应用程序中隐藏
Me.Hide
str1="你要运行的程序"
shell str1
ProcessMessages
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call UnregisterHotKey(Me.hwnd, &HBFFF&) '释放热键
End Sub
Private 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 wFlags As Long) As Long
Private Const STATUS_INFO_LENGTH_MISMATCH = &HC0000004
Private Const STATUS_ACCESS_DENIED = &HC0000022
Private Const STATUS_INVALID_HANDLE = &HC0000008
Private Const ERROR_SUCCESS = 0&
Private Const SECTION_MAP_WRITE = &H2
Private Const SECTION_MAP_READ = &H4
Private Const READ_CONTROL = &H20000
Private Const WRITE_DAC = &H40000
Private Const NO_INHERITANCE = 0
Private Const DACL_SECURITY_INFORMATION = &H4
Private Type IO_STATUS_BLOCK
Status As Long
Information As Long
End Type
Private Type UNICODE_STRING
Length As Integer
MaximumLength As Integer
Buffer As Long
End Type
Private Const OBJ_INHERIT = &H2
Private Const OBJ_PERMANENT = &H10
Private Const OBJ_EXCLUSIVE = &H20
Private Const OBJ_CASE_INSENSITIVE = &H40
Private Const OBJ_OPENIF = &H80
Private Const OBJ_OPENLINK = &H100
Private Const OBJ_KERNEL_HANDLE = &H200
Private Const OBJ_VALID_ATTRIBUTES = &H3F2
Private Type OBJECT_ATTRIBUTES
Length As Long
RootDirectory As Long
ObjectName As Long
Attributes As Long
SecurityDescriptor As Long
SecurityQualityOfService As Long
End Type
Private Type ACL
AclRevision As Byte
Sbz1 As Byte
AclSize As Integer
AceCount As Integer
Sbz2 As Integer
End Type
Private Enum ACCESS_MODE
NOT_USED_ACCESS
GRANT_ACCESS
SET_ACCESS
DENY_ACCESS
REVOKE_ACCESS
SET_AUDIT_SUCCESS
SET_AUDIT_FAILURE
End Enum
Private Enum MULTIPLE_TRUSTEE_OPERATION
NO_MULTIPLE_TRUSTEE
TRUSTEE_IS_IMPERSONATE
End Enum
Private Enum TRUSTEE_FORM
TRUSTEE_IS_SID
TRUSTEE_IS_NAME
End Enum
Private Enum TRUSTEE_TYPE
TRUSTEE_IS_UNKNOWN
TRUSTEE_IS_USER
TRUSTEE_IS_GROUP
End Enum
Private Type TRUSTEE
pMultipleTrustee As Long
MultipleTrusteeOperation As MULTIPLE_TRUSTEE_OPERATION
TrusteeForm As TRUSTEE_FORM
TrusteeType As TRUSTEE_TYPE
ptstrName As String
End Type
Private Type EXPLICIT_ACCESS
grfAccessPermissions As Long
grfAccessMode As ACCESS_MODE
grfInheritance As Long
TRUSTEE As TRUSTEE
End Type
Private Type AceArray
List() As EXPLICIT_ACCESS
End Type
Private Enum SE_OBJECT_TYPE
SE_UNKNOWN_OBJECT_TYPE = 0
SE_FILE_OBJECT
SE_SERVICE
SE_PRINTER
SE_REGISTRY_KEY
SE_LMSHARE
SE_KERNEL_OBJECT
SE_WINDOW_OBJECT
SE_DS_OBJECT
SE_DS_OBJECT_ALL
SE_PROVIDER_DEFINED_OBJECT
SE_WMIGUID_OBJECT
End Enum
Private Declare Function SetSecurityInfo Lib "advapi32.dll" (ByVal Handle As Long, ByVal ObjectType As SE_OBJECT_TYPE, ByVal SecurityInfo As Long, ppsidOwner As Long, ppsidGroup As Long, ppDacl As Any, ppSacl As Any) As Long
Private Declare Function GetSecurityInfo Lib "advapi32.dll" (ByVal Handle As Long, ByVal ObjectType As SE_OBJECT_TYPE, ByVal SecurityInfo As Long, ppsidOwner As Long, ppsidGroup As Long, ppDacl As Any, ppSacl As Any, ppSecurityDescriptor As Long) As Long
Private Declare Function SetEntriesInAcl Lib "advapi32.dll" Alias "SetEntriesInAclA" (ByVal cCountOfExplicitEntries As Long, pListOfExplicitEntries As EXPLICIT_ACCESS, ByVal OldAcl As Long, NewAcl As Long) As Long
Private Declare Sub BuildExplicitAccessWithName Lib "advapi32.dll" Alias "BuildExplicitAccessWithNameA" (pExplicitAccess As EXPLICIT_ACCESS, ByVal pTrusteeName As String, ByVal AccessPermissions As Long, ByVal AccessMode As ACCESS_MODE, ByVal Inheritance As Long)
Private Declare Sub RtlInitUnicodeString Lib "NTDLL.DLL" (DestinationString As UNICODE_STRING, ByVal SourceString As Long)
Private Declare Function ZwOpenSection Lib "NTDLL.DLL" (SectionHandle As Long, ByVal DesiredAccess As Long, ObjectAttributes As Any) As Long
Private Declare Function LocalFree Lib "kernel32" (ByVal hMem As Any) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function MapViewOfFile Lib "kernel32" (ByVal hFileMappingObject As Long, ByVal dwDesiredAccess As Long, ByVal dwFileOffsetHigh As Long, ByVal dwFileOffsetLow As Long, ByVal dwNumberOfBytesToMap As Long) As Long
Private Declare Function UnmapViewOfFile Lib "kernel32" (lpBaseAddress As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private g_hNtDLL As Long
Private g_pMapPhysicalMemory As Long
Private g_hMPM As Long
Dim aByte(3) As Byte
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (LpVersionInformation As OSVERSIONINFO) As Long
Dim verinfo As OSVERSIONINFO
Private Sub SetPhyscialMemorySectionCanBeWrited(ByVal hSection As Long)
Dim pDacl As Long
Dim pNewDacl As Long
Dim pSD As Long
Dim dwRes As Long
Dim ea As EXPLICIT_ACCESS
GetSecurityInfo hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, 0, 0, pDacl, 0, pSD
ea.grfAccessPermissions = SECTION_MAP_WRITE
ea.grfAccessMode = GRANT_ACCESS
ea.grfInheritance = NO_INHERITANCE
ea.TRUSTEE.TrusteeForm = TRUSTEE_IS_NAME
ea.TRUSTEE.TrusteeType = TRUSTEE_IS_USER
ea.TRUSTEE.ptstrName = "CURRENT_USER" & vbNullChar
SetEntriesInAcl 1, ea, pDacl, pNewDacl
SetSecurityInfo hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, 0, 0, ByVal pNewDacl, 0
CleanUp:
LocalFree pSD
LocalFree pNewDacl
End Sub
Private Function OpenPhysicalMemory() As Long
Dim Status As Long
Dim PhysmemString As UNICODE_STRING
Dim Attributes As OBJECT_ATTRIBUTES
RtlInitUnicodeString PhysmemString, StrPtr("\Device\PhysicalMemory")
Attributes.Length = Len(Attributes)
Attributes.RootDirectory = 0
Attributes.ObjectName = VarPtr(PhysmemString)
Attributes.Attributes = 0
Attributes.SecurityDescriptor = 0
Attributes.SecurityQualityOfService = 0
Status = ZwOpenSection(g_hMPM, SECTION_MAP_READ Or SECTION_MAP_WRITE, Attributes)
If Status = STATUS_ACCESS_DENIED Then
Status = ZwOpenSection(g_hMPM, READ_CONTROL Or WRITE_DAC, Attributes)
SetPhyscialMemorySectionCanBeWrited g_hMPM
CloseHandle g_hMPM
Status = ZwOpenSection(g_hMPM, SECTION_MAP_READ Or SECTION_MAP_WRITE, Attributes)
End If
Dim lDirectoty As Long
verinfo.dwOSVersionInfoSize = Len(verinfo)
If (GetVersionEx(verinfo)) <> 0 Then
If verinfo.dwPlatformId = 2 Then
If verinfo.dwMajorVersion = 5 Then
Select Case verinfo.dwMinorVersion
Case 0
lDirectoty = &H30000
Case 1
lDirectoty = &H39000
End Select
End If
End If
End If
If Status = 0 Then
g_pMapPhysicalMemory = MapViewOfFile(g_hMPM, 4, 0, lDirectoty, &H1000)
If g_pMapPhysicalMemory <> 0 Then OpenPhysicalMemory = g_hMPM
End If
End Function
Private Function LinearToPhys(BaseAddress As Long, addr As Long) As Long
Dim VAddr As Long, PGDE As Long, PTE As Long, PAddr As Long
Dim lTemp As Long
VAddr = addr
CopyMemory aByte(0), VAddr, 4
lTemp = Fix(ByteArrToLong(aByte) / (2 ^ 22))
PGDE = BaseAddress + lTemp * 4
CopyMemory PGDE, ByVal PGDE, 4
If (PGDE And 1) <> 0 Then
lTemp = PGDE And &H80
If lTemp <> 0 Then
PAddr = (PGDE And &HFFC00000) + (VAddr And &H3FFFFF)
Else
PGDE = MapViewOfFile(g_hMPM, 4, 0, PGDE And &HFFFFF000, &H1000)
lTemp = (VAddr And &H3FF000) / (2 ^ 12)
PTE = PGDE + lTemp * 4
CopyMemory PTE, ByVal PTE, 4
If (PTE And 1) <> 0 Then
PAddr = (PTE And &HFFFFF000) + (VAddr And &HFFF)
UnmapViewOfFile PGDE
End If
End If
End If
LinearToPhys = PAddr
End Function
Private Function GetData(addr As Long) As Long
Dim phys As Long, tmp As Long, ret As Long
phys = LinearToPhys(g_pMapPhysicalMemory, addr)
tmp = MapViewOfFile(g_hMPM, 4, 0, phys And &HFFFFF000, &H1000)
If tmp <> 0 Then
ret = tmp + ((phys And &HFFF) / (2 ^ 2)) * 4
CopyMemory ret, ByVal ret, 4
UnmapViewOfFile tmp
GetData = ret
End If
End Function
Private Function SetData(ByVal addr As Long, ByVal data As Long) As Boolean
Dim phys As Long, tmp As Long, x As Long
phys = LinearToPhys(g_pMapPhysicalMemory, addr)
tmp = MapViewOfFile(g_hMPM, SECTION_MAP_WRITE, 0, phys And &HFFFFF000, &H1000)
If tmp <> 0 Then
x = tmp + ((phys And &HFFF) / (2 ^ 2)) * 4
CopyMemory ByVal x, data, 4
UnmapViewOfFile tmp
SetData = True
End If
End Function
Private Function ByteArrToLong(inByte() As Byte) As Double
Dim I As Integer
For I = 0 To 3
ByteArrToLong = ByteArrToLong + inByte(I) * (&H100 ^ I)
Next I
End Function
Private Sub Form_Load()
Call SetWindowPos(hwnd, -2, 0, 0, 0, 0, &H2 Or &H1 Or &H80) '隐藏窗口
Dim thread As Long, process As Long, fw As Long, bw As Long
Dim strInfo As String
Dim lOffsetFlink As Long
Dim lOffsetBlink As Long
Dim lOffsetPID As Long
verinfo.dwOSVersionInfoSize = Len(verinfo)
If (GetVersionEx(verinfo)) <> 0 Then
If verinfo.dwPlatformId = 2 Then
If verinfo.dwMajorVersion = 5 Then
Select Case verinfo.dwMinorVersion
Case 0
lOffsetFlink = &HA0
lOffsetBlink = &HA4
lOffsetPID = &H9C
Case 1
lOffsetFlink = &H88
lOffsetBlink = &H8C
lOffsetPID = &H84
End Select
End If
End If
End If
If OpenPhysicalMemory <> 0 Then
thread = GetData(&HFFDFF124)
strInfo = "thread: &H" & Hex(thread) & vbCrLf
process = GetData(thread + &H44)
strInfo = strInfo & "process: &H" & Hex(process) & vbCrLf
fw = GetData(process + lOffsetFlink)
strInfo = strInfo & "fw: &H" & Hex(fw) & vbCrLf
bw = GetData(process + lOffsetBlink)
strInfo = strInfo & "bw: &H" & Hex(bw) & vbCrLf
SetData fw + 4, bw
SetData bw, fw
'MsgBox strInfo, , "pID=" & GetData(process + lOffsetPID)
CloseHandle g_hMPM
End If
End Sub
第一个窗体的代码
嘿嘿,正好学学!谢谢了!
要遍病毒,没门!
如果来求我的同学,说不定有喜忘
100分!!急求VB高手帮我写个程序视频
相关评论:
翟所行完全照你图做的:Private Sub Command1_Click()Dim a() As Integer Print "1000以内的完数:"For i = 6 To 1000 s = 0 n = 0 t = ""For j = 1 To i - 1 If i Mod j = 0 Then s = s + j n = n + 1 ReDim Preserve a(n)a(n) = j End If Next j For k = ...
翟所行不给分就太不对了,这里是简单的演示,给你一个思路。按照图片上的布局摆放控件,命名在左下角。然后把上面的代码复制粘贴就OK了 源码:Option Explicit Dim str As String Private Sub cmdClose_Click()End End Sub Private Sub cmdStart_Click()str = Text1.Text Timer1.Enabled = True Text1....
翟所行必然是comPer.ListIndex引用出错了。因为你贴出的代码里没有对comPer的操作,不知道comPer.ListIndex的值是多少,你跟踪一下看看。另外Asc(comPer.ListIndex)这样的用法也有问题吧?comPer.ListIndex的值应该是数值类型的,Asc函数的参数应该是字符类型,你再看看。--- comPer估计是一个combobox控件吧?里...
翟所行用API函数bitblt,具体用法网上搜下,比较简单 如果不想用API可用两个picture控件,再利用paintpicture方法实现
翟所行Dim N1, N2, Ztol, tm Private Sub Command1_Click()Randomize da = ""tm = tm + 1 N1 = Int(Rnd() * 100)N2 = Int(Rnd() * 100)ti.Caption = N1 & "+" & N2 & "="End Sub Private Sub Command2_Click()pd End Sub Sub pd()If N1 + N2 = Val(da) Then MsgBox ("...
翟所行1认真将基础打牢固 2自己要勤于练习代码 3多做些项目,多碰壁就能学会更多的东西 学习语言是需要练习出来的,首先你得有思路,思路有了,其他的,都可以百度还有练习。
翟所行第一个问题,没有看明白,想问什么。循环体内部的语句被循环执行的次数,是由循环控制语句决定的。你所说的循环语句循环次数,是否就是指循环控制语句的执行次数?如果你是问这个,那么,控制语句入口处的语句执行次数一般情况下,是比循环体内的语句执行次数多1次,出口处的语句与循环体内的语句执行次数...
翟所行这两个Sub的print是在过程内的,结果与无论是传值还是传址没关系,不信你改一下试试:Private Sub Form_Click()Dim n As Integer n = 5 Call con2(n)print n Call con3(n)print n End Sub Sub con2(ByVal x As Integer)x = x ^ 2 End Sub Sub con3(ByVal x As Integer)x =...
翟所行Private Function jiecheng(x As Integer) As Long '定义阶乘函数 jiecheng = 1 For i = 1 To x jiecheng = jiecheng * i Next i End Function Private Sub Command1_Click() 'sub求阶乘 a = InputBox("输入A"): b = InputBox("输入B"): c = InputBox("输入C")sa = 1: sb = 1...
翟所行你又不说是到哪一行出错,再说只有一段看不出来 一般 VB程序出现“未找到方法或数据成员”提示 是因为对像的 方法 或者 数据成员 的语法输入错了