2010-10-21 18 views
0

我有一個Windows服務/應用程序在PC上靜靜地運行,當用戶啓動任何程序時,我需要在15分鐘內計算時間並關閉它(程序)。即使用戶在15分鐘內關閉了特定的程序(比如說winword.exe),然後重新打開它,程序應該在15分鐘後自動關閉...使用C#/ VC++在10分鐘內自動關閉進程/程序?

+3

沒什麼調皮,我希望? – Ani 2010-10-21 04:45:06

+0

不...我寫它的目的:) – 2010-10-22 07:08:36

回答

1

有兩種方式我覺得你可能會達致這
1.應用手冊查詢使用App_Init註冊表

我就當你把你的DLL談一點關於數字2。 開始使用EnumProcessModules和使用TerminateProcess
2.使用DLL注入終止它們在以下注冊表值AppInit_DLLs中的以下注冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows中,可以使t他會加載幾乎所有啓動的應用程序。你可以在注入的dll的dllmain中寫一個15分鐘的計時器,並在執行完exitprocess()後最終取消整個過程。

+0

+ 1,另一個變化將掛鉤CreateProcess api調用,然後啓動計時器,如果新進程的目標進程。 – VinayC 2010-10-21 05:17:54

+0

@VinayC - 鉤子的使用非常謹慎,因爲它們極大地提升了系統的性能和穩定性。不建議! :) – 2010-10-21 05:21:13

+0

實際上這個過程是由用戶啓動的,但我們需要監視並檢查它,然後關閉...... – 2010-10-21 05:26:40

相關問題