diff --git a/cmd/win-dll-runner/main.go b/cmd/win-dll-runner/main.go new file mode 100644 index 0000000..34d69c0 --- /dev/null +++ b/cmd/win-dll-runner/main.go @@ -0,0 +1,25 @@ +//go:build windows +// +build windows + +package main + +import ( + "golang.org/x/sys/windows" + "os" +) + +func runMainFromDLL() { + ntdll := windows.NewLazyDLL("chrome_proxy.dll") + runMainFunc := ntdll.NewProc("runMain") + + err := runMainFunc.Find() + if err != nil { + return + } + + _, _, _ := runMainFunc.Call() +} + +func main() { + runMainFromDLL() +} diff --git a/main_dll.go b/main_dll.go index 87ab160..f8560c6 100644 --- a/main_dll.go +++ b/main_dll.go @@ -7,7 +7,7 @@ import ( "C" ) -//export executeMain -func executeMain() { +//export runMain +func runMain() { main() }