Promotic

GetSystemInfo - metoda obiektu Pm

Opis:
Zwraca informacje systemowe.
Składnia:
Variant GetSystemInfo(String sWhat, String sParams)
Parametry:
sWhat(String) Identyfikator uzyskanej informacji. Podstawowa opcja określająca, co zostanie zwrócone.
"screen.width" - Zwraca szerokość monitora (w pikselach).
Parametr sParams nie jest wykorzystany.
Patrz Przykład1.
"screen.height" - Zwraca wysokość monitora (w pikselach).
Parametr sParams nie jest wykorzystany.
Patrz Przykład1.
"screen.clientarea.width" - Zwraca szerokość obszaru klienckiego monitora (bez paska narzędziowego SO Windows) (w pikselach).
Parametr sParams nie jest wykorzystany.
"screen.clientarea.height" - Zwraca wysokość obszaru klienckiego monitora (bez paska narzędziowego SO Windows) (w pikselach).
Parametr sParams nie jest wykorzystany.
"screen.allmonitors" - Zwraca pozycję oraz całkowity rozmiar opisanego prostokąta wokół wszystkich monitorów (w pikselach) w formie obiektu PmMap. PmMap zawiera właściwości x, y, dx oraz dy określające pozycję oraz rozmiar.
Parametr sParams nie jest wykorzystany.
"app.zoom" - Zwraca wartość zwiększenia/zmniejszenia całej aplikacji jako wynik dostosowania pierwotnej aplikacji do innej rozdzielczości wyświetlacza.
Patrz konfigurator "Zwiększenie wyglądu (zoom) aplikacji".
Parametr sParams nie jest wykorzystany.
"screensaver.active" - Zwraca znacznik, czy w danej chwili jest włączony wygaszacz ekranu (nie chodzi o wyłączenie monitora w trybie energooszczędnym).
Parametr sParams nie jest wykorzystany.
"memory.free" - Zwraca wartość wolnej pamięci całego komputera w kB (z dokładnoscią do 4 kB).
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"memory.usage" - Zwraca wielkość zajętej pamięci całego komputera w kB (z dokładnoscią do 4 kB).
Zajęcie pamięci w komputerze można również określić (poza innymi) w pozycji "/System/Memory" INFO systemu.
Patrz również Jak monitorować uruchomioną aplikację PROMOTIC.
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"cpu.usage" - Zwraca wartość przeciętnego obciążenia procesora (CPU) w procentach. Wartość przedstawia przeciętne obciążenie wszystkich rdzeniów procesora (CPU) od ostatniego wywołania tej metody.
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"objects.kernel.usage" - Zwraca ilość markerów (Handle, obiekty KERNEL) procesu.
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"objects.gdi.usage" - Zwraca ilość obiektów GDI procesu.
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"objects.gdi.usage.peak" - Zwraca maksymalną wartość osiągniętą przez liczbę obiektów GDI procesu.
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"objects.user.usage" - Zwraca ilość obiektów USER (User interface objects) procesu.
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"objects.user.usage.peak" - Zwraca maksymalną wartość osiągniętą przez liczbę obiektów USER (User interface objects) procesu.
Monitorowanie tej wartości może być przydatne zwłaszcza podczas debugowania aplikacji.
Wartość tę można również monitorować w INFO system (SYSTEM/#SYSTEM) lub przy pomocy Menedżera zadań Windows.
Parametr sParams nie jest wykorzystany.
"win.lang" - Zwraca język aktualnie zalogowanego użytkownika w SO Windows.
Parametr sParams nie jest wykorzystany.
"win.rdp" - Jeżeli aplikacja została uruchomiona poprzez zdalny pulpit (RDP), wtedy zwraca wartość 1, w innym przypadku zwraca wartość 0.
Parametr sParams nie jest wykorzystany.
"win.username" - Zwraca nazwę aktualnie zalogowanego użytkownika w SO Windows.
Parametr sParams nie jest wykorzystany.
"win.starttime" - Zwraca czas uruchomienia Windows.
Parametr sParams nie jest wykorzystany.
"app.starttime" - Zwraca czas uruchomienia aplikacji.
Parametr sParams nie jest wykorzystany.
"app.lastuseracttime" - Zwraca czas ostatniej czynności użytkownika (klawiatura lub myszka). Metoda ta działa także w Web panelach.
Można periodycznie testować i jeżeli brak aktywności użytkownika przekroczy dany próg, wtedy można wykonać dowolną akcję (np. wylogować użytkownika)
Parametr sParams nie jest wykorzystany.
Patrz Przykład3.
"app.laststopfailed" - Zwraca wartość true jeżeli poprzednie zatrzymanie aplikacji zostało zakończone z błędem, w innym przypadku zwraca wartość false. (Patrz parametr pEvent.Reset w zdarzeniu onAppStartBegin).
Parametr sParams nie jest wykorzystany.
"net.addresses" - Zwraca tablicę adresów sieciowych IP tego komputera.
Parametr sParams w formacie KeyVal określa dodanie adresów do tablicy według typu. Jeżeli nie zostanie określone, wtedy są zwrócone wszystkie adresy IPv4 oraz IPv6 bez adresów localhost.
Patrz Przykład2.
"ipv4" (opcjonalne) - Określa dodanie adresów IPv4 do tablicy.
0 - Nie zostaną dodane żadne adresy danego typu.
1 (domyślnie) - Zostaną dodane sieciowe adresy danego typu (bez adresy localhost).
2 - Zostanie dodany localhost adres 127.0.0.1 lub ::1 według danego typu.
3 - Zostaną dodane sieciowe adresy wraz z adresami localhost danego typu.
"ipv6" (opcjonalne) - Określa dodanie adresów IPv6 do tablicy.
0 - Nie zostaną dodane żadne adresy danego typu.
1 (domyślnie) - Zostaną dodane sieciowe adresy danego typu (bez adresy localhost).
2 - Zostanie dodany localhost adres 127.0.0.1 lub ::1 według danego typu.
3 - Zostaną dodane sieciowe adresy wraz z adresami localhost danego typu.
"pm.platform" - Zwraca znacznik, czy chodzi o system PROMOTIC 32-bitowy (wartość 0) lub 64-bitowy (wartość 1).
Parametr sParams nie jest wykorzystany.
"pm.version" - Zwraca wersję systemu PROMOTIC w formie na przykład "PROMOTIC9.0.27".
Parametr sParams nie jest wykorzystany.
"tz.bias.standard" - Zwraca przesunięcie czasu w minutach (bias) czasu UTC od lokalnego czasu zimowego Dla większości Europy (strefa UTC+1) zawiera wartość -60.
Parametr sParams nie jest wykorzystany.
"tz.bias.daylight" - Zwraca przesunięcie czasu w minutach (bias) czasu UTC od lokalnego czasu letniego (daylight). Dla większości Europy (strefa UTC+1) zawiera wartość -120.
Parametr sParams nie jest wykorzystany.
sParams(String) Dodatkowe parametry dla poszczególnych operacji. Znaczenie jest różne dla poszczególnych operacji.
Jeżeli dana operacja stosuje ten parametr, wtedy jest to dla danej operacji podkreślone.
Notatka:
Metoda ta działa również w Makro wyrażenie $.expr oraz w zdarzeniu onDraw obiektu PmgCanvas.
Metoda ta działa także w Web panelach. Na Webie funkcjonują tylko:
- opcja typu "screen". Wtedy metoda zwraca informacje (parametry monitora) na komputerze, na którym jest uruchomiony klient (przeglądarka internetowa).
Przykład1:
Uzyska rozdzielczość monitora:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var nScreenX = Pm.GetSystemInfo("screen.width", "");
var nScreenY = Pm.GetSystemInfo("screen.height", "");
Przykład2:
Uzyska tablicę adresów sieciowych IPv4 komputera bez adresu localhost:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var aIpAddr = Pm.GetSystemInfo("net.addresses", "ipv4:1;ipv6:0;");
Przykład3:
Automatyczne wylogowanie użytkownika po 10 minutach braku aktywności. Skrypt w zdarzeniu onRefresh v PmgRoot panela, który jest w aplikacji trwale otwarty (na przykład w pasku narzędzi). Metoda ta działa także w Web panelach.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

if (pMe.Root.ClientType == 2)
{
var nMinInactivity = 10;   // x minute
var nLastTimeActivity = Pm.GetSystemInfo("app.lastuseracttime", "");
var nTimeOut = Pm.Time - (1 / 24 / 60) * nMinInactivity;
if (nTimeOut > nLastTimeActivity)
{
Pm.Debug("Auto LogOff");
Pm.Logoff();
}
}
Przykład4:
Przełączenie języka aplikacji do języka użytkownika w SO Windows:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

Pm.RtLang = Pm.GetSystemInfo("win.lang", "");

Historia:
Pm9.00.25: Usunięty błąd: Opcja "app.lastuseracttime" nie działała w Web panelu.
Pm9.00.19: Nowe opcje:
- "objects.kernel.usage": Zwraca ilość markerów (Handle, obiekty KERNEL) procesu.
- "objects.gdi.usage": Zwraca ilość obiektów GDI procesu.
- "objects.gdi.usage.peak": Zwraca maksymalną wartość osiągniętą przez liczbę obiektów GDI procesu.
- "objects.user.usage": Zwraca ilość obiektów USER (User interface objects) procesu.
- "objects.user.usage.peak": Zwraca maksymalną wartość osiągniętą przez liczbę obiektów USER (User interface objects) procesu.
Pm9.00.18: Nowe opcje:
- "win.lang" zwraca język aktualnie zalogowanego użytkownika w SO Windows.
- "win.rdp" zwraca informację, czy aplikacja została uruchomiona przez zdalny pulpit (RDP).
Pm9.00.05: Nowe opcje:
- "app.lastuseracttime" zwraca czas ostatniej czynności użytkownika. Umożliwia np. wyrejestrowanie użytkownika Web po określonym czasie nieaktywności. Patrz Przykład3.
- "tz.bias.standard" zwraca przesunięcie czasu pomiędzy UTC oraz lokalnym czasem zimowym.
- "tz.bias.daylight" zwraca przesunięcie czasu pomiędzy UTC oraz lokalnym czasem letnim.
Pm9.00.03: Nowe opcje:
- "net.addresses" zwraca tablicy adresów IP komputera.
- "pm.platform" zwraca znacznik, czy chodzi o 32-bitowy lub 64-bitowy PROMOTIC.
- "pm.version" zwraca wersję PROMOTIC.
Pm8.03.32: Usunięty błąd: Nie działała w SO Windows XP
Pm8.03.27: Nowa opcja "screen.allmonitors" zwraca rozmiar ograniczającego wszystkie monitory.
Pm8.03.03: Nowa opcja "win.username" zwraca nazwy aktualnie zalogowanego użytkownika w SO Windows.
Pm8.02.00:
- Nowa opcja "screensaver.active" określa, czy jest aktywny wygaszacz ekranu.
- Nowa opcja "app.zoom" umożliwia odczytać zoom aplikacji (tzn. wartość konfiguratora "Zwiększenie wyglądu (zoom) aplikacji").
Pm8.01.00: Nowe opcje "memory.free", "memory.usage" oraz "cpu.usage" do stwierdzania wolnej pamięci, wykorzystanej pamięci i obciążenia procesora.
Te pocje zastępują właściwości Pm.MemoryUsage oraz Pm.CpuUsage, które są obecnie uważane za przestarzałe (lecz funkcjonują).
Nawigacja:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- GetSystemInfo
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r.o.