在用户登录到Windows后运行一个命令。

11 浏览
0 Comments

在用户登录到Windows后运行一个命令。

我正在为一些CAD软件制作一个清理程序(WPF),它可以清理我不再需要的某些类型的临时和日志文件,但我的CAD软件本身不会清理这些文件。

由于我将其制作为一个WPF应用程序,所以我只需创建一个按钮来清理我不需要的任何文件类型。

现在我一直在寻找一种方法,在我登录Windows后执行它。因此,我不会尝试在启动后执行整个程序,只需执行程序中的一个命令。我知道Windows中有一个名为启动(startup)的文件夹,但我更愿意不使用它。

有没有其他方法可以做到这一点?我可以在我的应用程序中添加一个复选框,以设置是或否在启动时运行它吗?

我一直在寻找,但实际上没有找到关于这方面的任何信息。

0
0 Comments

用户在Windows登录后运行命令的问题通常出现的原因是需要将用户界面(GUI)与逻辑分离。可以创建一个逻辑的服务,然后WPF用户界面可以分别调用该服务。这样,就可以编写一些代码来在不使用GUI的情况下调用该服务。通过查看MSConfig.exe,可以更好地控制启动和服务等。

解决方法:

1. 将用户界面(GUI)与逻辑分离。

2. 创建一个逻辑的服务。

3. WPF用户界面通过调用该服务来实现相应的功能。

4. 编写代码来在不使用GUI的情况下调用该服务。

5. 使用MSConfig.exe来更好地控制启动和服务等。

0
0 Comments

用户想要在Windows用户登录后运行一个命令,但是不想在启动时运行整个程序,只想运行程序中的某个命令。为了解决这个问题,可以通过设置启动选项来实现程序在启动时自动运行。并且可以在应用程序的Program.cs文件中添加一个命令行参数,当参数设置正确时,清除文件并且不显示界面,当参数未设置时(用户双击图标启动程序时),正常运行程序。

具体操作步骤如下:

1. 检查启动选项,参考链接:How do I set a program to launch at startup

2. 修改代码,在Program.cs文件中添加命令行参数处理,代码如下:

public static void Main(string[] args)
{
   if (args[0].Equals("/JUSTCLEANPLEASE"))
      JustClean();
   else
      Application.Run(new Form1());
}

3. 在JustClean()方法中进行文件清理操作。

4. 当用户登录后,程序会自动运行,如果设置了正确的命令行参数(/JUSTCLEANPLEASE),则执行文件清理操作并隐藏界面;如果未设置命令行参数,则正常显示界面运行程序。

通过以上操作,用户可以实现在Windows用户登录后运行指定命令的需求。

0
0 Comments

问题的原因是不想使用自动启动目录。解决方法是可以使用以下替代方案之一:

1. 在注册表中创建一个条目,并在每次启动或仅在一次启动时运行某个命令。可以参考微软的知识库文章:http://support.microsoft.com/kb/137367/en-us

2. 可以创建一个批处理文件,放在一个不会被删除的临时目录或其他合适的位置,并将其添加到适合的自动运行节点中。可以使用C#来访问注册表的示例很多。

需要注意的是,不同节点的Run和RunOnce之间存在差异。

0