社区
PowerBuilder
帖子详情
如何获得窗口句柄
louisliu
2003-05-13 09:48:41
运行外部程序(如:run("dbbackup")),
但是如果使用findwindow()函数,程序要求不能用标题作参数去获得句柄,
只能通过类名去获得句柄,但是我并不知道dbbackup是什么类名
大虾,高分赠送,
过程详细点
...全文
86
5
打赏
收藏
如何获得窗口句柄
运行外部程序(如:run("dbbackup")), 但是如果使用findwindow()函数,程序要求不能用标题作参数去获得句柄, 只能通过类名去获得句柄,但是我并不知道dbbackup是什么类名 大虾,高分赠送, 过程详细点
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
louisliu
2003-05-14
打赏
举报
回复
运行外部程序(run(dbbackup)),怎么用handle函数
freshman113
2003-05-14
打赏
举报
回复
用vc spy++找到类名,之后再调用
string ls_classname,ls_null
setnull(ls_null)
ls_classname = '...'
ll_Handle = FindWindowA ( ls_classname, ls_Null)
fengzeng
2003-05-13
打赏
举报
回复
dbbackup [ options ] directory
选项 说明
-c "keyword=value; ..." 提供数据库连接参数
-d 只备份主点数据库文件
-l file 将事务日志活动备份到文件
-n 更改备份事务日志的命名规则
-o filename 将输出消息记录到文件
-q 安静模式——不显示消息
-r 重命名并启动新的事务日志
-t 只备份事务日志
-w 只备份写文件
-x 删除并重新启动事务日志
-xo 删除并重新启动事务日志而不做备份
-y 替换文件而无需确认
zhoufenghubei
2003-05-13
打赏
举报
回复
handle()函数!
louisliu
2003-05-13
打赏
举报
回复
那位大虾使用过 dbbackup.exe 进行数据备份,本人想问几个问题
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_HIDE);
窗口
标题
窗口
句柄
TCHAR lpWindowName[]=TEXT("新建 文本文档.txt - 记事本"); HWND hWnd=::FindWindow(NULL,lpWindowName); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE); 2.
窗口
句柄
进程ID
窗口
句柄
主线程ID 要使用到的函数: DWORD GetWindowThreadProcessId( HWND hWnd, //目标
窗口
句柄
LPDWORD lpdwProcessId //返回目标
窗口
对应进程ID ); 例子: DWORD dwProcId=0;//存放返回的进程ID DWORD dwThreadId=0;//存放返回的主线程ID HWND hWnd=XXXX;//这里省略,可能用任务方式得到一个
窗口
的
句柄
.比如用1中的方法. dwThreadId=GetWindowThreadProcessId(hWnd,&dwProcId);//同时得到进程ID和主线程ID. 3.
窗口
HAND CWnd 用CWnd::FromHandle(HWND hWnd)函数.很多类都有这个函数. 4.进程名 进程ID (注:进程名,即在"任务管理器"中看到的名字) 用CCheckObject类(详细实现源文件); 例子: 以记事本为例,进程名为 NOTEPAD.EXE (不一定是大写哦,得到任务管理器是显示而定); CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwProcId=ch.GetProcessId(Name); 5. 进程名 主线程ID 例子: CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwThreadId=ch.GetThreadId(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. 主
窗口
一般都有子
窗口
(这个不是一定的,但是具有普遍性)
窗口
句柄
查询器(能
获得
VB代码)
窗口
句柄
查询器,可以
获得
窗口
的Vb代码,
获得
窗口
句柄
等,方便好用.
CreateProcess调用后,
获得
主
窗口
句柄
用CreateProcess创建进程后,得到主
窗口
句柄
。
通过进程id获取主
窗口
句柄
及主
窗口
标题
通过进程id获取到所在进程的主
窗口
的
句柄
,及通过该主
窗口
句柄
获取当前主
窗口
的标题,进程名;这是一个demo例程,仅供参考
java获取
窗口
句柄
方法的JNI封装
之前在做海康摄像头动态库的JNI封装中遇到了
窗口
句柄
无法
获得
的问题,着实费了点功夫,现将封装好的动态库以及一个演示程序分享给大家,希望能帮大家省下点时间!!如果希望自己动手解决问题的同志可以自己上网查询解决方案 演示程序时netbeans的
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章