Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата:
арр, не люблю я ассемблер.... ((
...

Лады,попробуем тогда так:
Код: Выделить весь код
var
 SplashWindowClass : TWndClass;
 hSplashWnd, hSplashEvent, hSplashRoutineThread : HWND;

function SplashWindowProc(hWnd : HWND; uMsg : UINT; wParam : WPARAM;
                    lParam : LPARAM) : LRESULT; stdcall;
begin
 Result := DefWindowProc(hWnd, uMsg, wParam, lParam);

if uMsg = WM_DESTROY then
 PostQuitMessage(0);
end; // SplashWindowProc

procedure MainProc;
 hSplashEvent := CreateEvent(0, true, false, 'SplashEvent');
 hSplashRoutineThread := CreateThread(0, 0, @ShowSplashWindow, 0, 0, 0);

 Sleep(10000);

 SetEvent(hSplashEvent);
 CloseHandle(hSplashRoutineThread);
 CloseHandle(hSplashEvent);
end; // MainProc

procedure ShowSplashWindow;
 SplashWindowClass.style := CS_HREDRAW or CS_VREDRAW;
 SplashWindowClass.lpfnWndProc := @SplashWindowProc;
 SplashWindowClass.hInstance := Instance;
 SplashWindowClass.hIcon := LoadIcon(0, IDI_APPLICATION);
 SplashWindowClass.hCursor := LoadCursor(0, IDC_ARROW);
 SplashWindowClass.hbrBackground := COLOR_BACKGROUND;
 SplashWindowClass.lpszClassName := 'Splash';

 RegisterClass(SplashWindowClass);
 hSplashWnd := CreateWindow('Splash', 'SplashScreen',
                          WS_POPUP,
                          350, 300, 400, 250, 0, 0, Instance, NIL);
 ShowWindow(hSplashWnd, SW_SHOW);
 UpdateWindow(hSplashWnd);

 WaitForSingleObject(hSplashEvent, INFINITE);

 DestroyWindow(hSplashWnd);
 UnregisterClass('Splash', Instance);
 ExitThread(0);
end; // ShowSplashWindow
Возможны ошибки.

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:47, 12-03-2007 | #4