 |
|

28.09.2008, 19:37
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
С нами:
9671366
Репутация:
332
|
|
спасибо но возикает вопрос а там предусмотрено то что протокол Icq опять изменён???
|
|
|

28.09.2008, 19:37
|
|
Познающий
Регистрация: 06.09.2006
Сообщений: 94
С нами:
10356548
Репутация:
15
|
|
Попробывал сделать с хотки но все бы хорошо но с игрой не работает. Блокнот закрывает. Все закрывает, но как только запускаешь игру - не хочет работать. Вообще ни как не реагирует.
В чем может быть дело? подскажите или придется все же делать хук? Тогда помогите с хуком ибо уже неделю не могу сделать.
PHP код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
Tlhelp32;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
procedure WMHotKey(var Msg: TWMHotKey); 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
Form1: TForm1;
implementation
{$R *.dfm}
function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);
while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0),
FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle,
FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
function EnumMiniProc (Wd: HWnd; Param: LongInt): Boolean; stdcall; // Îáÿçàòåëüíî stdcall !!!
Begin
If Wd<>Form1.Handle then // åñëè ýòî íå íàøà ïðîãðàììà
If IsWindowVisible(WD) then // åñëè îêíî âèäèìî
If not IsIconic(WD) then // åñëè îêíî íå ñâåðíóòî
If isWindow(WD) then // è âîîáùå ýòî - îêíî.
ShowWindow(WD, SW_MINIMIZE); // ñâåðíåì åãî.
end;
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
EnumWindows (@EnumMiniProc, 0); // îòðàáàòûâàåì ñâîðà÷èâàíèå îêîí.
Sleep(1000);
KillTask('CabalMain.exe');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, 1,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey1);
RegisterHotKey(Form1.Handle, 2,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey2);
RegisterHotKey(Form1.Handle, 3,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey3);
RegisterHotKey(Form1.Handle, 4,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey4);
RegisterHotKey(Form1.Handle, 5,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey5);
RegisterHotKey(Form1.Handle, 6,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey6);
RegisterHotKey(Form1.Handle, 7,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey7);
RegisterHotKey(Form1.Handle, 8,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey8);
RegisterHotKey(Form1.Handle, 9,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey9);
RegisterHotKey(Form1.Handle, 10,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey10);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle,1);
RegisterHotKey(Form1.Handle, 2,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey2);
RegisterHotKey(Form1.Handle, 3,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey3);
RegisterHotKey(Form1.Handle, 4,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey4);
RegisterHotKey(Form1.Handle, 5,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey5);
RegisterHotKey(Form1.Handle, 6,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey6);
RegisterHotKey(Form1.Handle, 7,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey7);
RegisterHotKey(Form1.Handle, 8,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey8);
RegisterHotKey(Form1.Handle, 9,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey9);
RegisterHotKey(Form1.Handle, 10,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey10);
end;
end.
|
|
|

29.09.2008, 09:12
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Как вариант просто игра может отрубать все хоткеи. Что часто и делается. По этому нужно копать в сторону снятие этой херни
|
|
|

29.09.2008, 23:00
|
|
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
С нами:
9619229
Репутация:
445
|
|
Народ киньте плз исходники авто-регеров к примеру на любом дфиге без капчи
(делфи)
спасибо!
|
|
|

30.09.2008, 02:30
|
|
Новичок
Регистрация: 26.09.2008
Сообщений: 5
С нами:
9275100
Репутация:
5
|
|
Сообщение от Twiddle
Попробывал сделать с хотки но все бы хорошо но с игрой не работает. Блокнот закрывает. Все закрывает, но как только запускаешь игру - не хочет работать. Вообще ни как не реагирует.
В чем может быть дело? подскажите или придется все же делать хук? Тогда помогите с хуком ибо уже неделю не могу сделать.
У меня твой код работал со всеми установленными игрушками, так что проверяй версию, что твоя прога (game) устанавливает свои хоткеи или сбрасывает существующие
Сообщение от slesh
Как вариант просто игра может отрубать все хоткеи.
А может хоткей срабатывает, а твоя прога просто приложение завершить не могет?
По созданию глобального хука отправил пример в личку.
|
|
|

30.09.2008, 20:09
|
|
Познающий
Регистрация: 02.09.2007
Сообщений: 67
С нами:
9836841
Репутация:
20
|
|
Прошу помочь в постижении азов программирвания. Сделать надо на Паскале, чем проще , тем лучше.
Дано: ax^2 + bx +c =0
Найти корни.
Вот что получается:
Код:
Program discriminant;
Var G, f, d, i, k, l,n: integer;
M,O: real;
Begin readln (G, f, d, i)
G:=SQR(b);
f:=4*a;
d:=f*c;
i:=g-d;
if g>d;
then k:=-b;
l:=K+SQRT(i;
n:=K-SQRT(i;
m:=l/2;
o:=l/2;
writeln (M, O)
else writeln (No decision)
end.
Пробовал прогонять сие безобразие в Pascal ABC. Пишет " Ошибка: ожидался идентификатор, но "G" не обнаружено. Прошу подсказать в чем ошибка.
|
|
|

30.09.2008, 20:19
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами:
9655526
Репутация:
1821
|
|
мда....
|
|
|
инопланитяне отакуют!!!!!!!!!! |

30.09.2008, 20:26
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами:
9655526
Репутация:
1821
|
|
инопланитяне отакуют!!!!!!!!!!
Писал закрытыми глазами?
Странно, что компилятор не лопнул....
Итак начнем  :
1)После readln забыл точку с запятой...
2) a,b,c: не описаны(var a,b,c:real или integer)
3)После if g>d точку с запятой не надо...
4)l:=K+SQRT(i; забыл скобку закрыть
5)Дальше тоже чепуха...
|
|
|

30.09.2008, 20:57
|
|
Познающий
Регистрация: 02.09.2007
Сообщений: 67
С нами:
9836841
Репутация:
20
|
|
Сообщение от De-visible
Писал закрытыми глазами?
Только начал изучать и в первый раз
Сообщение от De-visible
Итак начнем  :
1)После readln забыл точку с запятой...
2) a,b,c: не описаны(var a,b,c:real или integer)
3)После if g>d точку с запятой не надо...
4)l:=K+SQRT(i; забыл скобку закрыть
5)Дальше тоже чепуха...
1, 2, 3, 4 разобрался. Никак не могу воткнуть как правильно записать оператор ветвления
Теперь компилятор ругается на ";" перед else в операторе if.
Program discriminant;
Var G, f, d, i, k, l, n, a, b, c, M, o: real;
Begin readln (G, f, d, i);
G:=SQR(b);
f:=4*a;
d:=f*c;
i:=g-d;
if g>d
then
k:=-b;
l:=K+SQRT(i);
n:=K-SQRT(i);
m:=l/2;
o:=l/2;
writeln (M, O);
else writeln (No decision)
end.
Последний раз редактировалось Syntaxys; 30.09.2008 в 21:00..
|
|
|

30.09.2008, 22:50
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами:
9679872
Репутация:
347
|
|
Сообщение от Syntaxys
Теперь компилятор ругается на ";" перед else в операторе if.
это потому что там не надо ";" как ни странно  )))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|