爱科伦
您现在的位置: 首页 > 大众知识

大众知识

findwindow,vb中API函数findwindow的详细用法?

清心 2024-06-14 19:01:02 大众知识

vb中API函数findwindow的详细用法?

寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题)返回值Long,找到窗口的句柄。如果你安装了VisualC++,你可以使用其中的Spy++(如果没有VC++,在VB的盘上也可以找到Spy),在Spy++中有一个FindWindow工具,它允许你使用鼠标选择窗口,然后Spy++会显示这个窗口的类。在Win32API中还有一个FindWindowEx,它非常适合寻找子窗口。FindWindow函数中得到的句柄作为参数,来获得进程标识符(ProcessId)。DeclareFunctionGetWindowThreadProcessIdLib"user32"_(ByValhwndAsLong,lpdwProcessIdAsLong)AsLong'OpenProcess(DesiredAccess,Inherit,ProcessId)-这个函数将返回个我们目标进程的句柄,可以用来对目标进行读写操作。

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

因为是子窗口,所以找不到。可以用EnumChildWindows来寻找。解决方法:在调用FindWindow函数的时候,应该第一个参数为空,第二个参数为窗口的标题名。classname是窗口在创建时的注册名称,不是源代码的类名,通常可以不指定,除非确切地知道。另外,vc自带一个spy++的工具,可以探查当前所有窗口的信息,包括注册类名。从上面的讨论中可以看出,如果要搜索的外部程序的窗口标题比较容易得到,问题是比较简单的。在调用findwindow时出错,问题是在userdll库文件中没有这个函数。解决办法建议:检查函数名称有没有写错,或者是否使用了缺省参数导致错误出现。findwindow函数是否是库函数,还是自己写在其他文件的函数,没有包含头文件。这里遇到的问题是:FindWindow()函数无法找到隐藏的Figure窗口句柄(显示情况下能找到)由于对Windows理解不够我无从下手。望高手指明方向。。。---解决方案---你用EnumWindow试试---解决方案---不管窗口有没有影藏,findwindow都能够找到它,如果它是顶级窗口并且没有经过特殊处理的话。

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

一般第一个参数可以设为NULL。第二个参数是关键。FindWindow(LPCTSTRIpClassName,LPCTSTRIpWindowName);参数:IpClassName:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低16位,高位必须为0。0&表示0的数据类型是长整型。lpWindowNameString,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为表示接收任何窗口标题注解很少要求同时按类与窗口名搜索。前面提到的VB的FindWindow()函数的声明将两个参数都定义为String类型,而在实际使用过程中,如果我们忽略某个参数就将该参数的定义又AsString改为AsAny。这里的AsAny相当于C语言中的强制类型转换。

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

如果是Unicode字符集,则FindWindow完全等同于FindWindowW,而FindWindowA此时与FindWindow完全是两个不同函数。也就是说,Windows中不存在名为FindWindow的函数,仅存在FindWindowA和FindWindowW。而FindWindow实际上是被定义的别名。EnumWindows枚举窗体另外,Win32API中还有一个FindWindowEx,它非常适合寻找子窗口。嗯,前面的程序先用SendMessage关闭了自己,所以不能关闭其它窗体。

FindWindow 找不到窗口

窗口标题不匹配:FindWindow()函数只能查找具有特定标题的窗口,如果标题不匹配或者拼写错误,则无法找到窗口句柄。窗口类名不匹配:FindWindow()函数只能查找具有特定类名的窗口,如果类名不匹配或者拼写错误,则无法找到窗口句柄。FindWindow函数是获取顶层窗口的函数,不能获取子窗口。findwindow找不到窗口可以用VC去实现进程间通讯。当数据量不大时可使用CopyData的方式:使用win32SDK的Findwindow或MFC的CWndFindWindow。可不可以把创建的隐藏窗口的窗口句柄(WindowHandle)hWnd传给VC,这样甚至用不到调用FindWindow()函数。根据MSDN,FindWindow()函数应当可以找到隐藏窗口。你找不到隐藏窗口,可能另有原因。查找到主窗口后,用FindWindowEx查找里面的子窗口,FindWindowEx找子窗口。通常它的第一个参数需要由FindWindow得来。

Qt菜鸟,求教 FindWindow用法

你可以直接到lib的site-packages下面的win32目录下,有一个demos。另外几个win32开头的目录里也有demos子目录。进去看他们写好的例子。这得看编程基础。qt是用C++做后台语言的,如果你会C++,那跟着教程走就行,如果每天几个小时,很快就把那套api弄熟了。

在本文中,我们为您提供了findwindow以及vb中API函数findwindow的详细用法?方面的知识,并希望能够帮助到您。如果您需要更多帮助,请查看我们网站上的其他文章。