问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb窗体或控件如何在一个已运行的程序上定位

发布网友 发布时间:2024-07-16 00:42

我来回答

6个回答

热心网友 时间:2024-07-19 16:36

很简单,等下给你

这个最主要的就是要找到那个窗口的位置跟大小,然后移动自己到相应位置

代码如下:

Option Explicit

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long

Dim rRct As RECT

Function cmdGetClass(exeTitle As String) As Boolean
If exeTitle = "" Then cmdGetClass = False: Exit Function
Dim lngHand As Long
Dim strName As String * 255
Dim lngProcID As Long

lngHand = FindWindow(vbNullString, exeTitle)

GetClassName lngHand, strName, Len(strName)

If Left$(strName, 1) = vbNullChar Then
cmdGetClass = False
Else
GetWindowThreadProcessId lngHand, lngProcID
GetWindowRect lngHand, rRct

cmdGetClass = True
End If
End Function

Private Sub Command1_Click()
Dim sCaption As String '要找的窗口的标题
sCaption = "我的电脑"
If cmdGetClass(sCaption) Then
Me.Move rRct.Left * Screen.TwipsPerPixelX, rRct.Top * Screen.TwipsPerPixelY, (rRct.Right - rRct.Left) * Screen.TwipsPerPixelX, (rRct.Bottom - rRct.Top) * Screen.TwipsPerPixelY

End If
End Sub

热心网友 时间:2024-07-19 16:35

建一个Timer1,打开一个记事本。其他要求可细谈。
代码如下。
================
Private Const HWND_TOPMOST = -1
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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

Private Sub Form_Load()
Timer1.Interval = 50
End Sub

Private Sub Timer1_Timer()
Dim h As Long, r As RECT
h = FindWindow("notepad", vbNullString)
GetWindowRect h, r
SetWindowPos hwnd, HWND_TOPMOST, r.Left, r.Top, r.Right - r.Left, r.Bottom - r.Top, 0
End Sub

热心网友 时间:2024-07-19 16:37

这个恐怕难吧,比判断一个外部程序是否运行都还难哟!
期待高手解决!

热心网友 时间:2024-07-19 16:39

用setparent函数,把程序的某个控件设置为目标窗口下的子窗口,可以做到这一点。

热心网友 时间:2024-07-19 16:39

分低了点吧,兄弟!高手是不会帮你解决这样的问题的,不过别人心情好,也说不一定

热心网友 时间:2024-07-19 16:32

你的要求和你的分差距太多,高手一般懒的弄的
VB,如何调用某个已经打开的程序窗口?

可以使用vb里面的AppActivate 语句来激活某个已经打开的程序窗口,语句如下:AppActivate title[, wait]参数 title 必需的。字符串表达式,所要激活的应用程序窗口的标题。可以使用 Shell 函数返回的任务识别码来替换 title,以激活应用程序。wait 可选的。Boolean 值,说明在激活另一个应用程序之前调用...

vb窗体位置的控制

4.运行窗体,查看窗体运行期的实际位置和大小与设计期的位置和大小是否一致,这是肯定的。如前所述,窗体的位置除用属性框中的属性设置之外,同样可以通过编程的方法来加以控制,以下我们通过编制一个程序来控制窗体在屏幕中的位置。例1.6在例1.1创建的工程中,并通过编程的方法,使窗体Form1在运行期...

如何用vb编个程序…打开按钮链接到一个网页上的某个位置…

1、先在程序工程中添加 WebBrowser控件 “工程”->"部件"->找到"Microsoft Internet Controls" 选择->"确定"2、在窗体中添加 WebBrowser 控件,并根据 Form窗体的大小放大 WebBrowser可见区域 3、增加一个按扭Command1 在Command1_Click() 事件中添加如下程序 Private Sub Command1_Click() WebBrow...

vb 如何快速检测某进程是否正在运行?并且获得这个进程所在的路径呢...

1、用FindWindow函数得到已经运行窗体的句柄(HWND),然后用SetActiveWindow等API函数将其激活。其缺点也很明显,那就是没法传递参数。2、用FindWindow函数得到已运行窗体的句柄后用SendMessage的方法给窗体传送一个自定义消息(附带参数),然后在窗体中拦截并进行处理,但这样做要修改窗体的标准消息处理程...

VB6.0中让控件随着窗体的改变而改变在窗体上的位置

以command1控件为例 Private Sub Form_Load()Command1.Left = (Screen.Width - Command1.Width) / 2 Command1.Top = (Screen.Height - Command1.Height) / 2 End Sub 或者想确定在form里的位置,可以把screen改为form

vb做了一个程序,在另一台电脑上显示控件未注册。

可以在你的VB程序罪开始加入这么一条指令 shell "regsvr32 /s " & app.path & "\你的控件名称"例如你用的控件叫 a.ocx,那么就改成 shell "regsvr32 /s " & app.path & "\a.ocx"然后把那个控件和生成的EXE一起发过去,就会在运行后自动注册 ...

vb如何在程序中用第一个窗体的控件启动另一个窗体,如用Form1中的cmd1...

Private Sub cmd1_Click()Form2.Show End Sub 关闭是Form2.close

VB中,怎样编写代码,当单机一个命令按钮事,使窗体移动到屏幕的左上角

VB 功能强大,学习简单。而且,VB 还引入了“控件”的概念,使得大量已经编好的 VB 程序可以被我们直接拿来使用。2002年开始,微软将.NET Framework与 Visual Basic 结合而成为 Visual Basic .NET (vb .net),重新打造 VB,新增许多特性及语法,又将 VB 推向一个新的高度。最新版本 Visual Basic ...

VB中怎么在运行时将一个窗体中的控件粘贴在另一个窗体中

含有treeview控件的窗体包含另一个窗体的引用,选择子节点后,对引用窗体做修改。

VB编译生成.exe后在另一台没装VB的机器上不能运行

编译的程序是需要运行库的 要想把程序移植到其他电脑上 必须经过打包 VB的打包过程是:(1)打开VB6.0 IDE,加载你的工程,单击“外接程序”菜单下的“外接程序管理器”。(2)在弹出的窗体中选择“打包和展开向导”(最后一项),在加载行为中选择“加载/卸载”,确定。(3)再次单击“外接程序”菜单项...

vb中如何在窗体中添加控件 一个vb窗体可以包含几个独立控件 vb中窗体上所有控件的键盘事件 vb中多个窗体如何运行 如何在窗体中添加标签控件 窗体和控件是vb中的对象吗 vb如何用代码设置控件的属性 vb控件随窗体大小变化而变化 vb怎样自动读取窗体所有控件属性
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果13如何微信长截图或滚动截屏 如何将PS中图片模糊文字(位图)转换为AI的高清矢量图和CDR文件相关编辑... 我用花呗买东西,后面把花呗钱还了,然后又退款了,怎么办? ...宝给我往没绑定银行卡里转钱怎么让支付宝给扣除了呢? 广东石湾陶瓷博物馆特色 中国建筑陶瓷博物馆博物馆简介 景德镇陶瓷博物馆景德镇陶瓷馆简介 太平洋金佑人生是什么险种,保障什么 在一道没有余数的除法算式里被除数与除数的和是168商是十一除数和被除数... 在一道除法算式里、被除数、除数、商和余数的四个数的和是213,余数是... HAND ROLLlNG TOBACCO是啥意思 侠盗猎车圣安地列斯如何修改车重量? 胡萝卜切菱形怎么切胡萝卜切菱形方法 安徽省阜阳市颍州区水电费是多少钱? 空调外机多久清洗一次 空调外机多长相时间清洗一次 天福茶学院图书馆简介 知道漳州漳浦天福茶职业技术学院的Q群么? 天福茶职业技术学院专业设置 实干笃行是一种价值观和行为准则吗? 漳州天福茶业有限公司电话是多少? 天福茶学院学院简介 Excel如何取消表格样式的套用excel如何取消表格样式的套用功能_百度知 ... excel表格怎么取消单元格横竖变色? There's a guy like me in every state and federal prison in America... excel样式填充怎么取消呢? 怎样在excel表格中取消表格样式怎样在excel表格中取消表格样式显示 全盈生鲜超市内勤算术嘛 肇东全盈生鲜谁开的 主力净流出是什么意思? 谁能给我弄篇Internet的发展史与对个人或当今社会的影响,要用英文... VB中如何实现在另外的窗口中点击或者按下快捷键的问题 求VB高手做个模糊查找窗口句柄 在VB中,如何通过FindWindow查找已知标题中的一部分文字的窗口的句柄... 一花独放的读音,是什么意思?词语解释及出处 小米手机怎么样找回定位 Pe内怎么看内存大小 佳能ts3380打印机怎么加墨 映泰b85mg+I3CPU加什么独立显卡好 空中秋千简介 ...星巴克被判赔10万美元,有哪些天价赔偿消费者... 12123早上几点可以使用? 解除劳动合同工伤如何赔偿多少钱? 2016SIHH女表新品品鉴 各大品牌百花齐放 垫下巴五天可以吃粉条吗 在word中工具栏是英文的怎么变成中文word工具栏是英文怎么转换成... 微软的office word、excel、ppt工具栏的插入、视图、数据变成了英文显示... 有一首歌是电影“渴望”里的歌,歌词是茫茫大海到处在寻找,歌名是什么... ...假冒伪劣产品应用法律若干问题的规定是什么? 暑假,亮亮和晶晶去游泳,亮亮4天一次,晶晶6天一次6月30日两人同时去什么... 2023年豆瓣热门乡土小说TOP10