![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VB及VB.NET
文章平均质量分 85
zhongyhc
天行健,君子以自强不息;地势坤,君子以厚德载物
展开
-
VB中功能强大的SendMessage函数
Windows API(应用程序接口)是Windows系列软件为程序开发人员提供的火力强大的“武器库”,在这个武器库中,有很多极具威力的武器,SendMessage就是其中之一,它的功能非常丰富,灵活使用这个函数,会给编程工作带来很多便利。本文以Visual Basic为例,结合几个具体的例子介绍该函数的功能。逆@风@者一、SendMeaasge函数简介顾名思义,SendM原创 2008-10-22 16:42:00 · 15795 阅读 · 0 评论 -
VB创建多线程
相关知识:进程:是指程序在一个数据集合上运行的过程,是操作系统进行资源分配和调度运行的一个独立单位,简单来说进程就是程序的一次执行。进程的两个基本属性:1.进程是一个可拥有资源的独立单位;2. 进程同时又是一个可以独立调度和分配的基本单位。操作系统中引入进程的目的是为了使多个程序并发执行,以改善资源利用率及提高系统的吞吐量。线程:线是进程中的一个实体,是被系统独立调度和分配的基本单转载 2011-07-18 17:15:36 · 7511 阅读 · 0 评论 -
VBShell调用后等待程序运行结束
VB启动/结束另一程序(Shell 等待程序运行结束) VB 中,常以Shell指令来执行外部程式,然而它在Create该外部process 後,立刻就会回到vb 的下一行程式,无法做到等待该Process结束时,才执行下一行指令,或是说,无法得知该Process是否已结束,甚者,该Process执行到一半,又该如何中止其执行等等,这些都不是Shell指令所能控制的,因此我们需使API的帮助原创 2011-07-18 10:32:22 · 5789 阅读 · 0 评论 -
vb:将窗体嵌入桌面的一段代码
Option Explicit Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function FindWindowEx Li原创 2011-07-13 22:52:50 · 2565 阅读 · 1 评论 -
VB:所有控件自适应窗口大小
Option ExplicitPrivate FormOldWidth As Long'保存窗体的原始宽度Private FormOldHeight As Long'保存窗体的原始高度'在调用ResizeForm前先调用本函数Private Sub ResizeInit(FormNameAs Form)Dim Obj As Control原创 2011-07-13 15:23:27 · 11460 阅读 · 4 评论 -
用VBscript来管控USB口的使用
USB的出现除了给大家带来方便外,对企业来说也带来很大的数据安全隐患!用户可以很方便的将数据拷贝到U盘上。可以说USB对企业来说弊大于利。有很多种方法可以将USB禁用,比如用万能胶水将USB口封住,或者对USB口实施暴力破坏!这就苦了你的PC了。最好的方法是在BIOS中将USB设备禁用,一了百了。但是也有很多人已经掌握了放电法清除BIOS设置。又使得你的idea被破坏!那就转载 2011-07-07 23:36:39 · 1246 阅读 · 0 评论 -
U盘插入和退出计算机时拦消息
'=============窗体代码================= Private Declare Function RegisterDeviceNotification Lib "User32.dll " Alias _"RegisterDeviceNotificationA " (ByVal hRecipient As Long,原创 2011-07-06 11:20:45 · 908 阅读 · 0 评论 -
两种自动检测USB设备的添加和移除的方法
By jingzhongrong今天看到一篇文章里面说到的检测U盘插入的方法文章中使用的是用循环不停检测系统盘符的变化,然后根据盘符对应的类型来判 断。 下面是大概的方法 //检测是否为可移动磁盘 int CheckDisk(char *disk转载 2011-07-06 10:12:06 · 2528 阅读 · 1 评论 -
Windows中USB设备插入的拔出和所产生的消息值
Windows中USB设备插入的拔出和所产生的消息值#消息过滤钩子 WH_MSGFILTER = (-1); #记录输入钩子 WH_JOURNALRECORD = 0; #插入消息钩子 WH_JOURNALPLAYBACK = 1; #键盘事件钩子 WH_KEYBOARD = 2; #检查消息钩子 WH_GETMESSAGE = 3; #窗口过程钩子(调用前) WH_CAL原创 2011-07-06 10:00:38 · 4549 阅读 · 0 评论 -
VB:SysInfo控件
使用 SysInfo 控件 SysInfo 可以用于检测系统事件,例如桌面的大小改变、分辨率改变、时间改变,或用于提供操作系统平台和版本信息。它也可以用于管理交流电 (AC) 和电池电源之间的切换,以及硬件配置的改变。在 Windows 95 中,在新设备添加到系统之后能够被自动检测出来。使用 SysInfo 控件的属性和事件可以分享原创 2011-07-06 09:56:46 · 3797 阅读 · 2 评论 -
如何用VB访问并设置环境变量
环境变量对于Windows系统来说非常重要,每个环境变量包含一个名称和一个值。你可以在命令行窗口键入Set命令来查看当前的环境变量配置情况。这些变量都属于全局性的,任何程序都可以使用这些变量。大多数环境变量都是与系统有关的,不过你也可以为自己的VB程序设定一个环境变量。由于环境变量对于所有程序都可用,当你需要对多个程序设置某些选项或操作参数时,环境变量非常有用。有两种方法可以建转载 2011-06-30 11:18:00 · 3337 阅读 · 0 评论 -
Create a ActiveX user control (VB.NET2005)
The problem with that example is that is does not register the control, and the example will only work for putting it in a web page.I did get this to work. The .Net user control can be hosted in VB6原创 2011-09-13 19:53:08 · 910 阅读 · 0 评论 -
Using VB.NET 2008 DLL as a COM DLL
Let us know your VB2008 edition. Is it the Express or other edition? I think that 'Register for COM Interop' option and ComClass template should be supplied VS2008 standard edition and higher edit原创 2011-09-13 12:41:07 · 800 阅读 · 0 评论 -
RegisterForComInterop 属性
RegisterForComInterop 属性指示应用程序将公开一个 COM 对象(可调用 COM 的包装),它允许 COM 对象与您的托管应用程序交互。[Visual Basic .NET]Public Property RegisterForComInterop() As Boolean[Visual Basic 6]Property Get Re原创 2011-09-13 12:40:33 · 2110 阅读 · 0 评论 -
Creating an ActiveX Control in Visual Studio 2005
Published Wed, Aug 16 2006 6:26 | Paul June There have been misconceptions on technologies upon the arrival of .Net. Many programmers believe that the arrival of .Net means the scrapping of all pr原创 2011-09-08 14:16:36 · 1002 阅读 · 0 评论 -
消息传递在VB中的应用
有些窗体在设计时会定义一些特殊的功能消息,而当我们传递这些消息给这类窗体时,这类窗口就会执行某段程序,并返回执行的结果。为了让程序可以送出消息,提供了SendMessageAPI函数。DeclareFunctionSendMessageLib"user32"Alias"SendMessageA"AsLonghWnd:接收消息的窗口;wMsg:消息的编号;wParam转载 2011-07-19 14:36:21 · 1339 阅读 · 0 评论 -
delphi中怎么调用vb的DLL
delphi中怎么调用vb的DLL VB直接生成的是ActiveX dll, 经过改造,也能生成标准的Windows DLL。 不知道你说的VB生成的dll是哪一类?1. 标准的Windows DLL, delphi的例子很多。 无需等VB生成的dll。2. 如果是vb生成的active x dll, 那么: 首先注册VB的ActiveX DLL,然后在Delphi的Project菜单原创 2011-07-27 21:20:23 · 3988 阅读 · 0 评论 -
如何使用VB制作OCX控件
如今OCX控件在编程中已占领了很重要的地位,我们可以利用OCX控件完成一些相当复杂的编程操作。同时OCX控件还有利于主程序的简单化、功能的重用、隐藏程序实现细节、便于升级、传播方便等优点。现在我们可以利用VB 5.0方便地制作出自己的OCX控件供我们在编程中使用,同时还可以把它送给你周围喜欢编程的朋友!下面列出制作OCX控件的步骤: 一:新建OCX 打开VB 5.0选择新建工程在转载 2009-11-04 14:04:00 · 4306 阅读 · 1 评论 -
教你用Visual Basic制作安装程序
安装程序制作是做项目必不可少的一道工序,网上的安装软件很多,可以用五花八门来开形容了~~~~ 在此笔者介绍一个最简单的安装方法,就是用VB自带的打包程序进行打包,虽然比较普通,不过内部却有不少窍门,相信这一点知道的人可能不多吧!!(请大家一定看到最后,好戏在后头)好了,不废话了,开始进入正题。 ①运行打包向导,如下图所示: ②点击“浏览”按钮,选择要打包的工程。然后单击转载 2008-10-22 12:59:00 · 1386 阅读 · 0 评论 -
vb.net封装组件成com的方法
vb.net封装组件成com的方法 前几天一直在研究如何将.net的组件封装成com供非托管代码调用。上网查资料,查书,试验,最后测试了vb.net,c#,vc++.net 等多种语言,都没有搞定。在论坛上发了帖子。虽然有回复,但是只是给了些资料。资料看了又看,反复的研读。照着例子一步一步地做。但总是有些地方没有成功。正在绝望中。一个朋友给了我简单的答案。我在高兴的同时也感慨自己的愚钝和原创 2011-09-14 15:11:54 · 2716 阅读 · 0 评论 -
VB6 根据进程ID(PID)获取窗体句柄
模块代码: Option ExplicitPrivate Const GW_HWNDNEXT = 2Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function GetWindow Lib "user32" (ByVal hwnd As L原创 2011-07-30 00:02:01 · 7944 阅读 · 0 评论 -
VB开发动态链接库DLL和标准API DLL方法和常见问题
问题汇总:1、 不能调DLL里的Sub编译错误:不能找到方法或数据成员.把ActiveX DLL工程添加到标准EXE工程后就不会出错了..单独打开标准EXE工程调用生成的DLL就出错,2、. 调用自己编写的DLL为什么不用像调API函数那样如:Public Declare Function GetPrivateProfileString Lib _ "kernel32" Alias "Ge原创 2011-07-27 21:12:45 · 4132 阅读 · 0 评论 -
VB规定,消息类的调用函数只能放在模块内,即函数preWinProc只能放在模块内,否则必将出错。
VB规定,消息类的调用函数只能放在模块内,即函数preWinProc只能放在模块内,否则必将出错。所以,除非你不用消息类语句,否则你不得不使用模块。原创 2011-07-20 19:57:59 · 1158 阅读 · 0 评论 -
VB.NET多线程开发实例
VB.NET多线程开发实例内容: VB.NET(Visual Basic.NET)是为适应Microsoft .NET框架的需要,对Visual Basic进行了重大改造后的开发工具。它比Visual Basic 6.0功能更强大,更易于使用。其中最重要的变化就是对象继承,在VB.NET中,所有可管理的类型都衍生自System.Object。作为编程工具,最重要的一个特性就转载 2011-09-23 11:26:41 · 1474 阅读 · 0 评论 -
VB.NET2008开发OCX控件
The problem with that example is that is does not register the control, and the example will only work for putting it in a web page.I did get this to work. The .Net user control can be hosted in VB6原创 2011-09-08 18:49:53 · 5112 阅读 · 2 评论 -
网贴:打造最专业的VB6服务器应用开发-VB6真正的多线程
打造最专业的VB6服务器应用开发系列的上一讲中讲了如何使用VB6建立控制台的程序:从控制台开始这一讲是重点,VB6真正的多线程网上有很多介绍VB6多线程的文章,但无外乎以下几种:1.使用ActiveX EXE实现的多线程,它可以认为是VB6下最安全的多线程实现了。但是因为是在另外一个进程中实现的,严格意义上来说算不得真正的多线程,在实际使用中各个线程间的交互很差,不能满足真转载 2011-07-20 09:42:25 · 2752 阅读 · 0 评论 -
VB:如何为计算机的环境变量,增加一个系统变量,并赋值
Private Sub Form_Load() Dim sysenvAs Object Set sysenv= CreateObject("WScript.Shell").Environment("system") MsgBox sysenv("vbtest") sysenv("vbtest")= "test ok" MsgBox原创 2011-06-30 10:37:00 · 3112 阅读 · 0 评论 -
关于VB数组里面按值传递和按地址传递的区别
1 Private Sub Form_Load()2 Dim x As Integer3 x = 24 A x5 Debug.Print x6 End Sub7 Sub A(ByRef t As Integer)8 t = t - 19 End Su原创 2011-06-29 23:33:00 · 5378 阅读 · 0 评论 -
VB中RaiseEvent语句的功能及用法
Creat a new class named Class1, it's codes like this:Public Event MyEvent()Public Sub RaiseTheEvent() 'some other codes here RaiseEvent MyEvent End SubCreate a new form, draw a原创 2011-06-12 09:55:00 · 20877 阅读 · 2 评论 -
如何在VB中使用OCX文件
近来写的不少文件都是用到系统的ocx文件,但是发现很多xp的精简系统中居然都没有这些ocx文件。搞得我的程序在许多人的机器上无法运行,这样我就找到如下的方法来解决这个问题。即:在exe文件中将ocx作为资源文件,外部有则不理,外部没有则自动生成。 做法是,将第三方控件以自定义资源文件方式保存在程序中,程序运行之后使用控件之前将所用到的控件生成到该程序目录下,完成控件从可执行文件中原创 2011-06-09 23:55:00 · 3604 阅读 · 0 评论 -
为VB6创建纯资源DLL(图片教程)
虽然vb可以把资源存在*.RES的资源文件里,一起编译成exe。但如果要换肤、多语言支持,显然DLL更方便如何把图片、图标、自定义资源存放在DLL里面?下面我Step by Step教大家。VB只能创建Activex DLL,所以用VC++创建纯正的DLL,这样的DLL无需注册(基于COM的才要注册)。下面以VC++ 6.0为例(VC++ 2005也差不多)。1.打开VC++ 6.0,原创 2011-06-08 10:41:00 · 4455 阅读 · 0 评论 -
创建可以输出函数的DLL-vb教程
VB中创建的DLL只是COM组件,无法作为输出函数的DLL。 VB编译文件实际上采取了两次编译的方法,首先是调用c2.exe产生OBJ文件,然后调用Link.exe连接。如果在link的时候添加EXPORT选项,实际上是可以输出函数的。但是,在VB的工程选项中将这些屏蔽了。而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法通过Link来输出函数了。不过我找到一个比较龌原创 2011-06-08 10:40:00 · 1143 阅读 · 1 评论 -
VB 2008下载地址
VB 2008下载地址:如果是初学者,可以用速成版,http://www.microsoft.com/express/download/#webInstall(直接下载为http://download.microsoft.com/download/3/0/2/3025EAE6-2E15-4972-972A-F5B1ED248E85/VS2008ExpressWithSP1CHSX1504735原创 2011-09-03 20:43:09 · 3309 阅读 · 0 评论