qr.go 446 B

123456789101112131415161718192021222324
  1. package qr
  2. import (
  3. "log"
  4. "os"
  5. "os/exec"
  6. "path/filepath"
  7. "github.com/skip2/go-qrcode"
  8. )
  9. // RenderString as a QR code
  10. func RenderString(s string) {
  11. dir, err1 := filepath.Abs(filepath.Dir(os.Args[0]))
  12. if err1 != nil {
  13. log.Fatal(err1)
  14. }
  15. err2 := qrcode.WriteFile(s, qrcode.Medium, 200, dir+"/tmp.png")
  16. if err2 != nil {
  17. panic(err2)
  18. }
  19. cmd := exec.Command("rundll32.exe", "url.dll,FileProtocolHandler", dir+"/tmp.png")
  20. cmd.Start()
  21. }