日期:2014-05-16  浏览次数:20864 次

获得本地ip地址,显示在Windows应用程序上本文章来至源码世界

1、利用github.com/lxn/walk包弄个桌面程序,然后得到本地ip地址显示出来在应用程序上(小程序,自己拼拼凑凑,以防自己用的着)
2、想不出现cmd编译编译时加入go build -ldflags="-H windowsgui"
3、用到github.com/lxn/walk,编译时与包同目录下要有rsrc.syso和  .mainfest两个文件

 
package main

import (
	"fmt"
	"log"
	"net"
	"strings"
)

import (
	"github.com/lxn/walk"
	. "github.com/lxn/walk/declarative"
)

func main() {
	var te *walk.TextEdit

	if _, err := (MainWindow{
		Title:   "Test",
		MinSize: Size{300, 200},
		Layout:  VBox{},
		Children: []Widget{
			TextEdit{
				AssignTo: &te,
			},
			PushButton{
				Text: "LocalAddr",
				OnClicked: func() {
					text := GetAddr()
					te.SetText(text)

				},
			},
		},
	}).Run(); err != nil {
		log.Fatal(err)
	}
}

func GetAddr() string { //Get ip
	conn, err := net.Dial("udp", "baidu.com:80")
	if err != nil {
		fmt.Println(err.Error())
		return "Erorr"
	}
	defer conn.Close()
	return strings.Split(conn.LocalAddr().String(), ":")[0]
}

本文章来至源码世界  http://www.ymsky.net/views/73305.shtml