首页 新闻 会员 周边

C#实现屏幕旋转功能

0
悬赏园豆:80 [已解决问题] 解决于 2012-01-12 10:22

四处查找资料无果,所以只能在此发贴求助了。。

小弟想用C#调用windows的api来实现屏幕的旋转180度,就像irotate这个小软件实现的那样。

小弟现在一点思路都没有,哪位大侠帮忙解答一下啊?大概的思路,具体调用那个方法。。

王继的主页 王继 | 初学一级 | 园豆:120
提问于:2011-05-05 18:06
< >
分享
最佳答案
0

Maybe this can help

http://msdn.microsoft.com/en-us/library/ms812499.aspx

 

Or,just downling c# source code at 

http://download.microsoft.com/download/b/f/3/bf321ec9-f3a7-473f-ba1b-7f9ea8949d27/displaysettingscodesample.exe

收获园豆:80
Jerry Chou | 老鸟四级 |园豆:2642 | 2011-05-05 19:10
我用自己的笔记本测试了。好像不行哦、。。
王继 | 园豆:120 (初学一级) | 2011-05-06 22:21
我在自己的电脑上试的,是可以的。
我的是Win7 + VS2010

你的OS,VS的版本是什么?
Jerry Chou | 园豆:2642 (老鸟四级) | 2011-05-08 17:31
我的是win xp sp3 使用的是 vs 2008
王继 | 园豆:120 (初学一级) | 2011-05-12 11:29
我一下子还找不到这样的环境,或者你可以看看irotate引用了哪些API去实现这个功能的。
Jerry Chou | 园豆:2642 (老鸟四级) | 2011-05-12 11:42
我看过irotate,但是没有源码,也没有相关资料介绍irotate的实现方式。所以这个问题困扰我很久了。。头大的很。。
王继 | 园豆:120 (初学一级) | 2011-05-13 09:21
By leveraging the native rotation capabilities now provided by ATI, nVidia, Intel, S3, XGI and others, iRotate offers exceptional speed and efficiency, with minimal impact on scarce system resources - the entire iRotate package, including installation, documentation, and native language support in all the major European and Asian languages, weighs in at less than 100kb.

看上面的一段介绍,这可能跟显卡的驱动有些关系。
你是什么显卡。
Jerry Chou | 园豆:2642 (老鸟四级) | 2011-05-13 09:31
我在我的有win7系统的电脑上测试过了。没有问题。可以旋转,但是在xp上不行。我的是nVidia的显卡。。这个是操作系统的问题还是显卡驱动的问题啊?
王继 | 园豆:120 (初学一级) | 2011-05-13 10:23
那iRotate可以在你的XP电脑上使用吗?
如果iRotate支持,那肯定可以实现,只是调用的API不太一样。

我的电脑也是N卡。

我查了一下MSDN,这个需要Windows 2000以上(包含Windows XP)的系统支持。
Jerry Chou | 园豆:2642 (老鸟四级) | 2011-05-13 10:45
iRotate可以可以在部分的xp系统上面使用。这个代码,在win7上面都可以使用。呵呵。
王继 | 园豆:120 (初学一级) | 2011-05-13 11:04
那还真的挺讨厌的
标准的API估计就是EnumDisplaySettings和ChangeDisplaySettings

只是XP系统支持参差不齐——我猜的 :)
Jerry Chou | 园豆:2642 (老鸟四级) | 2011-05-13 11:09
或许吧,今天我把那个工程改造了一下,就是修改了一句话,就导致在win7下面还不能执行。我都郁闷了。
我现在就是不明白,irotate是怎么实现的。
王继 | 园豆:120 (初学一级) | 2011-05-16 16:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册