Как предотвратить запуск второй копии программы не имеющей формы? Приложение написано на чистом API.
Вот кусок кода программы:
Код | begin FillChar(WndClass, SizeOf(WndClass), 0); with WndClass do begin hInstance := SysInit.hInstance; lpszClassName := sClassName; lpfnWndProc := @WindowProc; end; RegisterClass(WndClass); hWnd := CreateWindow(sClassName, '', 0, 0, 0, 0, 0, 0, 0, hInstance, NIL); if hWnd = 0 then begin MessageBox(0, 'Initialisation failed', NIL, ID_OK); Exit; end; //Регистрация сообщения о перезапуске Explorer`а TaskBarCreated := RegisterWindowMessage('TaskbarCreated'); //Создание значка CreateTaskBarIcon; //Скрываем окно ShowWindow(hWnd, SW_HIDE); //Цикл обработки сообщений repeat waitMessage; while GetMessage(Msg, 0, 0, 0) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; //Убираем за собой значок TaskBarDeleteIcon(hWnd, ICON_ID); Halt(Msg.wParam); end. |
|