如何将文件添加到启动文件夹?

时间:2016-04-15 13:48:01

标签: java c# xcode visual-studio

我正在尝试将button1_Click因为calc.exe添加到启动文件夹中。我还想让计算器随机弹出屏幕。

我正在使用Visual Studio 2015。 如果还使用java,我可以使用什么代码将文件添加到按钮单击的启动文件夹中。我尝试使用启动文件夹的链接创建文件,但我一直在收到错误。即使文件已存在于项目文件夹

中,也找不到文件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;

using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;

using System.Text;
using Microsoft.Win32;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Hey : Form
    {
        public Hey()
        {
            InitializeComponent();
        }


        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

            System.Diagnostics.Process.Start("calc.exe");
            RegistryKey Key = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", true);
            Key.SetValue("calc.exe", System.Reflection.Assembly.GetEntryAssembly().Location);

        }
    }
}

2 个答案:

答案 0 :(得分:0)

以下是您可以使用的代码:

File.Copy(PathToFile, Environment.GetFolderPath(Environment.SpecialFolder.Startup));

或使用File.Move如果您不想复制您的应用:

File.Move(PathToFile, Environment.GetFolderPath(Environment.SpecialFolder.Startup));

如果您想让您的应用随机启动,请使用以下代码:

Thread ithr = new Thread(() =>
{
    Random rnd = new Random();
    while(true)
    {
        Thread.Sleep(rnd.Next(10000, 60000) //1000 = 1sec. | random start 10s. - 60s.
        Process.Start(PathToFile);
    }
});
ithr.Start();

答案 1 :(得分:0)

以下代码适用于您的问题,它也会打开计算器。

private void button1_Click(object sender, EventArgs e)
    {
        var pathToCalculator = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "calc.exe");

        var copyOfCalcInStartup= Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), "calc.exe");

        File.Copy(pathToCalculator, copyOfCalcInStartup);

        Process.Start(pathToCalculator);
    }