Bir java'nın sürümünü algılamak için Win32 API kullanmak için kod yazıyorum. Örneğin.komut satırı "java -version" stdOut veya stdErr sonucunu gönderecek?
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)
: Ben sonucu alabilirsiniz
ASSERT(GetJavaVersion("C:\Program Files (x86)\Java\jdk1.7.0_17\bin\java.exe") == "1.7.0_25");
:
Temelde, MSDN Creating a Child Process with Redirected Input and Output https://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx
string GetJavaVersion(string sJavaExePath) {
}
Bu sözde istemci kodu olduğunu takip ediyorum Ancak sonuç geri gönderildi stdOut'tan dönerken stdOut'tan dönmeliyim.
Dizeyi stdErr'den almak mantıklı mı?
Neden? Stdout'a nereye gider? Beklentinizin temeli nedir? – EJP
Java tarafından stdout veya stderr kullanmanın dönüşümünü bilmiyorum. Benim temelim koşarken, orada "görünüyor" diye bir hata oldu, bu yüzden stdout'a gitmesini beklemek çok sezgisel. – milesma