| |
|
|
Jac de Lad | Gibts eine API mit der sich rausfinden lässt, wieviel RAM mein Prog verwendet ()in etwa so, wie der Taskmanager das anzeigt)?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 13.02.2008 ▲ |
|
|
|
|
| Wüsste ich auch gerne! |
|
|
| |
|
|
|
Sebastian König | Unter NT-basierten System lässt sich vielleicht hiermit etwas anfangen: KompilierenMarkierenSeparieren $H windows.ph
Cls
declare hToken&
~OpenProcessToken(~GetCurrentProcess(),~TOKEN_ADJUST_PRIVILEGES,Addr(hToken&))
if hToken& <> 0
declare priv#
dim priv#,16
if External(ADVAPI32.DLL,LookupPrivilegeValueA,,SeDebugPrivilege,priv#+4) <> 0
long priv#,0 = 1
long priv#,12 = ~SE_PRIVILEGE_ENABLED
External(ADVAPI32.DLL,AdjustTokenPrivileges,hToken&,0,priv#,SizeOf(priv#),0,0)
endif
dispose priv#
~CloseHandle(hToken&)
endif
declare id&
print ID (current =, ~GetCurrentProcessId();):,
input id&
declare hProcess&
let hProcess& = ~OpenProcess(~PROCESS_ALL_ACCESS,0,id&)
ifnot hProcess&
print Prozess konnte nicht geöffnet werden :-(
print Taste zum Beenden!
WaitKey
end
endif
print Handle:,hProcess&
print -------------------
declare pMem#,size&
dim pMem#,44
External(NTDLL.DLL,ZwQueryInformationProcess,hProcess&,3,pMem#,44,Addr(size&))
print PeakVirtualSize:,long(pMem#,0) 1024,KB
print VirtualSize:,long(pMem#,4) 1024,KB
dispose pMem#
~CloseHandle(hProcess&)
color 0,15
print
print
print Taste zum Beenden!
WaitKey
end
Was da ermittelt wird, ist allerdings die Größe des kompletten virtuellen Speicherbereichs, den ein Prozess belegt...
HTH
Sebastian |
|
|
| |
|
|
|
Jac de Lad | Nee, das ist irgendwas anderes... |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 13.02.2008 ▲ |
|
|
|
|
Sebastian König | Hah, aber fast! Ergänz mal die Ausgabe um die Zeile
print WorkingSetSize:,long(pMem#,16) 1024,KB
Nach meinen Tests ist das genau der Wert, der auch im Task-Manger angezeigt wird...
MfG
Sebastian |
|
|
| |
|
|
|
Jac de Lad | Aha, coole Sache, danke. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 13.02.2008 ▲ |
|
|
|
|
Jac de Lad | Aber ne allgemeingültige Funktion nicht? Ich meine für alle WIndows-Versionen. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 13.02.2008 ▲ |
|
|
|
|
Sebastian König | Jac
Aber ne allgemeingültige Funktion nicht? Ich meine für alle WIndows-Versionen.
Ja, ist wie gesagt nur für NT-basierte Systeme. Für Win9x/ME gibt es vielleicht eine andere Möglichkeit... aber wer benutzt das schon noch?
Und noch eine Bemerkung: Wenn es nur um den eigenen Prozess geht, kann man sich AdjustTokenPrivileges-Teil wohl sparen. Der dürfte bei eingeschränkten Benutzerkonten auch schief gehen...
MfG
Sebastian |
|
|
| |
|
|
|
Thomas Zielinski | Sebastian König
Ja, ist wie gesagt nur für NT-basierte Systeme. Für Win9x/ME gibt es vielleicht eine andere Möglichkeit... aber wer benutzt das schon noch?
Der MMJ nutzt das alles noch jeden Freitag in der Woche |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 13.02.2008 ▲ |
|
|
|
|
| @Thomas: Das wäre dann also 1:0,0000000025 ? |
|
|
| |
|
|
|
Thomas Zielinski | Wenn Ich das jetz mit den mir zur verfügungung stehenden Statistiken ganz Unwissentschaftlich grob Überschlage könnte das mit ein bissl Glück stimmen. |
|
|
| XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 13.02.2008 ▲ |
|
|
|
|
| Es stimmt auch dann wenn Du es ohne zur Verfügung stehende Statistiken völlig wissenschaftlich frei von Glück exakt ermittelst. |
|
|
| |
|
|