Hallo,
kann man ihrgendwie überprüfen welcher Prozess auf ein Programm zugreift?
Oder eine Art Referer, wie bei HTTP request, welcher Prozess das Programm gestartet hat.
LG
Captain09
überprüfen welcher Prozess auf Programm zugreift
-
- [ offen ]
-
Captain09 -
7. Januar 2014 um 18:02 -
Erledigt
-
-
welcher Prozess das Programm gestartet hat.
Spoiler anzeigen
[autoit]#include <Process.au3>
[/autoit] [autoit][/autoit] [autoit]MsgBox(0,"AutoIt-Programm wurde aufgerufen von", _ProcessGetName(ProcessGetParentProcess(@AutoItPID)))
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Gibt die Process-ID des Prozesses zurück der den angegebenen Prozess erzeugt hatte
[/autoit] [autoit][/autoit] [autoit]
Func ProcessGetParentProcess($PID)
Local Static $oWMI = ObjGet("winmgmts:\\localhost\root\CIMV2")
$PID = ProcessExists($PID)
If $PID = 0 Then Return SetError(1,0,0)For $oItem In $oWMI.ExecQuery("SELECT ParentProcessId FROM Win32_Process WHERE ProcessId=" & $PID, "WQL", 0x20 + 0x10)
[/autoit] [autoit][/autoit] [autoit]
Return $oItem.ParentProcessId
NextReturn SetError(2,0,0)
[/autoit]
EndFunc -
Wenn du wissen willst wer grade auf deinen Prozess zugreift dann schau mal auf msdn nach
K32EnumProcesses
-
[autoit]Alles anzeigen
[/autoit] [autoit][/autoit] [autoit]
#includeMsgBox(0,"AutoIt-Programm wurde aufgerufen von", _ProcessGetName(ProcessGetParentProcess(@AutoItPID)))
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Gibt die Process-ID des Prozesses zurück der den angegebenen Prozess erzeugt hatte
[/autoit] [autoit][/autoit] [autoit]
Func ProcessGetParentProcess($PID)
Local Static $oWMI = ObjGet("winmgmts:\\localhost\root\CIMV2")
$PID = ProcessExists($PID)
If $PID = 0 Then Return SetError(1,0,0)For $oItem In $oWMI.ExecQuery("SELECT ParentProcessId FROM Win32_Process WHERE ProcessId=" & $PID, "WQL", 0x20 + 0x10)
[/autoit] [autoit][/autoit] [autoit]
Return $oItem.ParentProcessId
NextReturn SetError(2,0,0)
[/autoit]
EndFuncklappt super Danke schön
Wenn du wissen willst wer grade auf deinen Prozess zugreift dann schau mal auf msdn nachK32EnumProcesses
wenn du mit msdn Microsoft Developer Network meinst, finde ich dort nur bullshit
-
http://msdn.microsoft.com/en-us/library/…9(v=vs.85).aspx
Das verwenden eigentlich HackShields bzw. Sicherheitsprogramme von Online-Spielen die das Injecten / hacken erschweren.
-
http://msdn.microsoft.com/en-us/library/…9(v=vs.85).aspx
Das verwenden eigentlich HackShields bzw. Sicherheitsprogramme von Online-Spielen die das Injecten / hacken erschweren.
danke, genau das was ich gesucht habe
Ja ich möchte, dass man mein Programm nur über das öffnen der exe starten kann