用C#获取当前屏幕上主窗体(就是当前操作的窗口,不知道是不是叫主窗体)句柄,通过句柄获取窗体对象,再遍历窗体对象中的控件,返回文本框中的值,并保存到记事本中。还有就是,我要做这个应该是建立windows窗体应用程序还是 控制台应用程序? 新手初学 望见谅。谢谢
不是当前屏幕的主窗口 是某一窗口,就是QQ的个人资料那个窗口。
C#获取当前窗体句柄及该窗体里的信息
答案:3 悬赏:70 手机版
解决时间 2021-03-21 07:49
- 提问者网友:温柔港
- 2021-03-21 04:42
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-03-21 06:06
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的程序设计。
参考资料来源:百度百科-句柄
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的程序设计。
参考资料来源:百度百科-句柄
全部回答
- 1楼网友:洒脱疯子
- 2021-03-21 07:29
这个是建立windows窗体应用程序哈,这个可以新建一个form(就是窗体)然后点击主窗体的特定地方出现这个窗体,这里注意的是你要像QQ一样的话,这里就需要两个窗体都要同时显示出来。
- 2楼网友:渡鹤影
- 2021-03-21 06:19
你是想进程注入是吧?这个跟外 G程序很像啊。。还需要用到几个工具呢 ,这个得借助一些内存调试工具才能搞定。至于句柄你可以用VS里自带的工具Spy++去获取,很方便简单,你要是想在内存里动态获取窗体句柄并且读出信息的话也可以调研windows API去实现这个功能,但是可不是你想的那么简单的,要获取窗体句柄,然后获取窗体上控件(就是你想得到的文字信息的承载控件)的句柄,然后读出信息,读出的信息不知道是否加密,如果加密了还要解密(要是加密了我看你还是放弃吧,因为有破解加密算法的能力的话随便破解个腾讯的加密算法就能卖个几十万到几百万的)
PS:用API获取窗体句柄的函数是
FindWindow或者FindWindowEx
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯