
正文
windows获取进程句柄,根据进程id获取窗口句柄
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
已知某个窗口的句柄,如何获取拥有这个窗口的进程的句柄?
1、HANDLE WINAPI GetProcessHandleFromHwnd(HWND hwnd,);这个函数通过窗口句柄获得进程句柄。
2、首先新建一个程序。在程序里面画一个“按钮”、两个编辑框、两个标签,然后改成相应的名字好辨认。依次左键点击下图的:个作夹(没有点击的情况下才需要点击)程序 模块应用。
3、易语言如何取指定窗口句柄。如下参考:1.首先,创建一个新程序,如下图所示。2.在程序中绘制一个“按钮”,两个编辑框,两个标签,然后改变相应的名称来识别。
4、启动VS,新建C# WinForm项目,如图:怎么用C#获取指定窗口的句柄 引用Win32Api和MouseHook鼠标钩子类,详见参考资料。
5、首先,一个窗口的句柄根本不是固定的,所以用常量来表示一个窗口句柄是不合适的。VB的窗体都有一个名为hWnd的属性,这个属性里保存的就是这个窗口的句柄。
相关问答
Q1: 怎么查看windows进程关联句柄
)查看方法:打开 资源管理器(Ctrl+Shift+Esc)选择 性能 选项卡 点击右下角的 资源监视器 选择 概述 选项卡 选择 “磁盘”在“磁盘”下方弹出的列表中,第三列“文件”就是当前被进程打开的文件。
具体如下:打开火绒剑之后,我们可以看到很多关于当前系统进程的信息。选中任一进程之后,我们就可以查看该进程的句柄信息了。
在任务管理器中,点击“性能”标签,然后点击下方的“打开资源监视器”。在资源监视器的“CPU”标签下,点击“关联的句柄”或“关联的模块”搜索框,输入文件名或文件的一部分,系统会显示所有与这个文件相关的进程。
打开资源监视器。在开始搜索框中,键入“资源监视器”,按回车键打开 如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。在“资源监视器”对话框中,切换到“CPU”选项卡。
诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。
Q2: 怎么查看Windows进程/文件关联句柄
在资源监视器的“CPU”标签下,点击“关联的句柄”或“关联的模块”搜索框,输入文件名或文件的一部分,系统会显示所有与这个文件相关的进程。 关闭相关程序 一旦知道哪个程序正在使用文件,可以直接关闭那个程序来释放文件。
)查看方法:打开 资源管理器(Ctrl+Shift+Esc)选择 性能 选项卡 点击右下角的 资源监视器 选择 概述 选项卡 选择 “磁盘”在“磁盘”下方弹出的列表中,第三列“文件”就是当前被进程打开的文件。
具体如下:打开火绒剑之后,我们可以看到很多关于当前系统进程的信息。选中任一进程之后,我们就可以查看该进程的句柄信息了。
windows任务管理器,win7的话有一个性能选项,在下面有个资源监视器。
打开资源监视器。在开始搜索框中,键入“资源监视器”,按回车键打开 如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。在“资源监视器”对话框中,切换到“CPU”选项卡。
看下图,在“资源监视器”界面中,点击第二个选项卡“CPU”。在“关联的句柄”右侧搜索框内输入文件名称,点击右侧下拉箭头,就可以查看该文件被那几个程序占用了。选中程序,右击选择结束进程。现在就可以删除文件了。
Q3: 如何用WindowsAPI取得一个进程的所有线程句柄
解决此问题办法是:先枚举所有窗口句柄,然后取得对应的进程名称或PID,如果该进程或PID满足你的条件,则可以进行相应处理。
DWORD WINAPI SuspendThread( _In_ HANDLE hThread);需要传人线程句柄。这个句柄可以用 OpenThread 来打开指定 ID 的线程来得到,即结构体中的th32ThreadID。
HANDLE WINAPI GetProcessHandleFromHwnd(HWND hwnd,);这个函数通过窗口句柄获得进程句柄。
整体是用WINDOWS API findwindow 找到指定标题的窗口 如果这个窗口标题你不知道,那么一个一个遍历吧,或者枚举所有进程(进程名字你总是知道的吧?)然后在遍历整个进程中所有的窗口。
一旦有了句柄,则需要得到该进程的第一个模块。为此调用 EnumProcessModules() API:EnumProcessModules( hProcess, &hModule, sizeof(hModule), &cbReturned );调用之后,hModule 变量中保存的将是进程中的第一个模块。
Q4: 如何通过进程ID获取窗体句柄
1、所以,要想从PID反向查找对应的窗口不具有唯一性,并已经过实践证明,往这方面研究只能走入死胡同。解决此问题办法是:先枚举所有窗口句柄,然后取得对应的进程名称或PID,如果该进程或PID满足你的条件,则可以进行相应处理。
2、/// 获得拥有输入焦点的窗口的句柄 /// /// returns拥有焦点的那个窗口的句柄。
3、寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。
4、AutoIt论坛上有人写了个自定义函数的,可以试试:ProcessGetHWnd 参见下方链接。我把代码直接贴到你CSDN上的提问帖里了,可以去看一下。
关于windows获取进程句柄和根据进程id获取窗口句柄的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






