如果我能检测到新应用程序何时启动,我想用.net语言(C#或VB)知道。 例如:用户从桌面打开Firefox.exe(而不是从我的应用程序!),是否可以从我的应用程序中检测到此事件?还可以在运行之前“暂停”它吗? 因此,例如当用户双击某个应用程序时,我的应用程序首先出现,然后如果他确定使用“是”和“否”按钮打开该文件,则会显示一条消息。 我不需要所有代码,我只需要知道如何捕获可能在系统中任何地方发生的事件。
答案 0 :(得分:0)
user32.dll中有一些Windows API函数可以通过System.Runtime.InteropServices.DllImport在.NET应用程序中使用,以获取您正在寻找的信息。看看GetWindowThreadProcessId。有关示例代码,请参阅http://www.c-sharpcorner.com/UploadFile/satisharveti/ActiveApplicationWatcher01252007024921AM/ActiveApplicationWatcher.aspx。由于应用程序在启动时往往会变为活动状态,因此您会发现该示例中使用的技术将导致它检测到新的应用程序启动。
这并没有回答让用户确认他们是否想要运行应用程序的问题,但它会让您了解自己想要做的事情。