用vb编写一个小程序

用vb编写一个小程序,第1张

楼主您好!

代码如下:

Option Explicit

Private Sub Command1_Click()

    Dim n(7) As Double

    Dim k(3) As Double

    k(3) = 1

    Dim j As Integer

    For j = 1 To 7

        n(j) = Val(Controls("Text" & CStr(j)).Text)

    Next j

    For j = 1 To 7

        k(1) = k(1) + n(j)

        k(2) = k(2) - n(j)

        k(3) = k(3) * n(j)

    Next j

    Me.Text8.Text = "7个数的和为:" & k(1) & vbCrLf & _

                    "7个数的差为:" & k(2) & vbCrLf & _

                    "7个数的乘积为:" & k(3)

End Sub

Private Sub Command2_Click()

    Dim i As Integer

    For i = 1 To 8

        Controls("Text" & CStr(i)).Text = ""

    Next i

End Sub

Private Sub Form_Load()

    Dim i As Integer

    For i = 1 To 8

        Controls("Text" & CStr(i)).Text = ""

    Next i

End Sub

Dim a, b

Private Sub Command1_Click()

End

End Sub

Private Sub Form_Load()

Text.Text = "Visual Basic程序设计"

Command1.Caption = "结束"

Text.Left = 0: Text.Top = 0: Text.Width = 0.5 * Form1.Width

Text.Height = 0.5 * Form1.Height

a = Form1.Width - Command1.Left

b = Form1.Height - Command1.Top

End Sub

Private Sub Form_Resize()

Text.Left = 0: Text.Top = 0: Text.Width = 0.5 * Form1.Width

Text.Height = 0.5 * Form1.Height

Command1.Left = Form1.Width - a

Command1.Top = Form1.Height - b

End Sub

注意,各变量名,控件名保持一致,你题目中的文本框名称为text

这个不难办到

你用一个新的模块将下面的代码放进去

Private Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long

Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long

Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long

Private Type PROCESSENTRY32

dwSize As Long

cntUsage As Long

th32ProcessID As Long

th32DefaultHeapID As Long

th32ModuleID As Long

cntThreads As Long

th32ParentProcessID As Long

pcPriClassBase As Long

dwFlags As Long

szExeFile As String * 260

End Type

Private Const PROCESS_QUERY_INFORMATION = 1024

Private Const PROCESS_VM_READ = 16

Private Const PROCESS_ALL_ACCESS = &H1F0FFF

Private Const TH32CS_SNAPPROCESS = &H2

Public Function TestProcIsRunning(ByVal ProcName As String) As Boolean

Dim hFindProc As Long

hFindProc = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

Dim ProcData As PROCESSENTRY32

ProcData.dwSize = Len(ProcData)

Process32First hFindProc, ProcData

While (Process32Next(hFindProc, ProcData) = 1)

Dim sPro As String

sPro = Left(UCase(ProcData.szExeFile), InStr(UCase(ProcData.szExeFile), Chr(0)) - 1)

If sPro = UCase(ProcName) Then

CloseHandle hFindProc

TestProcIsRunning = True

Exit Function

End If

Wend

CloseHandle hFindProc

TestProcIsRunning = False

End Function

然后你用一个timer来实现判断就可以啦

Private Sub Timer1_Timer()

If TestProcIsRunning("你要判断的进程名") = True Then

Shell "调用这个程序的路径", vbHide''' 你写双进程源码的时候最好要隐藏程序

End If

End Sub

你好,双进程我也写过,至于编译后运行很容易被360拦截掉的,不过用来练手也感觉不错..


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8122160.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存