重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Visual Basic .NET 中 App 对象的更改
成都创新互联公司专注于企业成都全网营销推广、网站重做改版、随州网站定制设计、自适应品牌网站建设、H5开发、商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为随州等各大城市提供网站开发制作服务。
在 Visual Basic 6.0 中,App 对象是用于设置或检索应用程序信息的全局对象。Visual Basic .NET 中没有 App 对象的直接等效项;然而它的大部分属性可以映射为 .NET Framework 中的等效属性。在 Visual Basic 6.0 中,App 对象是用于设置或检索应用程序信息的全局对象。Visual Basic .NET 中没有 App 对象的直接等效项;然而它的大部分属性可以映射为 .NET Framework 中的等效属性。
VB6.0 App.HInstance 在VB.net中的表达参考以下内容:
System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly.GetModules()(0)).ToInt32
先找到窗口的句柄,再来查找按钮的句柄,如果按钮有文本内容,那就好办,如果没有,那建议你利用SPY++先来察看一下按钮的类型,以此类型为查找参数多次调用FindWindowEx来查找,直到找到的的句柄和Spy++相同,那么这个按钮就找到了。
按钮类名同样,但是你去遍历的时候它的次序始终是固定的。通过id不可靠,有些有id但是有些id是0。
clswindow类,里面有个函数etElementHwndByClassName,可以得到指定的次序按钮。加入你要处理的按钮是在第二个次序,类名为Button,那么就用:GetElementHwndByClassName("Button",2),即可,
具体代码:
Private Sub Command6_Click()
Dim w As New clsWindow
Dim i%
If w.GetWindowHwndByTitleEx("自动化操作框架") 0 Then
i = i + 1
Do While w.GetElementHwndByClassName("ThunderCommandButton", i) 0'按次序遍历
MsgBox w.GetElementHwndByClassName("ThunderCommandButton", i)'得到当前次序按钮的句柄
w.SetElementTextByClassName "ThunderCommandButton", "次序" i, i'设置按钮文本
i = i + 1
Loop
End If
End Sub
比如下面的代码:Private Sub Command1_Click()
Dim x As Long
x = Shell("1.exe")
Label1.Caption = Str(x)
End Sub运行了1.exe并且在label标签上显示了该程序的句柄
一般是用钩子程序的。
比较复杂,只能说个大体思路,要花最少30分钟。分太少了。
API函数的声明就不说了。
先用findwindow找到窗体,用GetWindow和GetClassName获得其窗体内各对象的句柄,从而可以获得文本框的句柄。
最后用SendMessage函数想文本框发送文本。
tWnd = FindWindow(vbNullString, "窗口名")可以获得外部程序窗口的句柄twnd
bwnd = GetWindow(tWnd, GW_CHILD)可以获得该窗口子对象的集合句柄bwnd
Do Until bwnd = 0
GetClassName bwnd, sSave, 250
If InStr(1, UCase(sSave), "EDIT", vbTextCompare) 0 Then
editwnd = bwnd
Exit Do
End If
bwnd = GetWindow(bwnd, GW_HWNDNEXT)
Loop
以上代码可以读到该窗口中的第一个文本框的句柄editwnd
SendMessage editwnd, WM_SETTEXT, 6, "王小明"
以上代码向editwnd中写入“王小明”,6表示其长度。该方法写入时,文本框中原有内容全部覆盖。
网页中的按钮没有句柄可言,只有控件id,你想要的到底是什么,找到按钮模拟点击按钮?
找到按钮不难,查找input,id是那个按钮的话就用DOM获取到,然后发送.click方法
也可以用附加js脚本的方式来实现点击那个按钮,js脚本里实现获取那个按钮并点击
Dim hwnd0 As Integer
Dim hwnd11 As Integer
第二个是你要生成EXE后 运行EXE
第三就是没好像没有文本框控件