Promotic

WndOper - metoda obiektu Pm

Opis:
Wykonanie operacji nad otwartym oknem innej aplikacji.
Składnia:
Boolean WndOper(Long nMode, String sWnd, Long nOper, [Variant vPar0], [Variant vPar1], [Variant vPar2])
Parametry:
nMode(Long) Sposób odszukania otwartego okna:
0 - Wartość parametru sWnd jest odpowiednikiem identyfikatora ramki blankid (patrz _blank.blankid) tej aplikacji.
1 - Wartość parametru sWnd jest odpowiednikiem całego tekstu nagłówka wyszukiwanego okna innej aplikacji.
2 - Wartość parametru sWnd jest odpowiednikiem początku tekstu nagłówka wyszukiwanego okna inniej aplikacji.
3 - Wartość parametru sWnd jest zawarta wewnątrz tekstu nagłówka wyszukiwanego okna innej aplikacji.
sWnd(String) Tekst, króry opisuje otwarte okno tej lub innej aplikacji.
nOper(Long) Wymagana operacja nad otwartym oknem:
0 - Test, czy okno jest otwarte.
Nie określać parametrów vPar0, vPar1 oraz vPar2.
1 - Wysłanie komunikatu Windows do okna (patrz dokumentacja Win32 API interfejs SO Windows)
vPar0 (Long) - kod komunikatu Windows
vPar1 (Long) - piewrszy parametr WPARAM komunikatu Windows
vPar2 (Long) - drugi parametr LPARAM komunikatu Windows
10 - Zamknięcie otwartego okna (jeżeli jest to główne okno aplikacji, wtedy zatrzymanie całej aplikacji).
Nie określać parametrów vPar0, vPar1 oraz vPar2.
11 - Przesunięcie okna na wierzch.
Nie określać parametrów vPar0, vPar1 oraz vPar2.
12 - Minimalizacja otwartego okna.
Nie określać parametrów vPar0, vPar1 oraz vPar2.
13 - Maksymalizacja otwartego okna.
Nie określać parametrów vPar0, vPar1 oraz vPar2.
14 - Przywrócenie w dół otwartego okna.
Nie określać parametrów vPar0, vPar1 oraz vPar2.
20 - Zwraca pozycję oraz rozmiar okna (w pikselach) w formie obiektu PmMap.
PmMap zawiera właściwości x, y, dx oraz dy określające pozycję oraz rozmiar.
Nie określać parametrów vPar0, vPar1 oraz vPar2.
21 - Zwraca pozycję oraz/lub rozmiar okna (w pikselach) w formie obiektu PmMap w parametrze vPar0.
PmMap zawiera właściwości x, y, dx oraz dy określające pozycję oraz rozmiar.
Nie określać parametrów vPar1 oraz vPar2.
vPar0[opcjonalne] (Variant) Znaczenie jest zależne od operacji (od parametru nOper).
vPar1[opcjonalne] (Variant) Znaczenie jest zależne od operacji (od parametru nOper).
vPar2[opcjonalne] (Variant) Znaczenie jest zależne od operacji (od parametru nOper).
Wartość zwrotna:
true - Okno zostało pomyślnie odnalezione i operacja została pomyślnie wykonana.
false - Wyszukiwane okno nie zostało odnalezione lub nie powiodło się wykonanie wymaganej operacji.
Notatka:
Metoda umożliwia wykonać operację nad określonym samodzielnym oknem (jeżeli jest ono otwarte).
Jeżeli chodzi o okno tej aplikacji, wtedy okno jest określane przy pomocy identyfikatora ramki blankid (patrz _blank.blankid).
Jeżeli chodzi o okno innej aplikacji, wtedy okno jest określane przy pomocy tekstu w nagłówku okna.


Stwierdzono ograniczenie wysyłania powiadomień Windows (Pm.WndOper) z 32-bitowego programu do okna 64-bitowego programu, kiedy 32-bitowy program musiał zostać uruchomiony z uprawnieniami Administratora ("Uruchom jako administrator").

Metoda ta działa także w Web panelach. Narazie działa tylko dla nMode == 0 and nOper == 0/10.
Patrz również:
- PmViewCreator.Frame (właściwość)
Przykład1:
Test istnienia okna kalkulatora (innej aplikacji):
JavaScriptVBScriptWybierz oraz skopiuj do schowka

if (Pm.WndOper(1, "Calculator", 0))
{
// ...
}
lub
JavaScriptVBScriptWybierz oraz skopiuj do schowka

if (Pm.WndOper(3, "alculato", 0))
{
// ...
}
Przykład2:
Zamknięcie przeglądarki alarmów w samodzielnym oknie o identyfikatorze _blank.alarms (tej aplikacji):
JavaScriptVBScriptWybierz oraz skopiuj do schowka

Pm.WndOper(0, "_blank.alarms", 10);
Przykład3:
Przesunięcie okna z przeglądarką alarmów o identyfikatorze _blank.alarms na określoną pozycję na drugim monitorze z następną maksymalizacją:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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);
Przykład4:
Stwierdzenie pozycji oraz rozmiaru okna z przeglądarką alarmów o identyfikatorze _blank.alarms. Zapis wartości do pliku ini:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oRect = Pm.WndOper(0, "_blank.alarms", 20);
var bWrite = Pm.IniFileWrite("#cfg:Config.ini", "Position", "alarms", Pm.JsonStringify(oRect));
Odczyt pozycji z pliku ini. Ustawienie pozycji oraz rozmiaru okna z przeglądarką alarmów o identyfikatorze _blank.alarms:
JavaScriptWybierz oraz skopiuj do schowka

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);

Historia:
Pm9.00.26: Dostępne dla Web paneli. Narazie działa tylko dla nMode == 0 and nOper == 0/10.
Pm9.00.14: Wytworzono
Nawigacja:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- LN2
- PI
- Pow
- Sin
- Tan
- WndOper
 
 
© MICROSYS, spol. s r.o.