EDN Admin
Well-known member
<p align=left>
<div class=codeseg>
<div class=codecontent>
<div class=codesniptitle><span style="width:100% Code Snippet
<p align=left><font face=Arial><font color="#0000ff using</font><font color="#000000 System;</font> </font><font color="#0000ff <font color="#0000ff
<p align=left><font face=Arial>using</font></font></font><font face=Arial color="#000000 System.Diagnostics;</font> <font color="#0000ff <font color="#0000ff
<p align=left><font face=Arial>namespace</font></font></font><font face=Arial color="#000000 X299_Example</font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#0000ff <font color="#0000ff class</font></font> <font color="#2b91af <font color="#2b91af Program </font></font></font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#0000ff <font color="#0000ff static</font></font> <font color="#0000ff <font color="#0000ff void</font></font> Main(<font color="#0000ff <font color="#0000ff string</font></font></font><font face=Arial>[] args)</font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#2b91af <font color="#2b91af Process</font></font> P = <font color="#0000ff <font color="#0000ff new</font></font> <font color="#2b91af <font color="#2b91af Process</font></font></font><font face=Arial>();</font>
<p align=left><font face=Arial>P.StartInfo.FileName = </font><font color="#a31515 <font face=Arial color="#a31515 "cmd.exe"</font></font><font face=Arial>;</font>
<p align=left><font face=Arial>P.Start();</font>
<p align=left><font color="#0000ff <font face=Arial color="#0000ff long</font></font><font face=Arial> Example = P.MainModule.BaseAddress.ToInt64(); //exception 299</font> </blockquote>
<p align=left><font face=Arial>}</font> </blockquote>
<p align=left><font face=Arial>}</font> </blockquote>
<p align=left><font face=Arial>}</font>
<p align=left>
<p align=left>
<p align=left>On Vista SP1 x86 that code gives me exception 299 randomly. However, after the exception is thrown if I run the program again it works fine. But then if I wait a few minutes it throws exception 299 again. I really dont want to implement API calls to replicate this functionality. Any ideas?
<p align=left>
<p align=left>(btw, references to ANY property of the Process throws exceptions. Also, its not limited to cmd.exe its just used to illustrate the point.)
<p align=left>
<p align=left>I tried getting around it by catching the exception and retrying whenever the exception is thrown, but that results in an infinite loop.
View the full article
<div class=codeseg>
<div class=codecontent>
<div class=codesniptitle><span style="width:100% Code Snippet
<p align=left><font face=Arial><font color="#0000ff using</font><font color="#000000 System;</font> </font><font color="#0000ff <font color="#0000ff
<p align=left><font face=Arial>using</font></font></font><font face=Arial color="#000000 System.Diagnostics;</font> <font color="#0000ff <font color="#0000ff
<p align=left><font face=Arial>namespace</font></font></font><font face=Arial color="#000000 X299_Example</font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#0000ff <font color="#0000ff class</font></font> <font color="#2b91af <font color="#2b91af Program </font></font></font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#0000ff <font color="#0000ff static</font></font> <font color="#0000ff <font color="#0000ff void</font></font> Main(<font color="#0000ff <font color="#0000ff string</font></font></font><font face=Arial>[] args)</font>
<p align=left><font face=Arial>{</font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Arial><font color="#2b91af <font color="#2b91af Process</font></font> P = <font color="#0000ff <font color="#0000ff new</font></font> <font color="#2b91af <font color="#2b91af Process</font></font></font><font face=Arial>();</font>
<p align=left><font face=Arial>P.StartInfo.FileName = </font><font color="#a31515 <font face=Arial color="#a31515 "cmd.exe"</font></font><font face=Arial>;</font>
<p align=left><font face=Arial>P.Start();</font>
<p align=left><font color="#0000ff <font face=Arial color="#0000ff long</font></font><font face=Arial> Example = P.MainModule.BaseAddress.ToInt64(); //exception 299</font> </blockquote>
<p align=left><font face=Arial>}</font> </blockquote>
<p align=left><font face=Arial>}</font> </blockquote>
<p align=left><font face=Arial>}</font>
<p align=left>
<p align=left>
<p align=left>On Vista SP1 x86 that code gives me exception 299 randomly. However, after the exception is thrown if I run the program again it works fine. But then if I wait a few minutes it throws exception 299 again. I really dont want to implement API calls to replicate this functionality. Any ideas?
<p align=left>
<p align=left>(btw, references to ANY property of the Process throws exceptions. Also, its not limited to cmd.exe its just used to illustrate the point.)
<p align=left>
<p align=left>I tried getting around it by catching the exception and retrying whenever the exception is thrown, but that results in an infinite loop.
View the full article