精华内容
下载资源
问答
  • VB6 获取当前打开窗口数量,如何获取当前打开窗口数量,本示例打开一个窗口后,在测试时会打开另外一个窗口,然后主窗口会统计到这个打开的窗口,把当前打开窗口的数量填入文本框。本程序可学习一下DoEvents()的...
  •  VB沙盘,在母窗口中打开外部EXE程序,其实简单来说,就是像框架一样打开外部的程序,打开后的程序只能在母窗体的范围内显示,超出这个范围会隐藏掉。还没有明白的朋友,那你就只好看截图了,其实更像是一个多文档...
  • VB沙盘,在父窗口中打开外部EXE程序,其实简单来说,就是像框架一样打开外部的程序,...还没有明白的朋友,那就请你看截图吧,如上图所示,烈火小编在父窗口中打开了QQ2011,其实更像是一个多文档窗口程序,有意思吧。
  • 一个增强型VB文件浏览对话框窗口,增强对话框,支持左端自定义图片、支持自定义窗口顶端图片,支持声音预览、常规对话框(默认不使用回调),测试时,您可选择一个对话框样式,单击[打开]按钮。示例还演示了调用打开...
  • 类似于一个控件台与子窗口的对话,在控制台窗体,可打开一个新的VB子窗体,通过控制台可对子窗体的背景色进行控制,适时变换为红、黄、绿三种颜色,并通过控制台关闭这个窗口,以后有朋友遇到主窗体、子窗体的问题...
  • 错误:Win10下使用VB6.0打开一个.vbp文件时,打不开对象窗口和代码窗口 解决办法:找了很久之后才发现,笔者所用笔记本外接了扩展显示屏,在断开外接显示屏连接后,打开VB,再重新外接显示屏即可。 原因:Win10对于...

    错误:Win10下使用VB6.0打开一个.vbp文件时,打不开对象窗口和代码窗口
    解决办法:找了很久之后才发现,笔者所用笔记本外接了扩展显示屏,在断开外接显示屏连接后,打开VB,再重新外接显示屏即可。
    原因:Win10对于打开软件窗体的位置会在注册表中PositionObject项进行记录,所以VB上次关闭的位置是下次打开的位置。如果VB在扩展屏幕中关闭,PositionObject记录的位置就是在扩展屏幕上。在扩展的屏幕上打开一个已经存在的工程文件,出现上述问题应该是一个比较古老的bug,Win10上跑VB6已经有些勉强了,至于这些小问题还是要靠自己多注意了。

    展开全文
  • VB中如何使IE窗口最大化

    千次阅读 2009-10-06 12:06:00
    众所周知,IE窗口打开时是否最大化是由几个方面的因素造成的,比如最后一个IE窗口的最大化状态,或者注册表的设置项。但有的时候,由于用户的IE窗口打开时并没有处于最大化状态,而程序设计人员又想使其处于最大化...

         众所周知,IE窗口打开时是否最大化是由几个方面的因素造成的,比如最后一个IE窗口的最大化状态,或者注册表中的设置项。但有的时候,由于用户的IE窗口打开时并没有处于最大化状态,而程序设计人员又想使其处于最大化状态,一般大家都会想到一个办法,那就是Shell命令,因为该命令有一个参数值为vbMaximizedFocus,可以让被Shell命令运行的程序的窗口处于最大化状态,可惜的是,这个办法对IE窗口无效。

        为此,我们可以借助一个名为ShowWindow的API函数。

        如果是用VB新打开IE窗口,并使其最大化,那么可以用以下代码实现:

        如果是想让已打开的IE窗口最大化,那么可以用以下代码实现:

        为什么ShowWindow函数能实现,而VB中Shell函数却失败了,问题就出在IE本身有一个不可见的主容器窗口,当使用Shell并设置vbMaximizedFocus参数选项时,它是让被运行的程序的主窗口最大化,然后IE本身的那个主窗口是任何时候都不会显现出来的,因此失败了,而使用ShowWindow时,因为指定了具体的窗口句柄,且该窗口并不是IE的主容器窗口,所以能成功。

    展开全文
  • 我不知道VBS,也许它有一个功能或函数映射到系统API函数PostMessage和/或SendMessage.如果它确实很好,特别是如果有人发布了解释如何使用它们的答案.与此同时,我可以在批处理文件向您展示如何在名为SendMessage的...

    您可以尝试通过将按键作为Windows消息发送到运行程序的CMD窗口以编程方式键入命令.

    我不知道VBS,也许它有一个功能或函数映射到系统API函数PostMessage和/或SendMessage.如果它确实很好,特别是如果有人发布了解释如何使用它们的答案.与此同时,我可以在批处理文件中向您展示如何在名为SendMessage的实用程序的帮助下使用此方法.

    基本上,该实用程序允许您将任意Windows消息发送到任意窗口,如下所示:

    SendMessage.exe target_specification /message:value /wparam:value /lparam:value

    我将稍后解决target_specification位,其他参数是:

    > / message:value – 正在发送的消息,由代码指定.在你的情况下,它将是以下之一:

    /message:WM_CHAR

    /message:258

    /message:0x0102

    这些都指定了WM_CHAR message.

    > / wparam:value – 对于WM_CHAR消息,这个消息应该是正在发送的击键代码.

    在您的情况下,由于您的命令仅由ASCII字符组成,因此所有代码都将匹配相应字符的ASCII代码.因此,您可以使用ASCII chart转换命令中的字符.例如,s将是

    /wparam:115

    和h

    /wparam:104

    等等.

    /wparam:13

    > / lparam:value – 从WM_CHAR’s manual page可以看出LPARAM参数实际上应该作为单个数值携带多条信息.但是,对于您的具体情况,只需记住该参数应该简单地指定为

    /lparam:1

    现在到目标规范部分.这个可能很棘手.您将从the tool’s web page的描述中了解到指定目标窗口的方法有多种.但是,并非每种方法都适用于您.

    例如,您可以尝试按进程名称指定目标:

    /processname:name_of_your_executable

    但是,如果您没有直接调用您的程序,而是在例如批处理文件,然后程序将不会在自己的窗口中运行,而是借用托管CMD会话的窗口,因此这种方法可能无法正常工作.

    如果这确实是您调用程序的方式,那么您可以尝试使用窗口标题来指定目标:

    /windowtitle:window_title

    这里要记住的唯一警告是标题必须唯一地标识所需的窗口,否则键击将被发送到与指定标题匹配的所有窗口.您可以尝试通过在调用程序的批处理中使用title命令来统一标题(在调用程序之前设置它).

    因此,总结一下,完整的备份脚本(批处理脚本)可能是这样的,假设为了示例的目的,目标窗口将由其标题指定:

    @ECHO OFF

    :: s

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:115 /lparam:1

    :: h

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:104 /lparam:1

    :: u

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:117 /lparam:1

    :: t

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:116 /lparam:1

    :: d

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:100 /lparam:1

    :: o

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:111 /lparam:1

    :: w

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:119 /lparam:1

    :: n

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:110 /lparam:1

    :: ENTER

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:13 /lparam:1

    :: y

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:121 /lparam:1

    :: e

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:101 /lparam:1

    :: s

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:115 /lparam:1

    :: ENTER

    SendMessage.exe /windowtitle:"My Title" /message:WM_CHAR /wparam:13 /lparam:1

    :: wait for some time (~3 sec) till the program shuts down,if necessary

    PING -n 4 localhost 1>NUL

    :: proceed with the back-up

    ...

    展开全文
  • 请教一下,现想实现一个功能,某个VB6开发的程序在操作人员不使用时,可以临时锁定这个程序,用时再输入登录密码解锁,这样这个程序打开的几个窗口不用关闭。 如果用MDI的某个子窗体来实现此功能的话,会导致...
  • 如果用鼠标一个个关闭,实在很麻烦。我经过观察分析,找到了解决的办法,可以让你的屏幕从此清爽起来。  网页广告分析:  1.弹出的广告窗口  网页弹出的广告窗口都是用JS或VBS编写的脚本程序,每个广告窗口都...

        用VB自动关闭网页广告窗口

    经常上网冲浪的人,在打开网页的时候经常遇到同时弹出多个广告窗口的情况,不但影响视线,还会影响网速。如果用鼠标一个个关闭,实在很麻烦。我经过观察分析,找到了解决的办法,可以让你的屏幕从此清爽起来。

         网页广告分析:

        1.弹出的广告窗口
        
        网页中弹出的广告窗口都是用JS或VBS编写的脚本程序,每个广告窗口都有自已的URL地址,只要获取所有的IE窗口的URL地址,再把其中的广告窗口的URL地址记录下来保存到文本文件中,并且关闭这个窗口,就达到了自动关闭广告的目的。
        2.Flash广告窗口
        
        有些广告是FLASH动画,只要获得窗口句柄,关闭类名为“MacromediaFlashPlayerActiveX”的FLASH播放控件,就可以关闭这些FLASH广告了。
            编程原理:通过设置定时器定时搜索,根据IE的程序名判断是否有IE窗口打开,如发现再进一步判断打开的IE的URL的地址是否与记录在列表框中的一致,如相同就关闭它。由于不涉及窗口的类名,无论是IE的各个版本都可以使用。至于网页中的FLASH则是通过“FindWindowEx”函数来一层层的查找打开网页窗口的“MacromediaFlashPlayerActiveX”类名(IE窗口的各个类名是通过工具软件“SPY++”可以获得),并返回窗口句柄,再用“SendMessage”消息函数发送消息关Flash广告窗口。

        程序设计:

        新建一个工程,添加一个窗体和控件。
        1.建立一个用来控制图标在系统托盘的模块“Module1”,相关代码见后文下载地址。
        2.程序主窗口的部分代码如下:
        Private Sub cmdRightOne_Click()'向黑名单列表中添加网址,cmdLeftOne的代码与此雷同,详见程序源代码
          On Error Resume Next
          Dim i As Integer
          If lstAll.ListCount = 0 Then Exit Sub
          If lstAll.Text = "" Then Exit Sub
          lstSelected.AddItem lstAll.Text
          i = lstAll.ListIndex
          lstAll.RemoveItem lstAll.ListIndex
          If lstAll.ListCount > 0 Then
            If i > lstAll.ListCount - 1 Then
              lstAll.ListIndex = i - 1
            Else
              lstAll.ListIndex = i
            End If
          End If
          lstSelected.ListIndex = lstSelected.NewIndex
        End Sub

        Private Sub closeflash()'关闭flash动画
        On Error GoTo callerrora
        Dim sclassname As String
        Dim windowhandle As Long
        Dim lhwnd As Long
        Dim a As Long
        lhwnd = 0
        sclassname = ("IEFrame")
        lhwnd = FindWindowEx(lhwnd, 0, sclassname, vbNullString)
        sclassname = ("Shell DocObject View")
        lhwnd = FindWindowEx(lhwnd, 0, sclassname, vbNullString)
        sclassname = ("Internet Explorer_server")
        lhwnd = FindWindowEx(lhwnd, 0, sclassname, vbNullString)
        sclassname = ("MacromediaFlashPlayerActiveX")
        lhwnd = FindWindowEx(lhwnd, 0, sclassname, vbNullString)
        windowhandle = lhwnd
        If windowhandle <> 0 Then
        a = SendMessage(windowhandle, WM_CLOSE, 0, 0)
        End If
        Exit Sub
        callerrora:
        MsgBox Err.Description
        Err.Clear
        End Sub

        Private Sub filter()'过滤黑名单中的广告链接
        Dim objIE As Object
        Dim i As Integer
        On Error Resume Next
        For Each objIE In dWinFolder '遍历所有IE浏览器窗口
        If InStr(1, objIE.FullName, "IEXPLORE.EXE", vbTextCompare) <> 0 Then
        For i = 1 To lstSelected.ListCount - 1
        If objIE.LocationURL = Trim(lstSelected.List(i)) Then
         objIE.Quit
        Exit For
        End If
        Next i
        End If
        Next
        objIE = Nothing
        End Sub
        代码输入完毕,按F5运行一下吧(如图)!然后在IE中打开一个含有多个广告窗口的网页看一下效果如何,只要单击托盘图标调出程序,按“刷新”按钮就会在左边栏中列出所有的URL地址,把广告窗口的URL地址添加到右边的黑名单中,“确定”后以后就会自动关闭这个广告窗口了。如果想浏览它,再把它从黑名单中删除即可。也可以在托盘图标的右键菜单中,控制功能的开/关。
        本程序在Windows 98(IE6.0)和VB6.0企业版下调试通过

    ==========================================================================

    vb实现的是更改代理ip  

    Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long 
    Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long 
    Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value. 
    Private Const REG_DWORD As Long = 4 
    Private Const REG_SZ = 1 
    Private Const HKEY_CURRENT_USER = &H80000001 


    Private Sub SetSurrogate(address As String, Port As String) '设置代理服务器的地址跟端口 
    Dim str As String 
    Dim SubKey As String 
    Dim hKey As Long 

    str = Trim(address) & ":" & Trim(Port) 
    SubKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\" 
    RegCreateKey HKEY_CURRENT_USER, SubKey, hKey 
    RegSetValueEx hKey, "ProxyServer", 0, REG_SZ, ByVal str, LenB(StrConv(str, vbFromUnicode)) + 1 
    RegCloseKey hKey 
    End Sub 

    Private Sub SetEnable() 
    Dim SubKey As String 
    Dim hKey As Long 

    SubKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\" 
    RegCreateKey HKEY_CURRENT_USER, SubKey, hKey 
    RegSetValueEx hKey, "ProxyEnable", 0, REG_DWORD, 1&, 4 
    RegCloseKey hKey 
    End Sub 

    Private Sub SetDisable() 
    Dim SubKey As String 
    Dim hKey As Long 

    SubKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\" 
    RegCreateKey HKEY_CURRENT_USER, SubKey, hKey 
    RegSetValueEx hKey, "ProxyEnable", 0, REG_DWORD, 0&, 4 
    RegCloseKey hKey 
    End Sub 



    Private Sub Command1_Click()'使代理服务器可用 
    SetSurrogate "192.168.1.199", "200" 
    SetEnable 
    End Sub 

    Private Sub Command2_Click()'使代理服务器不可用 
    SetDisable 
    End Sub

    ========================================================================================

    vb 操作 iframe

    为什么写这个?

    1.操作跨域框架。这个资料很难得,我在网上苦苦找了一个星期。以前研究BHO的时候,也是找了好久的。留此存照。在vb吧提问如何取得跨域框架的控制权,仅有一个人对此关注,并且说很简单,直接分析源代码,或者用DOM等...恩,现在的vb吧确实很少有深刻的内容了。

    2.了解IE编程知识。本以为通过一次BHO编程,已经了解一些IE编程技巧了,结果这次写这个程序,又辛苦找了十来天的资料。现在看来,自己果然无知。懂得越多,越觉得自己无知。

    下面是代码

     

    '需要引用Microsoft Html Object Library,Edanmo's Ole interfaces 1.81 ,Microsoft Internet Controls
    '其中,Edanmo's Ole interfaces 1.81是Edanmo写的OLELIB.TLB,请自己在网上搜索下载

    '声明一个全局变量数组IframeIE,用来保存网页框架的操作对象;至少我是这么操作的,当然有更好的办法请指教cnoldjohn嬷嬷茶


    Private IframeIE() As SHDocVw.WebBrowser

    '下面代码的核心是修改自MVP Edanmo的大作
    '枚举框架,参数WB是一个webbrowser控件的名称,其中承载着我们要分析的页面
    Sub EnumFrames(ByVal WB As WebBrowser)
    Dim j As Integer
    Dim pContainer As olelib.IOleContainer
    Dim pEnumerator As olelib.IEnumUnknown
    Dim pUnk As olelib.IUnknown 
    '获得页面的Document接口,然后我们就可以对其为所欲为了
    Set pContainer = WB.Object.Document
    '很奇怪,有时候上面这段对象赋值出错,用下面这句就没有问题了
    'Set pContainer = WB.Document
    If pContainer.EnumObjects(OLECONTF_EMBEDDINGS, pEnumerator) = 0 Then
    Set pContainer = Nothing
    Do While pEnumerator.Next(1, pUnk) = 0
    On Error Resume Next 
    If Err.Number = 0 Then
    '将框架页面依次赋值到IframeIE数组中
    ReDim Preserve IframeIE(0 To j)
    Set IframeIE(j) = pUnk 
    j = j + 1
    End If
    Loop
    Set pEnumerator = Nothing
    End If
    End Sub

    以上这段代码的神奇之处在于可以跨域操作框架。

    展开全文
  • VB6 WebBrowser多窗口

    2020-08-04 16:29:18
    其实,在WebBrowser弹出IE窗口时,会激活一个事件NewWindow2。我们可以在过程WebBrowser1_NewWindow2()过程输入代码,来避免弹出IE窗口。 多窗口代码: Private Sub WebBrowser1_NewWindow2(ppDisp As Object, ...
  •  SendMessage 两个程序,一个Send,一个Receive,利用SendMessage函数实现两个程序窗口间的消息互发  代码中用到了StrUtils_Change1.bas模块,来自PSC,自已做了些许修改。主要是用到了wsprintf函数,对应于Win32...
  • CoderHelper 第5个测试版将是最后一个测试版本.该版本添加了VB开发多语言软件的支持工具,以及VB代码窗口中键滚动支持程序.在主模块,又添加了自动生成模块版权信息,方法说明信息自动生成等功能,添加了标签访问的...
  • VB6.0制作窗口切换、不能被拖动的窗口效果,双击显示窗体,不移动和改变窗口大小,这个窗口是不能被拖动的,窗口左上角的按钮,可改变窗口的显示状态,切换窗口显示的内容,包括侧边栏,程序在运行后最小化至托盘...
  • VB打开文件时,出现名称冲突

    千次阅读 2013-09-12 09:59:38
    今天一打开文件,出现了这问题,检查了下发现,frmCheckShangJiInfo,有C是大小写不一样的。我确定之后,又为窗体在属性窗口中,粘贴了遍窗体文件的名字,想把他们改成一样的,可是再打开窗体还是这样子。 ...
  • VB 对话框窗口的使用

    千次阅读 2011-07-04 12:39:52
    一、概述在 VB 编程有许多调用窗口和对话框的操作,但是 VB 自已内置的却非常的少,这里所说的"不常用"也就是说...二、通过 API 函数调用窗口的实用技巧如下:(1)打开文件的属性窗口图1,是一个文件的属性窗口,但
  • 快速选中全部工作表 右键单击工作窗口下面的工作表标签,在弹出的菜单选择“选定全部工作表”命令即可()。2. 快速启动Excel如果想在启动系统自动运行Excel,可以这样操作: 1.双击“我的电脑”图标,进入Windows...
  • 打开 VB6 并新建一个标准EXE程序,把窗口删掉,然后再加入一个模块。 在模块加入AllocConsole、FreeConsole、SetConsoleTitle、Sleep的API声明: Public Declare Function AllocConsole Lib "kernel32.dll" () ...
  • 教训:不要使用ACCESS数据库做这工作 提取与设置列宽度 Public Sub GetColumnWidth(ByVal TableName As String, ByVal LastColumn As Long, ByVal LV As ListView) Dim cn As New SqlConnection("Server=" ...
  • VB自动关闭网页广告窗口

    千次阅读 2007-09-24 09:51:00
    如果用鼠标一个个关闭,实在很麻烦。我经过观察分析,找到了解决的办法,可以让你的屏幕从此清爽起来。 网页广告分析: 1.弹出的广告窗口 网页弹出的广告窗口都是用JS或VBS编写的脚本程序,每个广告窗口都有...
  • 一个VB版网络通讯娱乐系统源代码,里面包括了网络视频播放、文件夹选择器、聊天程序窗口、网络节目搜索、服务器设置、打开文件等功能。该软件为IIS服务所作,用于收听由IIS所设置的网络广播电台,现在为1.0正式版本...
  • VB编程开发、学习有难题,关注跟我学VB!在VB中操作Word在日常的学习...例如,Document 对象代表了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容。...
  • VB将系统托盘移到新窗口显示的例子,选中此命令时,Windows固有的托盘图标将被移至一个窗口中显示,而系统托盘区就此消失,不过不要紧,只要你关闭新打开的托盘窗口,Windows托盘区会恢复正常。
  • 孙刚3级2008-06-03 回答有第3方控件shcokwaveflash(一) 在VB中播放Flash动画怎样... 打开VB6.0,新建一个工程,在工具箱上单击右键,选择Components…,在部件窗口的控件列表中选择Shockwave flash,然后确定,Fla...
  • 当我注销时,它要求我登录,而当我登录时,没有“发布您的回复”选项,无论如何,也许此网站上存在功能错误。... [FYI:我正在设计一个用户绘制的组合框,并且“ Slide Open Combo Boxs”窗口设...
  • Vb写的增强型剪切板程序,一个超强大的VB剪贴板管理器程序,可查看到被复制到剪贴板的图像,同时程序支持捕捉屏幕图像,也就是截图,可自定义热键,可定义剪贴夹。同时程序为了方便使用,还增加了一些辅助功能,...
  • 一个比较有趣的VB窗口程序,MDI子窗体从父窗体中移出,过程可逆,也可以迁入,只要你点击窗体的“移出”、“移入”按钮,就可完成操作,移出后,原来的子窗体就变为了一个单独的窗体,打开和关闭不会影响父窗体,...
  • Vb.net SolidWorks 二次开发 API ---在的窗口中嵌入eDrawing

    千次阅读 热门讨论 2020-04-24 14:47:53
    eDrawing是一个可以预览solidworks等多个格式的文件,从2019版本开始,edrawing还可以直接打开x_t step等第三方格式,支持直接预览操作,并且支持简单测量,以前是需要License的。
  • 将MyDll文件解压后把MyDll.dll与MyDll.lib一起拷入工程DEBUG目录(为保险起见DEBUG的外层目录也拷贝一份吧),另有一个VC++6的测试工程test_Dll,已经考入相应DLL和LIB文件,可直接编译运行,VB只拷贝MyDll.dll与...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 250
精华内容 100
关键字:

vb中打开一个窗口