public ProcessHandle(ProcessCaller caller) { this.caller = caller; this.cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total" ); this.ram = new PerformanceCounter("Memory", "Available MBytes", String.Empty ); }
void pc_Completed(object sender, EventArgs e) { ProcessCaller pc = (ProcessCaller)sender; Server s = FindServer(pc); if (s == null) { if (MessageReceived != null) { MessageReceived(this, new MessageEventArgs(MessageType.Completed, ServerType.None, pc.FileName, "Server Completed")); } return; } s.FinishedTime = DateTime.Now.Ticks; s.IsRunning = false; if (MessageReceived != null) { MessageReceived(this, new MessageEventArgs(MessageType.Completed, s.type, s.args, "Server Completed")); } }
void pc_Failed(object sender, System.Threading.ThreadExceptionEventArgs e) { ProcessCaller pc = (ProcessCaller)sender; Server s = FindServer(pc); s.FinishedTime = DateTime.Now.Ticks; s.IsRunning = false; s.IsCrashed = true; if (s == null) { if (MessageReceived != null) { MessageReceived(this, new MessageEventArgs(MessageType.Failed, ServerType.None, pc.FileName, e.Exception.Message)); } return; } if (MessageReceived != null) { MessageReceived(this, new MessageEventArgs(MessageType.Failed, s.type, s.args, e.Exception.Message)); } }
private void CommandPrompt_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpenByPowershell(VanScript.CMD); }
private void PowershellBtn_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpenByPowershell(VanScript.Powershell); }
private void TaskManagerbtn_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpen(VanScript.TaskManager); }
private void OpenExpolerbtn_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpenByPowershell(MainForm.ExploerPlusPath + VanScript.ExplorePlus); }
private void OpenCorefigbtn_Click(object sender, EventArgs e) { logger.Debug("open corefig path:" + MainForm.CorefigPath + VanScript.Corefig); ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.Corefig); }
private void corefigToolStripMenuItem_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.Corefig); }
public Server(ProcessCaller pc) { // TODO: Complete member initialization Process = pc; }
private void goButton_Click(object sender, EventArgs e) { if(!goButton.Enabled) return; goButton.Enabled = false; List<ProcessCaller> pcs = new List<ProcessCaller>(); foreach (DirectoryDataGridViewRow directoryDataGridViewRow in this.operationControlCommandsDataGridView.Rows){ if (directoryDataGridViewRow.Cells[2] is DataGridViewCheckBoxCell){ if (!(bool)((DataGridViewCheckBoxCell)directoryDataGridViewRow.Cells[2]).EditedFormattedValue){ continue; } } ProcessCaller pc = new ProcessCaller("cmd.exe"); if (directoryDataGridViewRow.Cells[0] is DirectoryDataGridViewTextBoxCell){ pc.setDirectory(((DirectoryDataGridViewTextBoxCell)directoryDataGridViewRow.Cells[0]).getDirectory()); } if (directoryDataGridViewRow.Cells[1] is DataGridViewComboBoxCell){ pc.setCmd(PreloadedConfigurationGetterService.getInstance().getCommand(this.configFile, ((string)((DataGridViewComboBoxCell)directoryDataGridViewRow.Cells[1]).Value).Trim() )); } if (directoryDataGridViewRow.Cells[3] is DataGridViewCheckBoxCell){ //display pc.setPrefix((bool)((DataGridViewCheckBoxCell)directoryDataGridViewRow.Cells[3]).EditedFormattedValue ? "/k" : "/c"); } if (directoryDataGridViewRow.Cells[4] is DataGridViewCheckBoxCell){ //autoexit if ((bool)((DataGridViewCheckBoxCell)directoryDataGridViewRow.Cells[4]).EditedFormattedValue){ pc.setAutoExit(); } } if (directoryDataGridViewRow.Cells[5] is DataGridViewCheckBoxCell){ //wait for exit if ((bool)((DataGridViewCheckBoxCell)directoryDataGridViewRow.Cells[5]).EditedFormattedValue || !(bool)((DataGridViewCheckBoxCell)directoryDataGridViewRow.Cells[5]).Visible){ pc.setWaitForExit(); } } pc.setSpecial(""); pcs.Add(pc); //string text3 = "/c " + directory.ToCharArray()[0] + ": && cd " + directory + " && " + directory; //Console.WriteLine(text3); } //ProcessThreadHandler Cursor.Current = Cursors.WaitCursor; try{ ProcessHandle blocker = null; foreach (ProcessCaller pc in pcs){ if (pc.echo()){ cmdTextBox.Text = pc.getCmd(); } ProcessHandle ph = new ProcessHandle(pc); ProcessThreadHandler pht = new ProcessThreadHandler(ph); Thread handleCommand = new Thread(new ThreadStart(pht.Handle)); handleCommand.Start(); if(pc.waitForExit()){ ph.setBlockedBy(blocker); } blocker = ph; ((UserControlForm)this.Parent).addNewProcessHandleToQueueAndBottom(ph); } } finally { Cursor.Current = Cursors.Default; } goButton.Enabled = true; }
void SetupModule(CheckModule moduleName) { switch (moduleName) { case CheckModule.EnableRDP: ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.RemoteDesktop); break; case CheckModule.EnableWinRM: ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.WINRM); break; case CheckModule.IPconfig: ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.IpSettings); break; case CheckModule.GPUFeature: this.InstallGpuFeature(); break; case CheckModule.HyperVFeature: case CheckModule.ClusterFeature: MessageBox.Show("After install those feature. You need reboot."); ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.Roles); break; case CheckModule.ISCSiConnection: List <ISCSiInfo> info = GetISCSiInfo(); if (info.Count > 0) { iscsiForm = new iSCSIForm(info); iscsiForm.Show(this); } else { ProcessCaller.ProcessOpen(VanScript.IscsiUI); } break; case CheckModule.JoinDomain: ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.JoinDomainAndRename); break; case CheckModule.EnableRemoteControle: EnableRemoteControl(); break; case CheckModule.CreateCluster: MainForm.clusterForm.Show(this); break; case CheckModule.CreateVM: MainForm.Open59Manager(); break; case CheckModule.CreateVirtualSwitch: vSwitchForm = new CreateVirtualSwitchForm(); vSwitchForm.Show(this); break; default: MessageBox.Show("Not ready"); break; } }
private void UpdateBtn_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpenByPowershell(MainForm.CorefigPath + VanScript.WindowsUpdate); }
private void RunIscsiUI_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpen(VanScript.IscsiUI); }
private void ISCSIConnector_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpenByPowershell(VanScript.IscsiUI); }
private void pshvm30btn_Click(object sender, EventArgs e) { ProcessCaller.ProcessOpen(MainForm.pshvm30 + VanScript.pshvm30); }
private void OpenExcel_CsvFile() { var proc = new ProcessCaller(this) { FileName = GetExcelFileName() }; if (proc.FileName.Length == 0) return; var param = new StringBuilder(); param.Append(" \""); param.Append(textBox_CSV_FilePath.Text); param.Append("\""); proc.Arguments = param.ToString(); proc.Start(); }