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 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 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 identyfikatoru 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
nie działa w
Web panelach.
Przykład1:
Test istnienia okna kalkulatora (innej aplikacji):
JavaScriptVBScriptWybierz oraz skopiuj do schowka
if (Pm.WndOper(1, "Calculator", 0))
{
// ...
}
If Pm.WndOper(1, "Calculator", 0) Then
' ...
End If
lub
JavaScriptVBScriptWybierz oraz skopiuj do schowka
if (Pm.WndOper(3, "alculato", 0))
{
// ...
}
If Pm.WndOper(3, "alculato", 0) Then
' ...
End If
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);
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);
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
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));
Dim oRect, bWrite
Set oRect = Pm.WndOper(0, "_blank.alarms", 20)
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);