Pfad eines Prozesses im TaskManager
-
Klappt leider nicht. Ich weiß, das ist keine Aussage.
Habe es wie folgt gemacht:void Pfad() { HANDLE Snapshot, Prozess, Modul; PROCESSENTRY32 pro; while(1) { Snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(Snapshot==INVALID_HANDLE_VALUE) { CloseHandle(Snapshot); return; } pro.dwSize = sizeof(PROCESSENTRY32); if( !Process32First(Snapshot,&pro)) { CloseHandle(Snapshot); return; } while(Process32Next(Snapshot,&pro)) { if(!lstrcmp(pro.szExeFile,"Editor.exe")) { Prozess=OpenProcess(PROCESS_ALL_ACCESS,0,pro.th32ProcessID); if(Prozess==NULL) { CloseHandle(Snapshot); CloseHandle(Prozess); return; } Modul=VirtualAllocEx(Prozess,0,sizeof(DLL),MEM_COMMIT,PAGE_EXECUTE_READWRITE); if(Modul==NULL) { CloseHandle(Snapshot); CloseHandle(Prozess); CloseHandle(Modul); return; } if(WriteProcessMemory(Prozess,Modul,(LPVOID)DLL,sizeof(DLL),NULL)==NULL) { CloseHandle(Snapshot); CloseHandle(Prozess); CloseHandle(Modul); return; } if(CreateRemoteThread(Prozess,NULL,0,(LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("kernel32"),"LoadLibraryA"),Modul,0,NULL)==NULL) { CloseHandle(Snapshot); CloseHandle(Prozess); CloseHandle(Modul); return; } unsigned long pfad; GetModuleFileNameEx(Prozess, NULL, NULL, pfad); ofstream test("test.txt"); test<<pfad; test.close(); CloseHandle(Prozess); CloseHandle(Modul); ExitProcess(0); return; } Sleep(5); } CloseHandle(Snapshot); Sleep(5); } }Ich habe dann nur Zahlen in der Text Datei, wollte aber eigentlich den Pfad haben. Weiß da jemand rat bzw. kann mir jemand ein bisschen mehr helfen?

-
Nochmal genauer angucken:
http://msdn.microsoft.com/en-us/library/ms683198Dritter param ist der gewünschte output und seit wann speichert man Pfade in unsigned long's

-
Jetzt funktioniert es wunderbar, allerdings würde ich gern nur den Oberordner, in dem die .exe liegt, haben.
Wie kriege ich das hin? Denn ich möchte mit dem Pfad, also z.B. "C:\\Programme\\Photoshop\" weiter arbeiten, das heisst in einem String speichern und z.B. ein '+ "Pictures\\Header\\Bla.jpg"' dranhängen, um dieses Bild hinterher zu kopieren.
Doch ich habe ja jetzt "C:\\Programme\\Photoshop\\Photoshop.exe", weiß jemand rat?
-
Ja, probiers mal mit 'nem Anfänger Buch für C. Das steht da alles drin, denn das sind die billigsten Grundlagen wo gibt.

-
Ich kenne die Grundlagen, jedoch helfen die mir nicht, nur in den Ordner zu springen

Und es heisst nicht "denn das sind die billigsten Grundlagen wo gibt", sondern "denn das sind die billigsten Grundlagen DIE ES gibt".. Lern du dann bitte Deutsch!
-
Pinball schrieb:
Ich kenne die Grundlagen, jedoch helfen die mir nicht, nur in den Ordner zu springen

Du willst den Pfad ohne Dateinamen? Nun es gibt extra Separatoren, die Ordern von Ordnern und auch von Dateinamen trennen. Überleg mal, ob du mit dieser Information und deinen Grundlagenkenntnissen weiterkommst.
-
Natürlich nicht, darum frage ich ja auch? Dachte dafür wäre ein Forum wie dieses da?

-
-
Pinball schrieb:
Lern du dann bitte Deutsch!
Lern du doch mal coden. Btw, ich weiss wie man den Pfad aus einem String heraussplittet, ich sag dirs aber nicht.
Pinball schrieb:
Ich kenne die Grundlagen
Ach ja, dann ist wohl das Auslesen eines Strings professionells Wissen, das man sich erst nach einigen Jahren intensiven Progammierens aneignen kann. Spiel doch mit Bauklötzchen, vielleicht bekommst'e dann was Zustande.
-
Kritisieren ist immer leicht.

@witzbold: Soll ich dich jetzt anbetteln? Pf.
@asdca: Ich bin 22...
Gibt es hier noch vernünftige Leute, die auch vernünftig helfen können?
-
-
-
Ich denke eher ihr beiden seid die Kinder hier, die kein Wissen über C++ verfügen und deshalb unnötig spammen.
-
ascada hat schon oft genug geholfen hier. Und ich weiß, was ich kann. Ausserdem ist das kein c++ Forum. Lerne erstmal geradlinig zu denken.
-
witzbold schrieb:
ascada hat schon oft genug geholfen hier. Und ich weiß, was ich kann. Ausserdem ist das kein c++ Forum. Lerne erstmal geradlinig zu denken.
Er hat durchaus schon oft genug geholfen, nur nicht bei meinem 2ten Problem.
Ich verstehe auch garnicht warum ihr so arrogant seid? Was hilfts?Ach das ist kein Cpp Forum? (www.c-plusplus.net/forum) ... Na dann!
//Back to Topic:
Wäre sehr dankbar über jede Hilfe!

-
_Luckie schrieb:
Nun es gibt extra Separatoren, die Ordern von Ordnern und auch von Dateinamen trennen.
Der Rest: Grundlagen! *hust*