社区
Windows SDK/API
帖子详情
在知道进程句柄时,能否获得其进程号(进程ID)?
myghost9
2003-08-07 10:38:10
在知道进程句柄时,能否获得其进程号(进程ID)?
...全文
45
5
打赏
收藏
在知道进程句柄时,能否获得其进程号(进程ID)?
在知道进程句柄时,能否获得其进程号(进程ID)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
myghost9
2003-08-09
打赏
举报
回复
zihan(子寒):
好象同一个进程,两次用openprocess打开他们的进程句柄应该不同。
http://www.aslike.net这个网站打不开
GetWindowThreadProcessId只能获得当前进程的进程号
Atomictry
2003-08-08
打赏
举报
回复
或者GetCurrentThreadId();
Atomictry
2003-08-08
打赏
举报
回复
GetWindowThreadProcessId(
HWND hWnd, // handle of window
LPDWORD lpdwProcessId);
zihan
2003-08-07
打赏
举报
回复
遍历所有进程啊,可以得到所有的进程id,然后可以获得进程句柄,在与你的句柄比较就可以得到了,不过这样好像有点不合理.看看还有没有其他办法.
playguy
2003-08-07
打赏
举报
回复
可以去这里看一看,有完整的解决方案,绝对实用:
http://www.aslike.net
VC
进程
ID
获得
主窗口
句柄
获得
进程
名
VC
获得
进程
ID
获得
主线程
ID
获得
窗口
句柄
获得
主窗口
获得
进程
名 1.窗口类名 窗口
句柄
窗口标题 窗口
句柄
HWND FindWindow( LPCTSTR lpClassName, //窗口类名 可用 VC或者VS自带的Spy++查看 LPCTSTR lpWindowName //窗口标题 ); 举例: 以 记事本为例, 记事本 窗口类名 为:NotePad, 窗口标题 视按具体情况而定,假设为"新建 文本文档.txt - 记事本" 窗口类名 窗口
句柄
TCHAR lpClassName[]=TEXT("NotePad"); HWND hWnd=::FindWindow(lpClassName,NULL); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_H
ID
E); 窗口标题 窗口
句柄
TCHAR lpWindowName[]=TEXT("新建 文本文档.txt - 记事本"); HWND hWnd=::FindWindow(NULL,lpWindowName); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_H
ID
E); 2.窗口
句柄
进程
ID
窗口
句柄
主线程
ID
要使用到的函数: DWORD GetWindowThreadProcess
Id
( HWND hWnd, //目标窗口
句柄
LPDWORD lpdwProcess
Id
//返回目标窗口对应
进程
ID
); 例子: DWORD dwProc
Id
=0;//存放返回的
进程
ID
DWORD dwThread
Id
=0;//存放返回的主线程
ID
HWND hWnd=XXXX;//这里省略,可能用任务方式得到一个窗口的
句柄
.比如用1中的方法. dwThread
Id
=GetWindowThreadProcess
Id
(hWnd,&dwProc
Id
);//同
时
得到
进程
ID
和主线程
ID
. 3.窗口HAND CWnd 用CWnd::FromHandle(HWND hWnd)函数.很多类都有这个函数. 4.
进程
名
进程
ID
(注:
进程
名,即在"任务管理器"中看到的名字) 用CCheckObject类(详细实现源文件); 例子: 以记事本为例,
进程
名为 NOTEPAD.EXE (不一定是大写哦,得到任务管理器是显示而定); CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwProc
Id
=ch.GetProcess
Id
(Name); 5.
进程
名 主线程
ID
例子: CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwThread
Id
=ch.GetThread
Id
(Name); 6.
进程
名 主窗口
句柄
CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); HWND hWnd=ch.GetTargetWindowHanle(Name); 7. 其它说明 从CCheckObject类和上面的源码中,不难写出从
进程
ID
主线程
ID
进程
ID
主窗口
句柄
主线程
ID
--->主窗口
句柄
等等其它类似转换. 对于主窗口,特点如下: A. 不能用
进程
ID
,要用线程
ID
,因为一个
进程
可能有多个线程,每个线程都可能会有主窗口. B. 主窗口不会有WS_CHILD属性 C. 主窗口没有父窗口 D. 主窗口一般都有子窗口(这个不是一定的,但是具有普遍性)
通过
进程
ID
找到窗口
句柄
.
通过
进程
ID
找到窗口
句柄
.通过
进程
ID
找到窗口
句柄
.通过
进程
ID
找到窗口
句柄
.通过
进程
ID
找到窗口
句柄
.通过
进程
ID
找到窗口
句柄
.通过
进程
ID
找到窗口
句柄
.通过
进程
ID
找到窗口
句柄
.通过
进程
ID
找到窗口
句柄
.
MT5 非区间均线回归刷单EA教学
1.主要面向有一定基础的学员;2.想编写EA苦于不
知道
如何下手的学员!3.能看懂代码的学员!4.不啰嗦直接上干货!5.固定框架式编程!6.面向对象,面向函数式编程!//--- 交易.追踪止损(Symbol(),追踪点值,magic
号
码); 指标.
句柄
至数组(指标.
句柄
A,小均值,0,iBars(Symbol(),应用周期),true); 指标.
句柄
至数组(指标.
句柄
B,大均值,0,iBars(Symbol(),应用周期),true);//---非区间 double 区间最高价= 数据.求区间最高价(Symbol(),应用周期,MODE_CLOSE,0,区间根数); double 区间最低价= 数据.求区间最低价(Symbol(),应用周期,MODE_CLOSE,0,区间根数); bool 包裹均线=小均值[0]区间最低价&&大均值[0]区间最低价;
易语言通过窗口
句柄
取得
进程
ID
易语言通过窗口
句柄
取得
进程
ID
源码,通过窗口
句柄
取得
进程
ID
,
句柄
获得
进程
ID
_DLL
取窗口
句柄
+
进程
名+
进程
ID
取指定标题窗口的
句柄
,
进程
名,
进程
ID
取指定标题窗口的
句柄
,
进程
名,
进程
ID
取指定标题窗口的
句柄
,
进程
名,
进程
ID
取指定标题窗口的
句柄
,
进程
名,
进程
ID
取指定标题窗口的
句柄
,
进程
名,
进程
ID
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章