VB.NET Slå web-embedded Windows Media Player ihjæl.
Jeg har en VB.NET applikation, der viser en webbrowser komponent.I nogle tilfælde viser denne webbrowser en webside, der viser video, via en embedded Windows Media Player.
Efter et stykke tid, (mange timer) sker der det at der i stedet for video blot vises sort skærm.
Hvis jeg (uden at lukke min applikation) forsøger at åbne selvsamme side i en Internet Explorer, på samme computer, vises der ligeledes sort hvor video burde vises.
Hvis jeg forsøger at åbne en af video-filerne som den embeddede WMP skulle vise (de ligger lokalt på computeren), så viser "den ægte" WMP blot det første billede af videoen, men progress-baren i WMP bevæger sig som om den afspillede normalt.
Hvis jeg så lukker "den ægte" WMP, min applikation og IE - og derefter forsøger at åbne siden i enten min applikation, IE, eller videoerne direkte i WMP, så virker det igen.
Det er altså som om at WMP "hænger" og ikke længere kan benyttes i nogen sammenhæng på pc'en- i hver fald ikke før app'en har været lukket og får "frigivet" WMP instansen.
Spørgsmålet er så... hvordan kan jeg programatisk gøre dette, uden at skulle afslutte min applikation?
Jeg kan ikke umiddelbart se WMP på listen over kørende processer, så den gemmer sig sikkert under en af de der svchost.exe processer, hvor jeg ikke rigtigt kan vide hvilken der er synderen.
Ps.
Umiddelbart ligner det ikke et memory-problem, for applikationens memory forbrug kommer sjældent over 20 mb, og mens den var i uorden var der ingen processer der brugte over 50 mb hukommelse...