以前写了个获取硬盘序列号的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

获取硬盘序列号的Fortran程序的更多相关文章

  1. java通过jni方式获取硬盘序列号(windows,linux)

    linux系统java通过jni方式获取硬盘序列号 http://blog.csdn.net/starter110/article/details/8186788 使用jni在windows下读取硬盘 ...

  2. delphi 获取硬盘序列号、cpu号、bios号、网卡号

    delphi 获取硬盘 序列号 function GetIdeNum: String; type TSrbIoControl = packed record HeaderLength : ULONG; ...

  3. vc 获取 硬盘序列号 和 cpu

    vc 获取 硬盘序列号 和 cpu 唯一iD的方法?如题---------网上找来很多资料 也没找到, 要支持xp win7 32/64 系统下都能获取 硬盘序列号 和cpu ID 哪位朋友帮帮忙: ...

  4. c/c++获取硬盘序列号

    最近在接触软件注册模块,需要获取硬盘序列号来生成注册码. 硬盘序列号,英文名:Hard Disk Serial Number,该号是硬盘厂家为区别产品而设置的,是唯一的.网上搜索一下,发现获取硬盘序列 ...

  5. Windows 下获取硬盘序列号

    只获取序列号 以下任意一条命令都可以: wmic diskdrive get serialnumber wmic path win32_physicalmedia get SerialNumber w ...

  6. 在windows下获取硬盘序列号(win7 32位,Windows Server 64位测试,希望在其他平台测试,遇到问题的网友留言分享)

    #include <Windows.h> #include <stdio.h> // IOCTL控制码 // #define DFP_SEND_DRIVE_COMMAND CT ...

  7. C#获取硬盘序列号

    //创建ManagementObjectSearcher对象 ManagementObjectSearcher searcher = new ManagementObjectSearcher(&quo ...

  8. DOS 获取硬盘序列号

    DOS命令行操作: 使用diskpart命令,Win+R键运行cmd,进入命令行界面:       1.diskpart       2.list disk 查看有几块硬盘       3.selec ...

  9. C#获取硬盘序列号的问题求助

    具体问题是这样的:我用下面这段获取硬盘型信息的代码做成的exe文件,在机子上测试的时候,出现直接双击运行和用管理员身份运行结果不一样的情况,这个问题该怎么解决? public static Strin ...

随机推荐

  1. 网络基础配置--usg系统升级

    1.usg2000系统升级 1.1.TFTP设置 这里用到一个工具:3CDeamon, 是在由3Com开发类别 Web Development Freeware 软件,是一个简易服务器工具,含TFTP ...

  2. 关于MVC框架中的Model的理解

    一直以来对MVC结构中的Model层很不理解. 虽然Model层封装了一些方法,在查询和属性访问的时候提供了一些便利,但是实际使用中更多感受到的是Model层带来的限制,用起来十分别扭. 之前继承的一 ...

  3. Scrapy基础(十二)————异步导出Item数据到Mysql中

    异步导出数据到Mysql中 上次说过从Item中同步写入数据库,因为网络的下载速度和数据库的I/O速度是不一样的所以有可能会发生下载快,但是写入数据库速度慢,造成线程的堵塞:关于堵塞和非堵塞,同步和异 ...

  4. BZOJ1482 : [Balkan2017]Cats

    若猫和狗中至少有一个出现了$0$次,那么答案显然是$0$,否则若狮子出现了$0$次,那么显然无解. 那么现在至少有一个动物保持原地不同,其它动物恰好移动一次. 如果全部猫都不动而全部狗都动,那么可以贪 ...

  5. BZOJ3565 : [SHOI2014]超能粒子炮

    若$a\leq 1000$,则整个$f$数列会形成$O(a)$段公差为$a$的等差数列. 否则$a^{-1}\leq 1000$,设$ai+b=f(i)$,那么有$i=a^{-1}f(i)-ba^{- ...

  6. 树莓派上配置electron记录

    首先是最新版本的树莓派镜像默认不开启ssh,所以烧写好系统之后没法ssh登录 解决方法就是在烧写的内存卡分区内建立一个ssh文件(无后缀名),这样启动的时候就有ssh服务了 在~/.bashrc里面添 ...

  7. Java 异常 重写抛出异常限制

    1 子类在重写父类抛出异常的方法时,要么不抛出异常,要么抛出与父类方法相同的异常或该异常的子类.如果被重写的父类方法只抛出受检异常,则子类重写的方法可以抛出非受检异常.例如,父类方法抛出了一个受检异常 ...

  8. Linux之nginx服务

    作业一:nginx服务 1.二进制安装nginx包 2.作为web服务修改配置文件 3.让配置生效,验证配置 [root@localhost ~]# yum -y install epel-relea ...

  9. Aizu0189 Convenient Location(多源最短路)

    https://vjudge.net/problem/Aizu-0189 题意:求某一点到其他所有点的最短路径之和,输出该点与和. 注意Floyd可以求多源最短路径,而Dijkstra只能求单源. # ...

  10. Codeforces899C Dividing the numbers(数论)

    http://codeforces.com/problemset/problem/899/C tot为奇数时,绝对差为1:tot为偶数时,绝对差为0. 难点在于如何输出. #include<io ...