Procesy. Gry typu JAVA i STEAM

1

Witam.

Piszę aplikację która sprawdza mi wedle procesów czy dany proces jest uruchomiony i mam taki problem iż np. gra Minecraft ma proces "javaw.exe" lub w przypadku gry Counter Strike, proces nazywa sie "hl.exe" i ma atrybuty "-steam -game cstrike".

Wie ktoś może jak to rozwiązać?

Pozdrawiam K'Groove

0

ale co rozwiązać? Wiesz wypadało by zadać pytanie...

0

Pytanie jest ukryte - prawdopodobnie chodzi o to, żeby zidentyfikować odpowiedni proces.
Autor wątku podał, że mogą się one różnić tylko listą parametrów.
W związku z czym trzeba użyć tej listy parametrów.
Zatem problem wydaje się nie istnieć...

1

za pomocą NtQueryInformationProcess pobrać "ProcessBasicInformation".
W otrzymanej strukturze będzie pole PebBaseAddress, w nim pole ProcessParameters, a wśród tych parametrów pole CommandLine.

0

Pytanie jest ukryte - prawdopodobnie chodzi o to, żeby zidentyfikować odpowiedni proces.

Czyli zgadujemy o co chodzi pytaczowi?
Pytania nie ma. Po prostu wam się wydaje że pytaczowi o coś chodzi. Natomiast z jego postu wynika tylko to że pisze program i ma jakiś problem... Tak czy siak życzę mu powodzenia!!!

za pomocą NtQueryInformationProcess pobrać "ProcessBasicInformation".
W otrzymanej strukturze będzie pole PebBaseAddress, w nim pole ProcessParameters, a wśród tych parametrów pole CommandLine.

Brzmi chakiersko. Sądzę, że jest jakaż metoda windowsowa, ale ekspertem od WinAPI nie jestem.

0
vpiotr napisał(a):

Pytanie jest ukryte - prawdopodobnie chodzi o to, żeby zidentyfikować odpowiedni proces.
Autor wątku podał, że mogą się one różnić tylko listą parametrów.
W związku z czym trzeba użyć tej listy parametrów.
Zatem problem wydaje się nie istnieć...

Dokładnie, mam listę dodanych gier w bazie:

  1. Nazwa gry
  2. Lokalizacja pliku (procesu)
  3. Atrybut dodatkowy np. "-steam -game cstrike"

I aby sprawdzał co np. 30 sek wszystkie procesy i atrybuty z bazy i czy któryś jest uruchomiony.

0

@Kris Groove: no to @kAzek podał Tobie link z gotowym sposobem na pobrania linii polecen na podstawie PIDu. Natomiast pobranie wszystkich działających procesów oraz pobranie ich ściezki i nazwy programu to już nie problem. Jakby co są na to gotowe przykłady na google. Wystarczy poszukać.

0

Ale przecież on chce gotowca...

0

No właśnie widzę, ale ja gotowca nie wyślę. A i zapomniałem dodać, że podanie pełnej ścieżki zadziała CHYBA tylko na 64 bitowym procesie. Teraz widzę po starym kodzie pisanym dawno temu na zlecenie, że funkcja do pobrania pełnej ścieżki nazywa się ProcessFullPath64Bit także pewnie coś było na rzeczy. Chociaż może kod nie był doskonały, bo teraz sprawdziłem inny banalny do wygooglowania i ten podaje ściężki do procesów, do których może ustalić - również pod Windowsem 98 na wierualnej maszynie.

0

Chciałem kilka funkcji i przykład prosty.

1
Kris Groove napisał(a):

Chciałem kilka funkcji i przykład prosty.

To napisałeś w złym dziale. Od tego że inni robią za ciebie jest dział praca. Oczywiście za $$$.

0
-123oho napisał(a):
Kris Groove napisał(a):

Chciałem kilka funkcji i przykład prosty.

To napisałeś w złym dziale. Od tego że inni robią za ciebie jest dział praca. Oczywiście za $$$.

Bez przesady, takie kody znajdowałem zawsze na forum, nigdy w oficjalnych podręcznikach. Nigdy za to nie płaciłem.

@Kris Groove: w tym wypadku nic na sieci nie ma, ale zawsze w tym wypadku możesz poszukać OSS:
Szukając "open source windows process list command line" znajdziesz projekt "Process Hacker", który wyświetla to czego szukasz i ma dostępne źródła.

0

Bez przesady, takie kody znajdowałem zawsze na forum, nigdy w oficjalnych podręcznikach. Nigdy za to nie płaciłem.

Tak, ale umiejętność szukania to też przydatna sprawa. Uważam że dawanie przykładów ogólnikowych jest ok, natomiast nie gotowce. Jak pytacz myśli to da sobie radę, jak nie to nie.

1
-123oho napisał(a):

Bez przesady, takie kody znajdowałem zawsze na forum, nigdy w oficjalnych podręcznikach. Nigdy za to nie płaciłem.

Tak, ale umiejętność szukania to też przydatna sprawa. Uważam że dawanie przykładów ogólnikowych jest ok, natomiast nie gotowce. Jak pytacz myśli to da sobie radę, jak nie to nie.

Ogólnie masz rację, ale akurat przy wywoływaniu Win32 API sobie nie pofantazjujesz, więc albo podasz kompletny zestaw funkcji (najlepiej ze sposobem wywołania) albo Twoja pomoc jest bezużyteczna.

0
vpiotr napisał(a):

Ogólnie masz rację, ale akurat przy wywoływaniu Win32 API sobie nie pofantazjujesz, więc albo podasz kompletny zestaw funkcji (najlepiej ze sposobem wywołania) albo Twoja pomoc jest bezużyteczna.

Nie mogę się całkowicie zgodzić, jest MSDN gdzie są opisy praktycznie wszystkich funkcji winapi o wielu przykładach w C++ nie wspominając. Zazwyczaj gdy szukam jakiejś rzeczy w winapi to wrzucam opis do googla i gdy znajdę nazwę procedury winapi to jestem w stanie znaleźć jej opis, parametry itd. . Jest to może i sprawa trudna dla newbie, ale nie nie możliwa.
Poza tym jeżeli chodzi o znajdowanie PIDów to baardzo łatwo można znaleźć gotowce nawet w delphi. No ale przecież tutaj nawet nie ma dobrej woli, pokombinowania itd. więc dlaczemu ktokolwiek miałby mu pomagać...
Gdy byłem nieświadomy działania winapi to i tak byłem w stanie znaleźć gotowce i je przerobić tak aby działały pod Lazarusem, więc nie mów że się nie da ;) . Jeżeli ktoś ma odrobinę sprytu i google to da sobie radę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1