mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-10 21:33:38 +00:00
Updated installation dialog box, new user interface.
This commit is contained in:
Binary file not shown.
@@ -12,6 +12,24 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Neutral resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
#pragma code_page(1252)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
IDB_BITMAP_MC BITMAP "mc.bmp"
|
||||
|
||||
#endif // Neutral resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (United States) resources
|
||||
|
||||
@@ -45,16 +63,6 @@ END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "MeshService.ico"
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
@@ -98,30 +106,38 @@ END
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_INSTALLDIALOG DIALOGEX 0, 100, 317, 148
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION
|
||||
IDD_INSTALLDIALOG DIALOGEX 0, 100, 308, 153
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "MeshCentral Agent"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "Close",IDCANCEL,260,127,50,14
|
||||
LTEXT "Click the buttons below to install or uninstall the mesh agent. When installed, this software runs in the background allowing this computer to be managed and controlled by a remote administrator.",IDC_DESCRIPTION,7,7,275,28
|
||||
GROUPBOX "Installation Information",IDC_STATIC,7,38,303,87
|
||||
PUSHBUTTON "Install / Update",IDC_INSTALLBUTTON,7,127,65,14
|
||||
PUSHBUTTON "Uninstall",IDC_UNINSTALLBUTTON,75,127,65,14
|
||||
ICON IDI_ICON1,IDC_STATIC,288,7,20,20
|
||||
LTEXT "Current Agent Status",IDC_AGENTSTATUS_TEXT,14,51,100,8
|
||||
LTEXT "Unknown",IDC_STATUSTEXT,127,51,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "New Agent Version",IDC_AGENT_VERSION,14,63, 100,8
|
||||
LTEXT "Unknown",IDC_VERSIONTEXT,127,63,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "New Group Id",IDC_MESH_IDENTIFIER,14,99, 100,8
|
||||
LTEXT "Unknown",IDC_HASHTEXT,127,99,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "New Group Name",IDC_MESH_NAME,14,87, 100,8
|
||||
LTEXT "Unknown",IDC_POLICYTEXT,127,87,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "New Server Identifier",IDC_SERVER_IDENTIFIER,14,111, 100,8
|
||||
LTEXT "Unknown",IDC_SERVERID,127,111,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "New Server Location",IDC_SERVER_LOCATION,14,75, 100,8
|
||||
LTEXT "Unknown",IDC_SERVERLOCATION,127,75,175,8,0,WS_EX_RIGHT
|
||||
PUSHBUTTON "Connect",IDC_CONNECTBUTTON,143,127,65,14
|
||||
PUSHBUTTON "Close",IDCLOSE,251,132,50,14
|
||||
PUSHBUTTON "Install / Update",IDC_INSTALLBUTTON,7,132,65,14
|
||||
PUSHBUTTON "Uninstall",IDC_UNINSTALLBUTTON,75,132,65,14
|
||||
PUSHBUTTON "Connect",IDC_CONNECTBUTTON,143,132,65,14
|
||||
LTEXT "Click the buttons below to install or uninstall this remote management software. When installed, this software runs in the background allowing this computer to be managed and controlled by a remote administrator.",IDC_STATIC_LEFTTEXT,7,7,171,63
|
||||
LTEXT "Static",IDC_STATIC_LINE,7,128,294,1
|
||||
PUSHBUTTON "Connection Details...",IDC_DETAILSBUTTON,7,111,97,14
|
||||
END
|
||||
|
||||
IDD_DETAILSDIALOG DIALOGEX 0, 0, 311, 102
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Connection Details"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,254,81,50,14
|
||||
LTEXT "Agent Status",IDC_AGENTSTATUS_TEXT,7,7,100,8
|
||||
LTEXT "Unknown",IDC_STATUSTEXT,129,7,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "Agent Version",IDC_AGENT_VERSION,7,19,100,8
|
||||
LTEXT "Unknown",IDC_VERSIONTEXT,129,19,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "Group Identifier",IDC_MESH_IDENTIFIER,7,67,100,8
|
||||
LTEXT "Unknown",IDC_HASHTEXT,129,67,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "Group Name",IDC_MESH_NAME,7,55,100,8
|
||||
LTEXT "Unknown",IDC_POLICYTEXT,129,55,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "Server Identifier",IDC_SERVER_IDENTIFIER,7,43,100,8
|
||||
LTEXT "Unknown",IDC_SERVERID,129,43,175,8,0,WS_EX_RIGHT
|
||||
LTEXT "Server Location",IDC_SERVER_LOCATION,7,31,100,8
|
||||
LTEXT "Unknown",IDC_SERVERLOCATION,129,31,175,8,0,WS_EX_RIGHT
|
||||
END
|
||||
|
||||
|
||||
@@ -136,9 +152,17 @@ BEGIN
|
||||
IDD_INSTALLDIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 310
|
||||
RIGHTMARGIN, 301
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 141
|
||||
BOTTOMMARGIN, 146
|
||||
END
|
||||
|
||||
IDD_DETAILSDIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 304
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 95
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
@@ -154,6 +178,11 @@ BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
IDD_DETAILSDIALOG AFX_DIALOG_LAYOUT
|
||||
BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
#endif // English (United States) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -552,6 +552,7 @@
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="mc.bmp" />
|
||||
<Image Include="MeshService.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -666,6 +667,7 @@
|
||||
<ClInclude Include="..\microstack\ILibWebServer.h" />
|
||||
<ClInclude Include="..\microstack\ILibWrapperWebRTC.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
<Image Include="MeshService.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</Image>
|
||||
<Image Include="mc.bmp">
|
||||
<Filter>Resource Files</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="firewall.cpp" />
|
||||
@@ -355,5 +358,6 @@
|
||||
<ClInclude Include="..\microscript\ILibDuktape_CompressedStream.h">
|
||||
<Filter>Microscript</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -57,6 +57,7 @@ TCHAR* serviceName = TEXT("Mesh Agent background service");
|
||||
SERVICE_STATUS serviceStatus;
|
||||
SERVICE_STATUS_HANDLE serviceStatusHandle = 0;
|
||||
INT_PTR CALLBACK DialogHandler(HWND, UINT, WPARAM, LPARAM);
|
||||
INT_PTR CALLBACK DialogHandler2(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
MeshAgentHostContainer *agent = NULL;
|
||||
DWORD g_serviceArgc;
|
||||
@@ -64,6 +65,9 @@ char **g_serviceArgv;
|
||||
extern int gRemoteMouseRenderDefault;
|
||||
char *DIALOG_LANG = NULL;
|
||||
|
||||
HBRUSH DialogBackgroundBrush = NULL;
|
||||
HBITMAP g_hbmLogo = NULL;
|
||||
|
||||
/*
|
||||
extern int g_TrustedHashSet;
|
||||
extern char g_TrustedHash[32];
|
||||
@@ -75,6 +79,7 @@ extern char* g_ServiceProxyHost;
|
||||
extern int g_ServiceConnectFlags;
|
||||
*/
|
||||
|
||||
|
||||
#if defined(_LINKVM)
|
||||
extern DWORD WINAPI kvm_server_mainloop(LPVOID Param);
|
||||
#endif
|
||||
@@ -704,13 +709,15 @@ int wmain(int argc, char* wargv[])
|
||||
{
|
||||
// Reset the firewall rules
|
||||
GetModuleFileNameW(NULL, str, _MAX_PATH);
|
||||
if (IsAdmin() == FALSE) { printf("Must run as administrator"); } else { ClearWindowsFirewall(str); SetupWindowsFirewall(str); printf("Done"); }
|
||||
if (IsAdmin() == FALSE) { printf("Must run as administrator"); }
|
||||
else { ClearWindowsFirewall(str); SetupWindowsFirewall(str); printf("Done"); }
|
||||
}
|
||||
else if (argc > 1 && (strcasecmp(argv[1], "-clearfirewall") == 0))
|
||||
{
|
||||
// Clear the firewall rules
|
||||
GetModuleFileNameW(NULL, str, _MAX_PATH);
|
||||
if (IsAdmin() == FALSE) { printf("Must run as administrator"); } else { ClearWindowsFirewall(str); printf("Done"); }
|
||||
if (IsAdmin() == FALSE) { printf("Must run as administrator"); }
|
||||
else { ClearWindowsFirewall(str); printf("Done"); }
|
||||
}
|
||||
#endif
|
||||
else if (argc == 2 && (strcasecmp(argv[1], "-resetnodeid") == 0))
|
||||
@@ -892,6 +899,42 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
UNREFERENCED_PARAMETER(lParam);
|
||||
switch (message)
|
||||
{
|
||||
case WM_CTLCOLORDLG: {
|
||||
// Set the background of the dialog box to blue
|
||||
if (DialogBackgroundBrush == NULL) {
|
||||
DialogBackgroundBrush = CreateSolidBrush(RGB(0, 54, 105));
|
||||
}
|
||||
return (INT_PTR)DialogBackgroundBrush;
|
||||
}
|
||||
case WM_CTLCOLORSTATIC: {
|
||||
// Set the left text to white over transparent
|
||||
if ((HWND)lParam == GetDlgItem(hDlg, IDC_STATIC_LEFTTEXT))
|
||||
{
|
||||
SetBkMode((HDC)wParam, TRANSPARENT);
|
||||
SetTextColor((HDC)wParam, RGB(255, 255, 255));
|
||||
return (INT_PTR)GetStockObject(NULL_BRUSH);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_PAINT:
|
||||
{
|
||||
// Paint the logo
|
||||
// TODO: We need to auto-scale the image to fit
|
||||
// TODO: Paint using GDI+ with transparency support
|
||||
if (g_hbmLogo != NULL) {
|
||||
BITMAP bm;
|
||||
PAINTSTRUCT ps;
|
||||
HDC hdc = BeginPaint(hDlg, &ps);
|
||||
HDC hdcMem = CreateCompatibleDC(hdc);
|
||||
HBITMAP hbmOld = SelectObject(hdcMem, g_hbmLogo);
|
||||
GetObject(g_hbmLogo, sizeof(bm), &bm);
|
||||
BitBlt(hdc, 326, 14, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);
|
||||
SelectObject(hdcMem, hbmOld);
|
||||
DeleteDC(hdcMem);
|
||||
EndPaint(hDlg, &ps);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
char selfexe[_MAX_PATH];
|
||||
@@ -908,12 +951,16 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
WCHAR *update_buttontext = NULL;
|
||||
WCHAR *uninstall_buttontext = NULL;
|
||||
WCHAR *connect_buttontext = NULL;
|
||||
WCHAR *cancel_buttontext = NULL;
|
||||
WCHAR *close_buttontext = NULL;
|
||||
WCHAR *disconnect_buttontext = NULL;
|
||||
WCHAR *state_notinstalled = NULL;
|
||||
WCHAR *state_running = NULL;
|
||||
WCHAR *state_notrunning = NULL;
|
||||
|
||||
// Load the bitmap
|
||||
// TODO: We need to load a PNG from the .MSH file if present
|
||||
g_hbmLogo = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP_MC));
|
||||
|
||||
// Get current executable path
|
||||
WCHAR wselfexe[MAX_PATH];
|
||||
GetModuleFileNameW(NULL, wselfexe, sizeof(wselfexe) / 2);
|
||||
@@ -996,12 +1043,12 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
if (serveridentifier != NULL) { SetWindowTextW(GetDlgItem(hDlg, IDC_SERVER_IDENTIFIER), serveridentifier); }
|
||||
|
||||
dialogdescription = Dialog_GetTranslation(ctx, "description");
|
||||
if (dialogdescription != NULL) { SetWindowTextW(GetDlgItem(hDlg, IDC_DESCRIPTION), dialogdescription); }
|
||||
if (dialogdescription != NULL) { SetWindowTextW(GetDlgItem(hDlg, IDC_STATIC_LEFTTEXT), dialogdescription); }
|
||||
|
||||
install_buttontext = Dialog_GetTranslation(ctx, "install");
|
||||
update_buttontext = Dialog_GetTranslation(ctx, "update");
|
||||
uninstall_buttontext = Dialog_GetTranslation(ctx, "uninstall");
|
||||
cancel_buttontext = Dialog_GetTranslation(ctx, "cancel");
|
||||
close_buttontext = Dialog_GetTranslation(ctx, "close");
|
||||
disconnect_buttontext = Dialog_GetTranslation(ctx, "disconnect");
|
||||
if (disconnect_buttontext != NULL)
|
||||
{
|
||||
@@ -1012,7 +1059,7 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
if (uninstall_buttontext != NULL) { SetWindowTextW(GetDlgItem(hDlg, IDC_UNINSTALLBUTTON), uninstall_buttontext); }
|
||||
connect_buttontext = Dialog_GetTranslation(ctx, "connect");
|
||||
if (connect_buttontext != NULL) { SetWindowTextW(GetDlgItem(hDlg, IDC_CONNECTBUTTON), connect_buttontext); }
|
||||
if (cancel_buttontext != NULL) { SetWindowTextW(GetDlgItem(hDlg, IDCANCEL), cancel_buttontext); }
|
||||
if (close_buttontext != NULL) { SetWindowTextW(GetDlgItem(hDlg, IDCLOSE), close_buttontext); }
|
||||
|
||||
duk_get_prop_string(ctx, -1, "status"); // [Array]
|
||||
state_notinstalled = Dialog_GetTranslationEx(ctx, Duktape_GetStringPropertyIndexValue(ctx, -1, 0, NULL));
|
||||
@@ -1097,11 +1144,13 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
ShowWindow(GetDlgItem(hDlg, IDC_UNINSTALLBUTTON), SW_HIDE);
|
||||
GetWindowPlacement(GetDlgItem(hDlg, IDC_INSTALLBUTTON), &lpwndpl);
|
||||
SetWindowPlacement(GetDlgItem(hDlg, IDC_CONNECTBUTTON), &lpwndpl);
|
||||
} else if ((installFlagsInt & 3) == 2) {
|
||||
}
|
||||
else if ((installFlagsInt & 3) == 2) {
|
||||
// Background Only
|
||||
hiddenButtons |= 1; // Connect button is hidden hidden
|
||||
ShowWindow(GetDlgItem(hDlg, IDC_CONNECTBUTTON), SW_HIDE);
|
||||
} else if ((installFlagsInt & 3) == 3) {
|
||||
}
|
||||
else if ((installFlagsInt & 3) == 3) {
|
||||
// Uninstall only
|
||||
GetWindowPlacement(GetDlgItem(hDlg, IDC_INSTALLBUTTON), &lpwndpl);
|
||||
SetWindowPlacement(GetDlgItem(hDlg, IDC_UNINSTALLBUTTON), &lpwndpl);
|
||||
@@ -1141,7 +1190,8 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
WINDOWPLACEMENT lpwndpl;
|
||||
GetWindowPlacement(GetDlgItem(hDlg, IDC_UNINSTALLBUTTON), &lpwndpl);
|
||||
SetWindowPlacement(GetDlgItem(hDlg, IDC_CONNECTBUTTON), &lpwndpl);
|
||||
} else if (hiddenButtons == 6) { // Only connect button is showing, place it in the install button location
|
||||
}
|
||||
else if (hiddenButtons == 6) { // Only connect button is showing, place it in the install button location
|
||||
WINDOWPLACEMENT lpwndpl;
|
||||
GetWindowPlacement(GetDlgItem(hDlg, IDC_INSTALLBUTTON), &lpwndpl);
|
||||
SetWindowPlacement(GetDlgItem(hDlg, IDC_CONNECTBUTTON), &lpwndpl);
|
||||
@@ -1154,7 +1204,7 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
return (INT_PTR)TRUE;
|
||||
}
|
||||
case WM_COMMAND:
|
||||
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
|
||||
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCLOSE || LOWORD(wParam) == IDCANCEL)
|
||||
{
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
|
||||
@@ -1165,13 +1215,17 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
|
||||
return (INT_PTR)TRUE;
|
||||
}
|
||||
else if (LOWORD(wParam) == IDC_DETAILSBUTTON) {
|
||||
DialogBoxW(NULL, MAKEINTRESOURCEW(IDD_DETAILSDIALOG), hDlg, DialogHandler2);
|
||||
return (INT_PTR)TRUE;
|
||||
}
|
||||
else if (LOWORD(wParam) == IDC_INSTALLBUTTON || LOWORD(wParam) == IDC_UNINSTALLBUTTON)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_INSTALLBUTTON), FALSE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_UNINSTALLBUTTON), FALSE);
|
||||
EnableWindow( GetDlgItem( hDlg, IDCANCEL ), FALSE );
|
||||
EnableWindow(GetDlgItem(hDlg, IDCLOSE), FALSE);
|
||||
|
||||
if (LOWORD(wParam) == IDC_INSTALLBUTTON)
|
||||
{
|
||||
@@ -1190,7 +1244,7 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
{
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_INSTALLBUTTON), TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDC_UNINSTALLBUTTON), TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDCANCEL), TRUE);
|
||||
EnableWindow(GetDlgItem(hDlg, IDCLOSE), TRUE);
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
@@ -1214,7 +1268,7 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
sprintf_s(ILibScratchPad, sizeof(ILibScratchPad), "connect --disableUpdate=1 --hideConsole=1 --exitPID=%u", pid);
|
||||
if (RunAsAdmin(ILibScratchPad, IsAdmin() == TRUE) == 0) { RunAsAdmin(ILibScratchPad, 1); }
|
||||
|
||||
if (closeButtonTextSet != 0) { SetWindowTextW(GetDlgItem(hDlg, IDCANCEL), closeButtonText); }
|
||||
if (closeButtonTextSet != 0) { SetWindowTextW(GetDlgItem(hDlg, IDCLOSE), closeButtonText); }
|
||||
return (INT_PTR)TRUE;
|
||||
}
|
||||
break;
|
||||
@@ -1224,6 +1278,49 @@ INT_PTR CALLBACK DialogHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
// Message handler for details dialog box.
|
||||
INT_PTR CALLBACK DialogHandler2(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
char *fileName = NULL, *meshname = NULL, *meshid = NULL, *serverid = NULL, *serverurl = NULL, *installFlags = NULL, *mshfile = NULL;
|
||||
char *displayName = NULL, *meshServiceName = NULL;
|
||||
int hiddenButtons = 0; // Flags: 1 if "Connect" is hidden, 2 if "Uninstall" is hidden, 4 is "Install is hidden"
|
||||
|
||||
UNREFERENCED_PARAMETER(lParam);
|
||||
switch (message)
|
||||
{
|
||||
case WM_CTLCOLORDLG: {
|
||||
// Set the background of the dialog box to blue
|
||||
if (DialogBackgroundBrush == NULL) {
|
||||
DialogBackgroundBrush = CreateSolidBrush(RGB(0, 54, 105));
|
||||
}
|
||||
return (INT_PTR)DialogBackgroundBrush;
|
||||
}
|
||||
case WM_CTLCOLORSTATIC: {
|
||||
// Set the left text to white over transparent
|
||||
SetBkMode((HDC)wParam, TRANSPARENT);
|
||||
SetTextColor((HDC)wParam, RGB(255, 255, 255));
|
||||
return (INT_PTR)GetStockObject(NULL_BRUSH);
|
||||
break;
|
||||
}
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
|
||||
break;
|
||||
}
|
||||
case WM_COMMAND:
|
||||
{
|
||||
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCLOSE || LOWORD(wParam) == IDCANCEL)
|
||||
{
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
return (INT_PTR)TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return (INT_PTR)FALSE;
|
||||
}
|
||||
|
||||
|
||||
#ifdef _MINCORE
|
||||
BOOL WINAPI AreFileApisANSI(void) { return FALSE; }
|
||||
VOID WINAPI FatalAppExitA(_In_ UINT uAction, _In_ LPCSTR lpMessageText) {}
|
||||
|
||||
BIN
meshservice/mc.bmp
Normal file
BIN
meshservice/mc.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
@@ -2,8 +2,9 @@
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by MeshService.rc
|
||||
//
|
||||
#define IDI_ICON1 101
|
||||
#define IDD_INSTALLDIALOG 103
|
||||
#define IDB_BITMAP_MC 108
|
||||
#define IDD_DETAILSDIALOG 111
|
||||
#define IDC_BUTTON2 1002
|
||||
#define IDC_INSTALLBUTTON 1002
|
||||
#define IDC_BUTTON3 1004
|
||||
@@ -25,14 +26,19 @@
|
||||
#define IDC_MESH_IDENTIFIER 1016
|
||||
#define IDC_SERVER_IDENTIFIER 1017
|
||||
#define IDC_DESCRIPTION 1018
|
||||
#define IDC_TAB2 1021
|
||||
#define IDC_TABS 1021
|
||||
#define IDC_STATIC_LEFTTEXT 1022
|
||||
#define IDC_STATIC_LINE 1024
|
||||
#define IDC_DETAILSBUTTON 1031
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 106
|
||||
#define _APS_NEXT_RESOURCE_VALUE 113
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1019
|
||||
#define _APS_NEXT_CONTROL_VALUE 1032
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
||||
2
meshservice/stdafx.h
Normal file
2
meshservice/stdafx.h
Normal file
@@ -0,0 +1,2 @@
|
||||
#pragma once
|
||||
#include <afxcontrolbars.h>
|
||||
@@ -1,3 +1,3 @@
|
||||
// This file is auto-generated, any edits may be overwritten
|
||||
#define SOURCE_COMMIT_DATE "2021-Jul-11 11:42:24-0700"
|
||||
#define SOURCE_COMMIT_HASH "5618516cb96f22a24ae06fc910a61cfeb2d9eaa9"
|
||||
#define SOURCE_COMMIT_DATE "2022-Jan-17 15:14:56-0800"
|
||||
#define SOURCE_COMMIT_HASH "44edd37fdbf2650de46cd04653525add37a15c6b"
|
||||
|
||||
Reference in New Issue
Block a user