Помощь - Поиск - Пользователи - Календарь
Полная версия: Ищем ОКНО по Заголовку и меняем его
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
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));

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