解决方案 »
- 请教下如何卸载进程的模块中和自己同名的那个EXE模块?
- vb中申明 Public Const gdblVrbDriveCurrent As Double = -10#中 ,“#“的作用?
- 用vb怎么控制数据导入到excel不显示为科学计数法格式!
- 统计问题帮忙看看
- 急!!!数组赋值
- 紧急求助,关于安装盘制作的问题
- 上海的朋友请进!!!!我有问题要问????
- 谁能帮帮我?向VB中的ACCESS数据库添加*.bmp图片。
- 如何播放资源文件文件中的声音?
- 有人知道vb与sqlserver2000数据库连接及开发的好书吗?推荐推荐,非常感谢!!!
- 最难的api
- Shell32.DLL API 大公开!
我要把这个外部程序窗口里的第一个Static隐藏掉
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPrivate Sub Command1_Click()
Dim mhwnd As Long
mhwnd = FindWindow("#32770", "关于 WinRAR")
Dim shwnd As Long
shwnd = FindWindowEx(mhwnd, 0, "Static", vbNullString)
ShowWindow shwnd, 0
End Sub上面我以winrar中的关于对话框为例
我要把这个外部程序窗口里的第一个Static隐藏掉
===================================================
用spy看看它有没有名字(标题),如果有就用findwindw/findwindowex或enumnwindows/enumnchildwindows巡行控件,比对标题和类名就可以确定是哪个句柄了
那个Static是没有标题的,我看过,至少有4个这样的东东(都没标题),但手工试下来,我肯定只有第一个是我要找的。
但如果目标程序里有动态生成控件之类的操作就难说了
有人提过用判断控件id的方法,如果这种方法成功就应该是最准确了,但我看到这个提议的时候电脑里已经没有vb了,不能测试,遗憾,有兴趣你可以试试,如果成功了麻烦告诉我一声。。
有关这方面的讨论,你可以参考一下我以前的一个帖子:
http://community.csdn.net/Expert/topic/4224/4224391.xml?temp=.3067896
或者判断控件的矩形位置RECT()