github.com/go-ole/go-ole@v1.2.6/_example/msagent/msagent.go (about)

     1  // +build windows
     2  
     3  package main
     4  
     5  import (
     6  	"time"
     7  
     8  	ole "github.com/go-ole/go-ole"
     9  	"github.com/go-ole/go-ole/oleutil"
    10  )
    11  
    12  func main() {
    13  	ole.CoInitialize(0)
    14  	unknown, _ := oleutil.CreateObject("Agent.Control.1")
    15  	agent, _ := unknown.QueryInterface(ole.IID_IDispatch)
    16  	oleutil.PutProperty(agent, "Connected", true)
    17  	characters := oleutil.MustGetProperty(agent, "Characters").ToIDispatch()
    18  	oleutil.CallMethod(characters, "Load", "Merlin", "c:\\windows\\msagent\\chars\\Merlin.acs")
    19  	character := oleutil.MustCallMethod(characters, "Character", "Merlin").ToIDispatch()
    20  	oleutil.CallMethod(character, "Show")
    21  	oleutil.CallMethod(character, "Speak", "こんにちわ世界")
    22  
    23  	time.Sleep(4000000000)
    24  }