HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 27.09.2008, 10:25
cremator (c)
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме:
1240829

Репутация: 165
Отправить сообщение для cremator (c) с помощью ICQ
По умолчанию

мне надо определить тип переменной в процессе работы проги, текстовый он или числовой. есть такой оператор?
и ещё даже когда я помещаю потенциально "опасный" код в блок try ... except on EConvertError do ... end; то у меня всё равно вылазиет ошибка конвертации!
 
Ответить с цитированием

  #2  
Старый 27.09.2008, 10:58
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от cremator (c)  
мне надо определить тип переменной в процессе работы проги, текстовый он или числовой. есть такой оператор?
и ещё даже когда я помещаю потенциально "опасный" код в блок try ... except on EConvertError do ... end; то у меня всё равно вылазиет ошибка конвертации!
Цитата:
ещё даже когда я помещаю потенциально "опасный" код в блок try ... except on EConvertError do ... end; то у меня всё равно вылазиет ошибка
Скорее всего у тебя вылазиет ошибка под отладчиком, после компиляции такого быть не должно...
 
Ответить с цитированием

  #3  
Старый 28.09.2008, 00:36
eNGi
Новичок
Регистрация: 26.09.2008
Сообщений: 5
Провел на форуме:
28246

Репутация: 5
Question

Здравствуйте! Есть вопросик программисты, посоветуйте plz.
Исходные данные:
имеется некая работающая прога, для которой необходимо отслеживать факт изменения картинки на экране (будет реализовано скорее всего через несколько последовательных вызовов GetPixel), считаем, что "картинка" меняется со случайными интервалами во времени.
Для конкретизирования примера пусть необходимо отслеживать наличие конкретной кнопки (изображения) в определенном месте браузера (допустим Explorer).
Вопрос:
как лучше отслеживать изменение картинки?
{грузить систему проверками по таймеру не хочется}
 
Ответить с цитированием

  #4  
Старый 28.09.2008, 01:16
Larionich
Новичок
Регистрация: 21.09.2008
Сообщений: 16
Провел на форуме:
249855

Репутация: 52
По умолчанию

eNGi, да, действительно, ты правильно мыслишь. Разумно нужно отказаться от вызовов GetPixel() (Если изображение не больше 320х240, а лучше и еще меньше). Чтобы разобраться прочти, работёнка тебе продстоит большая, написано много
http://forum.sources.ru/index.php?showtopic=240312&hl=
http://www.delphimaster.ru/articles/pixels/index.html
Вариант2. Использовать неуправляемую память куда будут помещены данные изображения, то работать всё будет быстро (в сети сам найдешь по этомой теме информацию поисковиком).
На С# же мелкомягкие предусмотрели функции System.Drawing.Imaging.BitmapData.Scan0() и System.Runtime.InteropServices.Marshal.Copy(), скорость использования которых выше, чем вызов GetPixel()и SetPixel().
 
Ответить с цитированием

  #5  
Старый 28.09.2008, 12:38
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

Репутация: 332
Отправить сообщение для KIR@PRO с помощью ICQ
По умолчанию

может ктонибудь дать готовый пример Icq реализованный на компонентах и желательно (хотелось бы разобрать) реализацию на сокетах без компонентов.

желательно чтоб в примерах были все функции))

Зарание благодарю!
p.s. за помощь не обижу)

Последний раз редактировалось KIR@PRO; 28.09.2008 в 12:45..
 
Ответить с цитированием

  #6  
Старый 28.09.2008, 12:46
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от KIR@PRO  
может ктонибудь дать готовый пример Icq реализованный на компонентах и желательно (хотелось бы разобрать) реализацию на сокетах без компонентов.

желательно чтоб в примерах были все функции))

Зарание благодарю!
p.s. за помощь не обижу)
Карась тут выкладывал контрол для работы с этим протоколом, все исходные коды в архиве...
но правда он пишет на VB
 
Ответить с цитированием

  #7  
Старый 28.09.2008, 13:25
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

Репутация: 332
Отправить сообщение для KIR@PRO с помощью ICQ
По умолчанию

ммм VB не очень люблю) хотелось бы на Delphi искал но ничего хорошего не нашел(


все нашел) кому надо вот: http://forum.asechka.ru/showthread.php?t=97186
там огромная темка про ето множество реализаций)

Последний раз редактировалось KIR@PRO; 28.09.2008 в 13:39..
 
Ответить с цитированием

  #8  
Старый 28.09.2008, 14:23
Larionich
Новичок
Регистрация: 21.09.2008
Сообщений: 16
Провел на форуме:
249855

Репутация: 52
По умолчанию

KIR@PRO, есть очень хорошая статься (10 уроков) по написанию icq2000 в делфи http://www.delphisources.ru/pages/faq/base/icq2000_1.html . Реализация на компонентах http://www.delphiexpert.ru/view_download.php?id=89 . Так же прочитай, много полезного пишут http://forum.asechka.ru/showthread.php?t=97186
 
Ответить с цитированием

  #9  
Старый 28.09.2008, 19:37
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

Репутация: 332
Отправить сообщение для KIR@PRO с помощью ICQ
По умолчанию

спасибо но возикает вопрос а там предусмотрено то что протокол Icq опять изменён???
 
Ответить с цитированием

  #10  
Старый 28.09.2008, 19:37
Twiddle
Познающий
Регистрация: 06.09.2006
Сообщений: 94
Провел на форуме:
397064

Репутация: 15
По умолчанию

Попробывал сделать с хотки но все бы хорошо но с игрой не работает. Блокнот закрывает. Все закрывает, но как только запускаешь игру - не хочет работать. Вообще ни как не реагирует.
В чем может быть дело? подскажите или придется все же делать хук? Тогда помогите с хуком ибо уже неделю не могу сделать.
PHP код:
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
Dialogs,
  
Tlhelp32;



type
  TForm1 
= class(TForm)
    
procedure FormCreate(SenderTObject);
    
procedure FormDestroy(SenderTObject);

  private
    { Private 
declarations }
      
procedure WMHotKey(var MsgTWMHotKey); message WM_HOTKEY;

  public
    { Public 
declarations }
  
end;
    const
    
hotkey1 ord ('1');
    
hotkey2 ord ('2');
    
hotkey3 ord ('3');
    
hotkey4 ord ('4');
    
hotkey5 ord ('5');
    
hotkey6 ord ('6');
    
hotkey7 ord ('7');
    
hotkey8 ord ('8');
    
hotkey9 ord ('9');
    
hotkey10 ord('0');

var
  
Form1TForm1;



implementation

{$R *.dfm}


function 
KillTask(ExeFileNamestring): integer;
const
  
PROCESS_TERMINATE=$0001;
var
  
ContinueLoopBOOL;
  
FSnapshotHandleTHandle;
  
FProcessEntry32TProcessEntry32;
begin
  result 
:= 0;

  
FSnapshotHandle := CreateToolhelp32Snapshot
                     
(TH32CS_SNAPPROCESS0);
  
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
  
ContinueLoop := Process32First(FSnapshotHandle,
                                 
FProcessEntry32);

  while 
integer(ContinueLoop) <> do
  
begin
    
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
         
UpperCase(ExeFileName))
     or (
UpperCase(FProcessEntry32.szExeFile) =
         
UpperCase(ExeFileName))) then
      Result 
:= Integer(TerminateProcess(OpenProcess(
                        
PROCESS_TERMINATEBOOL(0),
                        
FProcessEntry32.th32ProcessID), 0));
    
ContinueLoop := Process32Next(FSnapshotHandle,
                                  
FProcessEntry32);
  
end;

  
CloseHandle(FSnapshotHandle);
end;

    function 
EnumMiniProc (WdHWndParamLongInt): Booleanstdcall// Îáÿçàòåëüíî stdcall !!! 
Begin
 
If  Wd<>Form1.Handle then // åñëè ýòî íå íàøà ïðîãðàììà 
        
If  IsWindowVisible(WDthen  // åñëè îêíî âèäèìî
            
If  not IsIconic(WDthen      // åñëè îêíî íå ñâåðíóòî
              
If  isWindow(WDthen      // è âîîáùå ýòî - îêíî.
                 
ShowWindow(WDSW_MINIMIZE); // ñâåðíåì åãî.

end;

procedure TForm1.WMHotKey(var MsgTWMHotKey);
  
begin
  EnumWindows 
(@EnumMiniProc0); // îòðàáàòûâàåì ñâîðà÷èâàíèå îêîí.
 
Sleep(1000);
KillTask('CabalMain.exe');

end;

procedure TForm1.FormCreate(SenderTObject);
begin
  RegisterHotKey
(Form1.Handle1,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey1);
  
RegisterHotKey(Form1.Handle2,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey2);
    
RegisterHotKey(Form1.Handle3,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey3);
      
RegisterHotKey(Form1.Handle4,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey4);
        
RegisterHotKey(Form1.Handle5,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey5);
          
RegisterHotKey(Form1.Handle6,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey6);
            
RegisterHotKey(Form1.Handle7,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey7);
              
RegisterHotKey(Form1.Handle8,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey8);
                
RegisterHotKey(Form1.Handle9,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey9);
                
RegisterHotKey(Form1.Handle10,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey10);

end;

procedure TForm1.FormDestroy(SenderTObject);
begin
  UnRegisterHotKey
(Form1.Handle,1);
   
RegisterHotKey(Form1.Handle2,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey2);
    
RegisterHotKey(Form1.Handle3,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey3);
      
RegisterHotKey(Form1.Handle4,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey4);
        
RegisterHotKey(Form1.Handle5,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey5);
          
RegisterHotKey(Form1.Handle6,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey6);
            
RegisterHotKey(Form1.Handle7,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey7);
              
RegisterHotKey(Form1.Handle8,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey8);
                
RegisterHotKey(Form1.Handle9,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey9);
                
RegisterHotKey(Form1.Handle10,MOD_SHIFT  MOD_ALT MOD_CONTROL,hotkey10);

end;

end
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ