转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
vb高手搜集-常见问题总结(2)         ★★★★

vb高手搜集-常见问题总结(2)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:816 更新时间:2009/4/23 15:03:31

 

  如何让程序在 Windows 启动时自动执行

  有以下二个方法:

  方法1 直接将快捷方式放到启动群组中。

  方法2
  在注册档 HKEY_LOCAL_MACHINE 中找到以下机码:SoftwareMicrosoftWindowsCurrentVersionRun
新增一个字串值,包括二个部份:

  1. 名称部份:自己取名,可设定为 AP 名称。

  2. 资料部份:则是包含 '全路径档案名称' 及 '执行参数'

  例如:

  Value Name = Notepad
  Value Data = cwindowsnotepad.exe


  在 TextBox 中如何限制只能输入数字

  参考下列程序:
  Sub Text1_KeyPress(KeyAscii As Integer)
  If KeyAscii  48 Or KeyAscii  57 Then
  KeyAscii = 0
  End If
  End Sub


  TextBox 中能不接受某些特定字符(如 '@#$%)

  方法有好几种, 以下列举二种:

  方法1 可以使用 IF 或 Select Case 一个个判断, 但如果不接受的字符多时, 较麻烦!

  方法2 将要剔除的字符统统放在一个字串中,只要一个 IF 判断即可 !! 如下:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim sTemplate As String
sTemplate =
!@#$%^&()_+-= '用来存放不接受的字符
If InStr(1, sTemplate, Chr(KeyAscii))  0 Then
KeyAscii = 0
End If
End Sub


  如何让鼠标进入 TextBox 时自动选定 TextBox 中之整串文字

  这个自动选定反白整串文字的动作,会使得输入的资料完全取代之前在 TextBox 中的所有字符。
Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
End Sub

  如何制作透明的表单 (Form)

  请在声明区中放入以下声明

  Const GWL_EXSTYLE = (-20)
  Const WS_EX_TRANSPARENT = &H20&
  Const SWP_FRAMECHANGED = &H20
  Const SWP_NOMOVE = &H2
  Const SWP_NOSIZE = &H1
  Const SWP_SHOWME = SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE
  Const HWND_NOTOPMOST = -2

  Private Declare Function SetWindowLong Lib user32 Alias SetWindowLongA (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

  Private Declare Function SetWindowPos Lib user32 (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

  在 Form_Load 使用的范例如下:
Private Sub Form_Load()
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, SWP_SHOWME
Me.Refresh
End Sub


  如何把小图片填满 Form 成为背景图

  对于这个问题,我看过很多方法,有的方法很麻烦,要声明一大堆 Type,用一大堆的 API,但是有一个最笨但我认为最好的方法如下: (就好像拼磁砖一样,不用任何 API, 不必声明任何 Type)

  在 Form 中放一个 PictureBox,Picture 属性设定为某一张小图,AutoSize 属性性设定 True,完成的模组如下:
Sub PictureTile(Frm As Form, Pic As PictureBox)
Dim i As Integer
Dim t As Integer
Frm.AutoRedraw = True
Pic.BorderStyle = 0
For t = 0 To Frm.Height Step Pic.ScaleHeight
For i = 0 To Frm.Width Step Pic.ScaleWidth
Frm.PaintPicture Pic.Picture, i, t
Next i
Next t
End Sub


  PictureTile 这个模组共有二个参数,第一个是表单名称,第二个则是 PictureBox 的名称。以下为一应用实例:
Private Sub Form_Load()
PictureTile Me, Picture1
End Sub

  关闭指定的程序

  要做到像 Task Manager 一样,可以关闭指定的程序,方法如下:

  在声明区中放入以下声明:(16位 改成 win31 API)

  Declare Function FindWindow Lib user32 Alias FindWindowA (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

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

  Public Const WM_CLOSE = &H10

  以下之范例示范如何关闭一个视窗标题 (Caption) 为 【小算盘】的程序:
Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, 小算盘)
Debug.Print winHwnd
If winHwnd  0 Then
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
If RetVal = 0 Then
MsgBox Error posting message.
End If
Else
MsgBox 并未开启小算盘程序.
End If


  如何隐藏及再显示鼠标

  很简单,只用到了一个 ShowCursor API,参数也很简单,只有一个 bShow,设定值如下:

  True:显示鼠标  False:隐藏鼠标

  Declare Function ShowCursor Lib user32 Alias ShowCursor (ByVal bShow As Long) As Long

  如何从您的应程序中结束 Windows 重开机

  很多软件在 Setup 完之后都会自动关机重开机,以便让某些设定值可以生效,其实这个功能很简单,只要几行指令就可以做到了!

  关键就是要使用 ExitWindowsEx 这个 API,这个 API 只有二个参数,第一个参数是一个 Flag,目的是要告诉 Windows 要以什么方式关机,在下面的声明中会列出可用的 Flag 常数值,至于第二个参数则是一个保留值,只要设定成 0 就可以了。

  很重要的一点是:如果您想要让关机动作更顺利,记得要 Unload 您的程序!

  在声明区中 (Bas Module  Form Module) 加入以下声明:

  Public Const EWX_LOGOFF = 0 '这四个常数值可以并用
  Public Const EWX_SHUTDOWN = 1
  Public Const EWX_REBOOT = 2
  Public Const EWX_FORCE = 4

  Declare Function ExitWindowsEx Lib user32 Alias ExitWindowsEx (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

  实例:如果您想强迫关机重开机,程序码如下:
ret = ExitWindowsEx(EWX_FORCE OR EWX_REBOOT, 0)
 


[VB.NET程序]用VB制作IE工具条自定义按钮2  [VB.NET程序]用VB制作IE工具条自定义按钮1
[VB.NET程序]用VB创建Windows快捷方式(无需DLL)  [VB.NET程序]用VB编写你自己的MSN即时通讯软件1
[VB.NET程序]VB十七种可用一行代码完成的技巧  [VB.NET程序]vb高手搜集-常见问题总结(3)
[VB.NET程序]vb高手搜集-常见问题总结4(终章)  [VB.NET程序]VB 中资源文件的多种使用技巧
[VB.NET程序]VB 实用函数集  [VB.NET程序]vb 高手搜集-常见问题总结(1)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台