procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
Var
Des : hWnd;
s : String;
begin
{***********************************************
* ??????? ??? ????????? ????? ???? ? ???? *
************************************************}
case Msg.message of
WM_NCMOUSEMOVE : begin
Form1.Label1.Caption:=IntToStr(msg.pt.X);
Form1.Label2.Caption:=IntToStr(msg.pt.Y);
TrackMouseEvent(me);
inherited;
end;
WM_MOUSEMOVE : begin
Form1.Label1.Caption:=IntToStr(msg.pt.X);
Form1.Label2.Caption:=IntToStr(msg.pt.Y);
TrackMouseEvent(me);
inherited;
end;
WM_MOUSEHOVER : begin
// Form1.Label3.Caption:='? ? ???????';
// TrackMouseEvent(me);
inherited;
Form1.Label3.Caption:='? ? ???????';
TrackMouseEvent(me);
end;
WM_NCMOUSELEAVE : begin
// Form1.Label3.Caption:='? ?? ? ???????';
inherited;
Form1.Label3.Caption:='? ?? ? ???????';
end;
WM_NCHITTEST : begin
{if then begin
ShowMessage('??????');
end;}
inherited;
end;
{*********************************
* Обрабатывем сообщен от таймера *
**********************************}
WM_TIMER : begin
{ s:=Form1.Edit1.Text;}
Des:=FindWindow(nil,'то что написано в заголовке окна'); //???? ???? ? ????? ???????
TrackMouseEvent(me);
if Des=0 then begin //???? ?? ????? ?? ....
end else begin
// PostMessage(Des,wm_close,hwnd_broadcast,0);
//???? ????? ?? ?????? ?????????
SetWindowText(Des,'[c] Lonley Shadow 2003 - ??????? ????');
Windows.Beep(4440,500); //?????? ????
end;
inherited;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
{**********************
* назначаем таймер на 2сек *
***********************}
SetTimer(Form1.Handle,1,2000,timerproc);
{**************************
* прячем окно *
***************************}
// showwindow(Application.handle, SW_HIDE);
// showwindow(Form1.handle, SW_HIDE);
{***********************
* или так *
************************}
(*Application.Showmainform:=false;*) //лучше так
//Form1.Visible:=False;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
//Application.Title:='';
//showwindow(Application.handle, SW_HIDE);
//showwindow(Form1.handle, SW_HIDE);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showwindow(Application.handle, SW_HIDE);
showwindow(Form1.handle, SW_HIDE);
end;
end.
ПРивет :D
-=-=-=
Вот у меня вопрос
-=-=-=-=-=
WM_TIMER :
begin
s:=Form1.Edit1.Text; {<-- хотел бы вставить от сюда имя заголовка}
Des:=FindWindow(nil,s); {<-- но тут происходит несовпадение типов типа String PAnsiChar... }
{ Есть ли функция преобразования типа String в PAnsiChar?}
TrackMouseEvent(me);
if Des=0 then begin ... end
else begin
// PostMessage(Des,wm_close,hwnd_broadcast,0);
SetWindowText(Des,'[c] Lonley Shadow 2003 - ');
Windows.Beep(4440,500);
end;
inherited;
end;
var
S1: String;
S2: PAnsiChar;
begin
S1 := 'как же это всё непостижимо сложно';
S2 := PAnsiChar(S1)
// Урааааааааааа!!!!!!!!
ещё посмотри StrPas
Des:=FindWindow(nil,PChar(s));