7 case ERROR_CHILD_NOT_COMPLETE:
8 p_out =
"Application cannot be run in Win32 mode.";
10 case ERROR_INVALID_ORDINAL:
11 p_out =
"Invalid ordinal.";
13 case ERROR_INVALID_STARTING_CODESEG:
14 p_out =
"Invalid code segment.";
16 case ERROR_INVALID_STACKSEG:
17 p_out =
"Invalid stack segment.";
19 case ERROR_INVALID_MODULETYPE:
20 p_out =
"Invalid module type.";
22 case ERROR_INVALID_EXE_SIGNATURE:
23 p_out =
"Invalid executable signature.";
25 case ERROR_BAD_EXE_FORMAT:
26 p_out =
"Not a valid Win32 application.";
28 case ERROR_EXE_MACHINE_TYPE_MISMATCH:
29 p_out =
"Machine type mismatch.";
31 case ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY:
32 case ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY:
33 p_out =
"Unable to modify a signed binary.";
38 if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,0,p_code,0,temp,_countof(temp),0) == 0)
return FALSE;
39 for(
t_size n=0;n<_countof(temp);n++) {
54 const char * prepend_header =
"\\\\?\\";
55 const char * prepend_header_net =
"\\\\?\\UNC\\";
59 out << prepend_header << p_path;
61 out << prepend_header_net << (p_path+2);
66 const char * prepend_header =
"\\\\?\\";
67 const char * prepend_header_net =
"\\\\?\\UNC\\";
73 out = (p_path + strlen(prepend_header));
81 if (p_code == 0)
m_buffer =
"Undefined error";
100 SetWindowLong(p_wnd,GWL_STYLE, GetWindowLong(p_wnd,GWL_STYLE) | p_style);
104 SetWindowLong(p_wnd,GWL_STYLE, GetWindowLong(p_wnd,GWL_STYLE) & ~p_style);
108 SetWindowLong(p_wnd,GWL_EXSTYLE, GetWindowLong(p_wnd,GWL_EXSTYLE) | p_style);
112 SetWindowLong(p_wnd,GWL_EXSTYLE, GetWindowLong(p_wnd,GWL_EXSTYLE) & ~p_style);
117 temp.left = 0; temp.right = p_value; temp.top = temp.bottom = 0;
118 if (!MapDialogRect(p_dialog,&temp))
return 0;
123 return (GetKeyState(vk) & 0x8000) ?
true :
false;
140 if (OpenClipboard(p_owner)) {
156 if (
m_ptr == NULL)
throw std::bad_alloc();
163 HWND walk = WindowFromPoint(pt);
165 if (walk == NULL)
return false;
166 if (walk == wnd)
return true;
167 if (GetWindowLong(walk,GWL_STYLE) & WS_POPUP)
return false;
168 walk = GetParent(walk);
174 while(walk != parent && walk != NULL && (GetWindowLong(walk,GWL_STYLE) & WS_CHILD) != 0) {
175 walk = GetParent(walk);
177 return walk == parent;
189 SetLastError(NO_ERROR);
190 m_menu = CreatePopupMenu();
196 SetLastError(NO_ERROR);
197 m_handle = CreateEvent(NULL,p_manualreset ? TRUE : FALSE, p_initialstate ? TRUE : FALSE,NULL);
203 if (temp != NULL) CloseHandle(temp);
211 if (time == 0) time = 1;
212 }
else if (p_seconds < 0) {
220 SetLastError(NO_ERROR);
226 throw pfc::exception_bug_check();
249 case WAIT_OBJECT_0 + 1:
260 if (temp != NULL) DestroyIcon(temp);
266 SetLastError(NO_ERROR);
267 m_accel = LoadAccelerators(p_inst,p_id);
275 DestroyAcceleratorTable(
m_accel);
286 const DWORD ver = GetVersion();
287 return (WORD)HIBYTE(LOWORD(ver)) | ((WORD)LOBYTE(LOWORD(ver)) << 8);
void uSleepSeconds(double p_time, bool p_alertable)
void uAddWindowStyle(HWND p_wnd, LONG p_style)
CGlobalLockScope(HGLOBAL p_handle)
BOOL winFormatSystemErrorMessage(pfc::string_base &p_out, DWORD p_code)
void load(HINSTANCE p_inst, const TCHAR *p_id)
void uRemoveWindowStyle(HWND p_wnd, LONG p_style)
unsigned MapDialogWidth(HWND p_dialog, unsigned p_value)
typedef BOOL(WINAPI *pPowerSetRequest_t)(__in HANDLE PowerRequest
HANDLE get_handle() const
bool IsKeyPressed(unsigned vk)
void winPrefixPath(pfc::string_base &out, const char *p_path)
typedef HANDLE(WINAPI *pPowerCreateRequest_t)(__in void *Context)
static int g_twoEventWait(win32_event &ev1, win32_event &ev2, double timeout)
string_utf8_from_wide string_utf8_from_os
static bool g_wait_for(HANDLE p_event, double p_timeout_seconds)
Returns true when signaled, false on timeout.
void uAddWindowExStyle(HWND p_wnd, LONG p_style)
void winUnPrefixPath(pfc::string_base &out, const char *p_path)
string8_fastalloc string_formatter
t_int32 rint32(double p_val)
unsigned GetHotkeyModifierFlags()
Returns current modifier keys pressed, using win32 MOD_* flags.
WORD GetWindowsVersionCode()
static DWORD g_calculate_wait_time(double p_seconds)
bool IsPointInsideControl(const POINT &pt, HWND wnd)
bool IsWindowChildOf(HWND child, HWND parent)
void uRemoveWindowExStyle(HWND p_wnd, LONG p_style)
int strcmp_partial(const char *str, const char *substr)
void create(bool p_manualreset, bool p_initialstate)
void set_state(bool p_state)