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

19.05.2009, 13:55
|
|
Познающий
Регистрация: 04.03.2009
Сообщений: 31
Провел на форуме: 50236
Репутация:
2
|
|
Привет всем есть небольшая проблемка=( нужно найти окно нажать в нём ввод потом нажать уже ввод просто без поиска окна там вообщем открываеться одна программа которая вызывает подключение к инету и в подключение к инету тоже нажать ввод (или если есть способ проще вызвать и подключить инет соединение по умолчанию опишите плз) пока делал так :
PHP код:
procedure TForm7.FormCreate(Sender: TObject);
var
s: PChar;
h: THandle;
begin
WinExec ('rasphone.exe', SW_HIDE);
Application.ShowMainForm := False;
h := FindWindow('rasphone.exe', nil);
SendMessage(h, WM_SYSCOMMAND, SC_HOTKEY, h);
keybd_event(VK_Return, 0, 0, 0);
keybd_event(VK_Return, 0, KeyEventF_KeyUp, 0);
Sleep(100);
keybd_event(VK_Return, 0, 0, 0);
keybd_event(VK_Return, 0, KeyEventF_KeyUp, 0);
Application.Terminate;
end;
end.
P.S Работает через раз
|
|
|

19.05.2009, 14:38
|
|
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме: 813785
Репутация:
314
|
|
Сообщение от Huligan1
h := FindWindow('rasphone.exe', nil);
SendMessage(h, WM_SYSCOMMAND, SC_HOTKEY, h);
Сделай так:
Код:
h:=0;
while h=0 do begin
h := FindWindow('rasphone.exe', nil);
application.ProcessMessages;
end;
SendMessage(h, WM_SYSCOMMAND, SC_HOTKEY, h)
|
|
|

19.05.2009, 15:03
|
|
Познающий
Регистрация: 04.03.2009
Сообщений: 31
Провел на форуме: 50236
Репутация:
2
|
|
Абсолютно ничего не дало
|
|
|

19.05.2009, 15:19
|
|
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме: 813785
Репутация:
314
|
|
Тогда попробуй по экспериментировать со Sleep. мб у тебя не успевают прорисоваться кнопки на форме
--
Чет я протупил. Тебе же надо в FindWindow('#32770','Сетевые подключения');
А ты зачем-то в классе окна пишешь название EXEшника 
Последний раз редактировалось s0l_ir0n; 19.05.2009 в 15:23..
|
|
|

19.05.2009, 15:25
|
|
Познающий
Регистрация: 04.03.2009
Сообщений: 31
Провел на форуме: 50236
Репутация:
2
|
|
 Зачем мне Sleep когда есть TTimer только всё равно работает программа неправильно ну как я и говорил через раз !
Блин неужто чтобы вызвать соединение по умолчанию программно другого выхода нет ?
|
|
|

19.05.2009, 15:43
|
|
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме: 813785
Репутация:
314
|
|
У вас товарищ код очень кривой, но тем не менее код
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s: PChar;
h: HWND;
begin
ShellExecuteA(0,'open','rasphone.exe',nil,nil, 0);
h:=0;
while h=0 do begin
h := FindWindow('#32770','Ñåòåâûå ïîäêëþ÷åíèÿ');
application.ProcessMessages;
end;
SendMessage(h, WM_SYSCOMMAND, SC_HOTKEY, h);
keybd_event(VK_Return, 0, 0, 0);
keybd_event(VK_Return, 0, KeyEventF_KeyUp, 0);
Sleep(100);
keybd_event(VK_Return, 0, 0, 0);
keybd_event(VK_Return, 0, KeyEventF_KeyUp, 0);
ShowWindow(h,0);
end;
end.
у меня сработал 20 из 20 раз.
Последний раз редактировалось s0l_ir0n; 19.05.2009 в 15:46..
|
|
|

19.05.2009, 16:25
|
|
Участник форума
Регистрация: 25.05.2007
Сообщений: 290
Провел на форуме: 1740746
Репутация:
435
|
|
Для Huligan1
Попробуйте пожалуйста так:
PHP код:
uses shellapi;
...
...
// Коннект
procedure TForm1.Button1Click(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(edtEntry.Text + ' ' + edtUser.Text + ' ' + edtPass.Text);
dir := 'C:';
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
end;
...
...
// Дисконнект
procedure TForm1.Button2Click(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(edtEntry.Text + ' /DISCONNECT');
dir := 'C:';
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
end;
|
|
|

19.05.2009, 19:13
|
|
Новичок
Регистрация: 26.10.2008
Сообщений: 15
Провел на форуме: 126398
Репутация:
6
|
|
Имеется вопрос по работе с потоками, функция BeginThread. Повторюсь, именно BeginThread, а не класс TThread.
Нужно организовать цикл, который будет создавать n потоков и будет выполнять функцию с теми или иными параметрами.
Через TThread это выглядит вот так :
Код:
...
var
a:array[1..250000] of TNewThread;
begin
...
for i:=1 to thr do begin
for j:=0 to source.Count -1 do begin
a[i]:=TNewThread.Create(true);
a[i].FreeOnTerminate:=true;
a[i].Priority:=tpLOWEst;
a[i].LoginTH:=copyLogin(Source.Strings[j]);
a[i].passTH:=copyPass(Source.Strings[j]);
a[i].Resume;
application.ProcessMessages;
if Application.Terminated then break;
if stop then break;
end;
...
end;
...
Требуется это переделать под BeginThread().
И вопрос по той же теме : как после этого по нажатии на кнопку завершить все потоки, используя endthread() ?
|
|
|

20.05.2009, 05:53
|
|
Познающий
Регистрация: 04.03.2009
Сообщений: 31
Провел на форуме: 50236
Репутация:
2
|
|
Flame of Soul это слишком мудрённо но всё равно спасибо !
s0l_ir0n Огромное тебе спасибо просто незнал что можно найти окно по названию в проводнике !=)
|
|
|

20.05.2009, 13:34
|
|
Новичок
Регистрация: 08.05.2009
Сообщений: 1
Провел на форуме: 5636
Репутация:
0
|
|
рега
нужна помощь
в общем во время запуска программы чтобы выходило окошко с вводом имени и пароля, логин и пароль должен храниться в проге в виде текстовика и если он совпадает то можно продолжить работу, если нет то автоматический выход
заранее спс
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|