【文件属性】:
文件名称:c# 屏幕旋转控制
文件大小:28KB
文件格式:RAR
更新时间:2014-10-16 09:09:13
c# vs2005 wince 屏幕 旋转
屏幕翻转源码。
源码与2011年09月01日编写。用VS2005编写,运行硬件环境为TE2440 6410 系统环境为WINCE 5.0 6.0嵌入式实测无问题。
[DllImport("coredll.dll")]
static extern int ChangeDisplaySettingsEx(string lpszDeviceName,
ref DEVMODE lpDevMode, IntPtr hwnd, int dwflags, IntPtr lParam);
[StructLayout(LayoutKind.Sequential)]
private struct DEVMODE
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string dmDeviceName;
public short dmSpecVersion;
public short dmDriverVersion;
public short dmSize;
public short dmDriverExtra;
public int dmFields;
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string dmFormName;
public short dmLogPixels;
public int dmBitsPerPel;
public int dmPelsWidth;
public int dmPelsHeight;
public int dmDisplayFlags;
public int dmDisplayFrequency;
public int dmDisplayOrientation;
}
public static void SetScreenRotation(int modes)
{
DEVMODE devmode = new DEVMODE();
devmode.dmSize = (short)Marshal.SizeOf(typeof(DEVMODE));
devmode.dmFields = 0x00800000; devmode.dmDisplayOrientation = modes;
ChangeDisplaySettingsEx(null, ref devmode, IntPtr.Zero, 0, IntPtr.Zero); }
【文件预览】:
ScreenDemo
----ScreenDemo.suo(14KB)
----ScreenDemo.sln(1KB)
----ScreenDemo()
--------bin()
--------Form1.Designer.cs(4KB)
--------ScreenRotation.cs(3KB)
--------ScreenDemo.csproj(4KB)
--------Program.cs(355B)
--------obj()
--------Form1.cs(890B)
--------Form1.resx(6KB)
--------Properties()
--------ScreenDemo.csproj.user(234B)
网友评论
- 资源亲测可用,谢谢分享
- 运行不起来,参考看看而已
- 非常感谢分享,思路还是有参考价值
- 具有一定的参考价值,非常感谢无私的分享
- 运行去起来,仅仅参考看看而已
- 正好用上了,帮上大忙,哈哈哈哈
- 不能改分辨率,也不能旋转。10分真不便宜。
- 很好用的代码。
- 不能运行 ,说什么版本不对, 不过看看源代码还是有帮助的
- win7上运行有些问题,修改以后可以用