Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » taskmanager...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
23.08.2004, 00:36 Uhr
~girlie
Gast


hallo zusammen!!!

ich habe da ein kleines Problem... und zwar

ich bin dabei mir ein kleines tool zu proggen das mir alle Prozessids aller im moment laufenden programme anzeigt-> sprich wie der taskmanager...

hiermit kann ich leider nur von bestimmten programmen die ID rauslesen aber ich möchte
alle IDs der im moment laufenden Programme rauslesen...



C++:
do{
          if(!strcmp(proc.szExeFile,"winamp.exe"))
               {
                  h_pro=OpenProcess(PROCESS_ALL_ACCESS, TRUE, proc.th32ProcessID);
                  Edit1->Text = proc.th32ProcessID;
                  Edit2->Text = proc.szExeFile;
                  GetExitCodeProcess(h_pro,&dw);
               }
}while(Process32Next(hSysSnapshot,&proc));




wie kann ich das realisieren???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.08.2004, 01:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wenn du ihm sagst er soll dir nur die ID's anzeigen von allen prozessen die von winamp.exe laufen verwundert es ja auch nicht das er dann nur diese anzeigt...

wofür verwendest du das OpenProcess und das GetExitCodeProzess? das brauchst du doch zum anzeigen gar nicht. kanns sein das du da was nicht verstanden hast oder willst du was ganz anderes machen als du hier erst in deinem post erklärt hast?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.08.2004, 18:21 Uhr
~girlie
Gast


nein ist schon richtig was ich erklärt habe, nur ich habe versucht den code umzuschreiben aber kriege das nicht hin. dieser code zeigt mir ja nur die ID von winamp.exe aber ich weiss nicht wie ich die IDs von allen laufenden Programmen rauslese.


ich lasse es ja später im Stringgrid angeordnet ( exe + Id + threads)ausgeben aber leider kann der von mir gepostete quellcode nur die id von z.B. winamp.exe oder einer anderen bestimmten exe anzeigen.

meine frage ist jetzt wie schaffe ich das ungefähr hinzukriegen das es wie im Taskmanager alle tasks angezeigt bekomme.

wäre auf eine antwort überglücklich
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.08.2004, 18:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hehe das kommt davon wenn man code klaut den man nicht versteht


C++:
do{
          if(!strcmp(proc.szExeFile,"winamp.exe")) //in dieser bedigung fragst du doch ab das nur die prozessID der Prozesse verwendet werden die winamp.exe heissen also einfach weglassen
               {
                  h_pro=OpenProcess(PROCESS_ALL_ACCESS, TRUE, proc.th32ProcessID);
                  Edit1->Text = proc.th32ProcessID;
                  Edit2->Text = proc.szExeFile;
                  GetExitCodeProcess(h_pro,&dw);
               }
}while(Process32Next(hSysSnapshot,&proc));/




also z.b. so

C++:
.
.
.
do{             Edit1->Text = proc.th32ProcessID;
                  Edit2->Text = proc.szExeFile;
}while(Process32Next(hSysSnapshot,&proc));


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 23.08.2004 um 18:45 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.08.2004, 21:25 Uhr
~girlie
Gast


lol so einfach?? hmm gleich mal ausprobieren... thx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.08.2004, 13:37 Uhr
~girlie
Gast


hey zusammen... wieder ich...

habe noch ein problem damit... und zwar :
benutze WIN-XP
wenn ich ein prozess beenden möchte und dieser Prozess den benutzernamen SYSTEM hat
kann ich es nicht beenden... ich kann nur meine eigenen Prozesse beenden
also nur die die meinen Usernamen tragen möchte aber Systemprozesse auch beenden können...

benutze diesen code:

C++:
do{
          if(!strcmp(proc.szExeFile,"winamp.exe"))
               {
                  h_pro=OpenProcess(PROCESS_ALL_ACCESS, TRUE, proc.th32ProcessID);
                  Edit1->Text = proc.th32ProcessID;
                  Edit2->Text = proc.szExeFile;
                  GetExitCodeProcess(h_pro,&dw);
                  TerminateProcess(h_pro,dw);
               }
}while(Process32Next(hSysSnapshot,&proc));
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
26.08.2004, 13:55 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


keine ahnung was theoretisch sich alles beenden lässt und was nicht. das OS wird dich schon darin einschränken nur das zu beenden wofür du auch die rechte hast...
oder willst du lustiges systemabschiessen spielen...

dein code kann so auch nur die prozesse beenden die winamp.exe heisen... du musst schon den namen entsprechend anpassen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.08.2004, 17:43 Uhr
~girlie
Gast


den habe ich auch angepasst... mit ->

C++:
if(!strcmp(proc.szExeFile, prog.c_str()))
{....}


das mit winamp.exe ist ja auch nur ein beispiel... und nein ich möchte nicht lustiges systemabschiessen spielen... sondern es ist ein project für die schule...
das lustige systemabschiessen kann ich ja evtl später machen... *gg*

das wichtigste dabei ist es muss auch programme beenden können die das atribbut SYSTEM haben... denn es gibt auch einige programme die sich nach der installation das System-attribut haben... zb das antivirus programm das ich benutze oder sonst welche...

das ding soll ungefähr die gleichen funktionen besitzen wie der Taskmanager von winxp...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.08.2004, 17:56 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also wenn das mit dem da oben nicht geht weiss ich spontan auch nicht wie...
wundert mich das du als der selbe user mit den selben rechten dann anscheinend im taskmanager mehr abschiessen kannst als mit dem quellcode...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.08.2004, 18:20 Uhr
Hans
Library Walker
(Operator)



Zitat von Windalf:
also wenn das mit dem da oben nicht geht weiss ich spontan auch nicht wie...
wundert mich das du als der selbe user mit den selben rechten dann anscheinend im taskmanager mehr abschiessen kannst als mit dem quellcode...


Hi,

<Spekulation>
ich vermute mal, das hat was damit zu tun, auf welcher Ebene des BS der Code ausgeführt wird. Wenn er von einem Userprogramm ausgeführt wird, läuft er auf Ring 3, so wie es die meissten Anwendungen tun sollen. Wenn er dagegen vom Windows-Taskmanager ausgeführt wird, läuft er auf Ring 0, und darf damit alles, was Windoof auch darf, ohne das der Prozessor eine Zugriffsverletzung, oder einen unerlaubten Befehl anmeckern könnte.
</Spekulation>

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: