在64位win7 / win2008服务器上,java 32应用程序的MSG命令不工作



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

  1. 32位win7/2008服务器到32位win7/2008 -工作
  2. 32位的win7/2008服务器到64位的win7/2008 -工作
  3. 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

最新更新