newTaskbarList3 precondition: Windows version is at least 6.1 (yes, Win 7 is version 6.1).
(hwnd win.HWND)
| 37 | |
| 38 | //newTaskbarList3 precondition: Windows version is at least 6.1 (yes, Win 7 is version 6.1). |
| 39 | func newTaskbarList3(hwnd win.HWND) (*ProgressIndicator, error) { |
| 40 | var classFactoryPtr unsafe.Pointer |
| 41 | if hr := win.CoGetClassObject(&win.CLSID_TaskbarList, win.CLSCTX_ALL, nil, &win.IID_IClassFactory, &classFactoryPtr); win.FAILED(hr) { |
| 42 | return nil, errorFromHRESULT("CoGetClassObject", hr) |
| 43 | } |
| 44 | |
| 45 | var taskbarList3ObjectPtr unsafe.Pointer |
| 46 | classFactory := (*win.IClassFactory)(classFactoryPtr) |
| 47 | defer classFactory.Release() |
| 48 | |
| 49 | if hr := classFactory.CreateInstance(nil, &win.IID_ITaskbarList3, &taskbarList3ObjectPtr); win.FAILED(hr) { |
| 50 | return nil, errorFromHRESULT("IClassFactory.CreateInstance", hr) |
| 51 | } |
| 52 | |
| 53 | return &ProgressIndicator{taskbarList3: (*win.ITaskbarList3)(taskbarList3ObjectPtr), hwnd: hwnd}, nil |
| 54 | } |
| 55 | |
| 56 | func (pi *ProgressIndicator) SetState(state PIState) error { |
| 57 | if hr := pi.taskbarList3.SetProgressState(pi.hwnd, (int)(state)); win.FAILED(hr) { |
no test coverage detected
searching dependent graphs…