Zdravím, něco jsem tu pročetl o zjištění handle messageboxu a podobně (v sekci Visual Basic 6 a jiné), ale to mi moc nepomohlo v mém konkrétním případě. Jedná se mi o to, že v mé aplikaci mám okno, kam se mi vypisují různé chybové hlášky.
'Chybove hlasky
Dim traceabilita As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("traca_dbg")
If traceabilita.Length = 0 Then
LabelChyby.Text = "Není spuštěna traceabilita!"
LabelChyby.Visible = True
Else
LabelChyby.Visible = False
End If
Tohle funguje ok. Jenže pokud aplikace běží a spadne PLC do chyby, přeruší se spojení PLC-aplikace a v aplikaci traca_dbg to vyhodí messagebox že bylo přerušeno spojení mezi serverem a aplikací. Po kliknutí na ok se aplikace zavře a je nutno ji znovu nastartovat. Ale ten počítač je od mistra na lince z dohledu, prakticky k němu nechodí (nemá proč) a pokud resetuje linku zapomíná (hodně často) znovu nastartovat program traceability (ten jsem nedělal já, navíc je v C++ a i když získám source kody, těžko s tím něco asi provedu, na to mé síly začátečníka nestačí) Takže já potřebuji v mé aplikaci aby kontrolovala, zda ta druhá aplikace nevyhodila nějaký messagebox (jedno jaký, chyb je tam více než dost, takže se jich může vyskytnout více "možná jeden a ten samý jen jiný obsah??") a stejným způsobem to kontrolovat a upozornit mistra, že něco zapoměl. Teoreticky ani nepotřebuji mesagebox vzdáleně zavřít a podobně. To už si udělá sám. Případně mi aspoň napíše na papírek co to je za chybu :) Ps: Jak moje aplikace ve VisualBasicu 2008 express edition, tak ta aplikace traca_dbg běží na stejném PC Díky za pomoc chlapy.
|