
正文
vb.net进程间 vbnet进程间的参数传递
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net问题,两个程序之间的变量如何传递?
方法一:
通过WINSOCK传
方法二:
程序一生成一文件,然后程序二读取
方法三:
利用数据库存取这个是调用自制DLL示例,至于用ActiveX EXE,你可以参考一下,关键是留接口给另一程序
VB制作标准DLL文件并调用该文件的示例
1、建立一个ActiveX DLL工程vb.net进程间,这时工程中将包括一个类模块Class1。
2、在ActiveX DLL工程中添加一个Form。
3、在类模块添加如下函数vb.net进程间:
Public Function ShowMyForm(s As String)
Form1.Caption = s
Form1.Show vbModal
End Function
4、将工程编译为DLL。
调用时:
1、建立一个标准EXE,在菜单“工程|引用”中选择前面编译的DLL。
2、使用如下代码调用:
Private Sub Form_Click()
Dim cls As New Class1
cls.ShowMyForm("Hello")
End Sub
相关问答
Q1: vb.net 怎么结束进程
好像不难吧?
我放进了Button1vb.net进程间的Click事件里。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo Errmessages '在做系统操作时加排错标签是个好习惯
Dim TargetName As String = "ibmdict" '存储进程名为文本型vb.net进程间,注:进程名不加扩展名
Dim TargetKill() As Process = Process.GetProcessesByName(TargetName) '从进程名获取进程
Dim TargetPath As String '存储进程路径为文本型
If TargetKill.Length 1 Then '判断进程名的数量vb.net进程间,如果同名进程数量在2个以上,用For循环关闭进程。
For i = 0 To TargetKill.Length - 1
TargetPath = TargetKill(i).MainModule.FileName
TargetKill(i).Kill()
Next
ElseIf TargetKill.Length = 0 Then '判断进程名的数量,没有发现进程直接弹窗。不需要的,可直接删掉该If子句
MsgBox("没有发现进程!")
Exit Sub
ElseIf TargetKill.Length = 1 Then '判断进程名的数量,如果只有一个,就不用For循环
TargetKill(0).Kill()
End If
MsgBox("已终止" TargetKill.Length "个进程") '弹窗提示已终止多少个进程
Errmessages: ‘定义排错标签
If Err.Description Nothing Then ’判断有无错误,如果有,则 ↓
MsgBox(Err.Description) '当出现错误时,弹窗提示
End If
End Sub
可根据需要自行修改,这个备注够完善了吧?不会的再Hi我。
Q2: 各们,请教怎么使用vb.net编写两个进程间消息
两个方法
1.
要接收的窗口先使用FindWindow这个api获得句柄
调用SetForegroundWindow使其获得焦点并选中
调用.net方法:SendKeys.Send方法发送
2.使用API的SendInput
Q3: vb.net中 进程无法访问文件“\Storage Card\test.txt”,原因是另一个进程正在使用该文件。
判断有以下几种可能:
1.vb.net进程间你用其vb.net进程间他程序打开或正在修改test.txt.
2.vb.net进程间你在程序该步骤之前vb.net进程间的过程中,访问(读写)过该文件:
如果是这种情况,有两种解决办法:
1.修改访问该文件创建对象的申明:
一般来说是
Dim fs As New FileStream("x:\x\x.txt", FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite)
重点是最后一个参数, FileShare.ReadWrite, 这个参数代表创建这个对象使用文件的同时,允许其他程序读/写该文件. 这样声明就不会产生共享冲突.
2.在之前过程的最后,CLOSE/DISPOSE掉访问文件的对象.
对象名=NOTHING,或者 对象名.CLOSE/DISPOSE,都OK.
Q4: vb.net 如何监视进程,并在进程结束时触发事件?
Dim p As Process = Nothing
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
p = Process.Start("notepad")
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If p IsNot Nothing AndAlso p.HasExited Then
p = Nothing
MsgBox("程序已退出!")
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval = 100
Timer1.Enabled = True
End Sub
Q5: vb.net中如何设置进程的基本优先级
下面的代码示例说明了更改线程优先级的结果。创建两个线程,其中一个线程的优先级设置为 BelowNormal。两个线程在 while 循环中都增加一个变量,并运行一段设定的时间。
Option Explicit
Option Strict
Imports System
Imports System.Threading
Public Class Test
MTAThread _
Shared Sub Main()
Dim priorityTest As New PriorityTest()
Dim threadOne As Thread = _
New Thread(AddressOf priorityTest.ThreadMethod)
threadOne.Name = "ThreadOne"
Dim threadTwo As Thread = _
New Thread(AddressOf priorityTest.ThreadMethod)
threadTwo.Name = "ThreadTwo"
threadTwo.Priority = ThreadPriority.BelowNormal
threadOne.Start()
threadTwo.Start()
' Allow counting for 10 seconds.
Thread.Sleep(10000)
priorityTest.LoopSwitch = False
End Sub
End Class
Public Class PriorityTest
Dim loopSwitchValue As Boolean
Sub New()
loopSwitchValue = True
End Sub
WriteOnly Property LoopSwitch As Boolean
Set
loopSwitchValue = Value
End Set
End Property
Sub ThreadMethod()
Dim threadCount As Long = 0
While loopSwitchValue
threadCount += 1
End While
Console.WriteLine("{0} with {1,11} priority " _
"has a count = {2,13}", Thread.CurrentThread.Name, _
Thread.CurrentThread.Priority.ToString(), _
threadCount.ToString("N0"))
End Sub
End Class
vb.net进程间的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet进程间的参数传递、vb.net进程间的信息别忘了在本站进行查找喔。







