Keresse HWnd a fő ablak HINSTANCE

Keresse HWND főablakra HINSTANCE

Szükség van néhány futtatható EXE-BCCH. EXE-shka idegen, milyen osztályok vannak leírva ezt az alkalmazást, fogalmam sincs. Fut át ​​ShellExecute fut, minden gond nélkül, és cserébe HINSTANCE. De hogyan lehet megtalálni a HWND az alkalmazás főablakát, amelyek csak HINSTANCE.

Nem az eredmény az eredmény is. Köszönöm.

nem használja ShellExecute egy CreateProcess - visszatér a kilincset a fő stream, majd felsorolja az összes ablakot, meg az áramlás, hogy ez egy ablak létre (GetWindowThreadProcessId)
Hemorrhagiás szó (bár lehet, hogy más módon)


> Ezután sorolja fel az összes ablakot, meg az áramlás, hogy ez
> Ablak létre (GetWindowThreadProcessId)

Minden az ablakok egyszálú, akkor mi. Melyik ezek közül a legfontosabb?

És általában, mi a fő ablak? az enyém az összes ablak egyenlők (kivéve a leányvállalatok, persze, de akkor meg lehet tanulni a szülő)

ha a kérelem nem bonyolult, és a középső pad után (miután maalenky zaderzhechki) futás EXE fájlt okozhat GetForegroundWindow és valószínűleg ez lesz a fő ablakban

A legtöbb esetben a fő ablakban, hogy jön létre az első, legfelső szintű, és nincs szülő. Bár nem az a tény, hogy mindig.

> GetForegroundWindow és valószínűleg ez lesz a fő ablakban

A fő ablak lehet teljesen láthatatlan és mérete nulla.
Következtetés: A fő ablak nem lehet meghatározni, mert nem tudjuk megmondani, hogy mit jelent, hogy a fő ablakban.

Megkezdése előtt „néhány EXE-shki” hely a horgot WH_CBT. ez lehetővé teszi, hogy a teremtés az ablak (a fő / első, ha akarod), hogy utolérjék a CREATESTRUCT szerkezet, amely tartalmazza az összes régi a regisztrált osztály alapján MDM jött létre ablakot.
Ugyanez horog teszi, hogy megváltoztassa a paramétereket a struktúra létrehozása előtt az ablakot.

És mi az értelme? Nos, mondjuk, én prog létre két ablak, az egyik a másik után (CreateWindowEx), mindkettő pontosan ugyanaz, mindkét nem a szülő, hogy az egy dolog, hogy először létre?

A programok írt Delphi, az általános káosz. Az első ablak létre TApplication, amelyet azután nykat, és a „mester” az első létrehozott ablakot. És a legfontosabb dolog, sőt ez volt a TApplication-box.


> A főablak teljesen láthatatlan és nulla
> Méretek.
> Következtetés: lehetetlen meghatározni a fő ablakon, mert akkor nem
> Tegyük fel, hogy ez azt jelenti, hogy a fő ablakban.

Igen, én nem azt állítja, hogy lehetetlen meghatározni. de egyszerű alkalmazások ezt meg tudjuk oldani

így lehetséges, hogy felsorolni az összes ablakot az alkalmazásból. és nem több

És mégis, mi a fő ablakban eltér a nem elsődleges? Véleményem az egyetlen válasz a lezárás, zárja be a főablak - körmű alkalmazás.


> Csak egy reakció a záró, záró véleményem
> Fő ablak - körmű alkalmazás.

Ezután a program létre Delphi két „fő” ablak :)

Egy érzés, hogy te beszélsz ablak stílusok nem hallott semmit.
hogy ellenőrzéseket WS_OVERLAPPED vagy WS_OVERLAPPEDWINDOW stílusokat. és a hiányzó stílus és WS_CHILD WS_POPUP. ebben az időben.
két. az emberek beszélnek egy adott programot. Ez azt jelenti, meg kell venni, és futni, aztán kezdődhet WinSight és látni stílusok, osztályok és fejléceket. és környékén ezen fogás!


> Ezután a program létre Delphi két „fő” ablak
> :)

nem, miért nem?

VINAP és általában nem tesz különbséget a fő ablakban nonprincipal, többnyire csak akkor lesz egy programozó a felhasználó.

Amikor létrehoz egy ablakot (pl útján CreateWindowEx) tompított helyett ParentHwnd 0, az ablak ikon jelenik meg a tálcán a jobb?

Akkor biztosan azt feltételezik, hogy az összes ablak a szülő == 0 fő típusát, majd állítsa be a horgot a WM_CREATE, kivonat a szerkezet (CREATESTRUCT), és nézd Parent.


Egyébként vissza ShellExecute HINSTANCE - hamis HINSTANCE, csak az hibavezérlési


> VINAP és általában nem tesz különbséget a fő ablakban nonprincipal főként
> Ez csak akkor lesz egy programozó a felhasználó.

Ez az! Egy egyszerű példa - a karmester. Hogy a fő ablakban? Zárás egy - nem zárja be az alkalmazást, de a lezárás az utolsó - igen.

megad, Th a karmester. iexplore.exe vagy explorer.exe? %)

explorer.exe. Jelentés az esetben, ha a Progman és box-no a Kaim okból (pl burkolat egyéb szoftver telepítése). Ezután az összes ablak.