如何用golang遠端控制瀏覽器

2021-10-19 12:30:05 字數 1592 閱讀 9122

如何用golang遠端控制瀏覽器

瀏覽器作為現代桌面ui應用已經成為乙個強大的存在,網上有很多關於webview的,但是作為作業系統自帶的瀏覽器也是乙個很重要的應用場景,如何控制瀏覽器介面,還有一種思路,採用窗體控制代碼的方式(內部控制還在摸索中,目前通過子窗體遍歷好像不能獲取url),獲取窗體控制代碼後就可以對其發訊息,設定窗體顯示屬性,實現控制

func (_this *uiwebextern) init(msg message) *uiwebextern 

}hwnd, err = getwindowhwndbyname("chrome.exe")

if err == nil 

}hwnd, err = getwindowhwndbyname("msedge.exe")

if err == nil 

}hwnd, err = getwindowhwndbyname("firfox.exe")

if err == nil 

}hwnd, err = getwindowhwndbyname("qqbrowser.exe")

if err == nil 

}hwnd, err = getwindowhwndbyname("360browser.exe")

if err == nil 

}time.sleep(2 * time.second)

}style := win.getwindowlong(_this.hwnd, win.gwl_style)

if msg.noborder  else 

win.movewindow(_this.hwnd, int32(msg.uipos.startx), int32(msg.uipos.starty), int32(msg.uipos.width), int32(msg.uipos.height), true)

if msg.topmost  else 

win.setwindowlong(_this.hwnd, win.gwl_style, style)

if msg.fullscreen 

getcurrenturl(_this.hwnd)

return _this

}func openwithbrowser(url string) error 

}func getwindowhwndbyname(name string) (uintptr, error) 

hwnd, err := getwindowhwndbypid(proc.processid)

if err != nil 

return hwnd, nil

}func getwindowhwndbypid(dwprocessid int) (uintptr, error) 

var hwnd uintptr

cb := syscall.newcallback(func(h uintptr, prm uintptr) uintptr 

return 1 // continue enumeration

})enumwindows(cb, 0)

if hwnd == 0 

return hwnd, nil

}

如何用Jenkins通過SSH遠端控制主機執行命令

jenkins伺服器執行在一台主機上,但實際的執行環境在另一台主機上,jenkins要做的事是遠端控制主機何時執行指令碼,以及將執行後的結果顯示在jenkins上。ssh是一種網路協議,用於計算機之間的加密登陸。如果乙個使用者從本地計算機,使用ssh協議登陸另一台遠端計算機,我們就可以認為這種登陸是...

如何用手機遠端控制自己的電腦

teamviewer可以解決這個問題。3而且該軟體電腦端支援windows,蘋果系統,linux 系統,手機端也是安卓,蘋果,windows 系統都支援。1注意事項 電腦和手機都必須可以上網,通過網路連線,網速當然是越快越好,2g的話還是算了,資料大概根本傳不過來。電腦需要保持開機狀態且不能是休眠狀...

golang 流程控制

toc golang提供了下面幾個關鍵字 if else for switch case fallthrough select break continue goto等,實現程式的分支控制,並且賦予它們不同的用法。在本節中我們會重點討論除了select的其他關鍵字,select會放在併發和通訊的時候...