Antwort schreiben

Online-tutorials.net Forenübersicht/C++ / C#/C++ Speicher Tut2

Antwort schreiben
Username: Username: Passwort: Password vergessen?
Beitragssymbol:   Kein Symbol    
Funktionen:
Weitere Smiley's
                       
Lachend attention cry keep cool question happy laugh tongue Lachend attention cry keep cool question happy laugh tongue
Betreff:
Keywords: (Stichworte, die das Thema beschreiben)
Beitrag:
Optionen: E-Mail Benachrichtigung
BBCode benutzen
Datei anhängen: Erlaubt: rar zip pdf txt gif bmp jpg jpeg png

Bearbeitungshilfe...
Schauen Sie am besten in der wikipedia nach, falls Sie sich über einen Begriff nicht im klaren sind.

Mit einem klick auf Send bestätigen Sie, das Sie die Nutzungsbedingungen gelesen haben, und das Sie damit einverstanden sind.

Themenübersicht
(absteigend nach Datum sortiert)
Author Beitrag
Simon HechtEntschuldige das ich nicht geantwortet habe.

Danke für die Lösung :-)

sleepyIch hab nochmal ein wenig gesucht und auch eine Lösung gefunden.
Falls es jemanden interessiert:

[code]
HWND hWnd;
HANDLE hProc;
DWORD ProcID;
DWORD Rw = 0;
unsigned adrStart = 0x00000000;
unsigned adrEnd = 0x80000000;
unsigned char buffer[4096];
unsigned long iBytesRead=0;
unsigned int ProcSize;
MEMORY_BASIC_INFORMATION mbi;

hWnd = FindWindowA(0, "MeinFenster");
if(!hWnd)
return ;

GetWindowThreadProcessId(hWnd, &ProcID);

hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcID);
adrEnd = 0x80000000;

ProcSize = 0;
for(; adrStart<adrEnd; adrStart+=4096)
{
VirtualQueryEx(hProc, (LPCVOID)adrStart,&mbi,4096);

if(mbi.State==MEM_COMMIT)
{
if(ReadProcessMemory(hProc,(LPCVOID)adrStart,&buffer, sizeof(buffer),&ProcID))
{
ProcSize++;
}
}

iBytesRead+=4096;
}
ProcSize = ProcSize *0.004048f;
[/code]

So komme ich dann an den belegten Speicher des Prozesses. ProcSize liefert mir eine Angabe in MB. Das Ganze ist zwar etwas umständlich, da ich den gesamten Speicher (2GB) durchscanne, aber ich bekomme mein Ergebnis :)


Edit: Code tags eingefügt

Gruß Sleepy

sleepyHallo!

Ich versuche seit ein paar Tagen ein Programm zu schreiben, dass den Speicher einer Anwendung überwacht. Sprich ich möchte die Größe des benutzten Speichers herausfinden.
Ich habe auch die Tutorials 1+2 gemacht.(zwar nicht alles 100% verstanden, aber sonst sehr NICE).
Aber hier jetzt meine Frage:
Ich kann zwar mein Fenster finden. und auch die ID bestimmen. Aber woher
weiss ich die Speichergröße/n nach der ich suchen muss? Also ich möchte ja den Speicher der gesamten Applikation haben und nicht einer einzelnen
Variable.

Ich hoffe die Frage ist richtig und verständlich gestellt

Gruß Sleepy