Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用c在windows中更改屏幕保护程序超时和屏幕保护程序安全#_C#_System_Screensaver - Fatal编程技术网

C# 如何使用c在windows中更改屏幕保护程序超时和屏幕保护程序安全#

C# 如何使用c在windows中更改屏幕保护程序超时和屏幕保护程序安全#,c#,system,screensaver,C#,System,Screensaver,如何通过C#代码为当前用户(或windows中的任何其他用户)更改屏幕保护程序超时和屏幕保护程序安全,因为我的应用程序在后台进程中以系统权限运行 当我们使用c#或脚本HKEY#U CURRENT#U USER\Control Panel\Desktop\ScreensaverTimeout更改此注册表的值时 和HKEY_当前用户\控制面板\桌面\屏幕保护安全 此效果仅在机器重新启动后显示 当我们使用具有系统权限的c#代码更改注册表值时,这些更改不会对新值产生影响。Q1:…此效果仅在重新启动计算机

如何通过C#代码为当前用户(或windows中的任何其他用户)更改屏幕保护程序超时和屏幕保护程序安全,因为我的应用程序在后台进程中以系统权限运行

当我们使用c#或脚本HKEY#U CURRENT#U USER\Control Panel\Desktop\ScreensaverTimeout更改此注册表的值时 和HKEY_当前用户\控制面板\桌面\屏幕保护安全 此效果仅在机器重新启动后显示


当我们使用具有系统权限的c#代码更改注册表值时,这些更改不会对新值产生影响。

Q1:…此效果仅在重新启动计算机后显示:

更新注册表后,可以调用强制Windows从注册表重新读取配置(以便更新立即生效)

Q2:…使用系统权限,这些更改不会对新值产生影响:


您需要启动与当前登录用户在同一会话中运行的新进程,并从新进程更新注册表值。这是一个很好的开始问题。

Q1:…只有在重新启动计算机后才会显示此效果:

更新注册表后,可以调用强制Windows从注册表重新读取配置(以便更新立即生效)

Q2:…使用系统权限,这些更改不会对新值产生影响:


您需要启动与当前登录用户在同一会话中运行的新进程,并从新进程更新注册表值。这是一个很好的开始问题。

Q1:…只有在重新启动计算机后才会显示此效果:

更新注册表后,可以调用强制Windows从注册表重新读取配置(以便更新立即生效)

Q2:…使用系统权限,这些更改不会对新值产生影响:


您需要启动与当前登录用户在同一会话中运行的新进程,并从新进程更新注册表值。这是一个很好的开始问题。

Q1:…只有在重新启动计算机后才会显示此效果:

更新注册表后,可以调用强制Windows从注册表重新读取配置(以便更新立即生效)

Q2:…使用系统权限,这些更改不会对新值产生影响:


您需要启动与当前登录用户在同一会话中运行的新进程,并从新进程更新注册表值。这是一个很好的开始问题。

像这样更改windows设置后,您需要调用WinApi SendNotifyMessage,并向所有窗口发送WM_SETTINGCHANGE消息。这就是在重新启动之前不会更新设置的原因。(我想你会发现在上注销会对该用户实现同样的效果)

WinApi

C#发送消息的包装器

像这样更改windows设置后,需要调用WinApi SendNotify消息,并向所有窗口发送WM_SETTINGCHANGE消息。这就是在重新启动之前不会更新设置的原因。(我想你会发现在上注销会对该用户实现同样的效果)

WinApi

C#发送消息的包装器

像这样更改windows设置后,需要调用WinApi SendNotify消息,并向所有窗口发送WM_SETTINGCHANGE消息。这就是在重新启动之前不会更新设置的原因。(我想你会发现在上注销会对该用户实现同样的效果)

WinApi

C#发送消息的包装器

像这样更改windows设置后,需要调用WinApi SendNotify消息,并向所有窗口发送WM_SETTINGCHANGE消息。这就是在重新启动之前不会更新设置的原因。(我想你会发现在上注销会对该用户实现同样的效果)

WinApi

C#发送消息的包装器

rundll32.exe user32.dll, UpdatePerUserSystemParameters