ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

16.03.2009, 20:36
|
|
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме: 1240829
Репутация:
165
|
|
Был у кого опыт работы с TChar? Исходники бы очень пригодились, но они продают их.. Как бы можно вызвать метод ChartPreview(nil,DBChart1); со своими параметрами? Т.е. отступ от полей задать, ориентацию и т.д...
|
|
|

17.03.2009, 20:25
|
|
Познающий
Регистрация: 19.08.2008
Сообщений: 69
Провел на форуме: 458484
Репутация:
31
|
|
Вообщем есть чюжая программа
Нужно её запустить и нажать Ctrl + S
Но есть один нюанс Окно программы скрыто (так надо...)
В инете нашол ассемблерный код но он пашед ток для одной кнопки =(
Код:
procedure EmulateKey(Wnd: HWND; VKey: Integer);
asm
push 0
push edx
push 0101H //WM_KEYUP
push eax
push 0
push edx
push 0100H //WM_KEYDOWN
push eax
call PostMessage
call PostMessage
end;
|
|
|

17.03.2009, 20:43
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
http://www.delphisources.ru/pages/faq/base/keys_pressed_emulation2.html
|
|
|

17.03.2009, 20:56
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
Код:
// симуляция нажимаем&отпускаем кнопку
procedure SimulateKeystroke(Key : byte; extra : DWORD);
begin
keybd_event(Key,extra,0,0);
keybd_event(Key,extra,KEYEVENTF_KEYUP,0);
end;
// симуляция нажимаем кнопку
procedure SimulateKeyDown(Key : byte);
begin
keybd_event(Key, 0, 0, 0);
end;
// симуляция отпускаем кнопку
procedure SimulateKeyUp(Key : byte);
begin
keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);
end;
/////////////////////////////////////////////////////////////
// нажимаем СTRL
SimulateKeyDown(VK_CONTROL);
// нажимаем&отпускам кнопку S (регист важен)
SimulateKeystroke(ord('S'),0);
// отпускаем СTRL
SimulateKeyUp(VK_CONTROL);
для примера запусти Блокнот и:
Код:
var i:integer;
begin
for i:=1 to 500 do begin caption:=inttostr(i); sleep(1); end;
// активируй окно Блокнота
SimulateKeyDown(VK_CONTROL);
SimulateKeystroke(ord('S'),0); // S=0x73 , s=0x53
SimulateKeyUp(VK_CONTROL);
и увидеш окно "Сохранить Как.." )
|
|
|

17.03.2009, 21:00
|
|
Познающий
Регистрация: 19.08.2008
Сообщений: 69
Провел на форуме: 458484
Репутация:
31
|
|
Ех немного неправильно я вопрос поставил(((
Мне нужно запустить прогу а потом в НЕЁ зная хейдер окна отправить горячую клавишу Ctrl + S Тоесть горячая клавиша действует только тогда когда окно развёрнуто
А нужно отправить горячую клавишу пока окно неактивно.
|
|
|

17.03.2009, 21:06
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
А нафиг его отправлять тогда когда окно не активно, смысл?
|
|
|

17.03.2009, 21:19
|
|
Познающий
Регистрация: 19.08.2008
Сообщений: 69
Провел на форуме: 458484
Репутация:
31
|
|
Кароч у меня есть прога которая показывает кое какую инфу и может сохранять это в файл Мне бы хотелось сделать лоадер Который запустит скрыто прогу нажмет Ctrl + s и сохранит в нужную папку (Сохранение уже реализовал) Мне нужно ток скрыто нажать горячюю клавишу
|
|
|

17.03.2009, 21:25
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
BOOL PostMessage(
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
Код:
var wnd:HWND;
begin
wnd := FindWindow('notepad', nil);
wnd := FindWindowEx(wnd, 0, 'Edit', nil);
if wnd=0 then exit;
caption:=inttostr(wnd);
PostMessage(wnd, WM_KEYDOWN, VK_CONTROL, 0);
PostMessage(wnd, WM_KEYDOWN, ord('S'), 0);
// PostMessage(wnd, WM_CHAR, Word('s'), 0);
PostMessage(wnd, WM_KEYUP, ord('S'), 0);
PostMessage(wnd, WM_KEYUP, VK_CONTROL, 0);
|
|
|

18.03.2009, 19:43
|
|
Познающий
Регистрация: 05.11.2008
Сообщений: 79
Провел на форуме: 185461
Репутация:
12
|
|
в паскале возможно ли скрыть прогу при запуске? (чтобы небыло на панели управления)
|
|
|

19.03.2009, 21:13
|
|
Новичок
Регистрация: 26.07.2008
Сообщений: 23
Провел на форуме: 414646
Репутация:
20
|
|
Помогите перенести формулу из екселя в дельфи.
Сам файл, например для элемента D43. При условии что изначально забит только 0 массив, остальное считается из него.
ЗЫ сорри за аттач, но иначе сложно объяснить.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|