"cleanmgr"を起動するときにプロセスバーを表示する必要があります。私はどこでも検索しますが、コードはたくさんありますが、私を助けるものはありません。私を助けてください。Backgroundworkerの使い方は?
private void button1_Click(object sender, EventArgs e)
{
var Proc = new Process();
Proc.SynchronizingObject = this;
Proc.EnableRaisingEvents = true;
Proc.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%windir%\system32\cleanmgr.exe");
Proc.StartInfo.Arguments = @"/Sagerun:100";
Proc.StartInfo.Verb = "runas";
Proc.StartInfo.CreateNoWindow = true;
Proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Proc.Start();
backgroundWorker1.RunWorkerAsync(Proc);
int i = 0;
Process[] Proc1 = Process.GetProcessesByName("cleanmgr.exe");
i++;
toolStripProgressBar1.Value.ToString() + "%";
backgroundWorker1.ReportProgress(i);
if ((backgroundWorker1.CancellationPending == true))
{
e.ToString = true;
}
あなたは実際にはそのプロセスの進捗状況を測定することはできますか?あなたがそれを測定できない場合、どのようにユーザーに何かを表示することができますか? – jmcilhinney
この時点では、ユーザーのコンピュータの速度に依存するため、私はそれを測定することができません。だから私は相対的な尺度を置くか...それはWindowsのクリーンアップユーティリティです。 –
しかし、独自の進行状況バーがあります。それを私の裸のものと同期させることは可能ですか? –