Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно спрятать программу 
V
    Опции темы
try_to_get
  Дата 28.3.2007, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 426
Регистрация: 19.3.2007
Где: Россия

Репутация: нет
Всего: 2



Я спрятал свою программу с помощью этого кода:
Код

ShowWindow(Handle,SW_HIDE);
ShowWindow(Application.Handle,SW_HIDE);


Все работает, программа скрывается, но при выполнение действий программы, делает все остальные окна не активными, то есть приходится например нажать мишкой на форму, чтобы работать.
Данная программа не троян и не вирус, она далает скриншот десктопа. Думаю, что правильно объяснил. Да и вот еще, что, когда я прописал программу в reestr, что бы запускать вместе с виндой, вот и при сохранение изображения выдает ошибку и работает дальше, как это исправить.
Заранее, благодарю.


--------------------
Алгоритм не роскошь, а средство достижения цели!
user posted image
PM MAIL   Вверх
MetalFan
Дата 28.3.2007, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



а пояснее писать не принято чтоли?
по данному "объяснению" можно сказать, что "ошибка в 17 строке"...

Цитата(try_to_get @  28.3.2007,  21:23 Найти цитируемый пост)
делает все остальные окна не активными

какие окна? остальные от чего?


Цитата(try_to_get @  28.3.2007,  21:23 Найти цитируемый пост)
изображения выдает ошибку и работает дальше, как это исправить

прочитать сообщение об ошибке, найти место, где она возникает, проанализировать ситуацию и исправить ошибку.
понятно объяснил? ;)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Alexeis
Дата 28.3.2007, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



try_to_get, есть один такой ньюанс функция ShowWindow(Handle,SW_HIDE); вызывается автоматом
в методе Form1.Hide(); Но при этом еще и устанавливаются флаги состояния. Если приказывать напрямую окну формы то форма "не узнает" что она скрыта и будет действовать так как-будто она видна, т.е. непредсказуемо.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
MetalFan
Дата 29.3.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



лучшая рекомендация в этом случае - это не мешать в одну кучу методы VCL и WinApi)

Это сообщение отредактировал(а) MetalFan - 29.3.2007, 16:07


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
try_to_get
Дата 29.3.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 426
Регистрация: 19.3.2007
Где: Россия

Репутация: нет
Всего: 2



MetalFan
Цитата

прочитать сообщение об ошибке, найти место, где она возникает

Вот эта ошибка выходит, когда вкл. Windows и программа.
Cannot create file "C:\... ...\scr\29_03_2007 19_27_4jpg.jpg". The system cannot find the path specified.
Как я уже говорил, что программу прописал в Реестре, то ошибка выходит при этом.
Если просто запустить программу (вручную), то она работает нормально.
Цитата

какие окна? остальные от чего?

Например, загружена игра, при выполнение действий данной программы, игра останавлевается или даже сворачивается.

Alexeis
А как сообщить, что приложение спрятано и нужно действовать скрытно.

Добавлено через 5 минут и 30 секунд
Действие программы
Код

DeskTop : TCanvas ;
s,s1: String;
i: integer;
begin


  DeskTop := TCanvas.Create ;
try
with DeskTop do
Handle := GetWindowDC (GetDesktopWindow) ;

{with PaintBox1.Canvas do
CopyRect (Rect (0, 0, 200, 200),DeskTop,Rect (0, 0, 800, 600))
 }
with Image1.Canvas do CopyRect(Rect (0, 0, 200, 200),DeskTop,Rect (0, 0, Screen.Width, Screen.Height))

finally
DeskTop.Free

end;
s := DateToStr( Date ) + ' '+ TimeToStr( Time );
for i :=  1 to Length(s)-1 do begin
  if (s[i]='.') or (s[i]=':') or (s[i]='/') then begin
    s1:=s1+'_';
    Continue;
  end;
  s1:=s1+s[i];
end;
Image1.Picture.SaveToFile('scr/'+s1+'jpg.jpg');

s := DateToStr( Date ) + ' ' + TimeToStr( Time ) + '  :' ;
Memo1.Lines.Insert( 0,  s ) ;
Memo1.SetFocus ;
Memo1.SelStart := Length( s ) ;
Memo1.SelLength := 0 ;



--------------------
Алгоритм не роскошь, а средство достижения цели!
user posted image
PM MAIL   Вверх
try_to_get
Дата 29.3.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 426
Регистрация: 19.3.2007
Где: Россия

Репутация: нет
Всего: 2



программа TuneUp Utilities 2006 обнаружила ошибку

Список хронологии Windows: недопустимый вход 28_03_2007 23_41_3jpg.jpg
----------------------------------------------------------------------
Список хронологии Windows содержит ссылку к отсутствующему файлу C:\Program Files\BORLAND\Delphi7\Projects\scr\28_03_2007 23_41_3jpg.jpg. Этот недопустимый вход может быть удален.



--------------------
Алгоритм не роскошь, а средство достижения цели!
user posted image
PM MAIL   Вверх
Alexeis
Дата 29.3.2007, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



Цитата(try_to_get @  29.3.2007,  18:47 Найти цитируемый пост)
А как сообщить, что приложение спрятано и нужно действовать скрытно.


Цитата(Alexeis @  28.3.2007,  23:04 Найти цитируемый пост)
Form1.Hide();




--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.