Giter VIP home page Giter VIP logo

gowin's Introduction

gowin

Provide a simple Windows OS interface to manipulate Windows registry, environment variables, default paths and Windows services with Golang.

How to use it

go get github.com/luisiturrios/gowin
import "github.com/luisiturrios/gowin"

Example write, read & removing windows registry keys

//Write string on the registry require admin privileges
err = gowin.WriteStringReg("HKLM",`Software\iturrios\gowin`,"value","Hello world")
if err != nil {
  log.Println(err)
} else {
  fmt.Println("Key inserted")
}
//Write uint32 on the registry require admin privileges
err = gowin.WriteDwordReg("HKLM",`Software\iturrios\gowin`,"value2", 4294967295)
if err != nil {
  log.Println(err)
} else{
  fmt.Println("Key inserted")
}
//Get reg
val, err := gowin.GetReg("HKLM", `Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders`, "Common AppData")
if err != nil {
  log.Println(err)
}
fmt.Printf(val)
//Remove key
err = gowin.DeleteKey("HKLM",`Software\iturrios`,"gowin")
if err != nil {
  log.Println(err)
} else {
  fmt.Println("Key Removed")
}

Example reading windows ShellFolders

folders := gowin.ShellFolders{Context: gowin.ALL}
//Or 
folder := new(gowin.ShellFolders)

//Read ProgramFiles
fmt.Println(folders.ProgramFiles())

//Read all user AppData
folders.Context = gowin.ALL
fmt.Println(folders.AppData())

//Read Current user AppData
folders.Context = gowin.USER
fmt.Println(folders.AppData())

//Functions
folders.ProgramFiles()
folders.AppData()
folders.Desktop()
folders.Documents()
folders.StartMenu()
folders.StartMenuPrograms()

Example reading windows environment variables

//Get environment var
goroot := gowin.GetEnvVar("GOROOT")
fmt.Printf("GORROT: %s\n", goroot)
//Write environment var
err := gowin.WriteEnvVar("TVAR","hello word")
if err != nil {
  log.Println(err)
}

Donation

If you appreciate the work in this repo and like the continue development donate to this paypal account [email protected] Thanks

gowin's People

Contributors

hardliner66 avatar luisiturrios1 avatar packet-sent avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.