我是个java程序员,公司最近需要与硬件厂商绑定合作,要调用硬件ID的信息。
我是个C#新手,写了一个查看硬件信息的c#工具类,打包成dll文件供java调用。
loadLibrary找到了文件,但是无法调用方法。
我找了一个dll export view软件查看,发现里面根本没有方法函数,一片空白。
回到vs中编了个测试类测试,没有问题。但是不知道为什么就是不能正常输出dll。
在网上找了很长时间,有人说用def文件,有人说用csc打包。
我查找了关于def的相关资料,说是定义dll文件方法对象的类似说明文件的东西,因为着急,没有仔细研究和尝试。
试了csc打包,跟用vs生成是同样的效果,一片空白。希望有高手能指点我一条明路,如果def文件可行,简单指点一下,如果不可行,怎么办才行。
下面是我的c#源代码
using System;
using System.Management;namespace hardInfo
{
public class HardInfo
{
public string GetHostName()
{
return System.Net.Dns.GetHostName();
} public string GetMainHardDiskId(String hardName)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(hardName);
String strHardDiskID = null;
foreach (ManagementObject mo in searcher.Get())
{
foreach (PropertyData PC in mo.Properties)
{
strHardDiskID = strHardDiskID + PC.Name + ":" + PC.Value + "\n";
}
}
Console.Write(strHardDiskID);
return strHardDiskID;
}
}
}
我是个C#新手,写了一个查看硬件信息的c#工具类,打包成dll文件供java调用。
loadLibrary找到了文件,但是无法调用方法。
我找了一个dll export view软件查看,发现里面根本没有方法函数,一片空白。
回到vs中编了个测试类测试,没有问题。但是不知道为什么就是不能正常输出dll。
在网上找了很长时间,有人说用def文件,有人说用csc打包。
我查找了关于def的相关资料,说是定义dll文件方法对象的类似说明文件的东西,因为着急,没有仔细研究和尝试。
试了csc打包,跟用vs生成是同样的效果,一片空白。希望有高手能指点我一条明路,如果def文件可行,简单指点一下,如果不可行,怎么办才行。
下面是我的c#源代码
using System;
using System.Management;namespace hardInfo
{
public class HardInfo
{
public string GetHostName()
{
return System.Net.Dns.GetHostName();
} public string GetMainHardDiskId(String hardName)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(hardName);
String strHardDiskID = null;
foreach (ManagementObject mo in searcher.Get())
{
foreach (PropertyData PC in mo.Properties)
{
strHardDiskID = strHardDiskID + PC.Name + ":" + PC.Value + "\n";
}
}
Console.Write(strHardDiskID);
return strHardDiskID;
}
}
}
建议用 J# 调用然后给 java 用
不明白
回头我可以试试C++或者Delphi写,然后打包dll
com mq webservice socket 剪切板 文件
等有很多方法。
数据交互我知道,但是采用webservice似乎太绕了,只是一个简单的小功能。
希望知道的大大踊跃发言。
未经处理无法被JAVA调用,或者根本无法被JAVA调用。
目前未知,有明白的说一下?
需要超多波折,果断宣布放弃,走C++路线去。