想在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);
}
-------------------------------------
是不是我哪里设置不对?
谢谢。
#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);
}
-------------------------------------
是不是我哪里设置不对?
谢谢。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货