API函数之一:根据窗口标题查找窗口_FindWindowA

原创 2007年09月24日 00:02:00

Function Long FindWindowA(uLong lpClassName,ref string lpWindowName) Library "user32"
************************************************************************************
功能:根据窗口标题查找窗口
示例:
ulong l_handle
string ls_wname
ls_wname="<窗口标题>"//如,无标题---记事本
l_handle=FindWindowA(0,ls_wname)

*******************************************************example 1
Function Long PostMessage(Long hwnd,Long wMsg,Long wParam,Long lParam) Library "user32" Alias for "PostMessageA"
功能:向创建指定窗口的线索发送一条消息,便不等待线索处理该消息
示例:
ulong l_handle
boolean rtn
l_handle=handle(w_main)
//61472=最小化窗口;  61488=最大化窗口  61728=正常窗口
rtn=PostMessageA(l_handle,274,61472,0)

////////////////////////////////////////////////////////////////////////////////////////////example 2
For applications on Windows, the Handle function does not return a useful value when the previous flag is TRUE. You can use the FindWindowA Windows function to determine whether a Windows application is already running.
Declare FindWindowA as a global external function:

FUNCTION uint FindWindowA (long classname,  &

   string windowname) LIBRARY "user32.dll"

Then add code like the following to your application's open event:

uint  val

val = FindWindowA(0, "MyApp Main Window")

IF val > 0 THEN

   MessageBox("Application already running", &

   "MyApp is already running. You cannot &

      start it again")

   HALT CLOSE

ELSE

   open(w_main)

END IF
Handle = FindWindowA(nul,wtitle)
SetParent(handle,Handle(w_main))
//使Run程序窗口成为PB主程序的子窗口
/////////////////////////////////////////////////////////////////////////////////example 3

Long WM_CLOSE,hwnd,Mval
WM_CLOSE=16
hwnd=FindWindowA(0,cTitle)
if hwnd=0 then
 messagebox("系统提示","没有打开该应用程序!")
else
 Mval=PostMessage(hwnd,WM_CLOSE,0,0)
end if

 

API 查找窗体句柄、发送消息

//一个引用 using System.Runtime.InteropServices; //一些定义,放在例如public partial class Form1 : Form下 ...
  • oceanark
  • oceanark
  • 2016年07月13日 22:43
  • 767

Visual C++改变窗口标题的几种方法

一、单文档接口(SDI)类型窗口标题的改变    首先,我们来看Windows SDI类型窗口标题栏的结构形式。结合具体例子说明:用VC的AppWizard创建一个名为“SDITitle”的单文档类...
  • moqingxinai2008
  • moqingxinai2008
  • 2016年11月16日 20:19
  • 1493

动态修改窗口标题和类名

修改窗口标题字符串“无标题-Test”     修改前半部分   方法一:更改StringTable的IDR_MAINFRME的标题,将第一个\n之和第二个\n之间添加字符串fan为: Test...
  • u012786754
  • u012786754
  • 2014年06月08日 13:05
  • 3085

QT5 窗口标题显示中文

窗口标题显示中文
  • xiaoxiaozhu5
  • xiaoxiaozhu5
  • 2016年09月09日 22:42
  • 1354

如何设置窗口的标题栏里的标题【转】

MFC程序的默认的标题是“无标题-title”,其中title是应用程序的名称,我们应如何修改MFC窗口标题来符合自己的要求? MFC程序的文档类中定义了一个虚函数SetTitle,用于设置...
  • form88
  • form88
  • 2017年02月17日 17:19
  • 736

FindWindow寻找窗口列表中第一个符合指定条件的顶级窗口

FindWindow VB声明 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName A...
  • hutao1101175783
  • hutao1101175783
  • 2013年08月23日 21:57
  • 1574

OD修改窗口标题栏

1、打开OD,将  mytest.exe载入到OD中; 2、F8执行,当执行到call main时下断点用F2键。    3、重新Ctrl F2载入程序,F9执行到断点处断下。 4、F7载入,...
  • chenchong_219
  • chenchong_219
  • 2014年01月04日 00:15
  • 7496

修改MFC主窗口标题

参考   http://www.cnblogs.com/Romi/archive/2012/02/14/2351799.html 在VS2010下新建一个MFC的多文档应用程...
  • ruihaha
  • ruihaha
  • 2015年12月11日 17:33
  • 2581

关于WIN32 窗口信息的各种获取

一、当前鼠标点击位置的获取 首先拦截WM_LBUTTONDOWN消息,然后再用下面方法获取鼠标位置 方法一:(不建议使用) 在使用win32的一些特殊宏时,有必要注意一下宏的定义,例如: #defi...
  • harvic880925
  • harvic880925
  • 2013年07月10日 13:25
  • 6226

递归方式+FindWindow 遍历窗口句柄。查找已知句柄下的所有句柄。按节点方式保存

初入门,碍于使用句柄时遇到问题,便写的遍历句柄只法
  • ailong91
  • ailong91
  • 2017年03月11日 17:57
  • 629
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:API函数之一:根据窗口标题查找窗口_FindWindowA
举报原因:
原因补充:

(最多只允许输入30个字)