想在java里调用ms的adsi的api函数,看了文档,说需要调用activeds.dll,找了一下该文件在WINDOWS\SYSTEM32\下面有,编译的是候把CLASSPATH设到该路径,可是还是不能通过。错误如下:
#javac -classpath c:\winnt\system32\ SimpleADSI.java
SimpleADSI.java:1: package activeds does not exist
import activeds.*;   // ADSI COM Wrapper classes
^
SimpleADSI.java:2: package com.ms.com does not exist
import com.ms.com.*;               // to use _Guid data type in COM.
------------------------------------
程序源码如下:
import activeds.*;   // ADSI COM Wrapper classes
import com.ms.com.*;               // to use _Guid data type in COM.
public class SimpleADSI 
{
    IADs obj;
    String path = "WinNT://domain/machine,computer";
    _Guid riid = IADs.iid;
    public static void main(String args[]) 
    {
        try 
        {
            obj = (IADs)ADsGetObject(path, riid);
            System.out.println( "Object name:  " + obj.getName() );
            System.out.println( "      class:  " + obj.getSchema() );
            System.out.println( "    ADsPath:  " + obj.getADsPath() );
            System.out.println( "     parent:  " + obj.getParent() );
        }
        catch (Exception e) 
        {
            System.out.println( "SimpleADSI Error: " + e.toString() );
        }
    }
    /** @dll.import("activeds", ole) */
    private static native IUnknown ADsGetObject(String path, _Guid riid);
}
-------------------------------------
是不是我哪里设置不对?
谢谢。