Why does running Dual Monitor break my C# Video Application?

Posted on 2007-11-26
Last Modified: 2013-12-16
Hello everyone,

Does anyone have any insight as too why my C# .NET 2.0 application cannot display it's video when moved over to a Dual monitor?

The video shows fine when on the main display, but once moved over to the Second display/Dual monitor the video dissappears. The application is still running, but no video. When I move the application back to the main display the video appears instantly.

- The applicaton is a Visual C# .NET 2.0 app
- The video comes from a C++ DLL that was marshalled to communicate with it. However this same problem occured in the old C++ application that used the same video DLL's, so I don't think it has anything to do with the DLL's.
- I'm using panels to display the video in. I give the DLL the panels HANDLE and it sends the vide there.

It's like the application forgets what the panel's HANDLE was.

Any information you have is useful at this point. Thanks. :)
Question by:VirtueTech
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20351876
You say you move the video while playing?
If your video is played with some hardware-related technique like DirectX, you cannot switch while running.

Author Comment

ID: 20352045

I gave that a didn't make a difference. I started the application. Moved the application over to the second/dual monitor view. Then started the Video. It didn't show the video.

Thanks for the reply though.

any other ideas?
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20352102
make some trick to start the application in the second monitor, without moving. And test.
Maybe the video library is initializing with the first monitor parameters. Just a hunch.
How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.


Author Comment

ID: 20352111
Maybe. I'm not familiar with starting my app in the "extended" part of my monitor. I'll have to look into it.
LVL 12

Assisted Solution

andrewjb earned 100 total points
ID: 20356496
Can you play the video at all (using some other s/w) on the second monitor? In case it doesn't have DirectX installed at all....

Author Comment

ID: 20360657
Actually the video comes from a H.264 card, which pushes through a C++ DLL. I tell the DLL what the HANDLE of my windows form control is, and it uses that HANDLE to play the video on.

I don't have any DirectX API usage in my application.
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20360735
even worst, surely your h.264 is sending the video directly to the primary video card.

Author Comment

ID: 20409371
I believe it does go directly to the video card, it is handled from the DLL we have. Do you have any other ideas or things I might be able to do to put a finger on why it doesn't work?
LVL 55

Accepted Solution

Jaime Olivares earned 400 total points
ID: 20409406
I think you have to ask to the DLL provider about the specific behaviour of it. This problem is not related to C# or .net.

Author Comment

ID: 20412593
yeah...I have...thanks for your comments everyone.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question