Ako zistiť, či je okno iného programu Maximalizované? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Ako zistiť, či je okno iného programu Maximalizované? – C / C++ – Fórum – Programujte.comAko zistiť, či je okno iného programu Maximalizované? – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Greno0
Newbie
26. 10. 2013   #1
-
0
-

Čaute,

potreboval by som poradiť s nasledovnou vecou:

- ako mojím programom zistiť, sledovať okno iného programu, či je maximalizované

- handle aj class name viem zistiť

- ostáva už len otázka, ako jednoducho zistiť, či je okno programu maximalizované?!

Za pomoc i radu ďakujem.

G.

Nahlásit jako SPAM
IP: 91.127.8.–
Reklama
Reklama
Grungy0
Super člen
26. 10. 2013   #2
-
0
-
Nahlásit jako SPAM
IP: 188.123.100.–
Prvý náznak hlúposti, je pocit geniality.
Radek Chalupa
~ Redaktor
0
Super člen
27. 10. 2013   #3
-
0
-

#1 Greno
Takhle nějak zjistíš zda je okno maximalizované včetně na kterém je monitoru: 

BOOL CALLBACK MonitorEnumProc(HMONITOR hmonitor, HDC hdc_monitor, LPRECT lprc, LPARAM param)
{
	wchar_t text[255];
	static size_t index = 1;
	MONITORINFOEX mi;
	ZeroMemory(&mi, sizeof(mi));
	mi.cbSize = sizeof(mi);
	if (!GetMonitorInfo(hmonitor, &mi))
		return TRUE;
	if (MonitorFromWindow((HWND)param, MONITOR_DEFAULTTONEAREST) == hmonitor)
	{
		StringCbPrintf(text, sizeof(text), L"Notepad na monitoru č. %d\n", index);
		if ((mi.dwFlags & MONITORINFOF_PRIMARY) != 0)
			StringCbCat(text, sizeof(text), L"Tento monitor je primární\n");
		WINDOWPLACEMENT wp;
		ZeroMemory(&wp, sizeof(wp));
		wp.length = sizeof(wp);
		if (GetWindowPlacement((HWND)param, &wp))
		{
			if (wp.showCmd == SW_MAXIMIZE)
				StringCbCat(text, sizeof(text), L"Notepad je maximalizován\n");
		}
	
		wprintf(text);
	}
	index++;
	return TRUE;
}

int _tmain(int argc, _TCHAR* argv[])
{
	_wsetlocale(LC_ALL, L"Czech");
	HWND hwnd = FindWindow(L"notepad", NULL);
	if (hwnd == NULL)
	{
		wprintf(L"Notepad nenalezen\n");
		getchar();
		return 0;
	}
	if (!EnumDisplayMonitors(NULL, NULL, MonitorEnumProc, (LPARAM)hwnd))
	{
		wprintf(L"Chyba EnumDisplayMonitors\n");
		getchar();
		return 0;
	}
	getchar();
	return 0;
}

Radek Chalupa 
- vývoj software na zakázku 
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC) 
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Greno0
Newbie
14. 11. 2013   #4
-
0
-

Velka vdaka, vyriesene!  :-)

G.

Nahlásit jako SPAM
IP: 78.98.85.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 103 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý