我面临一个奇怪的问题。我有一个可执行文件(Exe1),我在RunOnce密钥中注册(HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce) Exe1在下次重启时运行。在Exe1中,我正在使用Process.Start()来启动另一个可执行文件(Exe2)。语法是
string Installer = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\Exe2.exe";
Process.Start(Installer);
奇怪的是,Exe2有时启动两次,有时不启动。我无法弄清楚如何。 Exe1仅在启动时启动一次。我敢肯定 - 我正在采取这些措施。
尽管如此,Exe2还是推出了两次。当它在重启时从RunOnce启动时会发生这种情况。如果我直接启动Exe1,就不会发生这种情况。
感谢任何帮助或有用的信息
答案 0 :(得分:1)
我会谈到我遇到的问题,因为它可能与您的问题足够接近。首先,我在预期我的进程开始的任何地方都设置了一个断点。如果在没有我继续的情况下启动流程,那么我的代码会在其他地方触发该流程。
Process myProcess = Process.Start(startInfo);
myProcess.Start();
我在第二行放置了一个断点,但显然我在第一行触发了该过程。如果代码分散,那些奇怪的(恼人的)简单错误有时很难被发现。希望有帮助或其他任何人解决这个问题。