我正在使用MSG命令[NETSEND不再可用]从Win 7/2008服务器(32/64位)发送消息到Win 7/2008服务器(32/64位),我的java应用程序是32位,由于某些要求(使用java 7更新25)不能使用64位。当我运行java应用程序时,下面是场景
- 32位win7/2008服务器到32位win7/2008 -工作
- 32位的win7/2008服务器到64位的win7/2008 -工作
-
32位的Win 7/2008服务器到64位的Win 7/2008 - working
4。64位win7/2008服务器到64位win7/2008 -不工作
5。64位windows7/2008服务器到32位windows7/2008 -不工作
在64位的Win 7/2008服务器上有什么解决办法吗?
package msgcommand;
import java.io.*;
public class TestExec {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("cmd /C MSG.exe /SERVER:127.0.0.1 * test");
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
问题的原因是,在64位系统上,32位应用程序无法访问windowssystem32文件夹。
要达到32位版本的msg.exe,您可以使用特殊文件夹%WinDir%Sysnative来执行msg.exe
详情可在此查看:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187%28v=vs.85%29.aspxhttp://support.microsoft.com/kb/942589/en-us