我设计了一个登录表单,并希望将输入的用户名和密码存储为我可以在其他表单中调用的变量(整个程序是 .exe 文件和 powershell 脚本的集合,我想以最初输入的用户名和密码运行登录表单)。
在程序开始时,我使用以下代码创建了“全局变量”:
class usernameGlobalVariable
{
public static string var = "";
}
class passwordGlobalVariable
{
public static string var = "";
}
在登录表单中,我以这种方式将输入的用户名和密码存储到这些全局变量中:
private void usernameTextBox_TextChanged(object sender, EventArgs e)
{
usernameGlobalVariable.var = usernameTextBox.Text;
}
private void passwordTextBox_TextChanged(object sender, EventArgs e)
{
passwordGlobalVariable.var = passwordTextBox.Text;
}
当我想启动一个进程时,我使用此代码调用它(以登录表单存储的用户名和密码运行它):
string fileName = "c:\\hdatools\\Ping2.exe";
string arguments = "";
string domain = "vantage";
private void Button2_Click(object sender, EventArgs e)
{
Process.Start(
fileName,
arguments,
usernameGlobalVariable.var,
passwordGlobalVariable.var,
domain);
}
我得到的主要错误是在线passwordGlobalVariable.var,
错误说
参数 4:无法从 'string' 转换为 'System.Security.SecureString'
我尝试了不同的方法来尝试将“passwordGlobalVariable.var”转换为安全字符串,或者为另一个字符串变量提供其内容,然后将该变量呈现为安全字符串。我终于没有想法了。在此先感谢您的帮助。