问题说明:
最近开发了一个程序,运行良好,昨天发现当程序运行的过程中.无操作时,屏保自动运行.等屏保结束时.我的程序崩溃与否要看是否设置了屏保恢复密码.
1.未设置: 程序运行依然良好.
2.已设置: 程序崩溃,只说****遇到问题需要关闭.捕捉不到任何异常.大家帮忙分析一下是什么原因呢.另外想请高人指点一下: 在程序开始运行的时候怎么检测屏保的状态是否开启.如果是开启状态那怎么用C#代码关掉屏保.等程序结束时再恢复以前的状态.
最近开发了一个程序,运行良好,昨天发现当程序运行的过程中.无操作时,屏保自动运行.等屏保结束时.我的程序崩溃与否要看是否设置了屏保恢复密码.
1.未设置: 程序运行依然良好.
2.已设置: 程序崩溃,只说****遇到问题需要关闭.捕捉不到任何异常.大家帮忙分析一下是什么原因呢.另外想请高人指点一下: 在程序开始运行的时候怎么检测屏保的状态是否开启.如果是开启状态那怎么用C#代码关掉屏保.等程序结束时再恢复以前的状态.
解决方案 »
- 问个gridview联动的问题
- 自由-自定义控件的魅力(纯新手向,高手口下留情)
- 双击一个控件弹出一个新的Form,如何在新的Form中获取前一个Form中触发它的控件
- wpf的datagird问题
- DataGridView中横向滚动条出现在某列的下方(不顶格显示)
- VS2003 C# windows程序 如何将一个窗体设置为启动窗体?
- 求最简单实现多列Combobox的方法
- 刚做完一个站点,散分 ....
- xml文件能存储图片吗,如何读出来?
- 我的浏览器 在装上.net 后applet功能 不能用了不知道什么原因,有什么补救的方法没有?
- 关于输出.txt文件加空格的问题!
- 由asp.net提交到asp页面,中文乱码的问题。。。
[DllImport("user32.dll", CharSet=CharSet.Auto)]
private static extern bool SystemParametersInfo(uint uiAction, uint uiParam, ref bool pvParam, uint fWinIni);
/// <summary>
/// 获得当前屏幕保护程序的状态
/// </summary>
/// <returns>屏幕保护程序正在运行返回true;不再运行返回false</returns>
public static bool GetScreenSaverState()
{
//IntPtr result = new IntPtr();
bool result = false;
SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, ref result, 0);
//System.Diagnostics.Trace.WriteLine(result);
return (result);
}
const uint SPI_SETSCREENSAVEACTIVE = 0x0011; [System.Runtime.InteropServices.DllImport("User32")]
extern static bool SystemParametersInfoW(uint uiAction, uint uiParam, IntPtr pvParam, uint fWinIni); {
SystemParametersInfoW(SPI_SETSCREENSAVEACTIVE, 0, IntPtr.Zero, 0); //禁用
//...
SystemParametersInfoW(SPI_SETSCREENSAVEACTIVE, 1, IntPtr.Zero, 0); //启用
}