相关疑难解决方法(0)

以编程方式确定锁定工作站的持续时间?

如何在代码中确定机器锁定的时间?

欢迎使用C#以外的其他创意.


我喜欢Windows服务理念(并已接受它)以简化和清洁,但不幸的是,我不认为它在这种特殊情况下对我有用.我想在我的工作站上运行这个,而不是在家里(或者除了家庭之外,我想),但它被国防部严格控制了.实际上,这就是我自己滚动的部分原因.

无论如何我会写下来看看它是否有效.感谢大家!

c# windows

110
推荐指数
5
解决办法
4万
查看次数

离开屏幕保护程序或锁定计算机后程序挂起

我们的程序工作正常,直到有人锁定计算机或屏幕保护程序弹出(但不是ctrl + alt + delete).一旦计算机解锁/屏幕保护程序关闭,应用程序将停止绘制除标题栏以外的所有内容,并停止响应输入 - 它显示一个无法移动或关闭的大部分白色窗口.

应用程序冻结的示例

(应用程序冻结示例 - 山脉来自我的桌面背景)

如果我们让它静置大约5到10分钟,它会恢复生命,并且不会再次挂起(即使在锁定计算机/屏幕保护程序弹出窗口之后),直到应用程序重新启动.

调试很困难,因为只有在手动打开.exe时才从Visual Studio启动程序时才会发生这种情况.

它只在显示启动画面时发生 - 如果我删除代码以显示启动画面,它就会停止发生.但是,我们需要启动画面.

我已尝试过本页的所有建议 ; 唯一没有发生的是使用Microsoft.VisualBasic.WindowsFormsApplicationBase,但这会导致各种其他问题.

互联网上有关这方面的信息似乎很少 - 以前有没有人遇到过类似的问题?


这是相关代码:

//Multiple programs use this login form, all have the same issue
public partial class LoginForm<TMainForm>
    where TMainForm : Form, new()
{
    private readonly Action _showLoadingForm;

    public LoginForm(Action showLoadingForm)
    {
        ...
        _showLoadingForm = showLoadingForm;
    }

    private void btnLogin_Click(object sender, EventArgs e)
    {
        ...
        this.Hide();
        ShowLoadingForm(); //Problem goes away …
Run Code Online (Sandbox Code Playgroud)

c# vb.net multithreading hang winforms

10
推荐指数
1
解决办法
5783
查看次数

标签 统计

c# ×2

hang ×1

multithreading ×1

vb.net ×1

windows ×1

winforms ×1