更新时间:2024-09-13 GMT+08:00
设置屏幕共享中需透明的窗口
SetTransparentWnd
接口描述
该接口用于设置屏幕共享中需透明的窗口。
注意事项
- 设置窗口句柄个数不超过4个
- 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。
方法定义
1
|
HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetTransparentWnd(HWND handle[], unsigned int count); |
回调函数
1
|
virtual void OnSetTransparentWndResult(hwmsdk::HwmErrCode ret, const char* reason) {}; |
参数描述
参数 |
类型 |
描述 |
---|---|---|
handle |
HWND[] |
窗口句柄。 |
count |
unsigned int |
窗口句柄个数。 |
类型 |
描述 |
---|---|
HwmErrCode |
成功返回0,其他值表示失败。失败返回值见错误码参考。 |
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
/** * 获取设置屏幕共享中需透明的窗口 */ void demoSetTransparentWndDlg::OnBnClickedOk() { CString tempCString; m_wndsEdit.GetWindowText(tempCString); std::string tempString = CTools::UNICODE2UTF(tempCString.GetString()); vector<std::string> list = CTools::split(tempString, ';'); std::string temp; int count = list.size(); int realCount = 0; if (count > 0) { //申请结构体内存 HWND* handles; handles = (HWND*)malloc(sizeof(HWND) * count); if (handles == NULL) { return -1; } memset(handles, 0, sizeof(HWND)*count); HWND* handlesTemp = handles; for (int i = 0; i < count; i++) { temp = list[i]; *handlesTemp = CTools::str2hwnd(temp); handlesTemp++; realCount++; } int ret = hwmsdkagent::SetTransparentWnd(handles, realCount); //释放内存空间 free(handles); handles = NULL; if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("get error message error")); return; } } } |
父主题: 界面定制