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
|
// 17 july 2014
#include "winapi_windows.h"
#include "_cgo_export.h"
LRESULT getWindowTextLen(HWND hwnd)
{
return SendMessageW(hwnd, WM_GETTEXTLENGTH, 0, 0);
}
void getWindowText(HWND hwnd, WPARAM n, LPCWSTR buf)
{
SetLastError(0);
if (SendMessageW(hwnd, WM_GETTEXT, n + 1, (LPARAM) buf) != n)
xpanic("WM_GETTEXT did not copy the correct number of characters out", GetLastError());
}
void setWindowText(HWND hwnd, LPCWSTR text)
{
switch (SendMessageW(hwnd, WM_SETTEXT, 0, (LPARAM) text)) {
case FALSE:
xpanic("WM_SETTEXT failed", GetLastError());
}
}
void updateWindow(HWND hwnd)
{
if (UpdateWindow(hwnd) == 0)
xpanic("error calling UpdateWindow()", GetLastError());
}
void storelpParam(HWND hwnd, LPARAM lParam)
{
CREATESTRUCTW *cs = (CREATESTRUCTW *) lParam;
SetWindowLongPtrW(hwnd, GWLP_USERDATA, (LONG_PTR) (cs->lpCreateParams));
}
|