我正在编写代码以使用Win32 API来检测java的版本.例如
基本上,我正在关注MSDN 使用重定向输入和输出创建子进程 https://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx
string GetJavaVersion(string sJavaExePath) { }
这是伪客户端代码:
ASSERT(GetJavaVersion("C:\Program Files (x86)\Java\jdk1.7.0_17\bin\java.exe") == "1.7.0_25");
我可以得到结果:
java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b17) Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)
但是,结果是从stdErr发回的,而我应该从stdOut返回.
从stdErr接收字符串是否有意义?