|
用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
msgbox hwnd
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表示
|
|