首页
友人帐
留言板
关于
Search
1
IDE Eval Resetter:JetBrains 全家桶无限试用插件
409 阅读
2
影视资源采集站收录大全
366 阅读
3
linux安装或升级protoc
245 阅读
4
VFM 3.7.5 源码 - 一个极简的 PHP 私人云盘!
173 阅读
5
批量采集美女写真等图片做图片站
154 阅读
谈天说地
程序源码
技术教程
成品源码
登录
Search
标签搜索
PHP
linux
源码
go
windows
centos
原创
mysql
微信
激活
采集
宝塔
绿色版
API
解析
SDK
图片
破解
域名
html
云青
累计撰写
150
篇文章
累计收到
126
条评论
首页
栏目
谈天说地
程序源码
技术教程
成品源码
页面
友人帐
留言板
关于
搜索到
1
篇与
的结果
2021-05-11
golang实现windows下切换代理
golang实现windows下切换代理实现很简单 主要修改注册表文件 利用walk展示页面界面如下package main import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" "github.com/lxn/win" "golang.org/x/sys/windows/registry" "log" ) func main() { var mw *walk.MainWindow var inTE *walk.TextEdit if err := (MainWindow{ AssignTo: &mw, //Icon: "img/logo.ico", Title: "代理", Size: Size{300, 200}, Layout: VBox{}, Children: []Widget{ HSplitter{ Children: []Widget{ TextEdit{AssignTo: &inTE, ReadOnly: true}, }, }, PushButton{ Text: "连接", OnClicked: func() { status, ip := start() if status { inTE.SetText("连接成功\n当前IP" + ip) } else { inTE.SetText("连接失败") } }, }, PushButton{ Text: "关闭", OnClicked: func() { status := editReg("0", "") if status { inTE.SetText("连接已关闭") } else { inTE.SetText("关闭失败") } }, }, }, }.Create()); err != nil { log.Fatal(err) } win.SetWindowLong(mw.Handle(), win.GWL_STYLE, win.GetWindowLong(mw.Handle(), win.GWL_STYLE) & ^win.WS_MAXIMIZEBOX & ^win.WS_THICKFRAME) mw.Run() } func start() (bool, string) { ip, port := getIp() status := editReg("1", ip+":"+port) return status, ip } // 获取ip func getIp() (string, string) { // 自行获取ip return "183.88.226.50", "8080" } func editReg(enable, proxy string) bool { key, exists, err := registry.CreateKey(registry.CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", registry.ALL_ACCESS) if err != nil { log.Fatal(err) } defer key.Close() if !exists { return false } err = key.SetStringValue("ProxyEnable", enable) if err != nil { return false } err = key.SetStringValue("ProxyServer", proxy) if err != nil { return false } return true }
2021年05月11日
24 阅读
0 评论
0 点赞