gpt4 book ai didi

c#检查程序是否在启动时运行

转载 作者:可可西里 更新时间:2023-11-01 11:47:44 25 4
gpt4 key购买 nike

我想检查某个程序是否在计算机启动时运行,为此我访问了 win32 RegistryKey 类:

 private void Form1_Load(object sender, EventArgs e)
{
bool ok = isOnRegistryStartup("iFilter");
MessageBox.Show(ok.ToString());
}
private bool isOnRegistryStartup(string key)
{
RegistryKey RegistryKey = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (registryKey.GetValue(key)!=null)
{
return true;

}
return false;

}

输出确实是 True,因为该程序实际上是在 Windows 启动时运行的,但是当我通过 任务管理器 禁用该程序启动时(它的状态变为 disabled),下次我运行上面的代码时,结果仍然是 True,尽管该程序不再是启动程序的一部分。

这使我得出一个简单的结论,即当 Windows 任务管理器禁用启动程序时,它不会删除它在注册表项中的键值,但它会更改它的另一个值..但我找不到找出改变的值是什么。

我希望有人能提供帮助。

谢谢。

最佳答案

因为在 taskmgr 上将其设置为禁用不会删除其在

中的条目

CurrentUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 而是在 CurrentUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run 中设置相应的值来自0200 0000000...0300 0000 xxxxx....

关于c#检查程序是否在启动时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com