【问题标题】:How to detect and handle external process如何检测和处理外部进程
【发布时间】:2014-11-02 20:03:10
【问题描述】:

我想知道使用 .net 语言(C# 或 VB)是否可以检测到新应用程序何时启动。 例如:用户从桌面打开 Firefox.exe(不是从我的应用程序!),是否可以从我的应用程序检测到此事件?也可以在运行之前“暂停”它吗? 因此,例如,当用户双击应用程序时,我的应用程序首先出现,然后如果他确定使用“是”和“否”按钮打开该文件,它会显示一条消息。 我不需要所有的代码,我只需要知道如何捕捉系统中任何地方都可能发生的事件。

【问题讨论】:

标签: c# .net vb.net


【解决方案1】:

user32.dll 中有一些 Windows API 函数,您可以通过 System.Runtime.InteropServices.DllImport 在您的 .NET 应用程序中使用这些函数来获取您正在寻找的信息。看看GetWindowThreadProcessId。有关示例代码,请参阅http://www.c-sharpcorner.com/UploadFile/satisharveti/ActiveApplicationWatcher01252007024921AM/ActiveApplicationWatcher.aspx。由于应用程序在启动时往往会变得活跃,因此您会发现该示例中使用的技术会导致它检测到新应用程序的启动。

这并不能回答有关让用户确认他们是否要运行应用程序的问题,但它会帮助您完成您正在尝试做的事情。

【讨论】:

    猜你喜欢
    • 2011-02-22
    • 1970-01-01
    • 2013-06-10
    • 2017-05-09
    • 2022-10-08
    • 2011-06-10
    • 1970-01-01
    • 2011-06-07
    • 2017-12-09
    相关资源
    最近更新 更多