C# 尝试在C Visual Studio中创建7zip文件时出错

C# 尝试在C Visual Studio中创建7zip文件时出错,c#,.net,visual-studio,aes,7zip,C#,.net,Visual Studio,Aes,7zip,因此,我试图在C VS Studio 2019中编写一个脚本,其中用户使用7zip输入要加密的文件,并选择他们的密码等,使用字符串决定密码和要加密的文件。它将作为encryptedfilehere.7z保存到c:\驱动器。问题是我正在努力正确格式化代码: private string button2_Click(object sender, EventArgs e) { MessageBox.Show("Assuming 7-zip is installed

因此,我试图在C VS Studio 2019中编写一个脚本,其中用户使用7zip输入要加密的文件,并选择他们的密码等,使用字符串决定密码和要加密的文件。它将作为encryptedfilehere.7z保存到c:\驱动器。问题是我正在努力正确格式化代码:

 private string button2_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Assuming 7-zip is installed in C:\\Program Files\\7-Zip\\.  If error message appears 7-zip is not installed in this driectory, it needs to be so.");
        string sourceName = textBox1.Text;
        string targetName = "c:\\encryptedmessagehere.7z";

        // 1
        // Initialize process information.
        //
        ProcessStartInfo p = new ProcessStartInfo();
        p.FileName = "C:\\Program Files\\7-Zip\\7z.exe";

        // 2
        // Use 7-zip
        // specify a=archive and -tgzip=gzip
        // and then target file in quotes followed by source file in quotes
        //
        p.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\\" Form2.verify;
        p.WindowStyle = ProcessWindowStyle.Hidden;

        // 3.
        // Start process and wait for it to exit
        //
        Process x = Process.Start(p);
        x.WaitForExit();
    }
    
密码为Form2.verify,因为它采用用户通过名为verify的字符串在另一个表单中输入的密码。返回的错误为:

错误CS0161“Form7.button2\u Clickobject,EventArgs”:并非所有代码路径都返回值

要使用Form2.verify作为密码,请执行以下操作:

错误CS0201只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句ByteOribtPrivacyCannon C:\Users\keife\Downloads\ByteOrbitPrivacyCannon 2\UniveralWindowTextPGP\UniveralWindowTextPGP\Form7.cs 48 Active

非常感谢您的帮助,谢谢

并非所有代码路径都返回值

代码中根本没有return语句

你不知道该还什么?然后使方法返回void而不是string。无论如何,这是按钮事件处理程序的正确签名

这需要+来连接字符串

顺便说一句:

x、 外国退出;只需等待7Zip结束。它不能保证某些东西被压缩了。 将所有这些代码放在按钮的事件处理程序中可能会使程序无响应,这取决于Zip操作需要多长时间。Windows可能会显示“无响应”标题,用户可能会终止您的应用程序。 考虑将路径设置为7Zip可配置,而不是强迫人们在特定位置安装它。您甚至可以通过HKEY_CLASSES_ROOT\7-Zip.7z\shell\open\command从注册表中获取路径
错误信息非常简单。并对堆栈溢出的原因进行了详细的讨论。有关示例,请参见副本。对于你的第二个错误,这是一个完全不同的问题…不要在一篇文章中问两个问题,做你应该做的第一个,即搜索网站或只是使用你最喜欢的网页搜索错误消息的确切文本。你会得到大量的信息。
"\\" Form2.verify;