获取硬盘序列号的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 ...
随机推荐
- elf逆向入门
一: 在linux下进行调试时容易出现权限不够的情况:此时解决办法就是chmod 777+文件名提升权限,以实验吧debug为例,给出了简单的32elf文件,我在查看一些资料以后发现,我需要在main ...
- C# Upload
using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Web; ...
- vue-router那些事儿
vue-router适用于单页面应用. 一.vue-router的引用方法1.用script标签 <script src="https://unpkg.com/vue-router/d ...
- 双11线上压测netty内存泄露
最近线上压测,机器学习模型第一次应用到线上经历双11大促.JSF微服务有报错 LEAK: ByteBuf.release() was not called before it's garbage-co ...
- 【持久化框架】Mybatis与Hibernate的详细对比(转发)
前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate的原理. Mybatis [持久化框架]Mybatis简 ...
- QtQuick自定义主题以及控件样式指引
自定义控件样式 请在Qt帮助索引中输入Customizing a Control进行查看 不过实际用下来感觉除非你想自己实现一套效果复杂的UI或是创造一个全新控件,比如:给UI添加模糊.虚化等Shad ...
- 一个用SAM维护多个串的根号特技
一个用SAM维护多个串的根号特技 基本介绍 在多个串的字符串题中,往往会出现一类题需要用到某个子串是否在一些母串中出现.此时对于 \(\text{parent}\) 树的 \(\text{right} ...
- 使用scrapy爬取百度股票
1.spiders文件夹下的爬虫文件 # -*- coding: utf-8 -*- import scrapy import re import random from scrapy.http.re ...
- SSH密钥登录让Linux VPS/服务器更安全
查看 /var/log 登录日志文件,突然发现服务器被人扫描端口在进行暴力攻击 平常登录服务器,都是使用用户密码登录,看来这样的做法并不安全,不得不关闭密码登录了. 总结了一个putty使用密钥自动登 ...
- js获取浏览器屏幕的尺寸
浏览器屏幕尺寸参照表: 如何获取屏幕宽度: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: ...