所有关于电路”class=

当用户切换时,应用程序锁定

恐慌模式”class=

线程启动

恐慌模式

2011年10月10日加入
1,880
大家好,

有一个程序出了问题。程序是一个运行在Win10上的64位应用程序。
通常它运行24/7,它有效。

由于最近的政策,当用户不在机器时,窗口被锁定。
这不是问题,应用程序在锁定屏幕上保持运行。

但是如果用户被切换,程序将停止响应,这是不需要的。
更糟糕的是,即使用户被切换回,应用程序也不会恢复....必须中止并重新启动。

问题或解决方案是什么?挑战是,我没有真正的访问权限(它是非常远程的,我只能偶尔访问机器,而不是作为管理员)。有什么建议吗?

apachekid.

2015年1月12日加入
384
大家好,

有一个程序出了问题。程序是一个运行在Win10上的64位应用程序。
通常它运行24/7,它有效。

由于最近的政策,当用户不在机器时,窗口被锁定。
这不是问题,应用程序在锁定屏幕上保持运行。

但是如果用户被切换,程序将停止响应,这是不需要的。
更糟糕的是,即使用户被切换回,应用程序也不会恢复....必须中止并重新启动。

问题或解决方案是什么?挑战是,我没有真正的访问权限(它是非常远程的,我只能偶尔访问机器,而不是作为管理员)。有什么建议吗?
我怀疑您可以做的很多,除非您拥有或可以访问源代码并构建应用程序。可以使用特殊工具检查冻结应用程序,以查看它的作用,但这并不是微不足道。这是一个旧的应用吗?几岁?我问的原因是,从Vista开始,操作系统管理一个名为“会话”的概念,非常不同,并且为vista pre-Vista版本编写的应用程序可能会遇到正在切换的会话问题,但这只是一个怀疑。

线程启动

恐慌模式

2011年10月10日加入
1,880
申请是最近(大约一年左右)。我有权访问源代码(VS2019)。
特殊的工具是什么?这是在Win10-64上运行的,不确定在备用电脑上安装XP会有什么帮助。我猜它应该能够在XP64上运行,如果最新的DotNET框架可以安装。

BobaMosfet

2009年7月1日加入
1,554
大家好,

有一个程序出了问题。程序是一个运行在Win10上的64位应用程序。
通常它运行24/7,它有效。

由于最近的政策,当用户不在机器时,窗口被锁定。
这不是问题,应用程序在锁定屏幕上保持运行。

但是如果用户被切换,程序将停止响应,这是不需要的。
更糟糕的是,即使用户被切换回,应用程序也不会恢复....必须中止并重新启动。

问题或解决方案是什么?挑战是,我没有真正的访问权限(它是非常远程的,我只能偶尔访问机器,而不是作为管理员)。有什么建议吗?
我强烈建议你不要用Windoze锁你的电脑。Windoze安全模型是危险的。它可以删除你的配置文件,突然你的系统甚至不会启动到任何东西,除了黑屏(将死)。如果你有问题的计算机行为由于使用windows安全-备份你的东西,停止使用他们的锁定功能。

Windows 10是危险的。

apachekid.

2015年1月12日加入
384
申请是最近(大约一年左右)。我有权访问源代码(VS2019)。
特殊的工具是什么?这是在Win10-64上运行的,不确定在备用电脑上安装XP会有什么帮助。我猜它应该能够在XP64上运行,如果最新的DotNET框架可以安装。
工具可能是进程资源管理器beplay体育下载不了,我认为这将让您看看过程的线程正在做什么,他们正在等待的内容等等,但它的隐秘并需要一些熟悉的操作系统内部。

可能也是如此过程监控可能用于阐明当您切换用户时发生了什么,同样,这可能是神秘的和耗时的。

当然,你也可以启动Visual Studio 2019,并尝试将调试器附加到问题进程中,这可能非常有用。

如果您可以回到Windows和App正在运行但没有反应,则附加调试器是我尝试的第一件事,一旦您这样做,您可以看到所有线程及其堆栈,并且可能会得到一些想法,也许是什么僵局还是什么?

进程浏览器和进程beplay体育下载不了监视器是非侵入性的,而VS调试器会在某种程度上干扰应用程序。

你知道这款应用程序是针对用户被切换而设计的吗?里面有代码吗?它看看这个例如?
最后的编辑:

线程启动

恐慌模式

2011年10月10日加入
1,880
锁定政策是他们最近改变的事情,我只是探索了,如果可以做些什么让他们开心。

这不是我的机器上,它是由其他人拥有和管理的PC。我无法决定操作系统应该在那里运行或他们执行的公司政策是什么。和...嗯......不要介意我不去讲述公司如何运行他们的生意或忘记Win10并回到一些过期的操作系统...类似于它,Win3x,Win9x,XP,Vista,Win2k等都死了,Win10就在而这是...

BTW应用程序使用不同协议的内容连接/交互。
为了与其中一个伙伴节点进行通信,在TCP服务器内置的用途中(其他设备是TCP客户端)。我想在这里改变角色将是一个挑战......也许有一些用作中间节点的东西(创建运行作为服务器的单独服务)。

只要点击链接,看起来这可能就是问题的根源…

SystemEvents。SessionSwitch事件: 当前上下文中不支持系统事件通知。例如,服务器进程可能不支持全局系统事件通知。“

我在考虑检查服务器线程是否运行,如果需要重新启动它…

将尝试看看远程调试是否可以工作,我没有尝试它,虽然有一些限制,这似乎是一个值得探索的路径。

djsfantasi.

2010年4月11日加入
7595年
这是预期的行为。当使用其他用户解锁时,您还会交换用户存储空间。包含运行程序的旧内存被交换出,任何先前正在运行的程序都终止或放置在暂停状态,并且初始化新用户空间。


Windows并不是一个多用户操作系统。所以你观察到的行为是预期的行为。

Yaakov.

加入2019年1月27日
2768年
锁定政策是他们最近改变的事情,我只是探索了,如果可以做些什么让他们开心。

这不是我的机器上,它是由其他人拥有和管理的PC。我无法决定操作系统应该在那里运行或他们执行的公司政策是什么。和...嗯......不要介意我不去讲述公司如何运行他们的生意或忘记Win10并回到一些过期的操作系统...类似于它,Win3x,Win9x,XP,Vista,Win2k等都死了,Win10就在而这是...

BTW应用程序使用不同协议的内容连接/交互。
为了与其中一个伙伴节点进行通信,在TCP服务器内置的用途中(其他设备是TCP客户端)。我想在这里改变角色将是一个挑战......也许有一些用作中间节点的东西(创建运行作为服务器的单独服务)。

只要点击链接,看起来这可能就是问题的根源…

SystemEvents。SessionSwitch事件: 当前上下文中不支持系统事件通知。例如,服务器进程可能不支持全局系统事件通知。“

我在考虑检查服务器线程是否运行,如果需要重新启动它…

将尝试看看远程调试是否可以工作,我没有尝试它,虽然有一些限制,这似乎是一个值得探索的路径。
也许您可以重写需要持续运行作为服务而不是特定用户帐户的部件。

线程启动

恐慌模式

2011年10月10日加入
1,880
经过更多的挖掘,我们确定这与it推送的更新一致,更具体地说,是通过命令gpupdate / force.

下周将继续,看看接下来会有什么,以及它是否能被优雅地处理而不需要太多重写……

线程启动

恐慌模式

2011年10月10日加入
1,880
数据报是长而复杂的,解析,报警处理等都是在难以使用的多线程设置中完成的。我不想经过整个代码,所以我试图将它分解并从所有处理中隔离服务器本身。到我将所有内容包装为单个方法,将其放入另一个线程并刚从服务器转移到其上的整个接收的字符串。这项工作但仍然造成了同样的问题,因为UI每次都会冻结gpupdate被称为。有时这是一个简短的事情,但有时会花费20秒或更长的时间,这是不可接受的。但是这种分离使测试更容易,用一个TCP服务器替换另一个更简单。在测试了10个例子之后,我发现了一个没有问题的例子。没有故障或死锁或丢失连接,只是平滑的数据流…