Skip to content

Instantly share code, notes, and snippets.

@alexey-gamov
alexey-gamov / net.pas
Created July 28, 2013 06:34
Модуль для отправки сообщений в локальной сети. Сервер не требуется, т.к. сообщение отправляется в глобальном пакете. Для настройки защиты в блоке const нужно настроить переменные salt (соль) и pass (пароль)..
(*
LAN module by XProger
Security addon by atomos.pro
version: 0.2b
*)
unit Net;
interface
@alexey-gamov
alexey-gamov / thread.pas
Created July 28, 2013 02:20
Данный пример описывает создание приложения с потоком
unit thread;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
@alexey-gamov
alexey-gamov / uac.manifest
Created July 26, 2013 23:10
Данный манифест помогает загрузить программу из под администратора. Для добавления скачайте программу для работы с ресурсами (resedit.net) и добавьте манифест в свой файл ресурсов (*.res) Использовать строго без XPman, т.к данный манифест сделает тоже самое (:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="UAC_Elevation_Prompt"
type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
@alexey-gamov
alexey-gamov / guard.pas
Created July 26, 2013 07:14
Данный модуль позволяет реализовать защиту программы от несанкционированного запуска. Программа будет работать только в том случае, если к компьютеру будет подключена флешка или жёсткий диск с определённым серийным номером (строка 29) или если программа будет запущена с секретным параметром (-special_parametr). Для определения серийных номеров с…
unit guard;
interface
uses
Windows, SysUtils, Forms, Dialogs;
implementation
function Check: Boolean;
@alexey-gamov
alexey-gamov / autorun.pas
Created July 26, 2013 06:56
Иногда требуется добавить программу в автозапуск — делается это через реестр windows..
unit autorun;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Registry;
type
TForm1 = class(TForm)
@alexey-gamov
alexey-gamov / freeze.pas
Created July 26, 2013 00:57
Иногда нужно заморозить указатель мыши. freeze — замораживает; unfreeze — размораживает..
function freeze: Boolean;
var
Pos: TRect;
begin
Pos.Left := Mouse.CursorPos.X;
Pos.Top := Mouse.CursorPos.Y;
Pos.Right := Pos.Left + 1;
Pos.Bottom := Pos.Top + 1;
ClipCursor(@Pos);
@alexey-gamov
alexey-gamov / checksum.pas
Created July 26, 2013 00:45
Определить контрольную сумму файла не очень сложно (:
unit checksum;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, idHash, IdHashMessageDigest;
type
TForm1 = class(TForm)
@alexey-gamov
alexey-gamov / form-dragdrop.pas
Created July 26, 2013 00:33
Данный пример показывает как реализовать приём файлов непосредственно на форму приложения. Обрабатывает неограниченное количество файлов. Возвращает полный путь + имя файла..
unit form-dragdrop;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi;
type
TForm1 = class(TForm)
@alexey-gamov
alexey-gamov / help-message.pas
Created July 25, 2013 11:13
Реализуем вывод сообщения при нажатии ? в панели управления окном. Для этого в свойстве форме устанавливаем параметр BorderIcons = [biSystemMenu, biHelp];
unit help-message;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
@alexey-gamov
alexey-gamov / hotkeys.pas
Created July 25, 2013 10:56
С данным кодом можно с лёгкостью добавить хоткеи (работающие глобально) в свою программу..
unit hotkeys;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)