金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1447|回复: 8

100元求助

[复制链接]

15

主题

52

帖子

52

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
发表于 2024-1-27 13:08 | 显示全部楼层 |阅读模式
PEL中当前K线走完(是阳线),则调用VBA自定义过程,运行或激活WINDOWS系统中的某个程序窗口(比如记事本或计算器等)
问题1.PEL中如何调用,需要具体代码;
问题2.VBA自定义过程如何编写,需要具体代码;
谢谢!
13805636477
回复

使用道具 举报

15

主题

52

帖子

52

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
 楼主| 发表于 2024-1-27 19:42 | 显示全部楼层
PEL:
if ref(c,1)>ref(o,1) then SETFOCUSWINDOW("无标题 - 记事本”);

VBA:
'激活指定窗口的调用过程
Function SetFocusWindow(Formula,WinTitle)
    DIM WARP
    Set Wrap = CreateObject("DynamicWrapperX")
    Wrap.Register"user32.dll","FindWindow","i=ss","f=s", "r=l"
    WindowHandle = Wrap.FindWindow("",wintitle)            '返回指定标题的窗口句柄
    If WindowHandle=0 then exit FUNCTION
    MsgBox "发现窗口"
    wrap.register "user32.dll","SetForegroundWindow","i=l","f=s","r=l"
    wrap.SetForegroundWindow(WindowHandle)
    SetFocusWindow=0
End Function
运行后,系统没反应,msgbox有提示
回复

使用道具 举报

15

主题

52

帖子

52

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
 楼主| 发表于 2024-1-29 09:45 | 显示全部楼层
pel:
if ref(c,1)>ref(o,1) then SETFOCUSWINDOW("无标题 - 记事本");

vba:
'激活指定窗口的调用过程
Function SetFocusWindow(Formula,WinTitle)
    DIM Wrap
    Set Wrap = CreateObject("DynamicWrapperX")
    Wrap.Register"user32.dll","FindWindow","i=ss","f=s", "r=l"
    WindowHandle = Wrap.FindWindow("",wintitle)            '返回指定标题的窗口句柄
    SET Wrap=Nothing
    msgbox WindowHandle
    If WindowHandle=0 then exit FUNCTION
        MsgBox "发现窗口"
    wrap.register "user32.dll","SetForegroundWindow","i=l","f=s","r=l"
    wrap.SetForegroundWindow(WindowHandle)                        '将指定句柄的窗口置前
    SET Wrap=Nothing
    SetFocusWindow=0
End Function

运行时出错:
微信截图_20240129091557.png
回复

使用道具 举报

14

主题

223

帖子

308

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2024-1-29 15:20 | 显示全部楼层
不能创建对象,使用32位的金字塔试试
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

52

帖子

52

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
 楼主| 发表于 2024-1-30 09:25 | 显示全部楼层
技术007 发表于 2024-1-29 15:20
不能创建对象,使用32位的金字塔试试

您说的是换金字塔软件的版本,还是将CreateObject("DynamicWrapperX")改为CreateObject("DynamicWrapper")?后者已经测试不行!
回复

使用道具 举报

14

主题

223

帖子

308

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2024-1-30 10:00 | 显示全部楼层
是指金字塔软件的版本,有32位版本的(32位的这个DLL不需下载注册),有64位版本的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

34

主题

9212

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-30 13:15 | 显示全部楼层
本帖最后由 技术006 于 2024-1-30 17:13 编辑
13805636477 发表于 2024-1-29 09:45
pel:
if ref(c,1)>ref(o,1) then SETFOCUSWINDOW("无标题 - 记事本");

下载后,在关闭金字塔的情况下,用管理员权限注册,并且,PEL的自定义函数,不支持传递字符串参数。示例代码:
[Visual Basic] 复制代码
DIM Wrap
    Set Wrap = CreateObject("DynamicWrapperX")
        ' 注册 FindWindow 以获取窗口句柄
        Wrap.Register "user32.dll", "FindWindow", "i=ss", "f=s", "r=l"
        ' 注册 SetForegroundWindow
        Wrap.Register "user32.dll", "SetForegroundWindow", "i=h", "f=s", "r=l"
        ' 注册 ShowWindow
        Wrap.Register "user32.dll", "ShowWindow", "i=hl", "f=s", "r=l"

    WindowHandle = Wrap.FindWindow("Notepad","111.txt - 记事本")            '返回指定标题的窗口句柄
    Application.MsgOut WindowHandle
        ' 如果找到窗口,显示并激活它
        If WindowHandle <> 0 Then
            ' 显示窗口(SW_SHOWNORMAL = 1)
            Wrap.ShowWindow WindowHandle, 1
            ' 将窗口置于前台
            Wrap.SetForegroundWindow WindowHandle
        End If                     '将指定句柄的窗口置前
    SET Wrap=Nothing


截图202401301315312331.png

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

使用道具 举报

15

主题

52

帖子

52

积分

Rank: 2

等级: 标准版

注册:
2024-1-18
曾用名:
 楼主| 发表于 2024-2-23 10:11 | 显示全部楼层
那么请问
dynwrapx.dll在哪里下载呢?
回复

使用道具 举报

34

主题

9212

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-2-23 14:11 | 显示全部楼层
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 20:59 , Processed in 0.249686 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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