以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 引用第三方控件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=135213) |
-- 作者:1498351234 -- 发布时间:2019/5/21 8:02:00 -- 引用第三方控件 老师好! 我在foxtable 中引用第三方控件成功显示,在命令窗口中执行代码如下。 Dim hwnd As Integer \'开始引用外部控件DLL Dim dm As Object dm = createobject("dm.dmsoft")\'创建对象 If len(dm.ver())>0 Then \'检查是否注册成功 Else MsgBox("大漠注册失败") End If dm.SetPath("C:\\dnf_pm")\'设置全局路径 dm.SetDict(0, "dm_soft.txt")\'创建字库 \'外部引用结束 hwnd = dm.FindWindow("","记事本") msgbox(hwnd ) 1、执行成功,并显示窗口句柄,如何才能不每次都这样注册,直接在任何写代码的地方写如下代码:Dim hwnd As Integer hwnd = dm.FindWindow("","记事本") ; 2、添加了外部应用,运行Dim hwnd As Integer hwnd = dm.FindWindow("","记事本") 程序出错。不添加外部应用也出错,要怎样才能达到第1条的要求。 [此贴子已经被作者于2019/5/21 8:04:23编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/21 9:31:00 -- 1、定于全局变量,用于保存对象
http://www.foxtable.com/webhelp/scr/1842.htm
2、不需要添加dll引用的。报错,报什么错? |
-- 作者:1498351234 -- 发布时间:2019/5/21 10:08:00 -- 老师好! 句子这样写 Public files As New List(Of String)
放在全局代码中出错啊! 怎样才能把这个句子写进去,只要一打开项目就知道注册是否成功
[此贴子已经被作者于2019/5/21 10:08:40编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/21 10:25:00 -- 全局代码
Public dm As Object
其余代码,请写到afterOpenProject事件去 |
-- 作者:1498351234 -- 发布时间:2019/5/21 10:45:00 -- 好了,谢谢老师! |
-- 作者:1498351234 -- 发布时间:2019/5/23 10:14:00 -- 引用第三方应用 老师好! 怎样才能发现一个外来的对象dm = createobject("dm.dmsoft")\'创建对象已经成功,并且能够检测这个对象存在?如果这个对象存在重新注册一次会不会有什么危害。 |
-- 作者:有点蓝 -- 发布时间:2019/5/23 11:35:00 -- if dm isnot nothing then msgbox("不是空对象") 重新创建一次对象基本没有什么影响
|
-- 作者:1498351234 -- 发布时间:2019/5/24 16:46:00 -- 鼠标点击 老师好! 按照相关帖子我引用了鼠标部分的全局变量。在命令窗口中输入以下代码 SetCursorPos (1289, 795) \'鼠标位置 System.Threading.Thread.Sleep(200) \'延时200毫秒 mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) \'点击 System.Threading.Thread.Sleep(200) \'延时200毫秒 mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) System.Threading.Thread.Sleep(200) \'延时200毫秒 执行命令后鼠标是移动到指定位置,但是点击没有反映。实际当中单击这个按钮是有事件发生的。问一下是代码有问题吗?
|
-- 作者:有点甜 -- 发布时间:2019/5/24 19:22:00 -- 执行这个代码 SetCursorPos (1289, 795)
然后稍微移动一下鼠标,看是否移动到了对应位置。接着点击一下鼠标,看是否能正常操作。 |