Post by jNizM » 18 Oct 2013, 09:09
Danke an alle =)
Wenn ich daheim bin komme ich nochmal auf dich zu wegen einer weiteren Funktion
Den alten Stand, den ich zusammengeschustert habe, lass ich dir schon mal da.
Code: Select all
ownPID := DllCall("GetCurrentProcessId")
MsgBox, % "BUILD: " GetVersionEx() " | PID: " ownPID " | " Round(GetProcessMemoryInfo(ownPID) / 1024, 0) " K"
GetVersionEx() {
static OSVerEX, init := VarSetCapacity(OSVerEX, 284, 0) && Numput(284, OSVerEX, "UInt")
DllCall(Kernel32.GetVersionEx, "Ptr", &OSVerEX)
return, NumGet(OSVerEX, 12, "UInt")
}
GetProcessMemoryInfo(PID) {
pu := ""
if (GetVersionEx() >= "7600")
{
size := (A_PtrSize = "8" ? "80" : "44")
VarSetCapacity(PMCEX, size, 0), NumPut(size, PMCEX)
hProcess := DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "UInt", PID)
if (hProcess)
{
if (DllCall("Kernel32.dll\K32GetProcessMemoryInfo", "Ptr", hProcess, "UInt", &PMCEX, "UInt", size))
pu := NumGet(PMCEX, (A_PtrSize = "8" ? "72" : 40), (A_PtrSize = 8 ? "Int64" : "Int"))
DllCall("Kernel32.dll\CloseHandle", "Int", hProcess)
}
}
else
{
size := (A_PtrSize = "8" ? "72" : "40")
VarSetCapacity(PMC, size, 0), NumPut(size, PMC)
hProcess := DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "UInt", PID)
if (hProcess)
{
if (DllCall("psapi.dll\GetProcessMemoryInfo", "Ptr", hProcess, "UInt", &PMC, "UInt", size))
pu := NumGet(PMC, (A_PtrSize = 8 ? 56 : 32), (A_PtrSize = 8 ? "Int64" : "Int"))
DllCall("psapi.dll\CloseHandle", "Ptr", hProcess)
}
}
return % pu
}
Danke an alle =)
Wenn ich daheim bin komme ich nochmal auf dich zu wegen einer weiteren Funktion ;)
Den alten Stand, den ich zusammengeschustert habe, lass ich dir schon mal da.
[code=autohotkey file=Untitled.txt]
ownPID := DllCall("GetCurrentProcessId")
MsgBox, % "BUILD: " GetVersionEx() " | PID: " ownPID " | " Round(GetProcessMemoryInfo(ownPID) / 1024, 0) " K"
GetVersionEx() {
static OSVerEX, init := VarSetCapacity(OSVerEX, 284, 0) && Numput(284, OSVerEX, "UInt")
DllCall(Kernel32.GetVersionEx, "Ptr", &OSVerEX)
return, NumGet(OSVerEX, 12, "UInt")
}
GetProcessMemoryInfo(PID) {
pu := ""
if (GetVersionEx() >= "7600")
{
size := (A_PtrSize = "8" ? "80" : "44")
VarSetCapacity(PMCEX, size, 0), NumPut(size, PMCEX)
hProcess := DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "UInt", PID)
if (hProcess)
{
if (DllCall("Kernel32.dll\K32GetProcessMemoryInfo", "Ptr", hProcess, "UInt", &PMCEX, "UInt", size))
pu := NumGet(PMCEX, (A_PtrSize = "8" ? "72" : 40), (A_PtrSize = 8 ? "Int64" : "Int"))
DllCall("Kernel32.dll\CloseHandle", "Int", hProcess)
}
}
else
{
size := (A_PtrSize = "8" ? "72" : "40")
VarSetCapacity(PMC, size, 0), NumPut(size, PMC)
hProcess := DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "UInt", PID)
if (hProcess)
{
if (DllCall("psapi.dll\GetProcessMemoryInfo", "Ptr", hProcess, "UInt", &PMC, "UInt", size))
pu := NumGet(PMC, (A_PtrSize = 8 ? 56 : 32), (A_PtrSize = 8 ? "Int64" : "Int"))
DllCall("psapi.dll\CloseHandle", "Ptr", hProcess)
}
}
return % pu
}
[/code]