获取硬盘序列号的Fortran程序
以前写了个获取硬盘序列号的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程序的更多相关文章
- java通过jni方式获取硬盘序列号(windows,linux)
linux系统java通过jni方式获取硬盘序列号 http://blog.csdn.net/starter110/article/details/8186788 使用jni在windows下读取硬盘 ...
- delphi 获取硬盘序列号、cpu号、bios号、网卡号
delphi 获取硬盘 序列号 function GetIdeNum: String; type TSrbIoControl = packed record HeaderLength : ULONG; ...
- vc 获取 硬盘序列号 和 cpu
vc 获取 硬盘序列号 和 cpu 唯一iD的方法?如题---------网上找来很多资料 也没找到, 要支持xp win7 32/64 系统下都能获取 硬盘序列号 和cpu ID 哪位朋友帮帮忙: ...
- c/c++获取硬盘序列号
最近在接触软件注册模块,需要获取硬盘序列号来生成注册码. 硬盘序列号,英文名:Hard Disk Serial Number,该号是硬盘厂家为区别产品而设置的,是唯一的.网上搜索一下,发现获取硬盘序列 ...
- Windows 下获取硬盘序列号
只获取序列号 以下任意一条命令都可以: wmic diskdrive get serialnumber wmic path win32_physicalmedia get SerialNumber w ...
- 在windows下获取硬盘序列号(win7 32位,Windows Server 64位测试,希望在其他平台测试,遇到问题的网友留言分享)
#include <Windows.h> #include <stdio.h> // IOCTL控制码 // #define DFP_SEND_DRIVE_COMMAND CT ...
- C#获取硬盘序列号
//创建ManagementObjectSearcher对象 ManagementObjectSearcher searcher = new ManagementObjectSearcher(&quo ...
- DOS 获取硬盘序列号
DOS命令行操作: 使用diskpart命令,Win+R键运行cmd,进入命令行界面: 1.diskpart 2.list disk 查看有几块硬盘 3.selec ...
- C#获取硬盘序列号的问题求助
具体问题是这样的:我用下面这段获取硬盘型信息的代码做成的exe文件,在机子上测试的时候,出现直接双击运行和用管理员身份运行结果不一样的情况,这个问题该怎么解决? public static Strin ...
随机推荐
- 37_Reverse3_digit_Integer
描述 反转一个只有3位数的整数. 你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000. [ ] 您在真实的面试中是否遇到过这个题? 样例 123 反转之后是 321. 90 ...
- BZOJ.3170.[TJOI2013]松鼠聚会(切比雪夫距离转曼哈顿距离)
题目链接 将原坐标系每个点的坐标\((x,y)\)变为\((x+y,x-y)\),则原坐标系中的曼哈顿距离等于新坐标系中的切比雪夫距离. 反过来,将原坐标系每个点的坐标\((x,y)\)变为\((\f ...
- BZOJ.4340.[BJOI2015]隐身术(后缀数组 搜索)
BZOJ \(Description\) 给定两个串\(S,T\)以及一个数\(k\),求\(T\)中有多少个子串,满足和\(S\)的编辑距离不超过\(k\). \(|S|+|T|\leq10^5,\ ...
- (Android系统目录结构)/mnt/sdcard 和 sdcard 的区别
mnt/是Unix/Linux系统下外部设备的专用目录,Linux默认挂载外部设备都会挂载到这个目录;如将SD卡挂载后,会生成目录:/mnt/sdcard/. shell@aeon6735m_65c_ ...
- react-native-background-job——让你的react-native项目实现后台运行
安排在您的应用处于后台时运行JavaScript的后台任务. 即使应用程序已关闭,任务也会运行,默认情况下,也会在重新启动后继续存在. 这个库依赖于React Native的HeadlessJS ,目 ...
- [jzoj]1417.数学题
Link https://jzoj.net/senior/#main/show/1417 Problem 当Alice在浏览数学书时,看到一个等式A=S,奇怪的是A和S并不相等.Alice发现可以通过 ...
- tableviewcell选中不变色。
tableview 选中一行后,不显示选中颜色 添加这样一句话就好 cell.selectionStyle = UITableViewCellSelectionStyleNone; 一定不要table ...
- redis键值操作
1.1. redis键值操作 1.1.1. keys patten 查询相应的key 可以精确的查,也可以模糊的查 1.1.1.1. 通配符:* ? [] 在redis里,模糊查询key的时候有3个通 ...
- unique_ptr_c++11
unique_ptr 替代了原来的auto_ptr,指向对象具有唯一性,即同一时间只能有unique_ptr指向给定对象(和auto_ptr不同是禁止拷贝语义,通过移动语义替代) unique_ptr ...
- Ubuntu1404 开启定时任务 crontab
crontab -e 这个 我使用vim编辑,所以选择3,进入到 写了两条,的确隔了一分钟在test.txt文件夹里面会多加一条Good morning进去.而且也会执行dingshi.sh这个she ...