本帖最后由 懵懵懂懂的小男 于 2022-3-20 12:40 编辑
最近为了学习golang语言的各种语法,所以又又又写了一封云顶之奕的官方阵容推荐和拿牌的软件
本次开源的相关可学习的知识点:
1.golang的基础和一些高级语法
2.golang编写winGUI界面
3.golang调用乐玩COM组件 调用COM类库
4.golang学会自己对接封装乐玩各种函数
5.如何在把别人的网页搞到自己软件里,,然后通过js+golang实现对事件和dom数据的对接获取
6.如何完整的把别人网站放自己软件里充当界面.高级CTRL+C技术
为啥喜欢写这写那呢?因为我学了这么多语言依然找不到工作.....视频演示效果:
https://www.bilibili.com/video/BV1Pr4y1q78e/
界面展示:
代码展示(lw.main.go部分,其它的请下载整个包):
[Golang] 纯文本查看 复制代码 package lw
import (
"github.com/go-ole/go-ole"
"github.com/go-ole/go-ole/oleutil"
"os"
"os/exec"
)
//lw对象
type LwSoft struct {
lw *ole.IDispatch
IUnknown *ole.IUnknown
}
//注册乐玩com组件
func Reg() (unknown *ole.IUnknown, err error){
var com LwSoft
dir, _ := os.Getwd()
ret:=exec.Command("regsvr32","/s",dir+"\\lw.dll")
_,err = ret.Output()
if err != nil {
panic(err)
}
com.IUnknown, err = oleutil.CreateObject("lw.lwsoft3")
if err != nil {
panic("注册失败,请注意lw.dll是否存在以及是否是管理员权限运行:"+err.Error())
}
return com.IUnknown, err
}
func UnReg() {
dir, _ := os.Getwd()
cmd:=exec.Command("regsvr32","/s","/u",dir+"\\lw.dll")
_,err := cmd.Output()
if err != nil {
panic("取消注册失败,请注意lw.dll是否存在以及是否是管理员权限运行:"+err.Error())
}
}
func New() (lw *LwSoft, err error) {
var com LwSoft
// 告诉window使用什么方式调用com组件
err=ole. CoInitialize(0)
if err != nil {
return nil, err
}
//释放对象
defer ole.CoUninitialize()
//创建com对象
com.IUnknown, err = oleutil.CreateObject("lw.lwsoft3")
if err != nil {
com.IUnknown, err = Reg()
}
// 查询接口是否正常
com.lw, err = com.IUnknown.QueryInterface(ole.IID_IDispatch)
if err != nil {
return nil, err
}
return &com, nil
}
下载地址有golang版和python两个语言编写的版本打包 成品+源码:
https://lanren.lanzoub.com/b00u6th2f
密码:4yxh
补充内容 (2022-3-21 22:39):
开源地址:https://github.com/luxiaolan6373/TFTgo |