WinAPI: GetClassName - 获取指定窗口的类名

WinAPI: GetClassName - 获取指定窗口的类名
//声明:
GetClassName(
  hWnd: HWND;         {指定窗口句柄}
  lpClassName: PChar; {缓冲区}
  nMaxCount: Integer  {缓冲区大小}
): Integer;           {返回类名大小; 失败返回 0}
--------------------------------------------------------------------------------  

//测试1: 新建一个工程, 主窗口的类名默认是 TForm1, 用程序获取一下看看
var
  ps: array[0..254] of Char;
begin
  GetClassName(Handle, ps, 255);
  ShowMessage(ps); {TForm1}
end;
--------------------------------------------------------------------------------  

//测试2: 看看 "计算器" 窗口的类名(先启动计算器)
var
  h: HWND;
  ps: array[0..254] of Char;
begin
  h := FindWindow(nil, ‘计算器‘); {这句是获取计算器窗口的句柄}
  GetClassName(h, ps, 255);
  ShowMessage(ps); {SciCalc}
end;
--------------------------------------------------------------------------------  

//测试3: 看看记事本窗口的类名(先重新启动记事本):
var
  h: HWND;
  ps: array[0..254] of Char;
begin
  h := FindWindow(nil, ‘无标题 - 记事本‘); {这句是获取记事本窗口的句柄}
  GetClassName(h, ps, 255);
  ShowMessage(ps); {Notepad}
end;

  

时间: 2024-10-07 02:48:26

WinAPI: GetClassName - 获取指定窗口的类名的相关文章

获取指定窗口内的文本

如何编程实现获取另一个程序里文本控件的内容? 除去利用Debug API调试程序下断点之类比较复杂的方法,我们还可以利用API函数轻松实现这样的功能. 1.定义这样的结构体存放进程信息 struct ProcessWindow { DWORD dwProcessId; HWND hwndWindow; }; 2.创建进程 //创建进程 if ( !CreateProcess( FileName,NULL,NULL,NULL,FALSE, 0,NULL,WorkPath,&si,&pi )

[WinApi] C#获取其他窗口文本框内容

声明部分: const int WM_GETTEXT = 0x000D; const int WM_GETTEXTLENGTH = 0x000E; [DllImport("user32.dll", EntryPoint = "SendMessageA")] public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, Byte[] lParam); [DllImport("u

实现:获取指定窗口句柄小工具

对话框头文件中 HICON m_hIcon; HCURSOR mCursor; //定义鼠标 RECT rect; //定义鼠标形状 HWND hDest; //获得的目标句柄 BOOL CMy9Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); .... mCursor = LoadCursor(NULL, IDC_SIZEALL); //默认带有箭头 GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);

改动Dialog窗口的类名

?? VS2013 的MFC project(project名: MobileLink).想要改动窗口的类名时,发现不是像设置窗口名一样调用一个函数能够实现的. 实现的注意问题,请看凝视. (1) 改动窗口资源 RC 文件: // // Dialog // IDD_MOBILELINK_DIALOG DIALOGEX 0, 0, 320, 200 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_

Spy++获取子窗口的句柄

http://blog.csdn.net/pipisorry/article/details/46559139 问题: 如果要搜索的外部程序的窗口标题比较容易得到[],问题是比较简单的.如果窗口的标题不固定或者根本就没有标题,怎么得到窗口的类呢? Introduction Spy++是微软出品的用来获取Window窗口信息的一个小工具.Spy++中,最常用的一个功能,就是识别窗口.获取当前鼠标位置: 获取位于指定位置的窗口句柄: 获取窗口类别: 获取窗口内容或标题. Spy++ (SPYXX.E

VC++ 模拟"CLICK事件"关闭指定窗口

今天修改一个工具时遇到一个有意思的问题,打开某个窗口时弹出一些不相关的窗口,需要用户自己去手动点击后才能继续,保证不了自动处理,现在讲解决方式记录一下,如下 主要使用windows提供的FindWindow和FindWindowEx,参考代码如下 wchar_t szClassName[256]; //用于记录窗口标题 StringCchPrintf(szClassName, 256, L"Client%02d - VMCalc", m_Index + 1); HWND hwndDlg

MFC获取各个窗口(体)之间的指针(对象)

MFC在很多的对话框操作中,我们经常要用到在一个对话框中调用另一个对话框的函数或变量.可以用如下方法来解决. HWND hWnd=::FindWindow(NULL,_T("Sphere"));      //得到对话框的句柄 C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd); //由句柄得到对话框的对象指针 pWnd->xxx( );   //调用C***Dialog中的函数xxx(); 以上参考:http:

获取指定包名下继承或者实现某接口的所有类(扫描文件目录和所有jar)

import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.net.JarURLConnection; import java.net.URL; import java.net.URLDecoder; import java.util.Enumeration; import java.util.Iterator; import java.util.LinkedHashSet; im

解析jquery获取父窗口的元素

("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID"): 取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);类似的,取其它窗口的方法大同小异$(sele