当前位置:主页 >u赢电竞官网电

u赢电竞官网电:Visual Basic中实现IO端口控制

发布时间:02月07日 阅读:676



假如你在Windows下应用过C/C++,那么编写这样的DLL可能没有什么艰苦。在C说话里都包括inp和outp函数。可以把下面这段C说话代码(32位)编译天生DLL,然后在VB中调用。

#include

#include

/*感化:从指定端口读入一个字节

参数:portid端口号

返回值:读入的字节*/

int _su赢电竞官网电tdcall Inport(short portid)

{

return inp(portid);}

/*感化:向指定端口写入一个字节

参数:portid端口号*/

void _stdcall output(short portid,short byte)

{

outp(portid,byte);

}

/*感化:从指定端口读入一个字节

参数:portid端口号

返回值:读入的字节*/

int _stdcall Inportw(short portid)

{

return inpw(portid);}

/*感化:向指定端口写入一个字节

参数:portid端口号*/

void _stdcall Outportw(short portid,short word)

{

outpw(portid,(unsigned short) word);

}

留意:这种措施只能用于Windows 95/98,不能用于Windows NT。

VB6.0中DRAGDROP事故与DRAGOVER事故的应用

在WINDOWS中,拖动意味着移动光标到工具上,按住鼠标,接着移动鼠标使工具在屏幕内滑动以从新定位工具。当开释鼠标按钮时,在拖动工具所在控件界限内摊开鼠标会触发DragDrop事故。假如摊开鼠标时工具不在一个控件的上面,那么工具定位于窗体本身。

拖动工具的DragDrop事故不是用来寄放有关摊开工具时履行某些指令的地方。而应将这些指令放到背景的DragDrop事故中或者拖动工具所摊开的目标控件中。

一个DragDrop事故供给三条信息--DragDrop(Source as Control,X as Single,Y as Single)Source,是已经摊开的图片,图标或控件。X和Y值,是摊开事故所在目表工具的水温和垂直偏向位置。如:

Sub pictrue1-DragDrop(Source as Control,X as Single,Y as Single)

Pictrue1.DrawWidth=u赢电竞官网电6

picture1.pset(x,y),QBcolor(4)

End Sub

当一个控件拖动到另一个之上时,发生一个DragOver事故,以警告被入侵的控件或窗体发生了拖动。一个DragOver事故供给四条信息:

DragOver(Source as conterol,X as Single,Y as Single,State as Integer)

"Source"为入侵者标志。入侵者在被入侵的控件或窗体内确当前位置由X,Y来确定入侵者的状态,如是否刚刚进入。仍在其内或将要脱离等由State变量申报。

经由过程容许用户拖动一个指针在屏幕上移动,打仗窗口内的不合区域引举工作发生。一种常用的编程技巧是和一状态栏一同应用。状态栏随法度榜样运行时的环境而改变,申报光标确当前位置,变量如Font等的状态,供给一种有效的赞助功能。

若何判断某一个Driveu赢电竞官网电是否为光碟机?

须调用 Windows API 的 GetDriveType ,首先 声 明 以 下 API :

Declare Function GetDriveType Lib "kernel32" Alias _

"GetDriveTypeA" (ByVal nDrive As String) As Long

然后将以上的声明放在.bas的一样平常模块中,假如放在 Form 之中, 须在Declare之前再加上 Private。 然后应用以下论述调用 :

ret = Gu赢电竞官网电etDriveType ( "D:\")u赢电竞官网电

若传回值 ret 即是 5 , 即表示 "D:\" 为光碟机 , 至于其他传回值的意义则是 :

2:软碟, 3:硬碟, 4:Server端磁碟, 6:RAMDISK。

若何过滤键盘录入

在 VB 的利用获得曩昔就处置惩罚键盘动作, 实现对键盘的周全节制, 可过滤随意率性的键。 下面的例子过滤了 CTRL+C 键, 并把该键模拟为在 Command1 上单击。

Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long

Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Public Const WH_KEYBOARD = 2

Public Const KBH_MASK = &H20000000

Public Const WM_LBUTTONDOWN = &H201

Public Const WM_LBUTTONUP = &H202

Global hHook As Long

KeyboardProc 在 VB 利用动作前发生

Public Function KeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

If nCode >= 0 Then

处置惩罚你盼望过滤的键

If wParam = Asc("C") And (lParam And KBH_MASK)



上一篇:雷竞技下载官方版:一棵小草的坚守新闻频道中国青年网
下一篇:电竞下载app送彩金:《环球时报》社评:向李文亮医生致以敬意