aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-05-12 11:37:45 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-05-12 11:37:45 +0200
commitcf5b97366d5df635f045b41f749fdc755a509eb5 (patch)
treea04f668a44aba6574dad0794e694e2312fae522f
parentservice: run UI with elevated token (diff)
downloadwireguard-windows-cf5b97366d5df635f045b41f749fdc755a509eb5.tar.xz
wireguard-windows-cf5b97366d5df635f045b41f749fdc755a509eb5.zip
ui: adjust message filter for raise
High integrity means UIPI blocks this, so let it through.
-rw-r--r--ui/managewindow.go6
-rw-r--r--ui/raise.go6
2 files changed, 6 insertions, 6 deletions
diff --git a/ui/managewindow.go b/ui/managewindow.go
index 48fdec2d..b4fa9cea 100644
--- a/ui/managewindow.go
+++ b/ui/managewindow.go
@@ -24,7 +24,7 @@ type ManageTunnelsWindow struct {
const (
manageWindowWindowClass = "WireGuard UI - Manage Tunnels"
- selectCorrectTabMsg = win.WM_USER + 8993
+ raiseMsg = win.WM_USER + 0x3510
)
func init() {
@@ -46,6 +46,7 @@ func NewManageTunnelsWindow() (*ManageTunnelsWindow, error) {
if err != nil {
return nil, err
}
+ win.ChangeWindowMessageFilterEx(mtw.Handle(), raiseMsg, win.MSGFLT_ALLOW, nil)
mtw.SetPersistent(true)
if icon, err := loadLogoIcon(mtw.DPI() / 3); err == nil { //TODO: calculate DPI dynamically
@@ -140,7 +141,7 @@ func (mtw *ManageTunnelsWindow) WndProc(hwnd win.HWND, msg uint32, wParam, lPara
if lParam == win.ENDSESSION_CLOSEAPP && wParam == 1 {
walk.App().Exit(198)
}
- case selectCorrectTabMsg:
+ case raiseMsg:
if !mtw.Visible() {
mtw.tunnelsPage.listView.SelectFirstActiveTunnel()
if mtw.tabs.Pages().Len() != 3 {
@@ -150,6 +151,7 @@ func (mtw *ManageTunnelsWindow) WndProc(hwnd win.HWND, msg uint32, wParam, lPara
if mtw.tabs.Pages().Len() == 3 {
mtw.tabs.SetCurrentIndex(2)
}
+ raise(mtw.Handle())
}
return mtw.FormBase.WndProc(hwnd, msg, wParam, lParam)
diff --git a/ui/raise.go b/ui/raise.go
index c4a45833..9a2794d1 100644
--- a/ui/raise.go
+++ b/ui/raise.go
@@ -32,8 +32,7 @@ func RaiseUI() bool {
if hwnd == 0 {
return false
}
- win.SendMessage(hwnd, selectCorrectTabMsg, 0, 0)
- raise(hwnd)
+ win.SendMessage(hwnd, raiseMsg, 0, 0)
return true
}
@@ -47,8 +46,7 @@ func WaitForRaiseUIThenQuit() {
return 0
}
win.UnhookWinEvent(handle)
- win.SendMessage(hwnd, selectCorrectTabMsg, 0, 0)
- raise(hwnd)
+ win.SendMessage(hwnd, raiseMsg, 0, 0)
os.Exit(0)
return 0
}, 0, 0, win.WINEVENT_SKIPOWNPROCESS|win.WINEVENT_OUTOFCONTEXT)