0

タイマーアクセスなしでwinformを閉じながら自動ログオフしたい。それ、どうやったら出来るの?

4

1 に答える 1

0

どういう意味かよくわかりませんが、イベントwithout timer accessを使用してフォームを閉じている間にプロセスまたはコマンドを実行できます。FormClosing

フォームが閉じようとしているときにユーザーをログオフしたい場合は、実行可能ファイルshutdown.exeをプロセスとその引数として使用してみてください。/l

public Form1()
{
    InitializeComponent();
    this.FormClosing += new FormClosingEventHandler(Form1_FormClosing); //Link FormClosing event to Form1_FormClosing
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    Process logoff = new Process(); //Initialize a new process
    ProcessStartInfo ProcessInfo = new ProcessStartInfo(); //Initialize a new ProcessStartInfo
    ProcessInfo.FileName = "shutdown.exe"; //Set the FileName of ProcessInfo
    ProcessInfo.Arguments = "/l"; //Log off, see 'shutdown.exe /?' for more information
    //ProcessInfo.WindowStyle = ProcessWindowStyle.Hidden; //Hide the process window (not required)
    logoff.StartInfo = ProcessInfo; //Associate ProcessInfo with logoff.StartInfo
    logoff.Start(); //Start the process
}

これにより、実行可能ファイルshutdown.exeが引数付きの新しいプロセスとして開始されます/l。これは、現在のユーザーをログオフすることを意味します

FormClosingフォームが閉じようとしているときに発生することに注意してください。e.Cancelに設定することで、フォームが閉じないようにすることができますtrue

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true; //Don't close the form
}

ありがとう、
これがお役に立てば幸いです:)

于 2012-11-01T08:13:11.587 に答える