WndOper - metoda objektu Pm
Popis:
Provedení operace nad otevřeným oknem této nebo jiné aplikace.
Syntaxe:
Boolean WndOper(Long nMode, String sWnd, Long nOper, [Variant vPar0], [Variant vPar1], [Variant vPar2])
Parametry:
nMode | (Long) Způsob nalezení otevřeného okna:
0 - Hodnota parametru sWnd odpovídá identifikátoru rámu blankid (viz _blank.blankid) této aplikace.
1 - Hodnota parametru sWnd odpovídá celému textu záhlaví hledaného okna jiné aplikace.
2 - Hodnota parametru sWnd odpovídá začátku textu záhlaví hledaného okna jiné aplikace.
3 - Hodnota parametru sWnd je obsažena uvnitř textu záhlaví hledaného okna jiné aplikace. |
sWnd | (String) Text, který popisuje otevřené okno této nebo jiné aplikace. |
nOper | (Long) Požadovaná operace nad otevřeným oknem:
0 - Test, zda okno je otevřeno.
Nezadávat parametry vPar0, vPar1 a vPar2.
1 - Zaslání Windows zprávy oknu (viz dokumentace Win32 API rozhraní OS Windows)
vPar0 (Long) - kód Windows zprávy
vPar1 (Long) - první parametr WPARAM Windows zprávy
vPar2 (Long) - druhý parametr LPARAM Windows zprávy
10 - Zavření otevřeného okna (pokud je to hlavní okno aplikace, pak zavření celé aplikace).
Nezadávat parametry vPar0, vPar1 a vPar2.
11 - Vytažení otevřeného okna na popředí.
Nezadávat parametry vPar0, vPar1 a vPar2.
12 - Minimalizace otevřeného okna.
Nezadávat parametry vPar0, vPar1 a vPar2.
13 - Maximalizace otevřeného okna.
Nezadávat parametry vPar0, vPar1 a vPar2.
14 - Obnovit z maximalizace otevřeného okna.
Nezadávat parametry vPar0, vPar1 a vPar2.
20 - Vrací pozici a velikost okna (v pixelech) v podobě objektu PmMap.
PmMap obsahuje vlastnosti x, y, dx a dy určující pozici a velikost.
Nezadávat parametry vPar0, vPar1 a vPar2.
21 - Nastaví pozici a/nebo velikost okna (v pixelech) v podobě objektu PmMap v parametru vPar0.
PmMap obsahuje vlastnosti x, y, dx a dy určující pozici a velikost.
Nezadávat parametry vPar1 a vPar2. |
vPar0 | [nepovinné] (Variant) Význam závisí na operaci (na parametru nOper). |
vPar1 | [nepovinné] (Variant) Význam závisí na operaci (na parametru nOper). |
vPar2 | [nepovinné] (Variant) Význam závisí na operaci (na parametru nOper). |
---|
Vrácená hodnota:
true - Hledané okno bylo nalezeno a operace byla úspěšně provedena.
false - Hledané okno nenalezeno nebo selhala požadovaná operace.
Poznámka:
Metoda umožňuje provést operaci nad zadaným samostatným oknem (pokud je otevřeno).
Pokud se jedná o
okno této aplikace, pak se okno určuje pomocí identifikátoru rámu
blankid (viz
_blank.blankid).
Pokud se jedná o okno jiné aplikace, pak se okno určuje pomocí textu v záhlaví okna.
Bylo zjištěno omezení zasílaní
Windows zpráv (
Pm.WndOper) z 32-bitového programu oknu 64-bitového programu, kdy 32-bitový program musel být spuštěn s povýšenými právy ("Spustit jako správce").
Tato metoda je funkční i ve
Web obrazech. Prozatím je funkční pouze pro
nMode == 0 a
nOper == 0/10.
Příklad1:
Test existence okna kalkulačky (jiná aplikace):
JavaScriptVBScriptVyber a zkopíruj do schránky
if (Pm.WndOper(1, "Calculator", 0))
{
// ...
}
If Pm.WndOper(1, "Calculator", 0) Then
' ...
End If
nebo
JavaScriptVBScriptVyber a zkopíruj do schránky
if (Pm.WndOper(3, "alculato", 0))
{
// ...
}
If Pm.WndOper(3, "alculato", 0) Then
' ...
End If
Příklad2:
Zavření prohlížeče alarmů v samostatném okně s identifikátorem _blank.alarms (tato aplikace):
JavaScriptVBScriptVyber a zkopíruj do schránky
Pm.WndOper(0, "_blank.alarms", 10);
Pm.WndOper 0, "_blank.alarms", 10
Příklad3:
Přesunutí okna s prohlížečem alarmů s identifikátorem _blank.alarms na zadanou pozici na druhém monitoru s následnou maximalizací:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oRect = Pm.CreatePmMap();
oRect.x = 1920;
oRect.y = 0;
oRect.dx = 1000;
oRect.dy = 800;
Pm.WndOper(0, "_blank.alarms", 21, oRect);
Pm.WndOper(0, "_blank.alarms", 13);
Dim oRect
Set oRect = Pm.CreatePmMap()
oRect.x = 1920
oRect.y = 0
oRect.dx = 1000
oRect.dy = 800
Pm.WndOper(0, "_blank.alarms", 21, oRect)
Pm.WndOper 0, "_blank.alarms", 13
Příklad4:
Zjištění pozice a velikosti okna s prohlížečem alarmů s identifikátorem _blank.alarms. Uložení hodnot do INI souboru:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oRect = Pm.WndOper(0, "_blank.alarms", 20);
var bWrite = Pm.IniFileWrite("#cfg:Config.ini", "Position", "alarms", Pm.JsonStringify(oRect));
Dim oRect, bWrite
Set oRect = Pm.WndOper(0, "_blank.alarms", 20)
bWrite = Pm.IniFileWrite("#cfg:Config.ini", "Position", "alarms", Pm.JsonStringify(oRect))
Čtení pozice ze souboru ini. Nastavení pozice a velikosti okna s prohlížečem alarmů s identifikátorem _blank.alarms:
JavaScriptVyber a zkopíruj do schránky
var sRect = Pm.IniFileRead("#cfg:Config.ini", "Position", "alarms", '{"x":0;"y":0;"dx":900;"dy":500;}');
Pm.WndOper(0, "_blank.alarms", 21, Pm.JsonParse(sRect).Value);
Historie:
Pm9.00.26: Zprovozněno pro
Web obrazy. Prozatím je funkční pouze pro
nMode == 0 a
nOper == 0/10.