Ребята, подскажите как сделать вкладки в программе, приблизительно такие как во всех настройках (маленькая кнопочка с названием на которую когда нажимаешь появляеться в том же окне другая информация). Вот PageControl вроде называеться, но как с ней работать, покажите пожалуйста на простом примере.
Есть у кого исходники _http://www.xakep.ru/post/27185/default.asp а именно _http://www.xakep.ru/post/27185/source.zip
Подскажите пожалуйста две процедуры: 1. Какой код надо написать, что-бы при нажатии на кнопку программа сворачивалась. 2. На форме есть ListBox (C 2я столбцами) и Edit, как сделать так, что-бы при нажатии на 1ую строку, на Edit'e было написано тоже самое, а при нажатии на 2ую строку, на Edit'e было написано тоже, что и на второй строке сообветственно Заранее большое спасибо
1. По идее WindowState:=wsMinimized; , но работает немного не корректно... 2. По событию OnClick на ЛистБоксе: Edit.Text:=ListBox.Items.Strings[ListBox.ItemIndex];
МongBa†, я бы на твоем месте лучше гуглил протокол RDP и делал свой клиент. Это и быстрее (в плане перебора), и извращения с окошками не нужны. Кстати на античате уже поднималась такая тема: http://forum.antichat.ru/showthread.php?p=1106632
file not found(graph.tpu) выложите кто нибудь graph.tpu...очень надо(((((((( или подскажите как избавиться от этой ошибки
Скачать файл UNITS.rar Разархивируешь, дальше идёшь в options -> directories и выбираешь путь к этой папке.
зная имя фаила. 1) получить пид, если =0 то процесс не запущен. pid:=GetProcessId('process.exe'); 2) вот такую процедуру я нашол ProcessTerminate(pid); Code: function ProcessTerminate(dwPID:Cardinal):Boolean; var hToken:THandle; SeDebugNameValue:Int64; tkp:TOKEN_PRIVILEGES; ReturnLength:Cardinal; hProcess:THandle; begin Result:=false; // Добавляем привилегию SeDebugPrivilege // Для начала получаем токен нашего процесса if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken ) then exit; // Получаем LUID привилегии if not LookupPrivilegeValue( nil, 'SeDebugPrivilege', SeDebugNameValue ) then begin CloseHandle(hToken); exit; end; tkp.PrivilegeCount:= 1; tkp.Privileges[0].Luid := SeDebugNameValue; tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; // Добавляем привилегию к нашему процессу AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength); if GetLastError()<> ERROR_SUCCESS then exit; // Завершаем процесс. Если у нас есть SeDebugPrivilege, то мы можем // завершить и системный процесс // Получаем дескриптор процесса для его завершения hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, dwPID); if hProcess =0 then exit; // Завершаем процесс if not TerminateProcess(hProcess, DWORD(-1)) then exit; CloseHandle( hProcess ); // Удаляем привилегию tkp.Privileges[0].Attributes := 0; AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(tkp), tkp, ReturnLength); if GetLastError() <> ERROR_SUCCESS then exit; Result:=true; end;
Немного не то, мне нужно именно по пути, потомучто много процессов с одинаковым именем, и завершить надо не все, а именно который лежит по определенному пути
Code: procedure TaskKill(FileName: string); var wh: Bool; sp, sm, th: THandle; pe: TProcessEntry32; me: TModuleEntry32; seid: Int64; tp: TOKEN_PRIVILEGES; rl: Cardinal; begin //получаем debug-привелегию OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, th); LookupPrivilegeValue(nil, 'SeDebugPrivilege', seid); with tp do begin PrivilegeCount := 1; Privileges[0].Luid := seid; Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; end; AdjustTokenPrivileges(th, False, tp, SizeOf(tp), tp, rl); //создаем снапшот sp := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); pe.dwSize := SizeOf(pe); wh := Process32First(sp, pe); //пробегаемся циклом по всем процессам и убиваем FileName при совпадении while wh <> False do begin sm := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pe.th32ProcessID); me.dwSize := SizeOf(me); Module32First(sm, me); if LowerCase(me.szExePath) = LowerCase(FileName) then TerminateProcess(OpenProcess($0001, False, pe.th32ProcessID), 0); CloseHandle(sm); wh := Process32Next(sp, pe); end; CloseHandle(sp); tp.Privileges[0].Attributes := 0; AdjustTokenPrivileges(th, False, tp, SizeOf(tp), tp, rl); end; В FileName указываем полный путь до файла. Кстати, если кому интересно, можно получить список процессов с их полными путями: - меняем procedure TaskKill(FileName: string); на procedure TaskList(Lines: TStrings); - вместо if LowerCase(me.szExePath) = LowerCase(FileName) then TerminateProcess(OpenProcess($0001, False, pe.th32ProcessID), 0); пишем Lines.Add(me.szExePath); - бросаем на форму Memo1 и вызываем TaskList(Memo1.Lines);
Всем доброго времени суток =) У меня есть программа.. Что то типо управление трояном.. Но не хватает мозга реализовать такую фичу : Когда я включил программу то в лист боксе у меня долны появится ип компьютеров на которых есть мой троян.. Как это реализовать ? Заранее спасибо!
Лучше пусть они стучатся на чужой комп (за которым гарантированно ламер), а то так засветишься в первый же день. А уже этот комп пусть отсылает айпишники зараженных компов на твой сервер
Спасибо =) Попробую замутить =) P.S Пожалуй лучший форум в инете где можно быстро получить адекватные ответы ! =)
В компоненте TICQCLIent нужно установить статус номера в то время, когда UIN находится в онлайне. ICQCLient1.Status(S_ONLINE); Не подходит =/ Вот такая вот ботва =/
пишу шас многопоточный брут но столкнулся с проблемой : при запуске потоков прога вылетает с ошибкой или начинает сильно лагать...хз может гдето туплю..кто писал уже много поточные бруты и т.п... стукните плз в аську:985940
.::f-duck::. проверь свойство LoggedIn, если вернёт FALSE, то беда в нём, ибо статус можно менять только после логина на сервере//