C#获取当前窗体句柄及该窗体里的信息

2024-12-23 14:36:12
推荐回答(3个)
回答1:

C#获取当前窗体句柄及该窗体里的信息可以参考以下的代码:

FindWindow(

lpClassName, {窗口的类名}

lpWindowName: PChar {窗口的标题}

): HWND; {返回窗口的句柄; 失败返回 0}

//FindWindowEx 比 FindWindow 多出两个句柄参数:

FindWindowEx(

Parent: HWND; {要查找子窗口的父窗口句柄}

Child: HWND; {子窗口句柄}

ClassName: PChar; {}

WindowName: PChar {}

): HWND;

扩展资料:

句柄语句

HINSTANCE hInstance;

可以改成:

HANDLE hInstance;

上面的2条语句都是对的,表达的是一个意义.

一个WINDOWS应用程序可以用不同的方法获得一个特定项的句柄。许多API函数,诸如CreateWindow,GlobalAlloc,OpenFile的返回值都是一个句柄值。

另外,WINDOWS也能通过应用程序的引出函数将一个句柄作为参数传送给应用程序,应用程序一旦获得了一个确定项的句柄,便可在WINDOWS环境下的任何地方对这个句柄进行操作。其实句柄的大量使用已经影响到了每一个WINDOWS的程序设计。

参考资料来源:百度百科-句柄

回答2:

这个是建立windows窗体应用程序哈,这个可以新建一个form(就是窗体)然后点击主窗体的特定地方出现这个窗体,这里注意的是你要像QQ一样的话,这里就需要两个窗体都要同时显示出来。

回答3:

你是想进程注入是吧?这个跟外 G程序很像啊。。还需要用到几个工具呢 ,这个得借助一些内存调试工具才能搞定。至于句柄你可以用VS里自带的工具Spy++去获取,很方便简单,你要是想在内存里动态获取窗体句柄并且读出信息的话也可以调研windows API去实现这个功能,但是可不是你想的那么简单的,要获取窗体句柄,然后获取窗体上控件(就是你想得到的文字信息的承载控件)的句柄,然后读出信息,读出的信息不知道是否加密,如果加密了还要解密(要是加密了我看你还是放弃吧,因为有破解加密算法的能力的话随便破解个腾讯的加密算法就能卖个几十万到几百万的)
PS:用API获取窗体句柄的函数是
FindWindow或者FindWindowEx