Hello again,<br><br>Problem from previous mail has been solved. Mistake was in rules how paths with white-spaces are solved in command line parameters. So "c:\\Program Files\\WinPcap\\WinDump.exe -i 2 -n -s 4096 -w tcpdump.pcap" just had to be rewritten to <br>
"<b>\"</b>c:\\Program Files\\WinPcap\\WinDump.exe<b>\"</b> -i 2 -n -s 4096 -w tcpdump.pcap". But onlu in cmd_line variable. First parameters in CreateProcess should stay as it is.<br><br>Sorry for disturbing with such stupid questions.<br>
Best regards,<br>Yurii Bizinskyi.<br><br><div class="gmail_quote">2011/2/3 Bizins'kyi Yurii <span dir="ltr"><<a href="http://jarni.ua">jarni.ua</a>@<a href="http://gmail.com">gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi.<br><br>I'm trying to run WinDump from my application using CreateProcess. But WinDump fails with exitcode 1. If I run the same command from cmd.exe or from batch all works perfectly. My code is:<br><br>int main( int argc, char * argv[] )<br>
{<br> char * cmd_line = "c:\\Program Files\\WinPcap\\WinDump.exe -i 2 -n -s 4096 -w tcpdump.pcap";<br> STARTUPINFO si = {0};<br> PROCESS_INFORMATION pi = {0};<br> si.cb = sizeof(si);<br><br> if( CreateProcess( <br>
"c:\\Program Files\\WinPcap\\WinDump.exe", <br> cmd_line,<br> NULL, // Process Security Attributes<br> NULL, // Thread Security Attributes<br> FALSE, // Inherit handles<br>
CREATE_NEW_CONSOLE, // CreationFlags<br> NULL, // Environment<br> "c:\\WinDumpTest\\", // CurrentDirectory<br> &si,<br> &pi) )<br> {<br> if( WAIT_OBJECT_0 == ::WaitForSingleObject( pi.hProcess, INFINITE ) )<br>
{<br> DWORD dwExitCode = -1;<br> if( GetExitCodeProcess(pi.hProcess, &dwExitCode) )<br> {<br> printf("tcpdump exited with %d.\n", dwExitCode );<br> }<br> }<br> }<br> return 0;<br>
}<br><br>Thanks in advance.<br>Yurii Bizinskyi.<br>
</blockquote></div><br>