man16181 发表于 2008-8-28 09:47:06

QTP调用系统user32.dll —FindWindow


用QTP调用自己写的DLL失败,不顺利。
       现在来调用 Windows 自带的,代码如下:
       Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString //声明 FindWindow 方法
       Extern.Declare micLong, "SetWindowText", "user32.dll", "SetWindowTextA", micHwnd, MicString '声明 SetWindowText 方法
       hwnd = Extern.FindWindow( "notepad","无标题 - 记事本") '获取记事本窗口的 HWND
       if hwnd = 0 then
       MsgBox "找不到指定窗口"
       else
       msgboxhwnd
       res = Extern.SetWindowText(hwnd, "Set Title") '在此也可看出SetWindowText的用法了 '更改记事本窗口的标题
       end if

       FindWindow函数用于查找窗体
       函数原型
       HWND FindWindow(
       LPCTSTR lpClassName, // pointer to class name
       LPCTSTR lpWindowName // pointer to window name
       );

       lpWindowName是要查找窗体的标题,即这里的“无标题 - 记事本”。
       如果找到窗体函数返回该窗体的句柄;如果找不到,函数返回空值或者零 。
       句柄和窗口标题,若只知其中之一,""要用vbNullString表示

hsjzfling 发表于 2008-8-28 10:45:03

在帮助中输入Extern Object,点Declare Method,例子全都有了~

man16181 发表于 2008-8-28 11:55:47

http://www.51testing.com/?209938我的博客开通了,大家一定要常来呦~

heqingbluesky 发表于 2008-8-28 15:02:06

学习一下,在实践一下。
页: [1]
查看完整版本: QTP调用系统user32.dll —FindWindow