procedure TForm1.Timer1Timer(Sender: TObject);
var
h:HWND;
begin
h:= FindWindow('TaskSwitcherWnd','Переключение задач');
if h<>0 then
ShowWindow(h,SW_MINIMIZE);
end;
таким образом можно) только не забудте поставить таймер на минимум
на семёрке 100% работает на других ос незнаю(нет возм проверить)
Сообщение отредактировал oke - Суббота, 26.05.2012, 17:40
oke ты же читал эту тему Диспетчер задач, там вариант эдентичный твоему уже был представлен, смысл в новой теме?
в любом случае сейчас у многих более менее прошареных пользователей есть еще проги открывающие процессы по мимо диспетчера задач, не говоря уже о том что сами разработчики Антивирусов в свои продукты начали пихать менеджеры процессов, так что такой код уже в ближайшем будующем будет неактуален, я бы даже сказал уже не актуален, vvova15 писал на счет перехвата API функций, юзайте лучше перехват, больше пользы!!!
(Абсолютно не по теме, еще раз прошу прощения!!!)
Сообщение отредактировал xXxSh@dowxXx - Суббота, 26.05.2012, 19:47
извините,что влажу,но у меня вопрос:
как мне сделать имитацию нажатия ctrl+x по заданному количеству раз (в Tedit)?
Просто неполучаеться у меня для одной игры создать такое вот приложение...
oke ты же читал эту тему Диспетчер задач, там вариант эдентичный твоему уже был представлен, смысл в новой теме? в любом случае сейчас у многих более менее прошареных пользователей есть еще проги открывающие процессы по мимо диспетчера задач, не говоря уже о том что сами разработчики Антивирусов в свои продукты начали пихать менеджеры процессов, так что такой код уже в ближайшем будующем будет неактуален, я бы даже сказал уже не актуален, vvova15 писал на счет перехвата API функций, юзайте лучше перехват, больше пользы!!!
не ну как бы причем здесь "Деспетчер задач" и другие менеджеры процессов ведь я не про него имел ввиду так что к данной теме про дипетчер задач моя тема не имеет отношения
Сообщение отредактировал oke - Суббота, 26.05.2012, 18:29
извините,что влажу,но у меня вопрос: как мне сделать имитацию нажатия ctrl+x по заданному количеству раз (в Tedit)? Просто неполучаеться у меня для одной игры создать такое вот приложение...
Code
var I:integer;
L:hwnd;
begin
L:= findwindow('класс окна','имя окна');
for i:=1 to StrToInt(Edit1.Text) do
SendMessage(L,WM_KEYUP ,VK_CONTROL, MakeLong(0, MapVirtualKey(VK_CONTROL, 0)));
SendMessage(L,WM_KEYUP ,ord(x), MakeLong(0, MapVirtualKey(ord(x), 0)));
SendMessage(L,WM_KEYDOWN ,VK_CONTROL, MakeLong(0, MapVirtualKey(VK_CONTROL, 0)));
SendMessage(L,WM_KEYDOWN ,ord(x), MakeLong(0, MapVirtualKey(ord(x), 0)));
end;
не ну как бы причем здесь "Деспетчер задач" и другие менеджеры процессов ведь я не про него имел ввиду sad так что к данной теме про дипетчер задач моя тема не имеет отношения
Тьфу блин, ЁмаЁ
Приношу свои извинения, после суток на работе запаренный совсем, не разглядел твой код сначала, это уже моя вина,все правильно у тебя, держи +
Тьфу блин, ЁмаЁ Приношу свои извинения, после суток на работе запаренный совсем, не разглядел твой код сначала, это уже моя вина,все правильно у тебя, держи +
Дата: Понедельник, 28.05.2012, 08:33 | Сообщение # 8
Продвинутый
Группа: Проверенные
Сообщений: 168
Статус: Offline
oke, пасиба,что привел пример,но он не заработал(
вот,просто нужно сделать прожку-кнопконажимальщик для игры Mount&Blade: Епоха Турниров (мод дипломатия гамаю),а там при включении читов чтобы войска улучшить надо контрол+х дофига клацать(( пальцы болят а толку мало((
Дата: Понедельник, 28.05.2012, 11:11 | Сообщение # 9
Участник
Группа: Проверенные
Сообщений: 214
Статус: Offline
На сколько мне известно,сейчас во многих играх простая эмуляция нажатия клавишь не поможет,этот вопрос уже поднимался в одной из тем,хотя некоторые игры все же позволяют обрабатывать простые методы программного нажатия клавишь,я думаю у меня есть код который тебе подойдет,но так как я сейчас на работе,не имею возможности тебе его представить,дома буду выложу...
На сколько мне известно,сейчас во многих играх простая эмуляция нажатия клавишь не поможет,этот вопрос уже поднимался в одной из тем,хотя некоторые игры все же позволяют обрабатывать простые методы программного нажатия клавишь,я думаю у меня есть код который тебе подойдет,но так как я сейчас на работе,не имею возможности тебе его представить,дома буду выложу...
что то типо этого слышал только про мышку но про клавиатуру все вроде норм робит
вот ссылка которая тебе может пригодится:
Имитация нажатий клавиш
а вот код который использовал я когда то:
Code
var
h:hwnd;
p:pchar;
mk:Cardinal;
begin
h:=GetWindow(GetForegroundWindow,GW_HWNDFIRST);
getmem(p,2000);
GetWindowText(h,p,mk);
//вместо "Безымянный - Блокнот" пишешь название окна своего приложения
while (pos('Безымянный - Блокнот',p)=0)and(h<>0) do begin
h:=GetWindow(h,GW_HWNDNEXT);
GetWindowText(h,p,mk);
end;
If (h <> 0 )then BringWindowToTop(h);
end;
//так мы сделаем активным окно твоего приложения
var
i: Integer;
begin
for i := 1 to 200 do begin
keybd_event(VK_LCONTROL, 0, 0, 0); //Нажатие левого Ctrl.
keybd_event(Ord('X'), 0, 0, 0); //Нажатие 'x'.
Sleep(10);
end;
keybd_event(Ord('X'), 0, KEYEVENTF_KEYUP, 0); //Отпускание 'x'.
keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0); //Отпускание левого Ctrl.
end;
//а так мы вызываем цикл из 200 нажатий CTRL+X
конечно это немного быдлокод получился, по хорошему как мне кажется нужно отдельно нажать Ctrl потом клацать Х
Сообщение отредактировал xXxSh@dowxXx - Пятница, 01.06.2012, 21:18