ASP教程之关于Win2K/NT/XP情况下LWIN,RWIN,WIN+A...
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,参考外洋一些网站,论坛代码,失掉以下综合,以上情况中测试经由过程,版权回原作者一切。addacheckboxnamedchkDisable.caption="&DisableALT-TAB,ALT-ESC,CTRL-ESC,LWin,RWin,Win+Any"
toanewfromnamedfrmMain.frminnewprojecthook_kb_LL.vbp
addcodebelow:
OptionExplicit
DimhhkLowLevelKybdAsLong
PrivateSubchkDisable_Click()
IfchkDisable=vbCheckedThen
hhkLowLevelKybd=SetWindowsHookEx(WH_KEYBOARD_LL,AddressOfLowLevelKeyboardProc,App.hInstance,0)
Else
UnhookWindowsHookExhhkLowLevelKybd
hhkLowLevelKybd=0
EndIf
EndSub
PrivateSubForm_Unload(CancelAsInteger)
IfhhkLowLevelKybd0ThenUnhookWindowsHookExhhkLowLevelKybd
EndSub
innewmodulenamedmodDisableLowLevelKeys.bas
codebelow:
OptionExplicit
PublicDeclareSubCopyMemoryLib"kernel32"Alias"RtlMoveMemory"(DestinationAsAny,SourceAsAny,ByValLengthAsLong)
PublicDeclareFunctionGetKeyStateLib"user32"(ByValnVirtKeyAsLong)AsInteger
PublicDeclareFunctionSetWindowsHookExLib"user32"Alias"SetWindowsHookExA"(ByValidHookAsLong,ByVallpfnAsLong,ByValhmodAsLong,ByValdwThreadIdAsLong)AsLong
PublicDeclareFunctionCallNextHookExLib"user32"(ByValhHookAsLong,ByValnCodeAsLong,ByValwParamAsLong,lParamAsAny)AsLong
PublicDeclareFunctionUnhookWindowsHookExLib"user32"(ByValhHookAsLong)AsLong
PublicConstHC_ACTION=0
PublicConstWM_KEYDOWN=&H100
PublicConstWM_KEYUP=&H101
PublicConstWM_SYSKEYDOWN=&H104
PublicConstWM_SYSKEYUP=&H105
PublicConstVK_TAB=&H9
PublicConstVK_CONTROL=&H11
PublicConstVK_ESCAPE=&H1B
PublicConstWH_KEYBOARD_LL=13
PublicConstLLKHF_ALTDOWN=&H20
PublicTypeKBDLLHOOKSTRUCT
vkCodeAsLong
scanCodeAsLong
flagsAsLong
timeAsLong
dwExtraInfoAsLong
EndType
DimpAsKBDLLHOOKSTRUCT
PublicFunctionLowLevelKeyboardProc(ByValnCodeAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong
DimfEatKeystrokeAsBoolean
If(nCode=HC_ACTION)Then
IfwParam=WM_KEYDOWNOrwParam=WM_SYSKEYDOWNOrwParam=WM_KEYUPOrwParam=WM_SYSKEYUPThen
CopyMemoryp,ByVallParam,Len(p)
fEatKeystroke=_
((p.vkCode=VK_TAB)And((p.flagsAndLLKHF_ALTDOWN)0))Or_
((p.vkCode=VK_ESCAPE)And((p.flagsAndLLKHF_ALTDOWN)0))Or_
((p.vkCode=VK_ESCAPE)And((GetKeyState(VK_CONTROL)And&H8000)0))Or_
((p.vkCode=91)Or(p.vkCode=92)Or(p.vkCode=93))摆布Win和徽标键
EndIf
EndIf
IffEatKeystrokeThen
LowLevelKeyboardProc=-1
Else
LowLevelKeyboardProc=CallNextHookEx(0,nCode,wParam,ByVallParam)
EndIf
EndFunction
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
页:
[1]