⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtypelib.java

📁 使用JCom的时候
💻 JAVA
字号:
import jp.ne.so_net.ga2.no_ji.jcom.*;

public class testTypeLib {
	
	public static String getProgID(IUnknown unknown) {
		try {
			IPersist persist = (IPersist)unknown.queryInterface(IPersist.class, IPersist.IID);
			if(persist==null) return null;
			GUID clsid = persist.getClassID();
			return Com.getProgIDFromCLSID(clsid);
		}
		catch(JComException e) { e.printStackTrace(); }
		return null;
	}
	/**
		巜掕偟偨ProgID偺僞僀僾儔僀僽儔儕傪尒傞
	*/
	public static void main(String[] args) throws Exception {
		if(args.length!=1) {
			System.out.println("usage: testTypeLib <ProgID>");
			System.out.println("椺  testTypeLib Excel.Application");
			return;
		}
		String progID = args[0];
		ReleaseManager rm = new ReleaseManager();
		try {
			IDispatch disp = new IDispatch(rm, progID);
			ITypeInfo typeinfo = disp.getTypeInfo();
			ITypeLib typelib = typeinfo.getTypeLib();
			// 僪僉儏儊儞僩傪昞帵
			String[] docs = typelib.getDocumentation(-1);
			System.out.println("docs[0]="+docs[0]);
			System.out.println("docs[1]="+docs[1]);
			System.out.println("docs[2]="+docs[2]);
			System.out.println("docs[3]="+docs[3]);
			// TLIBATTR傪昞帵
			ITypeLib.TLibAttr attr = typelib.getTLibAttr();
			System.out.println("TLIBATTR="+attr);
			// ITypeInfo偺悢
			int infocount = typelib.getTypeInfoCount();
			System.out.println("ITypeInfo偺悢="+infocount);
			if(true) {
				for(int i=0; i<infocount; i++) {
					ITypeInfo info = typelib.getTypeInfo(i);
					docs = info.getDocumentation(-1);
//					System.out.print("ProgID="+getProgID(info));
					System.out.println(docs[0]);
				}
			}
		}
		catch(Exception e) { e.printStackTrace(); }
		finally { rm.release(); }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -