HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3061  
Старый 16.03.2009, 20:36
cremator (c)
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
С нами: 9416345

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

Был у кого опыт работы с TChar? Исходники бы очень пригодились, но они продают их.. Как бы можно вызвать метод ChartPreview(nil,DBChart1); со своими параметрами? Т.е. отступ от полей задать, ориентацию и т.д...
 
Ответить с цитированием

  #3062  
Старый 17.03.2009, 20:25
Uname-A
Познающий
Регистрация: 19.08.2008
Сообщений: 69
С нами: 9329667

Репутация: 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;
 
Ответить с цитированием

  #3063  
Старый 17.03.2009, 20:43
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 2399


По умолчанию

http://www.delphisources.ru/pages/faq/base/keys_pressed_emulation2.html
 
Ответить с цитированием

  #3064  
Старый 17.03.2009, 20:56
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 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);
и увидеш окно "Сохранить Как.." )
 
Ответить с цитированием

  #3065  
Старый 17.03.2009, 21:00
Uname-A
Познающий
Регистрация: 19.08.2008
Сообщений: 69
С нами: 9329667

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

Ех немного неправильно я вопрос поставил(((
Мне нужно запустить прогу а потом в НЕЁ зная хейдер окна отправить горячую клавишу Ctrl + S Тоесть горячая клавиша действует только тогда когда окно развёрнуто
А нужно отправить горячую клавишу пока окно неактивно.
 
Ответить с цитированием

  #3066  
Старый 17.03.2009, 21:06
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами: 9655526

Репутация: 1821


По умолчанию

А нафиг его отправлять тогда когда окно не активно, смысл?
 
Ответить с цитированием

  #3067  
Старый 17.03.2009, 21:19
Uname-A
Познающий
Регистрация: 19.08.2008
Сообщений: 69
С нами: 9329667

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

Кароч у меня есть прога которая показывает кое какую инфу и может сохранять это в файл Мне бы хотелось сделать лоадер Который запустит скрыто прогу нажмет Ctrl + s и сохранит в нужную папку (Сохранение уже реализовал) Мне нужно ток скрыто нажать горячюю клавишу
 
Ответить с цитированием

  #3068  
Старый 17.03.2009, 21:25
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 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);
 
Ответить с цитированием

  #3069  
Старый 18.03.2009, 19:43
sadfeel
Познающий
Регистрация: 05.11.2008
Сообщений: 79
С нами: 9217193

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

в паскале возможно ли скрыть прогу при запуске? (чтобы небыло на панели управления)
 
Ответить с цитированием

  #3070  
Старый 19.03.2009, 21:13
Ламоза
Новичок
Регистрация: 26.07.2008
Сообщений: 23
С нами: 9364428

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

Помогите перенести формулу из екселя в дельфи.

Сам файл, например для элемента D43. При условии что изначально забит только 0 массив, остальное считается из него.

ЗЫ сорри за аттач, но иначе сложно объяснить.
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT ™ © 2001- Antichat Kft.