使用C#在启动窗口上的应用程序中启动新线程

问题描述 投票:0回答:1

我已经创建了2个应用程序:AppA.exe和AppB.exe。

通过在其中添加密钥,App A在Windows启动时运行。>

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run。

我的AppA.exe很简单,如下所示:

if (!IsLatestVersion())
{
    if("There is a new version. Do you want to update?", "Confirmation", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
    {
        Process.Start(AppB.exe)
    }       
}

但是当我在消息框对话框

]上单击是时。什么都没发生。

我尝试通过双击]直接运行到AppA.exe,然后AppB.exe正常运行。我认为也许Windows onstartup启动我的AppA.exe时,它阻止了所有线程,因此我无法通过AppA.exe运行AppB.exe。

有什么解决方法吗?谢谢。

我已经创建了2个应用程序:AppA.exe和AppB.exe。通过在HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run中添加一个密钥,App A在Windows启动时运行。我的AppA.exe很简单...

经过一番研究之后,我添加了以下代码片段,可能会对您有所帮助:

private void RegisterInStartup(bool isChecked)
{
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    if (isChecked)
    {
        registryKey.SetValue("AppA.exe", Application.ExecutablePath);
    }
}

我从以下答案中得到了启发:How to run a C# application at Windows startup?

c#
1个回答
0
投票

经过一番研究之后,我添加了以下代码片段,可能会对您有所帮助:

© www.soinside.com 2019 - 2024. All rights reserved.