加密狗装置的读取与应用
来源:互联网 发布:淘宝客服主管都做什么 编辑:程序博客网 时间:2024/05/01 14:48
unit untMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw, StdCtrls,DAMPlusAppApis,NB30,WinSock,
AppEvnts,ActiveX;
type
PASTAT = ^TASTAT;
TASTAT = record
adapter : TAdapterStatus;
name_buf : TNameBuffer;
end;
type
Tmain = class(TForm)
WebMain: TWebBrowser;
ApplicationEvents1: TApplicationEvents;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
private
{ Private declarations }
FOleInPlaceActiveObject: IOleInPlaceActiveObject;
Function GetMac :String;
Function GetIP :String;
public
{ Public declarations }
end;
const
MCW_EM = DWord($133f);
var
main: Tmain;
implementation
{$R *.dfm}
procedure Tmain.FormShow(Sender: TObject);
var
AppID,cmd1,cmd2,cmd3,cmd4 :Integer;
liRtn :Integer;//返回结果值
lwID :array [0..15] of Char;
lsMac :String;//网卡Mac地址
lsIP :String;//IP地址
begin
//设置加密狗参数
AppID := 4294967295;//应用程序ID号
cmd1 := 6082; //代理号,十进制数,16进制为17C2
cmd2 := 54719;//客户号,十进制数,16进制为D5BF
cmd3 := 65535;//分组号,十进制数,16进制为FFFF
cmd4 := 65535;//序列号,十进制数,16进制为FFFF
//查找狗
{liRtn := DAMPlusAppApis.DOGFIND(AppID);
if liRtn = 0 then
begin
Application.MessageBox('请连接加密狗!','系统提示',mb_ok or mb_iconinformation);
Application.Terminate;
Exit;
end;
//打开狗
liRtn := DAMPlusAppApis.DOGOPEN(cmd1,cmd2,cmd3,cmd4);
if liRtn <> 0 then
begin
Application.MessageBox('请连接加密狗!','系统提示',mb_ok or mb_iconinformation);
Application.Terminate;
Exit;
end;
//读出狗的唯一ID
liRtn := DAMPlusAppApis.DOGUID(lwID);
if liRtn <> 0 then
begin
Application.MessageBox('读取狗标识失败!','系统提示',mb_ok or mb_iconinformation);
Application.Terminate;
Exit;
end; }
//屏蔽delphi外壳与IE之间的错误发生
Set8087CW(MCW_EM);
//取出上网网卡的Mac和IP
//lsMac := GetMac;
//lsIP := GetIP;
//WebMain.Navigate('http://zhumadian.hacjr.cn:8081/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://192.168.0.1:7001/weihu/hahaha.jsp?jiamigou=' +lwID);
//WebMain.Navigate('http://172.17.1.12:7001/weihu/hahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://zhumadianyz.hacjr.cn/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://zhumadianyz.hacjr.cn/weihu/hahaha.jsp?jiamigou=9890649DCF504148');
//WebMain.Navigate('http://pingdingshan.hacjr.cn');
//WebMain.Navigate('http://testzmd.hacjr.cn/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//D705D29AC94546CF
//WebMain.Navigate('http://testzmd.hacjr.cn/weihu/hahaha.jsp?jiamigou=D705D29AC94546CF&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://testzmd.hacjr.cn/weihu/hahaha.jsp?jiamigou=D705D29AC94546CF');
//WebMain.Navigate('http://211.161.130.150:7001/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://zhengzhou.hacjr.cn:7001/weihu/pxhahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://hebi.hacjr.cn/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://kaifeng.hacjr.cn/weihu/hahaha.jsp?jiamigou=1&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://shangqiu.hacjr.cn:8081/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://luoyang1.hacjr.cn/weihu/hahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://zhumadian.hacjr.cn/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://luohe.hacjr.cn/weihu/hahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://anyangpx.hacjr.cn/weihu/pxhahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://puyang.hacjr.cn/weihu/hahaha.jsp?jiamigou=' +lwID+'&mac=' +lsMac+'&ip=' +lsIP);
//WebMain.Navigate('http://jiyuan.hacjr.cn/weihu/hahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://218.29.85.226:8081');
//WebMain.Navigate('http://zhengzhou.hacjr.cn:7001/weihu/pxclienthahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://anyang.hacjr.cn:8081');
//WebMain.Navigate('http://luoyang.hacjr.cn:8081');
//WebMain.Navigate('http://a');
//WebMain.Navigate('http://puyang.hacjr.cn:8081');
//WebMain.Navigate('http://nanyang.hacjr.cn:8081/weihu/pxhahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://nanyang.hacjr.cn:8081/weihu/pxhahaha.jsp?jiamigou=1');
//WebMain.Navigate('http://nanyang.hacjr.cn:8083');
WebMain.Navigate('http://zhengzhou.hacjr.cn:7001/weihu/hahaha.jsp?jiamigou=1');
end;
procedure Tmain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DAMPlusAppApis.DOGCLOSE;
Action := caFree;
end;
function Tmain.GetMac: String;
var
ncb : TNCB;
s:string;
adapt : TASTAT;
lanaEnum : TLanaEnum;
i, j, m : integer;
strPart, strMac : string;
begin
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Char(NCBEnum);
ncb.ncb_buffer := PChar(@lanaEnum);
ncb.ncb_length := SizeOf(TLanaEnum);
s:=Netbios(@ncb);
for i := 0 to integer(lanaEnum.length)-1 do
begin
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Char(NCBReset);
ncb.ncb_lana_num := lanaEnum.lana[i];
Netbios(@ncb);
Netbios(@ncb);
FillChar(ncb, SizeOf(TNCB), 0);
ncb.ncb_command := Chr(NCBAstat);
ncb.ncb_lana_num := lanaEnum.lana[i];
ncb.ncb_callname := '* ';
ncb.ncb_buffer := PChar(@adapt);
ncb.ncb_length := SizeOf(TASTAT);
m:=0;
if (Win32Platform = VER_PLATFORM_WIN32_NT) then
m:=1;
if m=1 then
begin
if Netbios(@ncb) = Chr(0) then
strMac := '';
for j := 0 to 5 do
begin
strPart := IntToHex(integer(adapt.adapter.adapter_address[j]), 2);
strMac := strMac + strPart + '-';
end;
SetLength(strMac, Length(strMac)-1);
end;
if m=0 then
if Netbios(@ncb) <> Chr(0) then
begin
strMac := '';
for j := 0 to 5 do
begin
strPart := IntToHex(integer(adapt.adapter.adapter_address[j]), 2);
strMac := strMac + strPart + '-';
end;
SetLength(strMac, Length(strMac)-1);
end;
end;
result:=strmac;
end;
function Tmain.GetIP: String;
type
TaPInAddr = array [0..10] of PInAddr;//定义内存地址类地数据对象
PaPInAddr = ^TaPInAddr; //分配内存
var
phe : PHostEnt;//声明对象
pptr : PaPInAddr; //声明对象
Buffer : array [0..63] of char; //定义数组,为缓冲区
I : Integer; //临时整型变量
GInitData : TWSADATA; //声明对象
begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do begin
if i=0
then result:=StrPas(inet_ntoa(pptr^[I]^))
else result:=result+':'+StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
procedure Tmain.FormCreate(Sender: TObject);
begin
Application.OnMessage := ApplicationEvents1Message;
end;
procedure Tmain.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
const
DialogKeys: set of Byte = [VK_LEFT, VK_RIGHT, VK_BACK, VK_UP, VK_DOWN,
$30..$39, $41..42, $44..$55, $57, $59..$5A];
var
iOIPAO : IOleInPlaceActiveObject;
Dispatch : IDispatch;
begin
if (webmain = nil) then
begin
Handled := System.False;
Exit;
end;
Handled := (IsDialogMessage(webmain.Handle, Msg) = System.True);
if (Handled) and (not webmain.Busy) then
begin
if FOleInPlaceActiveObject = nil then
begin
Dispatch := webmain.Application;
if Dispatch <> nil then
begin
Dispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);
if iOIPAO <> nil then
FOleInPlaceActiveObject := iOIPAO;
end;
end;
if FOleInPlaceActiveObject <> nil then
begin
if ((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) and
(Msg.wParam in DialogKeys) then
// nothing - do not pass on the DialogKeys
else
FOleInPlaceActiveObject.TranslateAccelerator(Msg);
end;
end;
end;
initialization
OleInitialize(nil);
finalization
OleUninitialize;
end.
- 加密狗装置的读取与应用
- 加密狗装置的读取与应用
- 与装置无关的点阵图
- Delphi与各种装置设备之间的开发整合及应用实例
- iPhone 应用里与外设装置交换数据的原理(转)
- 读取文件,解密,加密,写入文件,存储过程的应用
- 非对称加密(RSA)与对称加密(AES)的应用
- RSA加密解密的原理与应用
- 树莓派与运动装置的交互
- 紫外线杀菌装置应用范围与技术性能浅谈
- 【加密与解密】C#如何读取pem的KEY文件
- Json读取与应用
- ARM9嵌入式系统在励磁调节装置的应用
- 继电保护测试仪检定装置的应用
- 分析:虚拟装置成为应用交付的新选…
- 家用紫外线杀菌装置的工艺应用指南
- 一种跨移动应用的消息推送方法和装置
- 异步通信在综保装置管理上的应用
- eclipse svn 编译问题
- PostgreSQL9.0新特性(ZZ)
- ClassLoader课程现场
- 外国wince学习论坛收集
- [Microsoft][ODBC Microsoft Access Driver] 磁盘或网络错误
- 加密狗装置的读取与应用
- 加密狗装置的读取与应用
- 打开SAP物料帐期和财务账期
- Linux- 初识man、info
- 初识PHP
- wince 驱动编写的八部曲
- 在comboBox中获取dataProvider属性绑定的变量
- asp.net报错:“无效的模式字符串”
- 关于oracle的表空间,分区表,以及索引的总结