金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 851|回复: 3

金字塔VBA调用windows系统中的DLL函数

[复制链接]

14

主题

47

帖子

47

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
发表于 2024-1-26 12:28 | 显示全部楼层 |阅读模式
金字塔VBA调用windows系统中的DLL函数,有没有相关的范例
(在后续两行的函数声明处就出错)
'获取指定标题窗口的句柄
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'激活指定句柄的窗口
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

'激活指定窗口的调用过程
function SetFocusWindow(WinTitle)
    '返回指定标题的窗口句柄
    HwndNow = FindWindow(vbNullString, WinTitle)
    If HwndNow = 0 Then Exit Sub
    SetForegroundWindow HwndNow
End Sub



回复

使用道具 举报

14

主题

47

帖子

47

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
 楼主| 发表于 2024-1-26 13:28 | 显示全部楼层
function SetFocusWindow(WinTitle)
    '返回指定标题的窗口句柄
    HwndNow = “user32@FindWindow"("",wintitle)         '获取指定标题窗口的句柄
    If HwndNow = 0 Then Exit Sub
    "user32@SetForegroundWindow"(HwndNow)                '激活指定句柄的窗口
End Sub

改为这样也不行,提示找不到function
回复

使用道具 举报

14

主题

47

帖子

47

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
 楼主| 发表于 2024-1-26 13:51 | 显示全部楼层
改为如下语句,系统没有报错了,但是在策略中调用的时候,提示函数未定义(if ref(c,1)>ref(o,1) then setfoucewindow("记事本");

'激活指定窗口的调用过程
function SetFocusWindow(WinTitle)
    '返回指定标题的窗口句柄
    HwndNow = "user32@FindWindow"("",wintitle)        '获取指定标题窗口的句柄
    If HwndNow = 0 Then Exit Function
    call "user32@SetForegroundWindow"(HwndNow)                '激活指定句柄的窗口
End Function
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-26 14:10 | 显示全部楼层
没有,软件的vba接口更接近vb的语言,纯vba的代码不能在金字塔中直接运行。vba接口支持通过com组件的形象,调用外部dll的对象。(dll也必须遵循软件接口相关的规则)

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 10:30 , Processed in 0.286703 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表