c 获取本身程序窗口的标题

c 获取本身程序窗口的标题,第1张

findwindow 的两个参数是输入参数,所以不能解决问题。

如果你在自己程序中获取标题,你可以用 MFC

CWnd::GetWindowText

void GetWindowText( CString& rString ) const;

或API

int GetWindowText( HWND hWnd, LPTSTR lpString, int nMaxCount );

hWnd 用 NULL 或 this 试试。

程序以外参考下面方法列出所有窗口的szClass,和 标题,

对比 你要得程序名,若等于 szClass,则选中标题。

// 编译时,别忘了链接User32lib

#include<iostream>

#include <Windowsh>

#include <iomanip>

using namespace std;

int iCount=0;

BOOL CALLBACK EnumWindowProc(HWND hWnd, LPARAM lParam)

{

TCHAR szClass[256]={0};

TCHAR szWindow[256]={0};

::GetWindowText(hWnd, szWindow, 255);

::GetClassName(hWnd, szClass, 255);

if ( ::IsWindow(hWnd) &&

::IsWindowVisible(hWnd) &&

(::GetWindowLong(hWnd, GWL_EXSTYLE)&WS_EX_TOOLWINDOW)!

=WS_EX_TOOLWINDOW &&

::GetWindowLong(hWnd, GWL_HWNDPARENT)==0 )

{

int i=strlen(szClass);

cout << "["<< szClass <<setw(15-strlen(szClass))<< "] "<< szWindow << endl;

iCount++;

}

return TRUE;

}

/ main User32lib/

int main(int argc, char argv[])

{

EnumWindows(EnumWindowProc, NULL);

cout<<"Find "<< iCount << " windows"<<endl;

return 0;

}

要自动的话直接超级模块里的取句柄(进程)即可

但有些东西没办法进行自动,准只能靠匹配下标或者根据窗口的类型信息来获取如标题,类名,或者窗口所对的那个进程是什么

我这里举两个关于怎么取窗口的例子,我个人推荐是不要什么自动的,要人工前期获取,并后期绝对的方式来获取到

方法1,取所有窗口列表()这个易语言自带有,然后根据取这个窗口所对应的进程进行判断即可取得

方法2,枚举所有关于某进程名的进程pid,然后再枚举进程内所有父级窗口然后逐一进行筛选(根据事先使用彗星小助手等工具取得下标或窗口类名)匹配,得到窗口结果即可

版本 2

DLL命令 _取窗口进程ID, 整数型, , "GetWindowThreadProcessId", , user32dll获取与指定窗口关联在一起的一个线程和进程标识符

参数 窗口句柄, 整数型, , hwnd,指定窗口句柄

参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符

调用SystemDiagnostics;

Process[] process = ProcessGetProcesses();

foreach(Process p in process)

{

ConsoleWriteLine(pMainWindowTitleToString());

}

ConsoleReadLine();

它是一个子窗口,没有标题,每次登陆时类名就变了,怎么得到它的窗口句柄呢?用Findwindow没用啊!

你是什么语言??VB还是C++?

给你个VB CODE :

Function GetQQpath()

Dim ps, s '获取QQ进程所存在的路径

s = "qqexe"

For Each ps In GetObject("winmgmts:\\\root\cimv2:win32_process")instances_ '循环进程

If UCase(psName) = UCase(s) Then

Form1Label1Caption = psexecutablepath

GoTo q

End If

Next

q:

End Function

这个可以用知道进程名就可以知道程序路径了,原理很简单。自己摸索、

(针对新手: 结果显示在label1上面。否则会出现缺少对象)

以上就是关于c 获取本身程序窗口的标题全部的内容,包括:c 获取本身程序窗口的标题、易语言如何取进程的窗口标题、易语言怎么窗口句柄取得进程名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9775830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存