Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

WinCC_VB_Skript_wykrywanie_procesu

Adam.Mikołaj 05 Sty 2012 16:55 726 4
  • #1 05 Sty 2012 16:55
    Adam.Mikołaj
    Poziom 2  

    Witam,

    Muszę zrealizować następujące zadanie:
    tekst statyczny ma się pojawiać tylko wtedy gdy uruchomiony jest jakiś proces
    np. firefox.exe.
    zadanie wcale nie takie trywialne a już na pewno nie w języku c.
    postanowiłem zrealizować je w VB. Nie wiem tylko dlaczego nie działa w wincc.
    Czy musi być coś może dopisane w globalnym skrypcie VB,jeżeli tak to
    w jaki sposób i kiedy należy posługiwać się akcjami, funkcjami projektu w globalnym skrypcie

    Function Visible_Trigger(ByVal Item)
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colProcesses = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'firefox.exe'")
    If colProcesses.Count >= 1 Then
    Visible_Trigger = TRUE
    Else
    Visible_Trigger = FALSE
    End If
    End Function

    Pozdrawiam
    Adam

    0 4
  • #2 09 Mar 2012 14:14
    ENCON
    Poziom 14  

    Witam

    Rozwiązanie podobnego problemu znalazłem na forum:

    Link

    Musisz tylko odpowiednio zmodyfikować skrypt. Ważne żeby skrypt był wykonywany cykliczne przy pomocy stadard cycle trigger (np. 1 s). W przykładzie skrypt podpięty został pod zmianę koloru tła przycisku (background), jeżeli zostanie znaleziony proces calc.exe to na przycisku pojawia się odpowiedni tekst. Jeżeli proces calc.exe nie zostanie znaleziony to na przycisku pojawia się inny tekst i przycisk zaczyna migać.

    W przypadku problemów pisz

    Pozdrawiam

    0
  • #3 09 Mar 2012 21:31
    Adam_Mikolałaj
    Poziom 8  

    Witam,

    Dzięki za pomoc ale o ile dobrze rozumiem to ten skrypt inicjowany jest zdarzeniem naciśnięcia przycisku i coś takiego już zrealizaowałem tzn. po nacisnieciu przycisku sprawdza czy dany proces jest aktywny jeżeli tak to pokazuje tekst statyczny. Czy można zrealizować coś takiego bez naciskania przycisku ?

    Pozdrawiam

    0
  • #4 16 Mar 2012 16:09
    ENCON
    Poziom 14  

    Witam

    Poniżej przykład tego skryptu podpięty pod StaticText i właściwość Text. Pole to pokazuje się kiedy uruchomiony jest proces calc.exe i jesteś na tym ekranie na którym umieszczony jest ten tekst. Skrypt wykonywany jest co 1 sekundę.

    Pozdrawiam

    WinCC_VB_Skript_wykrywanie_procesu

    0
  • #5 18 Mar 2012 18:35
    Adam_Mikolałaj
    Poziom 8  

    Witam,

    Super, wszystko działa. Dziękuję za pomoc.

    Pozdrawiam

    0