关于C#锁屏后程序运行

IT_Fish 2010-12-01 09:58:52
因为要做程序后段的批处理,考虑到软件被关闭或者其他的潜在因素影响运行结果,考虑使用锁屏的方式。

最本质是为了装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()之后才跳出来,而不是开始处理前就跳出来,不知道怎么回事。

请各位帮忙看看
...全文
561 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT_Fish 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yanjiaye520 的回复:]
有谁懂屏蔽Ctrl+alt+del,win+L,这些键吗?顶一个~~~
[/Quote]

invoke SystemParametersInfo,
SPI_SCREENSAVERRUNNING,
1,
NULL,
NULL;

SystemParametersInfo为函数名,后面是它的参数.
gomoku 2010-12-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 it_fish 的回复:]
其实不是很复杂,只是想把软件搞得花哨点而已
[/Quote]
而且更不好用
在被"锁屏"期间,用户连浏览个网页都不方便。
IT_Fish 2010-12-01
  • 打赏
  • 举报
回复
其实不是很复杂,只是想把软件搞得花哨点而已
cangku2012 2010-12-01
  • 打赏
  • 举报
回复
感觉好复杂啊
IT_Fish 2010-12-01
  • 打赏
  • 举报
回复
楼上说的应该差不多frmGetData 就是frm2

我原先的想法是,先吧界面显示出来,然后开始处理 GetDateFromInternet();
xuzysun 2010-12-01
  • 打赏
  • 举报
回复
是不是在frm2的Load事件中就直接调用frmGetData()。
Microblue 2010-12-01
  • 打赏
  • 举报
回复
有谁懂屏蔽Ctrl+alt+del,win+L,这些键吗?顶一个~~~
IT_Fish 2010-12-01
  • 打赏
  • 举报
回复
怎么没有进展啊
IT_Fish 2010-12-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gomoku 的回复:]
引用 4 楼 it_fish 的回复:
其实不是很复杂,只是想把软件搞得花哨点而已

而且更不好用。
在被"锁屏"期间,用户连浏览个网页都不方便。
[/Quote]

就是为了用户不做其他事,因为这个软件就放在公共电脑上跑的

所以不得不出此下策

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧