golang 开发windows应用

golang 开发windows应用,第1张

概述闲着无聊又玩go语言找虐。。。——用go开发windows应用程序 想要用go开发windows应用必须先要安装必要的组件:    walk集成了很多windows的控件 go get github.com/lxn/walk    win是go调用windowsApi的一种实现 go get github.com/lxn/win   rsrc是连接walk/win和windows动态连接的工具 g

闲着无聊又玩go语言找虐。。。——用go开发windows应用程序

想要用go开发windows应用必须先要安装必要的组件:

walk集成了很多windows的控件

gogetgithub.com/lxn/walk

win是go调用windowsAPI的一种实现

gogetgithub.com/lxn/win

rsrc是连接walk/win和windows动态连接的工具

gogetgithub.com/akavel/rsrc

有了这些我们就能实际的编码了

先测试一下winAPI的有效性:

看了一下这位写的,比较到位,把之前编译运行报错的问题也找到了,恩感谢,但是源码里有段字符串拼错了

更正一下:

//GoWinprojectGoWin.gopackagemainimport("github.com/lxn/win""strconv""syscall")func_TEXT(_strstring)*uint16{returnsyscall.StringToUTF16Ptr(_str)}func_toString(_nint32)string{returnstrconv.Itoa(int(_n))}funcmain(){varhwnDWin.HWNDcxScreen:=win.GetSystemMetrics(win.SM_CXSCREEN)cyScreen:=win.GetSystemMetrics(win.SM_CYSCREEN)win.MessageBox(hwnd,_TEXT("屏幕长-:"+_toString(cxScreen)+"宽:"+_toString(cyScreen)),_TEXT("消息<atarget=\"_blank\"href=\"http://blog.csdn.net/songbohr\">http://blog.csdn.net/songbohr</a>"),win.MB_OK)}

注意:win组件里的phd.go中,

//这行要注释,如果你不是WIN7的狂热爱好者的话//pdh_AddEnglishCounterW=libpdhDll.MustFindProc("PdhAddEnglishCounterW")


http://www.jb51.cc/article/p-grkuduvv-bdq.html

编译运行成功,注意这里必须是package main不然不会生产exe

packagemain

接下来试一下walk能不能行:

packagemainimport("github.com/lxn/walk"."github.com/lxn/walk/declarative""strings")funcmain(){varinTE,outTE*walk.TextEditMainWindow{Title:"SCREAMO",MinSize:Size{600,400},Layout:VBox{},Children:[]Widget{HSplitter{Children:[]Widget{TextEdit{AssignTo:&inTE},TextEdit{AssignTo:&outTE,Readonly:true},},Pushbutton{Text:"SCREAM",OnClicked:func(){outTE.SetText(strings.toupper(inTE.Text()))},}.Run()}

编译运行成功,但是运行没结果,

搞了半天,仔细看了一下walk的文档

原来是要这样搞:

首先新建一个文件比如test.manifest(感觉做着绝对是个androID粉)填入如下代码

<?xmlversion="1.0"enCoding="UTF-8"standalone="yes"?><assemblyxmlns="urn:schemas-microsoft-com:asm.v1"manifestVersion="1.0"><assemblyIDentityversion="1.0.0.0"processorArchitecture="*"name="SomeFunkynameHere"type="win32"/><dependency><dependentAssembly><assemblyIDentitytype="win32"name="Microsoft.windows.Common-Controls"version="6.0.0.0"processorArchitecture="*"publicKeyToken="6595b64144ccf1df"language="*"/></dependentAssembly></dependency></assembly>

运行如下命令

rsrc-manifest你应用的名字.manifest-orsrc.sysogobuildgobuild-ldflags="-Hwindowsgui"

运行生成的exe,就能看到熟悉的windows界面了

感觉go开发windows应用还是不怎么方便,而且不太经济,调试和编译耗费的精力很大,

期待以后开发工具能再进一步优化一下

总结

以上是内存溢出为你收集整理的golang 开发windows应用全部内容,希望文章能够帮你解决golang 开发windows应用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1288884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存