-1

ログイン フォームを設計し、入力したユーザー名とパスワードを他のフォームで呼び出すことができる変数として保存することを望んでいました (全体的なプログラムは、.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」を安全な文字列に変換したり、別の文字列変数にその内容を与えてから、その変数を安全な文字列としてレンダリングしたりするさまざまな方法を試しました。とうとうアイデアが尽きた。助けてくれてありがとう。

4

3 に答える 3