0
public partial class Loginform : Form
{      
    public Loginform()
    {
        InitializeComponent();
    }

    private void btnlogin_Click(object sender, EventArgs e)
    {
        string dir = "D://Login.hhh";
        if (!File.Exists(dir))
        {
            File.Create(dir);
        }

        string filePath = dir;
        string s = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
        string s1 = getIP();
        using (StreamWriter swrObj = new StreamWriter(filePath, true))
        {
            swrObj.Write(s1 + "|" + s + "|" + Txtusername.Text + "|" + "user logged in on :|" + DateTime.Now.ToShortDateString() + " at " + DateTime.Now.ToShortTimeString());
            swrObj.Write("\t\t");
            swrObj.Write("\t\t");
            swrObj.WriteLine();
            MessageBox.Show("Login success");
        }
    }

    private void Loginform_Load(object sender, EventArgs e)
    { 

    }
    private string getIP()
    { 
        IPHostEntry host;
        string localIP = "?";
        host = Dns.GetHostEntry(Dns.GetHostName());
        foreach (IPAddress ip in host.AddressList)
        {
            if (ip.AddressFamily.ToString() == "InterNetwork")
            {
                localIP = ip.ToString();
            }
        }
        return  localIP;
    }

 }

C# でプロジェクトにログ ファイルを適用したい、上記の方法を使用して、システム名、IP アドレス、およびユーザー ログインを取得するためのログ ファイルを作成していますが、これをマルチ ユーザー環境に適用する場合、シングル ユーザー環境に適用できます。すべてのユーザーのログ情報を取得するには? 誰か助けてください。

4

1 に答える 1

0

ユーザーごとにログファイルを作成したいと思いますが、次のように行うことができます:-

 private void btnlogin_Click(object sender, EventArgs e)
    {
        string s1 = getIP();
        string dir = "D://"+s1+"-"+DateTime.Now+"Login.hhh";
        if (!File.Exists(dir))
        {
            File.Create(dir);
        }

        string filePath = dir;
        string s = System.Environment.GetEnvironmentVariable("COMPUTERNAME");

        using (StreamWriter swrObj = new StreamWriter(filePath, true))
        {
            swrObj.Write(s1 + "|" + s + "|" + Txtusername.Text + "|" + "user logged in on :|" + DateTime.Now.ToShortDateString() + " at " + DateTime.Now.ToShortTimeString());
            swrObj.Write("\t\t");
            swrObj.Write("\t\t");
            swrObj.WriteLine();
            MessageBox.Show("Login success");
        }
    }
于 2012-12-22T07:41:33.463 に答える