 |
ShellExecute. спицифичное использование |

04.04.2007, 01:13
|
|
Новичок
Регистрация: 02.04.2007
Сообщений: 2
С нами:
10057366
Репутация:
0
|
|
ShellExecute. спицифичное использование
Собственно в дельфи есть довольно неплохиее функции. К примеру такая как ShellExecute запускающая в вашей программе любую указанную. Так же там имеются некие HotKey. Знающие дельфи не могли бы вы помочь куском кода к примеру как мне релизовать ShellExecute по нажатию определённого хоткея в SW_HIDE автоматически, а по нажатию ещё одного хоткея на запущенный процесс аквтивировать SW_SHOW. т.е. запускаю свою прогу она ничего не запускает. жму к примеру ctrl+k запускается моя прога но она в скрытом режиме. нажимаю ctrl+shift+i она выходит из хайда.
Кто знает как это реализовать помогите плиз куском кода. Буду премного благодарен.
PS. яндекс курил нашёл пару примеров. только как их объеденить ещё не въехал...
|
|
|

04.04.2007, 01:39
|
|
Постоянный
Регистрация: 14.05.2006
Сообщений: 334
С нами:
10522103
Репутация:
272
|
|
эт тебе надо перехватывать нажатия клавиш. Юзай API-функции GetKeyState() и GetAsyncKeyState(). имхо самый простой вариант.
Кстате научишься юзать эти две функции - научишься делать кейлогер! Вот примеры использования этих функций (для кейлогера) на vb.
http://forum.antichat.ru/thread32885.html (там все очень подробно описано про сами функции и про то как перехватить нажатие)
Но язык тебе в данном случае не важен, т.к. это API и тебе нужно лишь поймать суть.
Еще можно юзать хуки, но это имхо сложнее.
P.S. если потребуется перевести какой участок кода из того примера на паскаль (delphi) скажи, попробуем помочь )
Последний раз редактировалось je0n; 04.04.2007 в 01:42..
|
|
|

04.04.2007, 22:56
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами:
10653446
Репутация:
836
|
|
Сообщение от El_HALYAVA_
Собственно в дельфи есть довольно неплохиее функции. К примеру такая как ShellExecute запускающая в вашей программе любую указанную.
1. Это не дельфийская функция.
2. запускает что?
Сообщение от El_HALYAVA_
Так же там имеются некие HotKey. Знающие дельфи не могли бы вы помочь куском кода к примеру как мне релизовать ShellExecute по нажатию определённого хоткея в SW_HIDE автоматически, а по нажатию ещё одного хоткея на запущенный процесс аквтивировать SW_SHOW. т.е. запускаю свою прогу она ничего не запускает. жму к примеру ctrl+k запускается моя прога но она в скрытом режиме. нажимаю ctrl+shift+i она выходит из хайда.
Кто знает как это реализовать помогите плиз куском кода. Буду премного благодарен.
PS. яндекс курил нашёл пару примеров. только как их объеденить ещё не въехал...
1. Юзай глобальный хук.
2. Что за примеры, дай посмотреть?
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

05.04.2007, 16:20
|
|
Banned
Регистрация: 30.12.2006
Сообщений: 37
С нами:
10191206
Репутация:
4
|
|
Для этго те над писать думаю DLL'шник ищи статьи по написанию DLL)))типа глобальный hook)
|
|
|

05.04.2007, 16:28
|
|
Banned
Регистрация: 30.12.2006
Сообщений: 37
С нами:
10191206
Репутация:
4
|
|
[/QUOTE]Сообщение от El_HALYAVA_
Собственно в дельфи есть довольно неплохиее функции. К примеру такая как ShellExecute запускающая в вашей программе любую указанную.
Нет такой функции на дельфи есть похожая функция ExecuteFile()
допустим ExecuteFile('C:\Program.exe','','с:\',SW_SHOW);
вообщем напиши свой DLL на дельфи))ищи информацию о написании DLL там много есть и ненять особенно не надо просто меняешь хоткей и всавляешь ExecuteFile()
|
|
|

05.04.2007, 16:45
|
|
Banned
Регистрация: 30.12.2006
Сообщений: 37
С нами:
10191206
Репутация:
4
|
|
сорри))ShellExecute в дельфи тоже есть ))))))почти тож самое но ExecuteFile() лучше Применяя ее,
не надо следить за типом pchar, который используется-для передачи
строк, потому что наша функция ExecuteFile сама сделает необходимые
преобразования.))
|
|
|

06.04.2007, 21:03
|
|
Участник форума
Регистрация: 09.12.2006
Сообщений: 135
С нами:
10222145
Репутация:
726
|
|
Сообщение от El_HALYAVA_
В windows есть ShellExecute запускающая в вашей программе любую указанную.
Можно типа очень упрощенно:
Код:
var s:string;
begin
s:=hotkey1.Hint+#0; // Alt+A
RegisterHotKey(form1.Handle,GlobalAddAtom(@s[1]),MOD_ALT,byte('A'));
end;
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
if msg.message=WM_HOTKEY
then begin
ShellExecute(………
end;
end;
Ну и читаем описание предложенных функций.
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|