setupgui/windows/main.cpp (40 lines of code) (raw):

// Copyright (c) 2007, 2024, Oracle and/or its affiliates. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License, version 2.0, as // published by the Free Software Foundation. // // This program is designed to work with certain software (including // but not limited to OpenSSL) that is licensed under separate terms, as // designated in a particular file or component or in included license // documentation. The authors of MySQL hereby grant you an additional // permission to link the program and your derivative works with the // separately licensed software that they have either included with // the program or referenced in the documentation. // // Without limiting anything contained in the foregoing, this file, // which is part of Connector/ODBC, is also subject to the // Universal FOSS Exception, version 1.0, a copy of which can be found at // https://oss.oracle.com/licenses/universal-foss-exception. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License, version 2.0, for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation, Inc., // 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "resource.h" #include <winsock2.h> #include <windows.h> #include <commctrl.h> #include <new> #include "MYODBC_MYSQL.h" #ifdef _MANAGED #pragma managed(push, off) #endif HINSTANCE ghInstance; const LPCWSTR className = L"MySQLSetupLib"; BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { if ( ul_reason_for_call == DLL_PROCESS_ATTACH ) { my_sys_init(); InitCommonControls(); ghInstance = hModule; WNDCLASSEX wcx; // Get system dialog information. wcx.cbSize = sizeof(wcx); if (!GetClassInfoEx(NULL, MAKEINTRESOURCE(32770), &wcx)) return 0; //FindResource(hModule, RT_DIALOG ); // Add our own stuff. wcx.hInstance = hModule; // wcx.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDR_ICO_MAIN)); wcx.lpszClassName = className; if (!RegisterClassEx(&wcx) ) return 0; } else if ( ul_reason_for_call == DLL_PROCESS_DETACH ) { mysys_end(0); UnregisterClass(className,ghInstance); } return TRUE; } #ifdef _MANAGED #pragma managed(pop) #endif