» »

[c++] Kako dobiti proces programa, ki se izvaja??

[c++] Kako dobiti proces programa, ki se izvaja??

Tomcater ::

Zdravo!

Zanima me kako dobiti proces, ki se izvede ko pokličem nek program znotraj c++ z metodo ShellExecute(...) . Torej potrebujem proces tega programa, ki se je pognal...

Thx

veteran ::

Če uporabiš ShellExecuteEx, ti lahko vrne handle hProcess, glej help.

Lahko pa prebrskaš vse procese in ga poiščeš; CreateToolhelp32Snapshot, Process32First, Process32Next.

Ali pa greš skozi toplevel okna z EnumWindows, potem pa GetWindowThreadProcessId.

Zgodovina sprememb…

  • spremenil: veteran ()

Tomcater ::

Zdej proces mam... Problem je še v tem, da sm v nekem drugem oknu. Hočem pa poklicat določeno okno na "on top" in to s pomočjo ID procesa... Probal sm z raise(); vendar ne gre, oz. nič sene zgodi.

veteran ::

Uporabi SetForegroundWindow(). Sicer ima funkcija od windows98 naprej nekaj omejitev; zato, da uporabnikom ne bi skakala okna na vrh, ko npr kaj vnašajo (precej neprijetno, ker ti ukrade focus).

Se pa da to zaobiti, nekaj o tem piše v helpu. Ali pa uporabiš trik z AttachThreadInput(), da spraviš v ospredje okno, ki laufa v drugem procesu.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kako restartat proces?

Oddelek: Programiranje
393456 (3008) k4vz0024
»

Opera: drsnikom na spletnih straneh bo odklenkalo (strani: 1 2 )

Oddelek: Novice / Omrežja / internet
8121786 (17481) enadvatri
»

Kako zagnati program v želeni prioriteti?

Oddelek: Operacijski sistemi
101688 (1547) tha_man
»

Funkcija za zapret program

Oddelek: Programiranje
151211 (967) StratOS
»

Odpiranje dat.exe v VB

Oddelek: Programiranje
122804 (2597) webblod

Več podobnih tem