Latest version

This commit is contained in:
Alessandro Autiero
2022-12-30 03:03:59 +01:00
parent 966b4b33fd
commit 013d15d7ff
43 changed files with 519 additions and 244 deletions

View File

@@ -13,13 +13,37 @@ auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP);
#include <stdio.h>
#include <fcntl.h>
bool CheckOneInstance()
{
HANDLE m_hStartEvent = CreateEventW( NULL, FALSE, FALSE, L"reboot_launcher");
if(m_hStartEvent == NULL)
{
CloseHandle( m_hStartEvent );
return false;
}
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
CloseHandle( m_hStartEvent );
m_hStartEvent = NULL;
return false;
}
return true;
}
int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
_In_ wchar_t *command_line, _In_ int show_command) {
std::vector<std::string> command_line_arguments = GetCommandLineArguments();
if (!command_line_arguments.empty() || (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent())) {
CreateAndAttachConsole();
if(!CheckOneInstance()){
return false;
}
// Attach to console when present (e.g., 'flutter run') or create a
// new console when running with a debugger.
std::vector<std::string> command_line_arguments = GetCommandLineArguments();
if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) {
CreateAndAttachConsole();
}
// Initialize COM, so that it is available for use in the library and/or
// plugins.
@@ -44,6 +68,5 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
}
::CoUninitialize();
std::cout << "Done" << std::endl;
return EXIT_SUCCESS;
}