vb.net2003获取进程的用户名
您好,俺用的是vb.net2003,请问怎样获取进程的用户名---就是判断一下该进程是用户进程,还是系统进程。俺的MSN:waxm007@163.com QQ:109530030 --------------------编程问答-------------------- 我的电脑上没有安装Vs2003我给你一个2005的例子,你改改看的:Dim conn As New ConnectionOptions()
Dim mOS As New ManagementScope("\\localhost", conn)
Dim query As New ObjectQuery("Select * from Win32_Process")
Dim searcher As New ManagementObjectSearcher(mOS, query)
For Each item As ManagementObject In searcher.Get
Dim listitem As New ListViewItem(item("Name").ToString)
Dim owner(2) As String
item.InvokeMethod("GetOwner", owner)
listitem.SubItems.Add(owner(1) + "\" + owner(0))
listitem.SubItems.Add(item("ProcessId"))
Me.ListView1.Items.Add(listitem)
Next
主要就是利用WMI来获取进程的用户信息。 --------------------编程问答-------------------- 好像有问题(是不是还要导入什么命名空间啊---VB2005) --------------------编程问答-------------------- 要导入System.Management程序集。
并且在代码加上Imports System.Management --------------------编程问答-------------------- 这个在VS2003下面也有! --------------------编程问答-------------------- Imports System.Management
这在VS2003和2005下面都显示错误
[img=http://f18.yahoofs.com/users/4765cbbfz164ef665/b57f/__sr_/b65a.jpg?phY8IcHBQdnud7S3][/img]
[img=http://f18.yahoofs.com/users/4765cbbfz164ef665/b57f/__sr_/fe2b.jpg?phY8IcHBYJotZhgP][/img]
--------------------编程问答-------------------- 樓上的要加入參考。。。05我測是沒有問題的。 --------------------编程问答-------------------- 加入參考?什么意思啊?
没办法,俺是新人没分,俺还想问一个问题:
[img=http://f18.yahoofs.com/users/4765cbbfz164ef665/b57f/__sr_/65f9.jpg?phQrJcHBnf.7E1ME][/img] --------------------编程问答-------------------- 就是在右边的解决方案浏览器里的项目上点右键-》添加引用-》选择System.Management。
下面那个是:SplitContainer控件。VS2005自带的。 --------------------编程问答-------------------- TO你第二個問題:那是導行條控件。 --------------------编程问答-------------------- Private Sub event_log(ByVal s As String)
If Not File.Exists("D:\temp\HuRis_SP.txt") Then
Dim fs As FileStream = File.Create("D:\temp\HuRis_SP.txt")
fs.Close()
End If
Dim myStreamWriter As StreamWriter
Dim dd As String = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
Try
myStreamWriter = File.AppendText("D:\temp\HuRis_SP.txt")
myStreamWriter.Write(vbCrLf & "---开始---" & vbCrLf)
myStreamWriter.Write(vbCrLf & dd & vbCrLf & vbCrLf & s & vbCrLf)
myStreamWriter.Write(vbCrLf & "---结束---" & vbCrLf)
myStreamWriter.Flush()
'调用event_log函数 这里数据为什么总是在---开始--- 和 ---结束--- 之间写入呢?
If Not myStreamWriter Is Nothing Then
myStreamWriter.Close()
End If
Catch
If Not myStreamWriter Is Nothing Then
myStreamWriter.Close()
End If
End Try
End Sub --------------------编程问答-------------------- Private Sub event_log(ByVal s As String)
If Not File.Exists("D:\temp\HuRis_SP.txt") Then
Dim fs As FileStream = File.Create("D:\temp\HuRis_SP.txt")
fs.Close()
End If
Dim myStreamWriter As StreamWriter
Dim dd As String = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
Try
myStreamWriter = File.AppendText("D:\temp\HuRis_SP.txt")
myStreamWriter.Write(vbCrLf & "---开始---" & vbCrLf)
myStreamWriter.Write(vbCrLf & dd & vbCrLf & vbCrLf & s & vbCrLf)
myStreamWriter.Write(vbCrLf & "---结束---" & vbCrLf)
myStreamWriter.Flush()
'调用event_log函数 这里数据为什么总是在---开始--- 和 ---结束--- 之间写入呢?
If Not myStreamWriter Is Nothing Then
myStreamWriter.Close()
End If
Catch
If Not myStreamWriter Is Nothing Then
myStreamWriter.Close()
End If
End Try
End Sub
--------------------------------------------------------------
那你认为应该在哪里写入? --------------------编程问答-------------------- 我的意思是:为什么是写在---开始--- 和 ---结束--- 之间?
为什么不是写在---开始--- 和 ---结束---后面? --------------------编程问答-------------------- myStreamWriter.Write(vbCrLf & "---开始---" & vbCrLf)
myStreamWriter.Write(vbCrLf & dd & vbCrLf & vbCrLf & s & vbCrLf)
myStreamWriter.Write(vbCrLf & "---结束---" & vbCrLf)
这怎么可能写在后面呢,你的代码就是让内容写在中间嘛。
补充:.NET技术 , VB.NET