编程资料查询(2021年澳门资料查询)

2023-12-16 02:17:25 数码极客 bianji01

 

请给一些Windows中网络编程的资料

为一个不断进取的编程者,我们常常不满足于编程语言所提供的一般功能,总是希望能够实现一些特殊的功能,这有时不但是我们程序的要求,有时也是编程者心理上需要(试想,还会有什么比在深夜中巧妙解决一个难题而更令人兴奋呢?)。VisualBasic,做为一个当前最流行的快速编程环境,就给我们提供了实现这些目标的平台,事实上,它无限扩展的API接口可以实现所有WINDOWS下可以实现的功能。然而对于初学者来说,“浩瀚“的API函数总是显得那么神奇与不可琢磨,因此在实际应用过程中不能够灵活应用。下面我将结合两个小例子来示范介绍VB中调用API函数的步骤和功能,并总结说明在实际工作中如何提高这方面的技巧。例子在WINDOWS98下采用VB6.0编译。

一.限制鼠标的移动

----有时我们的软件要求用户在未完成某一任务时,鼠标不能移出当前活动控件,换句话就是将鼠标限制在控件的内部,直到任务完成或用户中断为止。这个功能借助API函数实现起来思路很清楚,代码也很简洁。其思路是先确定当前鼠标的位置;然后确定当前活动控件的小;最后将鼠标限制在活动控件内。(下面忽略项目建立等过程)

----1.建立一个新项目:新窗体为form1,在form1上添加一个commandbutton,设置其Name=CMButton1;Caption=“将鼠标限制在此按钮中“

----2.拷贝API函数和POINTAPI结构:打开VB6.0自带的API浏览器,调入WIN32API.txt文件,复制以下结构和函数声明到form1的声明部分:

PrivateTypeRECT

LeftAsLong

TopAsLong

RightAsLong

BottomAsLong

EndType

PrivateTypePOINTAPI

xAsLong

yAsLong

EndType

PrivateDeclareFunctionClientToScreenLib

“user32“Alias“ClientToScreen“(ByVal

hwndAsLong,lpPointAsPOINTAPI)AsLong

‘用来确定当前鼠标的位置

PrivateDeclareFunctionClipCursorLib

“user32“Alias“ClipCursor“(lpRectAsAny)

AsLong‘用来限定当前鼠标的活动范围

----3.定义一个通用过程ConfineTo

PublicSubConfineTo(myCtlAsObject)

OnErrorResumeNext

DimtmpRectAsRECT

DimptAsPOINTAPI

WithmyCtl

IfTypeOfmyCtlIsScreenThen‘锁定在屏幕范围内

tmpRect.Left=0

tmpRect.Top=0

tmpRect.Right=(.Width\Screen.TwipsPerPixelX)

tmpRect.Bottom=(.Height\Screen.TwipsPerPixelY)

ElseifTypeOfmyCtlIsform‘锁定在窗体范围内

tmpRect.Left=(.Left\Screen.TwipsPerPixelX)

tmpRect.Top=(.Top\Screen.TwipsPerPixelY)

tmpRect.Right=(.Left+.Width)\Screen.TwipsPerPixelX

tmpRect.Bottom=(.Top+.Height)\Screen.TwipsPerPixelY

pt.X=0

pt.Y=0

CallClientToScreen(.hWnd,pt)

‘获取当前控件在屏幕上的位置

tmpRect.Left=pt.X

‘保存当前控件位置

tmpRect.Top=pt.Y

pt.X=.Width

pt.Y=.Height

CallClientToScreen(.hWnd,pt)

tmpRect.Bottom=pt.Y

tmpRect.Right=pt.X

EndIf

CallClipCursor(tmpRect)

EndWith

EndSub

----4.在CMButton1_Click()中加入以下代码

StaticClipedAsBoolean

‘静态变量用来控制状态切换

IfNotClipedThen

ConfineToCmbutton1

Cliped=True

ConfineToScreen‘取消鼠标限制

Cliped=True

EndIf

----5.运行后,鼠标点击cmbutton1,此时鼠标只能被锁定在此按钮内部,再次点击按钮,限制取消。

二.创建临时文件

----临时文件用来保存软件运行过程中的临时变化,这对于熟悉WORD等软件的人来说,经常会遇到。那么临时文件是如何产生的呢,其实很简单,只需要一个API函数就可以。

----1.拷贝声明函数(方法同前)

PrivateDeclareFunctionGetTempFileNameLib“kernel32“_

Alias“GetTempFileNameA“(ByVallpszPathAsString,_

ByVallpPrefixStringAsString,ByValwUniqueAsLong,_

ByVallpTempFileNameAsString)AsLong

参数定义如下:

lpszPath=传入保存临时文件的路径,如“C:\mytemp“

lpPrefixString=传入临时文件名开始的前三个字母,

起到帮助识别临时文件来源的作用。

wUnique=0,windows随机产生文件名;否则安其值定义文件名。

lpTempFileName=返回随机文件名

----2.返回临时文件名

PrivateFunctionGenTempName(sPathAsString)

DimsPrefixAsString

DimlUniqueAsLong

DimsTempFileNameAsString

IfIsEmpty(sPath)ThensPath=“c:\temp“

sPrefix=“TVB“

lUnique=0‘windows随机给名

sTempFileName=Space$(100)

GetTempFileNamesPath,sPrefix,lUnique,sTempFileName

sTempFileName=Mid$(sTempFileName,1,

InStr(sTempFileName,Chr$(0))-1)‘去掉多余空格

GenTempName=sTempFileName

EndFunction

----3.将下面代码加入到form1_click()事件中

MsgBoxGenTempName(“c:\temp“)

----4.运行,鼠标点击form,弹出msgbox,显示生成“c:\temp\TVB724.tmp“文件,用文件管理器查看,在c:\temp下有TVB724.tmp文件,长度为0K。

----需要注意的是,传入的路径必须是有效路径,否则GenTempName函数返回0,lpTempFileName中也没有临时文件名。

三.结束语

----从上面可以看出,API函数的确简单高效,但也充满一些看似高深的变量而使人却步。我们不禁会问,究竟什么时候要用到API函数?具体哪些函数可以解决我的问题?,那些函数中的变量都代表什么?其实对这些问题,即使对一个VB高手也难给出明确的回答,因为API函数库实在太庞大了,每一个人最终只能熟悉其中的一小部分(这也可能是调用API的文章层出不穷的原因吧)。总结自己的一点经验,我觉得应该注意以下几点。

----1.熟练掌握VB基本技巧,了解其所能所不能,这是最基本的要求。

----2.了解WINDOWS内部控制机理,这样对一些复杂的问题就可以逐步分析其调用机制,初步确定采用哪部分的API函数来解决问题。

----3.案头必备一本最新的VB版的WINDOWSAPI大全,推荐机械工业出版社的<>。书中给出了每一个VB可以调用的API函数的详细说明,可以帮助精确了解所需要的API函数的变量声明。

----4.多看别人的程序。报纸杂志,尤其是网上这方面的文章数不清。这是最快的方法。

----5.随用随查。永远不要在用不到的函数上浪费宝贵的时间

自学编程有哪些好的学习资料?

《C语言程序设计》谭浩强应该是要看这本书吧?接下来想学python,看什么书好?

谭浩强的书我建议不要看。python最好不要学。

真想编程,看一下BrianW.Kernighan和DennisM.Ritchie

写的《C程序设计语言》

看了更多资料后发现都在喷谭.....百度贴吧的c++吧可以混混吗?里面资料不少,有这本书的特别版。win764位的笔记本,用哪个写c软件好?库运行组件什么的以前玩游戏有去官网下过。

vfp编程查询

S7-200的编程软件V4.0 STEP 7 MicroWIN SP9怎样查询编辑组件信息

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告