Skip to content

Commit 2c9bfd8

Browse files
committed
upd code
1 parent e8396db commit 2c9bfd8

File tree

5 files changed

+109
-104
lines changed

5 files changed

+109
-104
lines changed

src/dialog.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ VOID _app_initializeregion (
8787
height = _r_calc_rectheight (&monitor_context->rect);
8888

8989
// load cursor
90-
monitor_context->hcursor = LoadCursor (_r_sys_getimagebase (), MAKEINTRESOURCE (IDI_MAIN));
90+
monitor_context->hcursor = LoadCursorW (_r_sys_getimagebase (), MAKEINTRESOURCE (IDI_MAIN));
9191

9292
// create pen
9393
pen_size = _r_dc_getsystemmetrics (SM_CXBORDER, dpi_value) * 4;
@@ -242,7 +242,7 @@ HWND _app_showdummy (
242242

243243
CopyRect (&dummy_context.rect, rect);
244244

245-
hdummy = CreateWindowEx (0, DUMMY_CLASS_DLG, _r_app_getname (), WS_POPUP | WS_OVERLAPPED, 0, 0, 0, 0, NULL, NULL, _r_sys_getimagebase (), &dummy_context);
245+
hdummy = CreateWindowExW (0, DUMMY_CLASS_DLG, _r_app_getname (), WS_POPUP | WS_OVERLAPPED, 0, 0, 0, 0, NULL, NULL, _r_sys_getimagebase (), &dummy_context);
246246

247247
return hdummy;
248248
}
@@ -386,13 +386,13 @@ INT_PTR CALLBACK RegionProc (
386386

387387
case WM_LBUTTONDOWN:
388388
{
389-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDM_REGION_START, 0), lparam);
389+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDM_REGION_START, 0), lparam);
390390
break;
391391
}
392392

393393
case WM_MBUTTONDOWN:
394394
{
395-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDM_REGION_CANCEL, 0), 0);
395+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDM_REGION_CANCEL, 0), 0);
396396
break;
397397
}
398398

@@ -406,7 +406,7 @@ INT_PTR CALLBACK RegionProc (
406406
if (!GetCursorPos (&pt))
407407
break;
408408

409-
hmenu = LoadMenu (NULL, MAKEINTRESOURCE (IDM_REGION));
409+
hmenu = LoadMenuW (NULL, MAKEINTRESOURCE (IDM_REGION));
410410

411411
if (!hmenu)
412412
break;
@@ -423,7 +423,7 @@ INT_PTR CALLBACK RegionProc (
423423
command_id = _r_menu_popup (hsubmenu, hwnd, &pt, FALSE);
424424

425425
if (command_id)
426-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (command_id, 0), MAKELPARAM (pt.x, pt.y));
426+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (command_id, 0), MAKELPARAM (pt.x, pt.y));
427427
}
428428

429429
DestroyMenu (hmenu);
@@ -536,7 +536,7 @@ INT_PTR CALLBACK RegionProc (
536536
case WM_KEYDOWN:
537537
{
538538
if (wparam == VK_ESCAPE)
539-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDM_REGION_CANCEL, 0), 0);
539+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDM_REGION_CANCEL, 0), 0);
540540

541541
break;
542542
}
@@ -776,7 +776,7 @@ INT_PTR CALLBACK TimerProc (
776776

777777
length = (INT)(INT_PTR)_r_str_getlength (text);
778778

779-
DrawTextEx (hdc_buffered, text, length, &rect, DT_VCENTER | DT_CENTER | DT_SINGLELINE | DT_NOCLIP | DT_NOPREFIX, NULL);
779+
DrawTextExW (hdc_buffered, text, length, &rect, DT_VCENTER | DT_CENTER | DT_SINGLELINE | DT_NOCLIP | DT_NOPREFIX, NULL);
780780

781781
EndBufferedPaint (hdpaint, TRUE);
782782
}

src/dialog.h

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,6 @@
33

44
#pragma once
55

6-
#define DUMMY_CLASS_DLG L"DummyDlg"
7-
8-
typedef struct _MONITOR_CONTEXT
9-
{
10-
HWND hwnd;
11-
HCURSOR hcursor;
12-
RECT rect;
13-
14-
union
15-
{
16-
struct
17-
{
18-
HDC hcapture;
19-
HDC hcapture_mask;
20-
HBITMAP hbitmap;
21-
HBITMAP hbitmap_mask;
22-
HPEN hpen;
23-
HPEN hpen_draw;
24-
HDC hdc;
25-
26-
POINT pt_start;
27-
POINT pt_end;
28-
29-
BOOLEAN is_drawing;
30-
} region;
31-
32-
struct
33-
{
34-
PSHOT_INFO shot_info;
35-
HFONT hfont;
36-
volatile LONG timer_value;
37-
} timer;
38-
};
39-
} MONITOR_CONTEXT, *PMONITOR_CONTEXT;
40-
41-
typedef struct _TIMER_CONTEXT
42-
{
43-
HWND hwnd;
44-
LONG timer_value;
45-
PSHOT_INFO shot_info;
46-
} TIMER_CONTEXT, *PTIMER_CONTEXT;
47-
48-
typedef struct _DUMMY_CONTEXT
49-
{
50-
HWND hwnd;
51-
RECT rect;
52-
} DUMMY_CONTEXT, *PDUMMY_CONTEXT;
53-
546
BOOL CALLBACK enum_monitor_timer_callback (
557
_In_ HMONITOR hmonitor,
568
_In_ HDC hdc,

src/helper.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ VOID _app_playsound ()
5050
if (!_r_config_getboolean (L"IsPlaySound", TRUE))
5151
return;
5252

53-
PlaySound (MAKEINTRESOURCE (IDW_MAIN), _r_sys_getimagebase (), SND_ASYNC | SND_NODEFAULT | SND_NOWAIT | SND_FILENAME | SND_SENTRY | SND_RESOURCE);
53+
PlaySoundW (MAKEINTRESOURCE (IDW_MAIN), _r_sys_getimagebase (), SND_ASYNC | SND_NODEFAULT | SND_NOWAIT | SND_FILENAME | SND_SENTRY | SND_RESOURCE);
5454
}
5555

5656
LONG _app_getimageformat_id ()
@@ -224,20 +224,19 @@ PR_STRING _app_uniquefilename (
224224
WCHAR time_format[MAX_PATH];
225225
SYSTEMTIME st;
226226
PR_STRING name_prefix;
227-
PR_STRING string;
227+
PR_STRING string = NULL;
228228
PIMAGE_FORMAT format;
229229

230230
format = _app_getimageformat_data ();
231231

232232
name_prefix = _r_config_getstring (L"FilenamePrefix", FILE_FORMAT_NAME_PREFIX);
233-
string = NULL;
234233

235234
if (name_type == NAME_DATE)
236235
{
237236
GetLocalTime (&st);
238237

239-
if (GetDateFormat (LOCALE_SYSTEM_DEFAULT, 0, &st, FILE_FORMAT_DATE_FORMAT_1, date_format, RTL_NUMBER_OF (date_format)) &&
240-
GetTimeFormat (LOCALE_SYSTEM_DEFAULT, 0, &st, FILE_FORMAT_DATE_FORMAT_2, time_format, RTL_NUMBER_OF (time_format)))
238+
if (GetDateFormatW (LOCALE_SYSTEM_DEFAULT, 0, &st, FILE_FORMAT_DATE_FORMAT_1, date_format, RTL_NUMBER_OF (date_format)) &&
239+
GetTimeFormatW (LOCALE_SYSTEM_DEFAULT, 0, &st, FILE_FORMAT_DATE_FORMAT_2, time_format, RTL_NUMBER_OF (time_format)))
241240
{
242241
_r_obj_movereference (&string, _r_format_string (
243242
L"%s\\%s%s-%s.%s",
@@ -506,7 +505,7 @@ VOID _app_screenshot (
506505

507506
hmonitor = MonitorFromPoint (pt, MONITOR_DEFAULTTONEAREST);
508507

509-
if (GetMonitorInfo (hmonitor, &monitor_info))
508+
if (GetMonitorInfoW (hmonitor, &monitor_info))
510509
{
511510
_r_wnd_recttorectangle (&shot_info->rectangle, &monitor_info.rcMonitor);
512511

src/main.c

Lines changed: 43 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ VOID _app_key2string (
4343
}
4444
else
4545
{
46-
scan_code = MapVirtualKey (vk_code, MAPVK_VK_TO_VSC);
46+
scan_code = MapVirtualKeyW (vk_code, MAPVK_VK_TO_VSC);
4747

48-
GetKeyNameText ((scan_code << 16), key_name, RTL_NUMBER_OF (key_name));
48+
GetKeyNameTextW ((scan_code << 16), key_name, RTL_NUMBER_OF (key_name));
4949
}
5050

5151
_r_str_append (buffer, length, key_name);
@@ -62,10 +62,10 @@ BOOLEAN _app_hotkeyinit (
6262
UINT hk_monitor;
6363
UINT hk_window;
6464
UINT hk_region;
65-
BOOLEAN is_nofullscreen;
66-
BOOLEAN is_nomonitor;
67-
BOOLEAN is_nowindow;
68-
BOOLEAN is_noregion;
65+
BOOLEAN is_nofullscreen = FALSE;
66+
BOOLEAN is_nomonitor = FALSE;
67+
BOOLEAN is_nowindow = FALSE;
68+
BOOLEAN is_noregion = FALSE;
6969

7070
UnregisterHotKey (hwnd, HOTKEY_ID_FULLSCREEN);
7171
UnregisterHotKey (hwnd, HOTKEY_ID_MONITOR);
@@ -77,11 +77,6 @@ BOOLEAN _app_hotkeyinit (
7777
hk_window = _r_config_getlong (L"HotkeyWindow", HOTKEY_WINDOW);
7878
hk_region = _r_config_getlong (L"HotkeyRegion", HOTKEY_REGION);
7979

80-
is_nofullscreen = FALSE;
81-
is_nomonitor = FALSE;
82-
is_nowindow = FALSE;
83-
is_noregion = FALSE;
84-
8580
if (_r_config_getboolean (L"HotkeyFullscreenEnabled", FALSE))
8681
{
8782
if (hk_fullscreen)
@@ -358,10 +353,10 @@ INT_PTR CALLBACK SettingsProc (
358353
if (_r_combobox_getcurrentitem (hwnd, IDC_REGION_CB) == CB_ERR)
359354
_r_combobox_setcurrentitem (hwnd, IDC_REGION_CB, 0);
360355

361-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDC_FULLSCREEN_CB, CBN_SELCHANGE), 0);
362-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDC_MONITOR_CB, CBN_SELCHANGE), 0);
363-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDC_WINDOW_CB, CBN_SELCHANGE), 0);
364-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDC_REGION_CB, CBN_SELCHANGE), 0);
356+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDC_FULLSCREEN_CB, CBN_SELCHANGE), 0);
357+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDC_MONITOR_CB, CBN_SELCHANGE), 0);
358+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDC_WINDOW_CB, CBN_SELCHANGE), 0);
359+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDC_REGION_CB, CBN_SELCHANGE), 0);
365360

366361
break;
367362
}
@@ -474,7 +469,7 @@ INT_PTR CALLBACK SettingsProc (
474469

475470
if (!_app_hotkeyinit (_r_app_gethwnd (), hwnd))
476471
{
477-
SetWindowLongPtr (hwnd, DWLP_MSGRESULT, -1);
472+
SetWindowLongPtrW (hwnd, DWLP_MSGRESULT, -1);
478473

479474
return (INT_PTR)-1;
480475
}
@@ -536,8 +531,23 @@ VOID _app_initdropdownmenu (
536531

537532
string = _r_config_getstring (L"FilenamePrefix", FILE_FORMAT_NAME_PREFIX);
538533

539-
_r_menu_setitemtextformat (hmenu, IDM_FILENAME_INDEX, FALSE, FILE_FORMAT_NAME_FORMAT L".%s", _r_obj_getstringordefault (string, FILE_FORMAT_NAME_PREFIX), START_IDX, format->ext);
540-
_r_menu_setitemtextformat (hmenu, IDM_FILENAME_DATE, FALSE, L"%s" FILE_FORMAT_DATE_FORMAT_1 L"-" FILE_FORMAT_DATE_FORMAT_2 L".%s", _r_obj_getstringordefault (string, FILE_FORMAT_NAME_PREFIX), format->ext);
534+
_r_menu_setitemtextformat (
535+
hmenu,
536+
IDM_FILENAME_INDEX,
537+
FALSE,
538+
FILE_FORMAT_NAME_FORMAT L".%s",
539+
_r_obj_getstringordefault (string, FILE_FORMAT_NAME_PREFIX),
540+
START_IDX, format->ext
541+
);
542+
543+
_r_menu_setitemtextformat (
544+
hmenu,
545+
IDM_FILENAME_DATE,
546+
FALSE,
547+
L"%s" FILE_FORMAT_DATE_FORMAT_1 L"-" FILE_FORMAT_DATE_FORMAT_2 L".%s",
548+
_r_obj_getstringordefault (string, FILE_FORMAT_NAME_PREFIX),
549+
format->ext
550+
);
541551

542552
if (string)
543553
_r_obj_dereference (string);
@@ -646,9 +656,9 @@ VOID _app_initialize ()
646656
wcex.lpszClassName = DUMMY_CLASS_DLG;
647657
wcex.lpfnWndProc = &DummyProc;
648658
wcex.hbrBackground = GetSysColorBrush (COLOR_WINDOW);
649-
wcex.hCursor = LoadCursor (NULL, IDC_ARROW);
659+
wcex.hCursor = LoadCursorW (NULL, IDC_ARROW);
650660

651-
RegisterClassEx (&wcex);
661+
RegisterClassExW (&wcex);
652662
}
653663

654664
INT_PTR CALLBACK DlgProc (
@@ -827,7 +837,7 @@ INT_PTR CALLBACK DlgProc (
827837
SAFE_DELETE_HANDLE (config.hregion_mutex);
828838
SAFE_DELETE_HANDLE (config.hshot_evt);
829839

830-
UnregisterClass (DUMMY_CLASS_DLG, _r_sys_getimagebase ());
840+
UnregisterClassW (DUMMY_CLASS_DLG, _r_sys_getimagebase ());
831841

832842
_r_tray_destroy (hwnd, &GUID_TrayIcon);
833843

@@ -861,7 +871,7 @@ INT_PTR CALLBACK DlgProc (
861871
break;
862872
}
863873

864-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (command_id, 0), 0);
874+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (command_id, 0), 0);
865875

866876
break;
867877
}
@@ -880,13 +890,13 @@ INT_PTR CALLBACK DlgProc (
880890

881891
case WM_LBUTTONUP:
882892
{
883-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDM_TRAY_SHOW, 0), 0);
893+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDM_TRAY_SHOW, 0), 0);
884894
break;
885895
}
886896

887897
case WM_MBUTTONUP:
888898
{
889-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDM_EXPLORE, 0), 0);
899+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDM_EXPLORE, 0), 0);
890900
break;
891901
}
892902

@@ -904,7 +914,7 @@ INT_PTR CALLBACK DlgProc (
904914

905915
SetForegroundWindow (hwnd); // don't touch
906916

907-
hmenu = LoadMenu (NULL, MAKEINTRESOURCE (IDM_TRAY));
917+
hmenu = LoadMenuW (NULL, MAKEINTRESOURCE (IDM_TRAY));
908918

909919
if (hmenu)
910920
{
@@ -957,7 +967,7 @@ INT_PTR CALLBACK DlgProc (
957967
_r_menu_setitemtext (hsubmenu, IDM_TRAY_EXIT, FALSE, _r_locale_getstring (IDS_EXIT));
958968

959969
// initialize settings submenu
960-
hmenu_settings = LoadMenu (NULL, MAKEINTRESOURCE (IDM_SETTINGS));
970+
hmenu_settings = LoadMenuW (NULL, MAKEINTRESOURCE (IDM_SETTINGS));
961971

962972
if (hmenu_settings)
963973
{
@@ -990,22 +1000,24 @@ INT_PTR CALLBACK DlgProc (
9901000
case WM_NOTIFY:
9911001
{
9921002
LPNMHDR nmlp;
993-
LPNMBCDROPDOWN lpdropdown;
9941003

9951004
nmlp = (LPNMHDR)lparam;
9961005

9971006
switch (nmlp->code)
9981007
{
9991008
case BCN_DROPDOWN:
10001009
{
1010+
LPNMBCDROPDOWN lpdropdown;
1011+
10011012
lpdropdown = (LPNMBCDROPDOWN)lparam;
10021013

10031014
if (lpdropdown->hdr.idFrom != IDC_SETTINGS)
10041015
break;
10051016

1006-
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (IDC_SETTINGS, 0), 0);
1017+
PostMessageW (hwnd, WM_COMMAND, MAKEWPARAM (IDC_SETTINGS, 0), 0);
1018+
1019+
SetWindowLongPtrW (hwnd, DWLP_MSGRESULT, TRUE);
10071020

1008-
SetWindowLongPtr (hwnd, DWLP_MSGRESULT, TRUE);
10091021
return TRUE;
10101022

10111023
break;
@@ -1036,8 +1048,7 @@ INT_PTR CALLBACK DlgProc (
10361048

10371049
return FALSE;
10381050
}
1039-
else if ((ctrl_id >= IDX_DELAY &&
1040-
ctrl_id <= IDX_DELAY + RTL_NUMBER_OF (timer_array)))
1051+
else if ((ctrl_id >= IDX_DELAY && ctrl_id <= IDX_DELAY + RTL_NUMBER_OF (timer_array)))
10411052
{
10421053
LONG index;
10431054

@@ -1095,7 +1106,7 @@ INT_PTR CALLBACK DlgProc (
10951106
if (!GetWindowRect (hbutton, &rect))
10961107
break;
10971108

1098-
hmenu = LoadMenu (NULL, MAKEINTRESOURCE (IDM_SETTINGS));
1109+
hmenu = LoadMenuW (NULL, MAKEINTRESOURCE (IDM_SETTINGS));
10991110

11001111
if (!hmenu)
11011112
break;

0 commit comments

Comments
 (0)