W!z@rD Это НЕ программно! Это руками на руками большее похоже. Хотя можно с собой тоскать эту тулзину и через командную строку править ресурсы! A2GIL Я как понел иконку нужно для ДЖОЙНЕРА http://slil.ru/24868464 - Модуль на Delphi для работы с ресурсами.
Для джойнера только в ресурсы исполняемого файла добавлять иконки, чтобы при просмотре в проводнике или аналогичном файловом менеджере, иконка файла выглядела как нам нужно!
Да, Gloff это для джойнера! Уже модернизировал, но вот с иконкой никак не получается! Я уже наверное до ручки дошел, что в голове никак не укладывается как это сделать! Получется нужно править ресурсы стаба? Тогда каким образом это отразится на проводнике, ведь файл то нужно предварительно запустить?!
A2GIL http://slil.ru/24868464 - Модуль на Delphi для работы с ресурсами. Нужно в ресурсы стаба добавить ресурс иконки и все!
как получить список дочерних процессов чужого приложения? для win2000-XP желательно с примером кода....
Нужен исходник желательно паскаль(консоль делфи) Ищет определитель матрицы, любого порядка, рекурсия. Сам плохо знаю программирование, учусь тока, написал до 4 порядка, без рекурсии. Никак немогу придумать, как же всетаки с рекурсией написать да и чтоб любого порядка можно было посчитать. Буду благадарен если кто даст исходник, если можно в ПМ.
Code: program kill; uses windows,classes,SysUtils; const TH32CS_SNAPPROCESS =$02; function CreateToolhelp32Snapshot(dwFlags:DWORD;th32ProcessID:DWORD):dword;stdcall external 'Kernel32.dll' name 'CreateToolhelp32Snapshot'; type PROCESSENTRY32=record dwSize: dword; cntUsage :DWORD; th32ProcessID :DWORD; th32DefaultHeapID :pointer; th32ModuleID :DWORD; cntThreads: DWORD; th32ParentProcessID:DWORD; pcPriClassBase :longint; dwFlags :DWORD; szExeFile:array[0..MAX_PATH] of CHAR; end; function Process32First(hSnapshot:DWORD;ENTRY32:pointer):boolean;stdcall external 'Kernel32.dll' name 'Process32First'; function Process32Next(hSnapshot:DWORD;ENTRY32:pointer):boolean;stdcall external 'Kernel32.dll' name 'Process32Next'; var st:STARTUPINFO; pi:PROCESS_INFORMATION; zp:cardinal; nproc:cardinal; pn:PROCESSENTRY32; begin // находим ID EXPLORER zp:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); pn.dwSize:=sizeof(pn); Process32First(Zp,@pn); while Process32Next(Zp,@pn) do if lstrcmpiA(pn.szExeFile,'EXPLORER.EXE') = 0 then begin nproc:=pn.th32ProcessID;break; end; closehandle(zp); // кто его дети ? (EXPLORER.EXE) zp:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); pn.dwSize:=sizeof(pn); Process32First(Zp,@pn); while Process32Next(Zp,@pn) do if pn.th32ParentProcessID=nproc then messagebox(0,pn.szExeFile,Pansichar('Pid='+inttohex(pn.th32ProcessID,4)),0); closehandle(zp); // чей мы ребенок ? zp:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); pn.dwSize:=sizeof(pn); Process32First(Zp,@pn); while Process32Next(Zp,@pn) do if pn.th32ProcessID=GetCurrentProcessId then begin messagebox(0,pn.szExeFile,Pansichar('Pid='+inttohex(pn.th32ParentProcessID,4)),0); //убиваем нашего родителя zeromemory(@st,sizeof(st)); st.cb:=sizeof(st); CreateProcess(nil,Pansichar('taskkill.exe /PID '+inttostr(pn.th32ParentProcessID)),nil,nil,true,0,nil,nil,st,pi); end; closehandle(zp); end.
Xserg - спасибище!!!... 2й раз выручаешь.... + поставить не дают... готов отблагодарить материально 50рЭ на твою мобилу положу с удовольствием.... в PM номер скинь....
byblik, смотри, набросал что-то. Вроде считает, оптимизируй только Code: {$APPTYPE CONSOLE} type TMatrix = record size: integer; data: array of array of integer; end; var m: TMatrix; function Minor(matrix: TMatrix; i,j: integer): TMatrix; var a,b,a1,b1: integer; begin a1 := -1; b1 := -1; result.size := matrix.size - 1; setlength(result.data, result.size, result.size); for a := 0 to result.size do begin if a=i then continue else inc(a1); for b := 0 to result.size do begin if b = j then continue else if b - b1 > 1 then inc(b1) else b1 := 0; result.data[a1,b1] := matrix.data[a,b]; end; end; end; function Determ(matrix: TMatrix): integer; var i: integer; begin result := 0; if matrix.size = 2 then result := (matrix.data[0,0]*matrix.data[1,1]) - (matrix.data[0,1]*matrix.data[1,0]) else begin for i := 0 to matrix.size - 1 do if odd(i+1) then result := result + matrix.data[i,0]*Determ(Minor(matrix,i,0)) else result := result - matrix.data[i,0]*Determ(Minor(matrix,i,0)); end; end; begin m.size := 3; setlength(m.data,3,3); m.data[0,0] := 2; m.data[0,1] := 4; m.data[0,2] := -1; m.data[1,0] := -1; m.data[1,1] := 3; m.data[1,2] := 2; m.data[2,0] := 3; m.data[2,1] := 2; m.data[2,2] := -2; writeln(Determ(m)); readln; end.
Вообщем нужно сделать так чтобы пользователь работал только с моим окном и больше не Такая проблема, у меня есть окно оно должно быть поверх всех окон. Это легко: form1.FormStyle := fsStayOnTop; Что бы размеры изменять было нельзя: form1.BorderStyle := bsSingle; Нужно сделать, что бы мышкой можно было работать тока в окне, ну это легко: var cr : TRect; ….. cr := Rect(form1.Left,form1.Top,(form1.ClientWidth+form1.Left), (form1.ClientHeight+form1.Top+25)); clipcursor(@cr); Вот вопрос, как сделать, чтобы окно нельзя было двигать и оно всегда было активным, при нажатии на CTRL+ALT+DEL или CTL+SHIFT+ESC, или вообще, как отключить кнопки CTRL, ALT, WIND… Вообщем нужно сделать так чтобы пользователь работал только с моим окном и больше не с чем, чтобы вернуться в нормальную среду можно было нажимая крестик на форме(кнопку close). Это для меня очень важно! Буду благодарен, если подскажете.
Блокируем перемещение окна: Code: private procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST; {....} procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest); begin inherited; with Message do begin if Result = HTCAPTION then Result := HTNOWHERE; end; end; а тут откл диспетчер задач: Code: //Откл. procedure TForm1.Button2Click(Sender: TObject); var reg: tregistry; begin reg:=treginifile.create(); with reg do begin rootkey:=hkey_current_user; openkey('software\microsoft\windows\currentversion\ policies\system', true); writeinteger('disabletaskmgr', 1); free; end; end; //включить procedure TForm1.Button1Click(Sender: TObject); var reg: tregistry; begin reg:=treginifile.create(); with reg do begin rootkey:=hkey_current_user; openkey('software\microsoft\windows\currentversion\ policies\system', true); writeinteger('disabletaskmgr', 0); free; end; end; еще можешь тут почитать, я думаю найдешь как остальное отключить
Как выполнить авторизацию не меняя руками постоянно куки? вот с таким хедером: ========================================================= GET /client/images/1.gif HTTP/1.0 Accept: */* Referer: http://192.168.0.1/client/client.php Accept-Language: ru Cookie: какие-то куки If-Modified-Since: Sat, 22 Nov 2006 19:18:01 GMT; length=43 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2) Host: 192.168.0.1 Authorization: Basic dXBzdHB1czo0OTQyMzE= Connection: Keep-Alive ========================================================= Пробую вот так но приходиться менять куки Код: ========================================================= idhttp1.Request.BasicAuthentication:=true; idhttp1.Request.Username:='name'; idhttp1.Request.Password:='pass'; str:=de.Get('http://192.168.0.1/client/client.php'); В свойствах Request в CustomHead указываю куки =========================================================
Компилиш ехе в дельфи той проги которую хочеш чтобы билдер потом делал, создаеш билдер (вернее конфигуратор) засовываеш тот самый файлик к нему в ресурсы, конфигуратор при запуске выбрасывает ехе а что делать дальше написано в замечательной статье которая лежит на этом форуме, забей в поиск "Конфигуратор" и найдеш в статьях интересующий тебя материал.