来自java 32应用程序的MSG命令无法在64位win 7 / win 2008服务器上运行

时间:2014-05-08 04:19:48

标签: java windows windows-7 windows-7-x64 msg

我正在使用MSG命令[NETSEND不再可用]从Win 7/2008服务器(32/64位)向Win 7/2008服务器(32/64位)发送消息,我的java应用程序是32位由于某些要求(使用java 7 update 25),不能使用64位。 当我在下面运行我的java应用程序时是场景

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

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

    5。 64位Win 7/2008服务器到32位Win 7/2008 - 不工作

  4. 是否有任何解决方法可以在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();  
            }  
        }  
    }
    

1 个答案:

答案 0 :(得分:0)

问题的原因是,在64位系统上,32位应用程序无法访问windows \ system32文件夹。你会redi

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

详情请见:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187%28v=vs.85%29.aspx http://support.microsoft.com/kb/942589/en-us