来自java 32应用程序的MSG命令在64位win 7/win 2008服务器中不工作

来自java 32应用程序的MSG命令在64位win 7/win 2008服务器中不工作,java,windows,windows-7,windows-7-x64,msg,Java,Windows,Windows 7,Windows 7 X64,Msg,我正在使用MSG命令[NETSEND不再可用]将消息从Win 7/2008 server32/64位发送到Win 7/2008 server32/64位,我的java应用程序是32位的,由于使用java 7 update 25的某些要求,无法使用64位。 当我运行java应用程序时,以下是场景 32位Win 7/2008服务器到32位Win 7/2008-正常工作 32位Win 7/2008服务器到64位Win 7/2008-正常工作 32位Win 7/2008服务器到64位Win 7/2008

我正在使用MSG命令[NETSEND不再可用]将消息从Win 7/2008 server32/64位发送到Win 7/2008 server32/64位,我的java应用程序是32位的,由于使用java 7 update 25的某些要求,无法使用64位。 当我运行java应用程序时,以下是场景

32位Win 7/2008服务器到32位Win 7/2008-正常工作 32位Win 7/2008服务器到64位Win 7/2008-正常工作 32位Win 7/2008服务器到64位Win 7/2008-正常工作

四,。64位Win 7/2008服务器到64位Win 7/2008-不工作

五,。64位Win 7/2008服务器到32位Win 7/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位应用程序无法访问windows\system32文件夹。你会重拨的

要达到msg.exe的32位版本,可以使用特殊文件夹%WinDir%\Sysnative执行msg.exe

详情如下: