2013-01-20 26 views
0

假設我想在特定EXE啓動時運行批處理文件。在Win32 API中有沒有這個鉤子?當程序啓動時執行一個動作

我使用VCL與德爾福,但一般的信息,這將是很好的。 該程序應該在後臺運行,並且,當用戶啓動應用程序時,程序檢測到該情況,檢查應用程序是否符合條件並運行關聯的批處理文件(如果有)。

+0

據我可以從一個快速的網絡搜索發現,你無法從啓動程序接收通知。你可以進行投票,但是很可能你太晚了。如果你更好地解釋了這個問題,可能會提出一個更加萬無一失的解決方案。例如,您可以創建一個用戶啓動的自定義可執行文件或批處理文件,以便預先運行要運行的代碼,然後啓動用戶期望啓動的應用程序? – CodeCaster

+0

@CodeCaster是的,這確實會起作用。 – Konstantin

+1

您可以查看[AppInit_DLLs](http://support.microsoft.com/kb/197571)註冊表值,以在加載進程時加載DLL。 – Deanna

回答

0

您是否嘗試過使用Delphi的Create Process Function?

這裏是一個小環節,它可以引導你的過程:

http://snipplr.com/view/59064/using-createprocess-to-execute-programs/

+0

我需要的是基本檢測一個進程何時開始的事情。我已經用更多信息更新了這個問題,希望能夠澄清任何混淆。 '程序應該在後臺運行,並且當用戶啓動一個應用程序時,程序會檢測到這一點,檢查應用程序是否符合條件並運行關聯的批處理文件(如果有的話)。「# – Konstantin

+0

好的,就像TSR一樣程序,我仍然相信,用創建一個進程的管理員可以處理它。如果我得到任何其他解決方案,我會發布它。 – Layla

相關問題