fortran获取硬盘序列号/cpu/mac/ip/显卡/主板等硬件信息

bwsoft1 2017-09-07 10:38:49
以前写了个获取硬盘序列号的dll,delphi7开发,前几天碰到个朋友想在fortran上用,就研究了下,开发包可以到http://www.dxmylove.com/download/jyharddisk.zip下载,这里是fortran的代码
program FortranDemo

Use Kernel32

Implicit None

Interface

SUBROUTINE GetDiskSerialNumber1(drive, pout, poutsize)
!DEC$ ATTRIBUTES STDCALL :: GetDiskSerialNumber1
!DEC$ ATTRIBUTES Alias:'GetDiskSerialNumber1':: GetDiskSerialNumber1
!DEC$ ATTRIBUTES REFERENCE:: pout, poutsize
INTEGER :: poutsize
CHARACTER(len=1) :: drive
CHARACTER :: pout(*)
End SUBROUTINE
SUBROUTINE DoReg(user,userlen,regid,regidlen)
!DEC$ ATTRIBUTES STDCALL :: DoReg
!DEC$ ATTRIBUTES Alias:'DoReg':: DoReg
!DEC$ ATTRIBUTES REFERENCE:: pout, poutsize
INTEGER :: userlen,regidlen
CHARACTER :: user(*),regid(*)
End SUBROUTINE

End Interface

CHARACTER(len=20) dllname
Logical RetLog
INTEGER poutsize
CHARACTER drive
CHARACTER :: pout(100)
CHARACTER(len=100) :: user
CHARACTER(len=300) :: regid
INTEGER userlen,regidlen
Pointer (fGetDiskSerialNumber1, GetDiskSerialNumber1)
Pointer (fDoReg, DoReg)
!32位下INTEGER(4),64位下INTEGER(8)
!INTEGER(4) hLib
!DEC$ IF DEFINED (_X86_)
INTEGER(4) hLib
dllname="jydisk.DLL"C
print *,'win32'
!DEC$ ELSE
INTEGER(8) hLib
dllname="jydisk64.DLL"C
print *,'win64 '
!DEC$ ENDIF

hLib = LoadLibrary(dllname)

fDoReg = GetProcAddress(hLib, 'DoReg'C)
print *,'DoReg= ',fDoReg

fGetDiskSerialNumber1 = GetProcAddress(hLib, 'GetDiskSerialNumber1'C)
print *,'GetDiskSerialNumber1= ',fGetDiskSerialNumber1

user="171833017@qq.com"
regid="telme"
userlen=len(trim(user))
regidlen=len(trim(regid))
call DoReg(user,userlen, regid,regidlen)

drive="c"
PRINT *, 'in= ',drive
call GetDiskSerialNumber1(drive, pout,poutsize)
!print *,'RetLog= ',Retlog

PRINT *, 'OUTPUT(1)= ',poutsize
PRINT *, 'OUTPUT(2)= ',pout

RetLog = FreeLibrary(hLib)


end program FortranDemo
...全文
965 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
liups 2017-09-07
  • 打赏
  • 举报
回复
这个还收费!?

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧