Process.StartInfo.RedirectStandardOutput Returns Null (From What I Can Tell)What is the difference between String and string in C#?What does the [Flags] Enum Attribute mean in C#?What is the difference between const and readonly?What is the best way to iterate over a dictionary?What are the correct version numbers for C#?How can I return NULL from a generic method in C#?What is the difference between an abstract function and a virtual function?What do two question marks together mean in C#?Get int value from enum in C#What is a NullReferenceException, and how do I fix it?
Heat lost in ideal capacitor charging
Why does the Starter Set wizard have six spells in their spellbook?
How did NASA Langley end up with the first 737?
Testing using real data of the customer
Storing voxels for a voxel Engine in C++
Freedom of Speech and Assembly in China
...And they were stumped for a long time
Sorting with IComparable design
Why was this character made Grand Maester?
Co-author wants to put their current funding source in the acknowledgements section because they edited the paper
Python program for fibonacci sequence using a recursive function
Can a ring of spell storing and access to Find spells produce an endless menagerie?
Filter YAML file content using sed/awk
Possibility of faking someone's public key
Are there any German nonsense poems (Jabberwocky)?
Is my plasma cannon concept viable?
Security vulnerabilities of POST over SSL
Why isn't 'chemically-strengthened glass' made with potassium carbonate? To begin with?
Can we assume that a hash function with high collision resistance also means highly uniform distribution?
Do copyright notices need to be placed at the beginning of a file?
Is "vegetable base" a common term in English?
How to politely tell someone they did not hit reply all in email?
3 prong range outlet
Is there a simple example that empirical evidence is misleading?
Process.StartInfo.RedirectStandardOutput Returns Null (From What I Can Tell)
What is the difference between String and string in C#?What does the [Flags] Enum Attribute mean in C#?What is the difference between const and readonly?What is the best way to iterate over a dictionary?What are the correct version numbers for C#?How can I return NULL from a generic method in C#?What is the difference between an abstract function and a virtual function?What do two question marks together mean in C#?Get int value from enum in C#What is a NullReferenceException, and how do I fix it?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm working on adding a relaying feature to have the functionality of another tool in another language (Console application) in my multitool, and make it automated. But I cannot read output from it as it seems to be null (as is obvious by my label setting to know if it finds anything).
I know redirect input is working fine.
Tried using Timer (What I'm currently using), nothing coming into output.
Tried using Direct methods for error & output, crashes both the builder tool and my tool. (Code was slightly different.)
Tried directly pushing lines in without touching output, works fine, but unreliable if anything abnormal occurs such as a file being missing for the builder.
I've spent multiple hours looking up methods to fix this, similar problems, nothing has worked.
Starting The Process:
pr = new Process();
pr.StartInfo = new ProcessStartInfo()
FileName = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder/repacker.exe",
WorkingDirectory = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder"
;
pr.EnableRaisingEvents = true;
pr.Exited += new EventHandler(cmd_Exited2);
pr.OutputDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.ErrorDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.StartInfo.RedirectStandardInput = true;
pr.StartInfo.RedirectStandardOutput = true;
pr.StartInfo.RedirectStandardError = true;
pr.StartInfo.UseShellExecute = false;
pr.StartInfo.CreateNoWindow = false;
bool processStarted = pr.Start();
if (processStarted)
//pr.BeginOutputReadLine();
//pr.BeginErrorReadLine();
LeTimer.Interval = 1200;
LeTimer.Enabled = true;
LeTimer.Tick += new EventHandler(CheckAndDisableResigningThenBuild);
LeTimer.Start();
//Not Useful In My Case
//pr.WaitForExit();
What The Timer Is Calling On:
StreamWriter SendToBuilder = pr.StandardInput;
StreamReader ReadFromBuilderOutput = pr.StandardOutput;
StreamReader ReadFromBuilderError = pr.StandardError;
//Thread.Sleep(500);
//SendToBuilder.WriteLine("R");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(15000)
string OutputText = null;
OutputText += ReadFromBuilderOutput.ReadToEnd();
OutputText += ReadFromBuilderError.ReadToEnd();
if (OutputText.Contains("Resign EBOOT.BIN: [ON]"))
if (OutputText.Contains("Enter Y to disable Resign Eboot / any other key to abort"))
label11.Text = "Confirming Turn Off For Resigning..";
label11.Refresh();
SendToBuilder.WriteLine("y");
Thread.Sleep(500);
SendToBuilder.WriteLine("y");
else
label11.Text = "Resign Is On, Turning Off..";
label11.Refresh();
SendToBuilder.WriteLine("r");
if (OutputText.Contains("Resign EBOOT.BIN: [OFF]"))
label11.Text = "Resign Is Off, Opening Fast Pack..";
label11.Refresh();
SendToBuilder.WriteLine("1");
Thread.Sleep(500);
SendToBuilder.WriteLine("1");
else if (OutputText.Contains("Packing Pkg is finished."))
label11.Text = "Build Finished!";
if (OutputText.Contains("Press any key to continue..."))
label11.Text = "Build Finished! Closing Builder..";
label11.Refresh();
LeTimer.Stop();
SendToBuilder.WriteLine("1");
pr.Close();
pr.Kill();
What I expect as output and want to be able to read:
===============================================================================
| TrueAncestor PKG Repacker |
| by JjKkYu |
| Verision 2.45 |
===============================================================================
| OPERATION | STATUS |
===============================================================================
| 1. Fast Pack Pkg | 6. Show Game Folder Info |
| 2. Custom Pack Pkg | 7. Edit PARAM.SFO |
| 3. Unpack Pkg | 8. Show Pkg Info |
| 4. Repack Pkg | |
| 5. Finalize Pkg | |
===============================================================================
| SWITCH | INFORMATION |
===============================================================================
| P. Patch PARAM.SFO: [ON] | C. Credits |
| R. Resign EBOOT.BIN: [ON] | I. Instructions |
| U. Unpack Engine: [ungpkg] | G. Get Series Tools |
| | T. About TrueAncestor |
===============================================================================
| Note: Place Pkg files into pkg folder before starting process. |
| Place Game Content folders into game folder before starting process. |
| Place Edat files into edat folder before starting process. |
| Place Theme files into theme folder before starting process. |
| Place Avatar files into avatar folder before starting process. |
| Place Rap files into raps folder before starting process. |
===============================================================================
[?] Please enter your choice (1-8/P/R/U/C/I/G/T):
I would think the result I expect should be apparent. I want it to be able to find any of the text I specified which appear in the tool when working, meaning I can use it to know when it is functioning, or hits an error, or is waiting/lagging (Some PC's are not very good, meaning there will be delays, and this is a publically released program of mines to do with modding).
EDIT: Got Output Working, though after ReadFromBuilderOutput.ReadToEnd(); is done, I have no way of returning the "Current Position" back to the start line of the builder program, meaning it only works for one read. Any fix? - Essentially I need to constantly read the output as it changes from my input stream, right now I only get to the "Resign Is On, Turning Off.." phase and it gets stuck there.
EDIT 2: Updated code examples I'm using.
Screenshot of the output that I can only pull once: https://imgur.com/a/uXey1Pc
Sorry for the post being disorganised, my second post.
c#
add a comment |
I'm working on adding a relaying feature to have the functionality of another tool in another language (Console application) in my multitool, and make it automated. But I cannot read output from it as it seems to be null (as is obvious by my label setting to know if it finds anything).
I know redirect input is working fine.
Tried using Timer (What I'm currently using), nothing coming into output.
Tried using Direct methods for error & output, crashes both the builder tool and my tool. (Code was slightly different.)
Tried directly pushing lines in without touching output, works fine, but unreliable if anything abnormal occurs such as a file being missing for the builder.
I've spent multiple hours looking up methods to fix this, similar problems, nothing has worked.
Starting The Process:
pr = new Process();
pr.StartInfo = new ProcessStartInfo()
FileName = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder/repacker.exe",
WorkingDirectory = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder"
;
pr.EnableRaisingEvents = true;
pr.Exited += new EventHandler(cmd_Exited2);
pr.OutputDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.ErrorDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.StartInfo.RedirectStandardInput = true;
pr.StartInfo.RedirectStandardOutput = true;
pr.StartInfo.RedirectStandardError = true;
pr.StartInfo.UseShellExecute = false;
pr.StartInfo.CreateNoWindow = false;
bool processStarted = pr.Start();
if (processStarted)
//pr.BeginOutputReadLine();
//pr.BeginErrorReadLine();
LeTimer.Interval = 1200;
LeTimer.Enabled = true;
LeTimer.Tick += new EventHandler(CheckAndDisableResigningThenBuild);
LeTimer.Start();
//Not Useful In My Case
//pr.WaitForExit();
What The Timer Is Calling On:
StreamWriter SendToBuilder = pr.StandardInput;
StreamReader ReadFromBuilderOutput = pr.StandardOutput;
StreamReader ReadFromBuilderError = pr.StandardError;
//Thread.Sleep(500);
//SendToBuilder.WriteLine("R");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(15000)
string OutputText = null;
OutputText += ReadFromBuilderOutput.ReadToEnd();
OutputText += ReadFromBuilderError.ReadToEnd();
if (OutputText.Contains("Resign EBOOT.BIN: [ON]"))
if (OutputText.Contains("Enter Y to disable Resign Eboot / any other key to abort"))
label11.Text = "Confirming Turn Off For Resigning..";
label11.Refresh();
SendToBuilder.WriteLine("y");
Thread.Sleep(500);
SendToBuilder.WriteLine("y");
else
label11.Text = "Resign Is On, Turning Off..";
label11.Refresh();
SendToBuilder.WriteLine("r");
if (OutputText.Contains("Resign EBOOT.BIN: [OFF]"))
label11.Text = "Resign Is Off, Opening Fast Pack..";
label11.Refresh();
SendToBuilder.WriteLine("1");
Thread.Sleep(500);
SendToBuilder.WriteLine("1");
else if (OutputText.Contains("Packing Pkg is finished."))
label11.Text = "Build Finished!";
if (OutputText.Contains("Press any key to continue..."))
label11.Text = "Build Finished! Closing Builder..";
label11.Refresh();
LeTimer.Stop();
SendToBuilder.WriteLine("1");
pr.Close();
pr.Kill();
What I expect as output and want to be able to read:
===============================================================================
| TrueAncestor PKG Repacker |
| by JjKkYu |
| Verision 2.45 |
===============================================================================
| OPERATION | STATUS |
===============================================================================
| 1. Fast Pack Pkg | 6. Show Game Folder Info |
| 2. Custom Pack Pkg | 7. Edit PARAM.SFO |
| 3. Unpack Pkg | 8. Show Pkg Info |
| 4. Repack Pkg | |
| 5. Finalize Pkg | |
===============================================================================
| SWITCH | INFORMATION |
===============================================================================
| P. Patch PARAM.SFO: [ON] | C. Credits |
| R. Resign EBOOT.BIN: [ON] | I. Instructions |
| U. Unpack Engine: [ungpkg] | G. Get Series Tools |
| | T. About TrueAncestor |
===============================================================================
| Note: Place Pkg files into pkg folder before starting process. |
| Place Game Content folders into game folder before starting process. |
| Place Edat files into edat folder before starting process. |
| Place Theme files into theme folder before starting process. |
| Place Avatar files into avatar folder before starting process. |
| Place Rap files into raps folder before starting process. |
===============================================================================
[?] Please enter your choice (1-8/P/R/U/C/I/G/T):
I would think the result I expect should be apparent. I want it to be able to find any of the text I specified which appear in the tool when working, meaning I can use it to know when it is functioning, or hits an error, or is waiting/lagging (Some PC's are not very good, meaning there will be delays, and this is a publically released program of mines to do with modding).
EDIT: Got Output Working, though after ReadFromBuilderOutput.ReadToEnd(); is done, I have no way of returning the "Current Position" back to the start line of the builder program, meaning it only works for one read. Any fix? - Essentially I need to constantly read the output as it changes from my input stream, right now I only get to the "Resign Is On, Turning Off.." phase and it gets stuck there.
EDIT 2: Updated code examples I'm using.
Screenshot of the output that I can only pull once: https://imgur.com/a/uXey1Pc
Sorry for the post being disorganised, my second post.
c#
add a comment |
I'm working on adding a relaying feature to have the functionality of another tool in another language (Console application) in my multitool, and make it automated. But I cannot read output from it as it seems to be null (as is obvious by my label setting to know if it finds anything).
I know redirect input is working fine.
Tried using Timer (What I'm currently using), nothing coming into output.
Tried using Direct methods for error & output, crashes both the builder tool and my tool. (Code was slightly different.)
Tried directly pushing lines in without touching output, works fine, but unreliable if anything abnormal occurs such as a file being missing for the builder.
I've spent multiple hours looking up methods to fix this, similar problems, nothing has worked.
Starting The Process:
pr = new Process();
pr.StartInfo = new ProcessStartInfo()
FileName = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder/repacker.exe",
WorkingDirectory = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder"
;
pr.EnableRaisingEvents = true;
pr.Exited += new EventHandler(cmd_Exited2);
pr.OutputDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.ErrorDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.StartInfo.RedirectStandardInput = true;
pr.StartInfo.RedirectStandardOutput = true;
pr.StartInfo.RedirectStandardError = true;
pr.StartInfo.UseShellExecute = false;
pr.StartInfo.CreateNoWindow = false;
bool processStarted = pr.Start();
if (processStarted)
//pr.BeginOutputReadLine();
//pr.BeginErrorReadLine();
LeTimer.Interval = 1200;
LeTimer.Enabled = true;
LeTimer.Tick += new EventHandler(CheckAndDisableResigningThenBuild);
LeTimer.Start();
//Not Useful In My Case
//pr.WaitForExit();
What The Timer Is Calling On:
StreamWriter SendToBuilder = pr.StandardInput;
StreamReader ReadFromBuilderOutput = pr.StandardOutput;
StreamReader ReadFromBuilderError = pr.StandardError;
//Thread.Sleep(500);
//SendToBuilder.WriteLine("R");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(15000)
string OutputText = null;
OutputText += ReadFromBuilderOutput.ReadToEnd();
OutputText += ReadFromBuilderError.ReadToEnd();
if (OutputText.Contains("Resign EBOOT.BIN: [ON]"))
if (OutputText.Contains("Enter Y to disable Resign Eboot / any other key to abort"))
label11.Text = "Confirming Turn Off For Resigning..";
label11.Refresh();
SendToBuilder.WriteLine("y");
Thread.Sleep(500);
SendToBuilder.WriteLine("y");
else
label11.Text = "Resign Is On, Turning Off..";
label11.Refresh();
SendToBuilder.WriteLine("r");
if (OutputText.Contains("Resign EBOOT.BIN: [OFF]"))
label11.Text = "Resign Is Off, Opening Fast Pack..";
label11.Refresh();
SendToBuilder.WriteLine("1");
Thread.Sleep(500);
SendToBuilder.WriteLine("1");
else if (OutputText.Contains("Packing Pkg is finished."))
label11.Text = "Build Finished!";
if (OutputText.Contains("Press any key to continue..."))
label11.Text = "Build Finished! Closing Builder..";
label11.Refresh();
LeTimer.Stop();
SendToBuilder.WriteLine("1");
pr.Close();
pr.Kill();
What I expect as output and want to be able to read:
===============================================================================
| TrueAncestor PKG Repacker |
| by JjKkYu |
| Verision 2.45 |
===============================================================================
| OPERATION | STATUS |
===============================================================================
| 1. Fast Pack Pkg | 6. Show Game Folder Info |
| 2. Custom Pack Pkg | 7. Edit PARAM.SFO |
| 3. Unpack Pkg | 8. Show Pkg Info |
| 4. Repack Pkg | |
| 5. Finalize Pkg | |
===============================================================================
| SWITCH | INFORMATION |
===============================================================================
| P. Patch PARAM.SFO: [ON] | C. Credits |
| R. Resign EBOOT.BIN: [ON] | I. Instructions |
| U. Unpack Engine: [ungpkg] | G. Get Series Tools |
| | T. About TrueAncestor |
===============================================================================
| Note: Place Pkg files into pkg folder before starting process. |
| Place Game Content folders into game folder before starting process. |
| Place Edat files into edat folder before starting process. |
| Place Theme files into theme folder before starting process. |
| Place Avatar files into avatar folder before starting process. |
| Place Rap files into raps folder before starting process. |
===============================================================================
[?] Please enter your choice (1-8/P/R/U/C/I/G/T):
I would think the result I expect should be apparent. I want it to be able to find any of the text I specified which appear in the tool when working, meaning I can use it to know when it is functioning, or hits an error, or is waiting/lagging (Some PC's are not very good, meaning there will be delays, and this is a publically released program of mines to do with modding).
EDIT: Got Output Working, though after ReadFromBuilderOutput.ReadToEnd(); is done, I have no way of returning the "Current Position" back to the start line of the builder program, meaning it only works for one read. Any fix? - Essentially I need to constantly read the output as it changes from my input stream, right now I only get to the "Resign Is On, Turning Off.." phase and it gets stuck there.
EDIT 2: Updated code examples I'm using.
Screenshot of the output that I can only pull once: https://imgur.com/a/uXey1Pc
Sorry for the post being disorganised, my second post.
c#
I'm working on adding a relaying feature to have the functionality of another tool in another language (Console application) in my multitool, and make it automated. But I cannot read output from it as it seems to be null (as is obvious by my label setting to know if it finds anything).
I know redirect input is working fine.
Tried using Timer (What I'm currently using), nothing coming into output.
Tried using Direct methods for error & output, crashes both the builder tool and my tool. (Code was slightly different.)
Tried directly pushing lines in without touching output, works fine, but unreliable if anything abnormal occurs such as a file being missing for the builder.
I've spent multiple hours looking up methods to fix this, similar problems, nothing has worked.
Starting The Process:
pr = new Process();
pr.StartInfo = new ProcessStartInfo()
FileName = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder/repacker.exe",
WorkingDirectory = @"C:PoppyTempTheOFWModdingToolToolsPKG Builder"
;
pr.EnableRaisingEvents = true;
pr.Exited += new EventHandler(cmd_Exited2);
pr.OutputDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.ErrorDataReceived += new DataReceivedEventHandler(CheckAndDisableResigningThenBuild);
pr.StartInfo.RedirectStandardInput = true;
pr.StartInfo.RedirectStandardOutput = true;
pr.StartInfo.RedirectStandardError = true;
pr.StartInfo.UseShellExecute = false;
pr.StartInfo.CreateNoWindow = false;
bool processStarted = pr.Start();
if (processStarted)
//pr.BeginOutputReadLine();
//pr.BeginErrorReadLine();
LeTimer.Interval = 1200;
LeTimer.Enabled = true;
LeTimer.Tick += new EventHandler(CheckAndDisableResigningThenBuild);
LeTimer.Start();
//Not Useful In My Case
//pr.WaitForExit();
What The Timer Is Calling On:
StreamWriter SendToBuilder = pr.StandardInput;
StreamReader ReadFromBuilderOutput = pr.StandardOutput;
StreamReader ReadFromBuilderError = pr.StandardError;
//Thread.Sleep(500);
//SendToBuilder.WriteLine("R");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("Y");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(500);
//SendToBuilder.WriteLine("1");
//Thread.Sleep(15000)
string OutputText = null;
OutputText += ReadFromBuilderOutput.ReadToEnd();
OutputText += ReadFromBuilderError.ReadToEnd();
if (OutputText.Contains("Resign EBOOT.BIN: [ON]"))
if (OutputText.Contains("Enter Y to disable Resign Eboot / any other key to abort"))
label11.Text = "Confirming Turn Off For Resigning..";
label11.Refresh();
SendToBuilder.WriteLine("y");
Thread.Sleep(500);
SendToBuilder.WriteLine("y");
else
label11.Text = "Resign Is On, Turning Off..";
label11.Refresh();
SendToBuilder.WriteLine("r");
if (OutputText.Contains("Resign EBOOT.BIN: [OFF]"))
label11.Text = "Resign Is Off, Opening Fast Pack..";
label11.Refresh();
SendToBuilder.WriteLine("1");
Thread.Sleep(500);
SendToBuilder.WriteLine("1");
else if (OutputText.Contains("Packing Pkg is finished."))
label11.Text = "Build Finished!";
if (OutputText.Contains("Press any key to continue..."))
label11.Text = "Build Finished! Closing Builder..";
label11.Refresh();
LeTimer.Stop();
SendToBuilder.WriteLine("1");
pr.Close();
pr.Kill();
What I expect as output and want to be able to read:
===============================================================================
| TrueAncestor PKG Repacker |
| by JjKkYu |
| Verision 2.45 |
===============================================================================
| OPERATION | STATUS |
===============================================================================
| 1. Fast Pack Pkg | 6. Show Game Folder Info |
| 2. Custom Pack Pkg | 7. Edit PARAM.SFO |
| 3. Unpack Pkg | 8. Show Pkg Info |
| 4. Repack Pkg | |
| 5. Finalize Pkg | |
===============================================================================
| SWITCH | INFORMATION |
===============================================================================
| P. Patch PARAM.SFO: [ON] | C. Credits |
| R. Resign EBOOT.BIN: [ON] | I. Instructions |
| U. Unpack Engine: [ungpkg] | G. Get Series Tools |
| | T. About TrueAncestor |
===============================================================================
| Note: Place Pkg files into pkg folder before starting process. |
| Place Game Content folders into game folder before starting process. |
| Place Edat files into edat folder before starting process. |
| Place Theme files into theme folder before starting process. |
| Place Avatar files into avatar folder before starting process. |
| Place Rap files into raps folder before starting process. |
===============================================================================
[?] Please enter your choice (1-8/P/R/U/C/I/G/T):
I would think the result I expect should be apparent. I want it to be able to find any of the text I specified which appear in the tool when working, meaning I can use it to know when it is functioning, or hits an error, or is waiting/lagging (Some PC's are not very good, meaning there will be delays, and this is a publically released program of mines to do with modding).
EDIT: Got Output Working, though after ReadFromBuilderOutput.ReadToEnd(); is done, I have no way of returning the "Current Position" back to the start line of the builder program, meaning it only works for one read. Any fix? - Essentially I need to constantly read the output as it changes from my input stream, right now I only get to the "Resign Is On, Turning Off.." phase and it gets stuck there.
EDIT 2: Updated code examples I'm using.
Screenshot of the output that I can only pull once: https://imgur.com/a/uXey1Pc
Sorry for the post being disorganised, my second post.
c#
c#
edited Mar 24 at 0:54
Ben Yousaf
asked Mar 23 at 22:42
Ben YousafBen Yousaf
164
164
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55319059%2fprocess-startinfo-redirectstandardoutput-returns-null-from-what-i-can-tell%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55319059%2fprocess-startinfo-redirectstandardoutput-returns-null-from-what-i-can-tell%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown