Помощь - Поиск - Пользователи - Календарь
Полная версия: Ищем ОКНО по Заголовку и меняем его
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Shadow
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.
Shadow
ПРивет :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;
___ALex___
var
 S1: String;
 S2: PAnsiChar;
begin
 S1 := 'как же это всё непостижимо сложно';
 S2 := PAnsiChar(S1)
 // Урааааааааааа!!!!!!!!
Shadow
Цитата
var
S1: String;
S2: PAnsiChar;
begin
S1 := 'как же это всё непостижимо сложно';разве сложно
S2 := PAnsiChar(S1)
// Урааааааааааа!!!!!!!!

Спасибо, все-таки помог

Не большое примечание Я с DELPHI знаком всего несколько недель,
а API три дня
так что не сердчайте smile.gif
___ALex___
ещё посмотри StrPas
mj
Des:=FindWindow(nil,PChar(s));
Shadow
Цитата
Des:=FindWindow(nil,PChar(s));

Ну Я так и напсал
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.