Vb.net 如何在用户启动新应用程序时在文本文件中创建通知

Vb.net 如何在用户启动新应用程序时在文本文件中创建通知,vb.net,Vb.net,我是编程新手。我被要求创建一个代码,每当用户在其系统上启动或执行应用程序时,该代码将本地监视并将应用程序的名称记录到文本文件中。我对流程不太了解,你能帮我吗 用户启动任何应用程序,日志保存在一个文本文件中,其中包含应用程序的时间和名称。您必须使用。然后,您可以监视Win32_ProcessStartTrace,以便在进程启动时收到通知。此外,您甚至可以使用Win32_ProcessStopTrace在进程停止时收到通知。 您的代码如下所示: Public Shared Sub Main()

我是编程新手。我被要求创建一个代码,每当用户在其系统上启动或执行应用程序时,该代码将本地监视并将应用程序的名称记录到文本文件中。我对流程不太了解,你能帮我吗

用户启动任何应用程序,日志保存在一个文本文件中,其中包含应用程序的时间和名称。

您必须使用。然后,您可以监视Win32_ProcessStartTrace,以便在进程启动时收到通知。此外,您甚至可以使用Win32_ProcessStopTrace在进程停止时收到通知。 您的代码如下所示:

Public Shared Sub Main()
    Dim startWatcher As ManagementEventWatcher = New ManagementEventWatcher(New WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"))
    startWatcher.EventArrived += New EventArrivedEventHandler(startWatcher_EventArrived)
    startWatcher.Start()
End Sub


Private Shared Sub startWatcher_EventArrived(ByVal sender As Object, ByVal e As EventArrivedEventArgs)
    Dim logString As String ="{0}: Process started: {1}".Format( Now.ToString(), e.NewEvent.Properties("ProcessName").Value)
     Using sw As StreamWriter = File.AppendText(YourLogFile)
            sw.WriteLine(logString)
     End Using
End Sub
你必须使用。然后,您可以监视Win32_ProcessStartTrace,以便在进程启动时收到通知。此外,您甚至可以使用Win32_ProcessStopTrace在进程停止时收到通知。 您的代码如下所示:

Public Shared Sub Main()
    Dim startWatcher As ManagementEventWatcher = New ManagementEventWatcher(New WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"))
    startWatcher.EventArrived += New EventArrivedEventHandler(startWatcher_EventArrived)
    startWatcher.Start()
End Sub


Private Shared Sub startWatcher_EventArrived(ByVal sender As Object, ByVal e As EventArrivedEventArgs)
    Dim logString As String ="{0}: Process started: {1}".Format( Now.ToString(), e.NewEvent.Properties("ProcessName").Value)
     Using sw As StreamWriter = File.AppendText(YourLogFile)
            sw.WriteLine(logString)
     End Using
End Sub

-> .. 创建新窗口(系统中的任何窗口)时,将引发WindowOpen事件。您可以按照中所示的过程进行操作。是否存在这样的情况:每当启动.exe文件时,我都可以收到通知?我们正在监控本地系统,以检查最终用户将打开哪些应用程序,应用程序的名称尚不清楚,它可能是任何应用程序。这取决于。我提到的UI自动化模式捕获任何窗口化应用程序的执行,即使该窗口实际上是一个控制台实例。应用程序的名称(及其句柄和其他详细信息)由事件参数中引用的AutomationElement报告。否则,您可以(简单地)使用进程类或WMI事件轮询进程列表。->。。创建新窗口(系统中的任何窗口)时,将引发WindowOpen事件。您可以按照中所示的过程进行操作。是否存在这样的情况:每当启动.exe文件时,我都可以收到通知?我们正在监控本地系统,以检查最终用户将打开哪些应用程序,应用程序的名称尚不清楚,它可能是任何应用程序。这取决于。我提到的UI自动化模式捕获任何窗口化应用程序的执行,即使该窗口实际上是一个控制台实例。应用程序的名称(及其句柄和其他详细信息)由事件参数中引用的AutomationElement报告。否则,您可以(简单地)使用进程类或WMI事件轮询进程列表。