zhang310
2009-06-16 14:39
浏览 269
已采纳

java 调用 jni 一点不会

C++ 代码
[code="c++"]
#include
#include

#include

#include

#include

#include

#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"netapi32.lib")

void CheckIP(void)
{
WSADATA wsaData;
char name[155];
char ip;
PHOSTENT hostinfo;
if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (
(struct in_addr *)*hostinfo->h_addr_list);
printf(" IP地址: %s ",ip);
}
}
WSACleanup( );
}
}

int getMAC(char * mac)

{

NCB ncb;

typedef struct ASTAT

{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];

}ASTAT, *PASTAT;

ASTAT Adapter;

typedef struct _LANA_ENUM

{
UCHAR length;
UCHAR lana[MAX_LANA];

}LANA_ENUM;

LANA_ENUM lana_enum;

UCHAR uRetCode;

memset(&ncb, 0, sizeof(ncb));

memset(&lana_enum, 0, sizeof(lana_enum));

ncb.ncb_command = NCBENUM;

ncb.ncb_buffer = (unsigned char *)&lana_enum;

ncb.ncb_length = sizeof(LANA_ENUM);

uRetCode = Netbios(&ncb);

if(uRetCode != NRC_GOODRET)

return uRetCode;

for(int lana=0; lana<lana_enum.length; lana++)

{
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = lana_enum.lana[lana];
uRetCode = Netbios(&ncb);

if(uRetCode == NRC_GOODRET)
break;
}
if(uRetCode != NRC_GOODRET)
return uRetCode;

memset(&ncb, 0, sizeof(ncb));
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = lana_enum.lana[0];
strcpy((char*)ncb.ncb_callname, "*");
ncb.ncb_buffer = (unsigned char *)&Adapter;
ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios(&ncb);
if(uRetCode != NRC_GOODRET)

return uRetCode;

sprintf(mac,"%02X-%02X-%02X-%02X-%02X-%02X",

Adapter.adapt.adapter_address[0],

Adapter.adapt.adapter_address[1],

Adapter.adapt.adapter_address[2],

Adapter.adapt.adapter_address[3],

Adapter.adapt.adapter_address[4],

Adapter.adapt.adapter_address[5]
);
return 0;

}

int main(void)
{
CheckIP();
char mac[200];

getMAC(mac);

printf(" mac地址 : %s ",mac);

return 0;
}

[/code]

谁帮助写一个 java调用 这个c++生成的 dll

程序目的 : java通过jni 调用 dll 获取客户端的 网卡 MAC

自己对这个一点没接触过....

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • laitaogood 2009-06-16 14:41
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • wanghaolovezlq 2009-06-16 14:51
    评论
    解决 无用
    打赏 举报
  • wanghaolovezlq 2009-06-28 23:12

    朋友,问题要自动关闭啦,结分哦

    评论
    解决 无用
    打赏 举报
  • wanghaolovezlq 2009-06-28 23:13

    朋友,问题要自动关闭啦,结分哦

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题