百度
360搜索
搜狗搜索

findwindow,Qt菜鸟,求教 FindWindow用法详细介绍

本文目录一览: vb中API函数findwindow的详细用法?

vb中FindWindow函数可以用来返回窗体的句柄。1、VB6.0中的API声明:Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long2、具体使用:dim i as longi=FindWindow(vbNullString,"窗体的标题")注意:这里的vbNullString是空的,没有任何字符,即不传递。和""空字符串是不一样的!3、例子:有一个标题名字是计算器的窗体或软件,获取这个计算器的句柄Option ExplicitPrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Sub Command1_Click() Dim i As Long i = FindWindow(vbNullString, "计算器") msgbox& i '显示窗体句柄End sub

findwindow用法

CWnd*
phwnd=FindWindow("CFindWindowFunDlg",NULL);
前面是类名,后面窗口名。或者用spy++确认一下类名是否正确。

FindWindow怎么用

Find Window的函数原型:
FindWindow(
lpClassName, {窗口的类名}
lpWindowName: PChar {窗口的标题}
): HWND; {返回窗口的句柄; 失败返回 0}
C语言测试代码(假如要查系统自带的 放大镜 窗口,前提是已经打开放大镜窗口):
HWND h = FindWindow(NULL, "放大镜");
if(0 == h)
{
ShowMessage("can't find 放大镜");
}
else
{
ShowMessage(IntToStr(h)); //查找到窗口,并且打印出该窗口的句柄
}

findwindowA 和findwindow 有什么区别?

findwindowA?
没有吧
是findwindowEx吧
FindWindow 能查找窗口句柄
FindWindowEx 不仅能查找窗口,还能查找指定窗口的控件句柄
Alias "FindWindowA"
表明findwindowA是findwindow的别名
#ifdef UNICODE
#define FindWindow FindWindowW
#else
#define FindWindow FindWindowA
#endif // !UNICODE
编译器会给程序指定当前字符集。
如果是ANSI字符集 则FindWindow完全等同于FindWindowA。
如果是Unicode字符集,则FindWindow完全等同于FindWindowW,而FindWindowA此时与FindWindow完全是两个不同函数。
也就是说,Windows中不存在名为FindWindow的函数,仅存在FindWindowA和FindWindowW。而FindWindow实际上是被定义的别名。

findwindow找不到中文窗口

解决方法:
在调用FindWindow函数的时候,应该第一个参数为空,第二个参数为窗口的标题名。classname是窗口在创建时的注册名称,不是源代码的类名,通常可以不指定,除非确切地知道。另外,vc自带一个spy++的工具,可以探查当前所有窗口的信息,包括注册类名。
FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串。这个函数有两个参数,第一个是要找的窗口的类,第二个是要找的窗口的标题。在搜索的时候不一定两者都知道,但至少要知道其中的一个。

C#中,findWindow函数怎么不能找到??

1.缺少declare,正确的描述如下
private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
2 declare的说明
Declare 语句

用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。
语法 1
[Public | Private] DeclareSubnameLib"libname" [Alias"aliasname"] [([arglist])]
语法 2
[Public | Private] DeclareFunctionnameLib"libname" [Alias"aliasname"] [([arglist])] [Astype]
Declare 语句的语法包含下面部分:
部分 描述
Public 可选的。用于声明对所有模块中的所有其它过程都可以使用的过程。
Private 可选的。用于声明只能在包含该声明的模块中使用的过程。
Sub 可选的(但Sub 或 Function 二者需选其一)。表示该过程没有返回值。
Function 可选的(但Sub 或 Function 二者需选其一)。表示该过程会返回一个可用于表达式的值。
name 必需的。任何合法的过程名。注意动态链接库的入口处(entry points)区分大小写。
Lib 必需的。指明包含所声明过程的动态链接库或代码资源。所有声明都需要Lib 子句。
libname 必需的。包含所声明的过程动态链接库名或代码资源名。
Alias 可选的。表示将被调用的过程在动态链接库 (DLL)
中还有另外的名称。当外部过程名与某个关键字重名时,就可以使用这个参数。当动态链接库的过程与同一范围内的公用变量、常数或任何其它过程的名称相同时,也可以使用
Alias。如果该动态链接库过程中的某个字符不符合动态链接库的命名约定时,也可以使用 Alias。
aliasname 可选的。动态链接库或代码资源中的过程名。如果首字符不是数字符号 (#),则
aliasname 是动态链接库中该过程的入口处的名称。如果首字符是
(#),则随后的字符必须指定该过程的入口处的顺序号。
arglist 可选的。代表调用该过程时需要传递的参数的变量表。
type 可选的。Function 过程返回值的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)或 Variant,用户定义类型,或对象类型。
arglist 参数的语法以及语法各个部分如下:
[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [Astype]
在 C# 中使用 FindWindow() 函数时,有可能会找不到窗口。这可能是由于以下几个原因导致的:
窗口句柄不存在: FindWindow() 函数只能查找已经存在的窗口,如果窗口不存在或已经关闭,则无法找到窗口句柄。
窗口标题不匹配: FindWindow() 函数只能查找具有特定标题的窗口,如果标题不匹配或者拼写错误,则无法找到窗口句柄。
窗口类名不匹配: FindWindow() 函数只能查找具有特定类名的窗口,如果类名不匹配或者拼写错误,则无法找到窗口句柄。
窗口不在当前桌面: FindWindow() 函数只能查找在当前桌面的窗口,如果窗口在其他桌面或者运行在其他用户账户中,则无法找到窗口句柄。
如果你确定窗口已经存在,可以尝试使用其他方法,比如 EnumWindows 函数来枚举所有窗口,再找到你需要的窗口。

C语言FindWindow和SetFocus的问题

FindWindow返回HWND类型的句柄。在MSDN上关于SetFocus函数的介绍,其中有一句很关键“该窗口必须与调用线程的消息队列相关。”意思就是说在窗口线程中才可以对这个窗口SetFocus(),估计你是别的线程中对查找到的窗口,然后使用SetFocus,所以失败了。
SetFocus函数的说明:
函数功能:该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。
函数原型:HWND
SetFocus(HWND
hWnd)。
参数:
hWnd:接收键盘输入的窗口指针。若该参数为NULL,则击键被忽略。
返回值:若函数调用成功,则返回原先拥有键盘焦点的窗口句柄。若hWnd参数无效或窗口未与调用线程的消息队列相关,则返回值为NULL。若想要获得更多错误信息,可以调用GetLastError函数。
FindWindow返回HWND类型的句柄。在MSDN上关于SetFocus函数的介绍,其中有一句很关键“该窗口必须与调用线程的消息队列相关。”意思就是说在窗口线程中才可以对这个窗口SetFocus(),估计你是别的线程中对查找到的窗口,然后使用SetFocus,所以失败了。
SetFocus函数的说明:
函数功能:该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。
函数原型:HWND
SetFocus(HWND
hWnd)。
参数:
hWnd:接收键盘输入的窗口指针。若该参数为NULL,则击键被忽略。
返回值:若函数调用成功,则返回原先拥有键盘焦点的窗口句柄。若hWnd参数无效或窗口未与调用线程的消息队列相关,则返回值为NULL。若想要获得更多错误信息,可以调用GetLastError函数。
1.函数说明:findwindow,win32
api函数。
findwindow函数返回与指定字符串相匹配的窗口类名或窗口名的最顶层窗口的窗口句柄。这个函数不会查找子窗口。
2.函数原型:
hwnd
findwindow(
lpctstr
lpclassname,
lpctstr
lpwindowname
);3.参数说明:
lpclassname
指向一个以null结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子。如果这个参数是一个原子,那么它必须是一个在调用此函数前已经通过globaladdatom函数创建好的全局原子。这个原子(一个16bit的值),必须被放置在lpclassname的低位字节中,lpclassname的高位字节置零。
lpwindowname
指向一个以null结尾的、用来指定窗口名(即窗口标题)的字符串。如果此参数为null,则匹配所有窗口名。
4返回值:
如果函数执行成功,则返回值是拥有指定窗口类名或窗口名的窗口的句柄。
如果函数执行失败,则返回值为
null
。可以通过调用getlasterror函数获得更加详细的错误信息。5.使用示例:hwnd
hwndrcv
=
::findwindow(null,"123");if(hwndrcv
!=
null){
afxmessagebox("找到123窗口");}

阅读更多 >>>  vb程序设计烟花代码,VB编程水仙花数

C语言中的findwindow()函数参数是什么?

比如 FindWindow(NULL,"WinLIRC");
就是查找你当前所开窗口中,是否有窗口名称为 WinLIRC;
如果有就会返回这个窗口的句柄,如果没有就是INVALID_HANDLE_VALUE。
一般第一个参数可以设为NULL。第二个参数是关键。
1.函数说明:FindWindow,Win32 API函数。
FindWindow函数返回与指定字符串相匹配的窗口类名或窗口名的最顶层窗口的窗口句柄。这个函数不会查找子窗口。
2.函数原型:
HWND FindWindow( LPCTSTR lpClassName,
LPCTSTR lpWindowName
);3.参数说明:
lpClassName
指向一个以null结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子。如果这个参数是一个原子,那么它必须是一个在调用此函数前已经通过GlobalAddAtom函数创建好的全局原子。这个原子(一个16bit的值),必须被放置在lpClassName的低位字节中,lpClassName的高位字节置零。
lpWindowName
指向一个以null结尾的、用来指定窗口名(即窗口标题)的字符串。如果此参数为NULL,则匹配所有窗口名。
4返回值:
如果函数执行成功,则返回值是拥有指定窗口类名或窗口名的窗口的句柄。
如果函数执行失败,则返回值为 NULL 。可以通过调用GetLastError函数获得更加详细的错误信息。5.使用示例:HWND hWndRcv = ::FindWindow(NULL,"123");if(hWndRcv != NULL){ AfxMessageBox("找到123窗口");}

FindWindow和FindWindowEX到底有什么区别,EnumWindows

查找到主窗口后,用FindWindowEx查找里面的子窗口,FindWindowEx找子窗口。通常它的第一个参数需要由FindWindow得来。
简单的说:FindWindow 能查找窗口句柄
FindWindowEx 不仅能查找窗口,还能查找指定窗口的控件句柄
EnumWindows可以枚举窗口,可以把所有窗口都枚举出来,不需要知道窗口的内容~~ FindWindow,则需要知道窗口的标题,或是窗口的名字。

Qt菜鸟,求教 FindWindow用法

函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。函数型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);参数:IpClassName :指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低 16位,高位必须为 0。IpWindowName:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为空,则为所有窗口全匹配。返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄;如果函数失败,返回值为NULL。 C#中使用该函数首先导入命名空间:
using System.Runtime.InteropServices;然后写API引用部分的代码,放入 class 内部
[DllImport("user32.dll", EntryPoint = "FindWindow")] private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);这个函数有两个参数,第一个是要找的窗口的类,第二个是要找的窗口的标题。在搜索的时候不一定两者都知道,但至少要知道其中的一个。有的窗口的标题是比较容易得到的,如"计算器",所以搜索时应使用标题进行搜索。但有的软件的标题不是固定的,如"记事本",如果打开的文件不同,窗口标题也不同,这时使用窗口类搜索就比较方便。如果找到了满足条件的窗口,这个函数返回该窗口的句柄,否则返回0。

网站数据信息

"findwindow,Qt菜鸟,求教 FindWindow用法"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:findwindow,Qt菜鸟,求教 FindWindow用法的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!