如何使一个程序在两个显示器显示不同结果?

问题描述

现在使用的双屏,开启复制模式(就是两个显示器显示的完全一样,非扩展模式),目的是程序运行之后,在两个显示器显示不同的结果,也就是能识别出显示器。设备管理器里,两个监视器的物理设备对象名称分别是Device000007b和Device000007c,以及地址不一样。目前用ManagementObjectSearcher获取到设备实例路径,再往下就不会了,求解!

解决方案

解决方案二:
开启复制模式,显示内容是一样的。你想实现系统自带的识别功能,显示1,2显示器来?
解决方案三:
引用1楼wind_cloud2011的回复:

开启复制模式,显示内容是一样的。你想实现系统自带的识别功能,显示1,2显示器来?

对,识别出两个显示器。目的是同一个程序,在两个显示器上运行出不同的结果
解决方案四:
在两个显示器上运行出不同的结果?是什么意思
解决方案五:
你用的复制而非扩展,那么如何可能显示不同的数据呢????如果非要显示也只能在OSD层
解决方案六:
this.Left=Screen.GetBounds(this).Width;
解决方案七:
引用5楼wind_cloud2011的回复:

this.Left=Screen.GetBounds(this).Width;

没用.程序只有一个窗体,所以只能得到一个值.你想显示不同内容,就不能用复制,而必须扩展,然后将窗体COPY一份,修改下显示位置,让它显示到另一个显示器上去否则只有显卡能识别出那是另一个显示器,你程序即使识别出来了,但是其实只有一个窗体的同一个逻辑在运行啊
解决方案八:
http://blog.csdn.net/hejialin666/article/details/6057551
解决方案九:
你可以读取显示器的分辨率之后根据分辨率来设置你的窗体显示大小
解决方案十:
引用3楼kxyzjm62的回复:

在两个显示器上运行出不同的结果?是什么意思

比如1号显示器的窗体中三角形是红色,2号显示器里的三角形是绿色(运行的同一个程序)
解决方案十一:
引用6楼Z65443344的回复:

Quote: 引用5楼wind_cloud2011的回复:
this.Left=Screen.GetBounds(this).Width;

没用.程序只有一个窗体,所以只能得到一个值.你想显示不同内容,就不能用复制,而必须扩展,然后将窗体COPY一份,修改下显示位置,让它显示到另一个显示器上去否则只有显卡能识别出那是另一个显示器,你程序即使识别出来了,但是其实只有一个窗体的同一个逻辑在运行啊

我的想法是,虽然是运行的同一个程序,但会不会因为在不同的显示设备上运行,从而获取的硬件参数不同?(当然前提是能获取到)。如果可以,那么剩下的就是条件判断。
解决方案十二:
开启复制模式(就是两个显示器显示的完全一样,非扩展模式)---------------既然你知道复制模式是什么样,就不应该问出这样的问题来好比我问,我照镜子,平面镜,里外完全一样,有什么办法在不改变镜子的前提下让里外不一样?
解决方案十三:
使用复制模式,就跟用镜子照一样,那是从显卡级别将信号复制成了两路,分别在多个显示器上显示不管你程序显示成几个窗口,其实还是只有1个窗口就像照镜子,不管放了几面镜子,你只有一个,不可能让镜子里的你去识别你是否在镜子里
解决方案十四:
你程序只给了显卡一个输入,显卡自己分成两路输出,你程序根本控制不了解决办法:不要用镜子,只放个镜框,让你双胞胎弟弟站对面
解决方案十五:
引用13楼Z65443344的回复:

你程序只给了显卡一个输入,显卡自己分成两路输出,你程序根本控制不了解决办法:不要用镜子,只放个镜框,让你双胞胎弟弟站对面

嗯,非常感谢。那么将当前程序窗体复制到另外一个屏幕上是可以做到的吧?
解决方案:
既然是复制模式,那么显卡就是把显存中的内容通过两条管子扔出去而已,你想想该如何修改两条管子里的内容吧。windows的屏幕识别可以做到。
解决方案:
引用15楼yuwenge的回复:

既然是复制模式,那么显卡就是把显存中的内容通过两条管子扔出去而已,你想想该如何修改两条管子里的内容吧。windows的屏幕识别可以做到。

那么意思是说要牵扯到显卡驱动了么?
解决方案:
引用15楼yuwenge的回复:

既然是复制模式,那么显卡就是把显存中的内容通过两条管子扔出去而已,你想想该如何修改两条管子里的内容吧。windows的屏幕识别可以做到。

屏幕识别的话,如果是扩展模式可以做到没问题,复制模式访问不到那几个条目,不知道怎么办才好了,有什么办法么?
解决方案:
引用17楼fatecross的回复:

Quote: 引用15楼yuwenge的回复:
既然是复制模式,那么显卡就是把显存中的内容通过两条管子扔出去而已,你想想该如何修改两条管子里的内容吧。windows的屏幕识别可以做到。

屏幕识别的话,如果是扩展模式可以做到没问题,复制模式访问不到那几个条目,不知道怎么办才好了,有什么办法么?

木有。

时间: 2024-11-05 19:03:46

如何使一个程序在两个显示器显示不同结果?的相关文章

我现在要用C#写一个程序实现两个数据库之间的定时查询和insert

问题描述 求如果用c#应该怎么写定时的时间是每天的19:00:00,求Demo 解决方案 解决方案二:我抛个砖,如果要求不严格可以使用定时器.每1分钟30秒啥的取一次时间,是这个时间久执行最今本的有3种计时器和一种基本计时方法,他们的用途不一样,不知道你用的什么方式,所以不给你推荐.你可以查找计时器或计时方式进行学习.这种情况我一般用计划任务,好处是不用维护程序,到点自己就跑了解决方案三:while(true){try{if(DateTime.Now.ToString("HH:mm:ss&quo

如何使应用程序只运行一个实例

要使应用程序只运行一个实例,一个简单的方法是在应用程序类中使用互斥量,这可以用VC下的GUIDGEN.EXE程序产生.GUIDGEN.EXE位于VC安装目录CommonTools目录下 实例 1: 新建一基于对话框的工程ex1,采用默认设置 2: 用GUIDGEN.EXE产生一个全局标志,#define one "产生的全局标志" 本例中产生的语句如下:#define one "0xbe8e2ce1, 0xdab6, 0x11d6, 0xad, 0xd0, 0x0, 0xe0

socket通信-用vc写一个socket程序 实现两个客户端通过一个服务器的对话

问题描述 用vc写一个socket程序 实现两个客户端通过一个服务器的对话 初学socket 求详细教程,最好有C++源码 感激不尽 解决方案 孙鑫的VC视频教程中就有这样的例子程序,可以参考一下.

c#窗体-C#窗体程序,两台电脑共用一个数据库,如何连接

问题描述 C#窗体程序,两台电脑共用一个数据库,如何连接 C#窗体程序,在SQLHelper中连接数据库为我本机的ip地址,封装成安装包后,我自己的电脑可以正常运行,但是对方在程序运行时,1433端口已开启,防火墙已关闭,提示MS Sql server数据库连接不上,求大神指教 解决方案 看看数据库的远程连接是否开启了~

有没有会编写c程序的大神,帮我看看两个单独的程序怎么合成一个程序,谢谢

问题描述 有没有会编写c程序的大神,帮我看看两个单独的程序怎么合成一个程序,谢谢 #include #include struct e { char a[10]; char b[10]; }z; int main() { int t=0; char s[10],d[10]; FILE *p; void as(); if ((p=fopen("m.txt","r+"))==NULL) { p=fopen("m.txt","w+"

w y f-编写一个java程序把两个文件中不同的行输出到一个文件中

问题描述 编写一个java程序把两个文件中不同的行输出到一个文件中 把两个文件中的内容不同的行输出到同一个文件中 代码:文件1:/x /x 46/m /x /x 稍/d 等/v 我/r 现在/t 去/v 写/v 上/vq 下/m?? 啊/y 去/v 协商/v 下/m 好的/l 亲爱的/n ,/w 当时/t 这个/r 图片/n 应用/v 的/u 地方/n 特别/d 多/a ,/w 就/d 像/v 全/a 用途/n 一样/u ./w 所以/c 还/d 挺/d 麻烦/a ,/w 等/v 我们/r 副总

字符串四则运算-用c#编写一个程序,以最原始的方法进行两个字符串的四则运算

问题描述 用c#编写一个程序,以最原始的方法进行两个字符串的四则运算 字符串里面是数值,且不受字数限制. 如两个字符串相加"121343435"+"3453245",设计的程序是:个位与个位相加,满10进1,十位于十位相加... 如果设计的乘法,也是个位先和个位相乘...完了错开一位相加 采取最原始的方法,就像小学学习四则运算一样,一步一步进行 不能把字符串先转换为int等类型在进行运行,因为int类型储存数值长度短,这个程序设计的意义就是可以进行不受字数限制的四则

c语言 c++ 单片机-51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序。谢谢了

问题描述 51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序.谢谢了 51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序.谢谢了 .万分感谢... 解决方案 具体的哪个单片机?代码需要整个写好么? 解决方案二: http://zhidao.baidu.com/link?url=qpZQDUaPuGYd69ZgYe3bESTSAS7vjc0XO7puc-KtYMWVkxwtMbh5xTkWI5GbvvHT6Eb3WKFhqIfbl7HtGBGZV

两个显示器,镜像设置,如何控制其中一个显示器关闭不显示?

问题描述 两个显示器,镜像设置,如何控制其中一个显示器关闭不显示?或者扩展桌面和复制桌面切换 解决方案 解决方案二:关闭显示不就得了不是有关闭选项吗