


![]() | 你看 |
![]() | 基本核心代码在此: 封装了一个键盘鼠标HOOK类,使用方便(VB6.0) 利用其中的鼠标HOOK,再结合getkeystate函数取SHIT状态,就可以模拟鼠标了,没几句代码: VB codePrivate Sub objHookLL_MouseHook(ByVal Code As Long, ByVal wParam As Long, ByVal lParam As Long, lRet As Long) ........... End Sub Private Sub Timer1_Timer() ........ End Sub Sub objHookLL_MouseHook改成上面的样子,再添加一个定时器,周期设置为50,TAG属性设置为0就行了. 老马:看到你的这个程序想用用,但是我编译不了,就是加载后 你能否写一个完整的程序发到我的邮箱 LGZ16888@126.com 不胜感激. 就是把那段程序加载在VB核心封装里面. 我是VB菜鸟, |

什么是"VB核心封装"?
![]() | 在网上看到你的 强帖....如果你有时间 请教你一个问题:我做了一个程序,在别人没装VB的机器报 "调用……无效"英文的...装了vb的机器上运行时5错误 好像是,,,在调试环境下运行没问题......有人让我打包,,可打包出来的是安装程序...我想让它就是一个exe怎么弄????如果 可以人请QQ:360930673联系......感激不尽... |

运行时错误'5',无效的过程调用或参数,检查代码逻辑,在满足某些特定条件时,逻辑上有漏洞,导致了某个调用无效.
建议在每个过程里加入错误处理,并将出错时的函数过程写入日志,这样就可以知道在用户环境下有些什么问题了.
你只在自己机器调试,不容易重现此问题,所以对调试帮助不大.
建议在每个过程里加入错误处理,并将出错时的函数过程写入日志,这样就可以知道在用户环境下有些什么问题了.
你只在自己机器调试,不容易重现此问题,所以对调试帮助不大.
![]() | 老马,又要向你求助了。还是关于“划词复制”的问题,我问了其作者是怎么实现的,他说他用了变通的方法,即不是监视被高亮选取的文本,而是每隔一定的时间发送一次复制命令(虽然可能效率相对较低)。对于菜鸟来说,或许这确实是个好办法。在网上找了N天,也在百度知道和csdn求助,可是几乎无人问津。我快要崩溃了——因为对于我来说,与其说是编程,还不如说是好奇以及强烈的求知欲。废话说了一堆,转正题: 以上代码我本想往当前窗口发送复制命令(相当于手动按Ctrl+C的效果,Ctrl+C背后到底发送了什么消息呢),但是貌似这样不行。我是老菜鸟了,也不知这样的理解是否很幼稚。(我不想用sendkey或keybd_event来模拟按键,而想直接执行复制命令)。该怎么做呢?老马救我! (相关的声明略) Private Sub Timer1_Timer() thewindow = GetForegroundWindow '获得当前窗口句柄 SendMessage thewindow, WM_COPY, 0, 0 Debug.Print Clipboard.GetText End Sub |

GetForegroundWindow好象只能获得的是一个“最顶级窗口”的句柄吧,并不是当前获得焦点的“子窗体”的句柄。
要得到子窗体句柄,我一时也还没想到好办法,目前看来,只能使用取鼠标下句柄的方法了,因为一般人是使用鼠标来选中内容的。
当然,这对于使用键盘来选中内容的情况就无效。。。。所以有局限性。
具体API就是GetCursorPos+WindowFromPoint吧。
然后再向这个句柄发送WM_COPY试试。
要得到子窗体句柄,我一时也还没想到好办法,目前看来,只能使用取鼠标下句柄的方法了,因为一般人是使用鼠标来选中内容的。
当然,这对于使用键盘来选中内容的情况就无效。。。。所以有局限性。
具体API就是GetCursorPos+WindowFromPoint吧。
然后再向这个句柄发送WM_COPY试试。
![]() | 老马,网上有一款名为《划词复制》的小软件。其功能是:监视在网页,或是文本编辑器上高亮选取的文本,并自动复制到剪贴板。可惜它没有一个可以直接将所选内容保存到文件的功能,所以我在想用vb自制以应己之需。可是要监视被选取的高亮文本貌似很难实现,不知马大能否指点一二? |

对于文本框,你可以试一下发送EM_GETSEL消息,取得被选中的文本的起始位置,再用WM_GETTEXT得到整个文本后根据前面的起始位置,从而得到被选中的内容.
至于网页,我只知道一个针对IE内核的方案,参考:
.2/blogview.asp?logID=197&cateID=2
利用这个代码,得到当前鼠标下IE对象,应该就能得到当前选中的对象了.
做好了别忘了放在我这里一份呀!
祝你好运:)
至于网页,我只知道一个针对IE内核的方案,参考:
.2/blogview.asp?logID=197&cateID=2
利用这个代码,得到当前鼠标下IE对象,应该就能得到当前选中的对象了.
做好了别忘了放在我这里一份呀!

祝你好运:)
![]() | 老马 你好!我是看了你在vb相关的网站发的帖子 一路“跟踪”寻来的 呵呵!现在有些问题想向你请教 就是关于vb中的类 控件 事件 属性及方法的理解 想请教下看我这样的理解对不对 我是从自然界的角度看待这些 我把类看做万事万物的一种分类 比如 车子 人 房子 等代表一种类别 而属性则是这些类和控件所具有的特征 就象你说的人具有身高 年龄等特征 我把控件看做自然界存在的具有能实现某种具体功能的各种工具比如 车子 飞机 刀 剪子 钳子 等 同时这些控件也有自身的属性 而 事件是指要完成的某件事或动作 比如说 去北京 方法是完成某件事要采用的方式或方法 比如开车去北京 而针对类和控件的方法是系统已预先集成好的过程 供开发或学习者调用 对于比如说窗体的单击事件 则是系统已预留好相应的接口 用户只需在这个接口写上相应的程序 实现自己预想的功能即可 可以这样理解吗 我这样问是不是显得很低级呀 呵呵 希望不要见笑 盼复! |

你好!
我的思路也与你差不多,类似的!
人类,就是一个"类",必有属性,年龄,身高,体重等.
而你我就是具体"实例化"人这个类的"对象",是根据"人类"这个类,实例化的真实可供操作的"对象".
你我的"模板"就是"人类".
以这种对象的思路来看事物,对编程有好处.
我的理解,关键就是对于可重复执行的代码的封装,封装得好,则工程就比较清晰的结构,大量代码时好控制.
我的思路也与你差不多,类似的!

人类,就是一个"类",必有属性,年龄,身高,体重等.
而你我就是具体"实例化"人这个类的"对象",是根据"人类"这个类,实例化的真实可供操作的"对象".
你我的"模板"就是"人类".
以这种对象的思路来看事物,对编程有好处.
我的理解,关键就是对于可重复执行的代码的封装,封装得好,则工程就比较清晰的结构,大量代码时好控制.
![]() | 谢谢你对我的回复,但是sendiput没用.包括sendmessage,postmessage ,key_event,winio 在内的全给封锁了.目前只能用自写驱动(我写不出来)或是用钩子的回放能过(这个可以). |
