具体的には、プログラムの実行時にリッスンして、タイムスタンプ、実行可能ファイル、Windows 名、ユーザーなどの情報を記録したいと考えています。
5 に答える
1
これを行う最もわいせつな方法は、Google デスクトップの方法、
つまり、これまでに開始されたすべてのプロセスに DLL をロードし、情報をログに記録することです。
さらに興味がある場合は、Google デスクトップをインストールして、その dll がプロセスにロードされるのを確認してください。次に、レジストリを調べて、それが実行されていることを確認します。
これは、ウイルスのような動作の領域に入っていることに注意してください。
于 2008-10-09T09:02:20.400 に答える
1
または、WMI インターフェイスを使用して実行中のものを見つけ、適切なアクションを実行します。Select * from Win32_Process
以下の VBScript コードでは、プロセスの優先順位を変更するために、WMI サブシステムが照会されています。他にどのような属性が利用できるWin32_Process
かを調べて、あなたが行きたい方向に向かっているものを見つける必要があります.
Const NORMAL_PRIORITY = 32
Const LOW_PRIORITY = 64
Const REALTIME_PRIORITY = 128
Const HIGH_PRIORITY = 256
Const BELOWNORMAL_PRIORITY = 16384
Const ABOVENORMAL_PRIORITY = 32768
Function SetPriority( sProcess, nPriority )
Dim sComputer
Dim oWMIService
Dim cProcesses
Dim oProcess
Dim bDone
bDone = False
sComputer = "."
Set oWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
Set cProcesses = oWMIService.ExecQuery ("Select * from Win32_Process Where Name = '" & sProcess & "'")
For Each oProcess in cProcesses
oProcess.SetPriority( nPriority )
bDone = True
Next
SetPriority = bDone
End Function
于 2008-10-09T06:33:31.167 に答える
1
PSAPI 関数EnumProcesses () を使用して、実行中のプロセスのリストを定期的に取得します。
于 2008-10-09T10:41:47.437 に答える
0
Perfmon API の使用を検討してください (リファレンスについては MSDN を確認してください)。
于 2008-10-09T05:30:18.453 に答える