因为要做程序后段的批处理,考虑到软件被关闭或者其他的潜在因素影响运行结果,考虑使用锁屏的方式。最本质是为了装B一把,呵呵~~~先讲下原理
因为是自动从网上获取数据,考虑网络的延迟等原因,所以先批量输入查询参数,然后通过结束按钮来跳转到批量处理窗口,此时软件开始锁屏。frm1:只用来收集所有的参数数据到XML,通过按钮激活frm2锁屏后自动处理
frm2:通过参数截取网页数据相关代码:
结束按钮触发窗口跳转代码private void button1_click(object sender, EventArgs e)
{
this.Hide();
frm2 block = new frm2();
block.show();
}
frm2代码 public frmGetData()
{
InitializeComponent();
RegistryKey r = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies", true);
r.CreateSubKey("System");
r.Close();
RegistryKey s = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
s.SetValue("DisableTaskMgr", 1);
s.Close();
this.lblWarn.Location = new Point(panel1.Location.X - 50, panel1.Location.Y - 60);
//通过代理抓取网页数据
GetDateFromInternet();
} protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == 0x84) //不让拖动标题栏
{
if ((IntPtr)2 == m.Result)
m.Result = (IntPtr)1;
}
if (m.Msg == 0x00A3) //双击标题栏无反应
m.WParam = System.IntPtr.Zero; }
现在问题是,frm2的界面要到处理完 GetDateFromInternet()之后才跳出来,而不是开始处理前就跳出来,不知道怎么回事。请各位帮忙看看
因为是自动从网上获取数据,考虑网络的延迟等原因,所以先批量输入查询参数,然后通过结束按钮来跳转到批量处理窗口,此时软件开始锁屏。frm1:只用来收集所有的参数数据到XML,通过按钮激活frm2锁屏后自动处理
frm2:通过参数截取网页数据相关代码:
结束按钮触发窗口跳转代码private void button1_click(object sender, EventArgs e)
{
this.Hide();
frm2 block = new frm2();
block.show();
}
frm2代码 public frmGetData()
{
InitializeComponent();
RegistryKey r = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies", true);
r.CreateSubKey("System");
r.Close();
RegistryKey s = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
s.SetValue("DisableTaskMgr", 1);
s.Close();
this.lblWarn.Location = new Point(panel1.Location.X - 50, panel1.Location.Y - 60);
//通过代理抓取网页数据
GetDateFromInternet();
} protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == 0x84) //不让拖动标题栏
{
if ((IntPtr)2 == m.Result)
m.Result = (IntPtr)1;
}
if (m.Msg == 0x00A3) //双击标题栏无反应
m.WParam = System.IntPtr.Zero; }
现在问题是,frm2的界面要到处理完 GetDateFromInternet()之后才跳出来,而不是开始处理前就跳出来,不知道怎么回事。请各位帮忙看看
解决方案 »
- 当初没选择MFC实在是个错误(关于窗口子类化的技术问题)
- winform在哪里写数据库连接
- 经验达人入!方法的参数应该怎么处理?
- 那位高手能告诉我.AxMSMask.AxMaskEdBox的用法啊
- 如何全选焦点所在的控件的值
- 如何判断C# treeView结点是展开还是折叠?
- winform的datagrid问题:定义了一个datatable的columnchanged事件,但是内容写不进去
- 谁有异步提取网页源码(HTML)的源程序。提供一个学习学习。
- 至少一个参数没有被指定值。flag=Convert.ToInt32(cmd.ExecuteScalar());
- Remoting一个奇怪的问题,求助!!!!我是不是发错了版块?
- 100分求教:如何在web中实现数据透视表功能 !
- datatable的扩展属性如何和数据库同步?
invoke SystemParametersInfo,
SPI_SCREENSAVERRUNNING,
1,
NULL,
NULL;SystemParametersInfo为函数名,后面是它的参数.