タイマーアクセスなしでwinformを閉じながら自動ログオフしたい。それ、どうやったら出来るの?
質問する
431 次
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 に答える