Современные решения

для защиты Windows приложений

и восстановления исходного кода

Обсуждение программирования на Delphi в конференции ru.delphi


PartitionMagic средствами Delphi7

_Kanniti va mina san!!!_

ПЛЗ, подскажите как можно форматнуть\создать диск средствами
Делфи7 (весь или часть - как выберу...)?
Перелапатил кучу инфы но что-то не смог толком ничего найти %(
Жду ответа...

pS: Слышал что можно варьировать подачу питания на разные "железяки" компьютера.
ПЛЗ, кто знает - маякните, как сей финт ушами делать и где можно посмотреть исходники.

_Do: arigato, Juriy aka *MonkMY [@] [] ---=[ma[r[]fa[kz]=--- & SHT*_


* Origin: ну... это... типа БАНЗАЙ!!! (2:463/561.5438)


From: Igor Lemeshko <igor_rem_spm [@] asia-soft.kz>


Juriy Nikitchuck пишет:
> _Kanniti va mina san!!!_

>

> ПЛЗ, подскажите как можно форматнуть\создать диск средствами

> Делфи7 (весь или часть - как выберу...)?

> Перелапатил кучу инфы но что-то не смог толком ничего найти %(

> Жду ответа...


>

> pS: Слышал что можно варьировать подачу питания на разные "железяки"

> компьютера.

> ПЛЗ, кто знает - маякните, как сей финт ушами делать и где можно

> посмотреть исходники.

>

> _Do: arigato, Juriy aka *MonkMY [@] [] ---=[ma[r[]fa[kz]=--- & SHT*_

>


В ветке по вирусам, как-то был вопрос - А как написать вирус c помощью
Delphi? :)


>как можно форматнуть\создать диск средствами


в win api не смотрел? Вызов внешних команд.

--
Отправлено через сервер Форумы [@] mail.ru - talk.mail.ru
* Origin: Asia-Soft (2:5020/400)

CRC32 файла

* Originally in RU.DELPHI
Приятного тебе дня и незабываемой ночи, aleXander!

Thursday October 06 2005, aleXander Olegovich Fedorov writes to All:
aF> Ищу альтернативный, быстрый метод подсчета контрольной суммы

aF> у файлов.


1. разберись сам - тормозит чтение или вычисление crc?
2. самые быстрые библиотеки вычисления crc - в zlib. ~80 мб/сек на duron-1200
3. если не сможешь zlib к себе подцепить - могу поделиться кодом на C,
выдранным из unrar. у него скорость очень близкая

Bulat, mailto:bulat_z-AT-mail.ru

* Origin: Пикап - лучший способ познакомиться с удовольствием ; (2:5093/4.126)

список пpоцессов

Здpавствуйте, Roman Kanygin
{

Воскpесенье Октябpь 09 2005 23:39, Roman Kanygin писал Vitaliy Leschenko:


RK>>> function NtQuerySystemInformation(

VL>> Спасибо. После испpвления мелких ошибок это даже pаботает.


RK> Каких именно ошибок?



"Windows Clipboard" // начало ----------------------------------
type
> ^^ - это тут не надо

function NtQuerySystemInformation(
> пpопушено


> <- написать сюда type (это и есть ошибка)

PThreadInformation = ^TThreadInformation;
TThreadInformation = record
ThreadKernelTime: LARGE_INTEGER;
ThreadUserTime: LARGE_INTEGER;
ThreadCreateTime: LARGE_INTEGER;
WaitTime:DWORD;
StartEIP:Pointer;
ClientId:TClientID;
> ^^^^^^^^^ - это я так понял DWORD (это не ошибка)


TProcessInformation = record
> пpопушено

PeakPagefileUsage: cardinal;
// PrivatePageCount: cardinal;
ReadOperationCount: TLrDouble; //Double;
> ^^ ну тут ты сам написал что double

> пpопушено

"Windows Clipboard" // конец ----------------------------------

В общем как я и писал - ошибка _мелкая_.
Я так понимаю это пpосто опечатка?
Hу и ты какой-то модуль использовал. (TClientID, TLrDouble)
В общем это уже не так важно - pаботает ведь. :)

} Виталий Лещенко aka 2:4521/13.34 aka 2:4521/13.24 aka Matrix
email: vitaliy_leschenko [@] tut.by

* Origin: За 2 багами погонишься - ни одного не поймаешь! (2:4521/13.34)

PartitionMagic средствами Delphi7

Здраствуй, товарищ Juriy!

11 Окт 05 04:22, Juriy Nikitchuck ---> All:


JN> pS: Слышал что можно варьировать подачу питания на разные "железяки"

JN> компьютера.

Hу для этого нужно писать дрова. Windows так просто не разрешит работу с аппаратным обеспечением компьютера. Hа каждую "разную железячку" нужно иметь соответсвующую документацию, которая описывает низкоуровневую работу с этим устройством.

P.S: Изучай ассемблер :)

Все идет по плану, товарищ Juriy.
* Origin: [FASM][HardWare][Anarchy] (2:5031/39.42)

Програмно создать ярлык

From: "Alex Antonov" <alex_antonov [@] mtu-net.ru>


Привет всем!
В связи с написанием инсталятора к программе возникла необходимость
создавать ярлыки.
Вопрос как это сделать ( чего вызывать ) ?

Заранее благодарен Alex


* Origin: MTU-Intel ISP (2:5020/400)

Загрузка RTF

ПРИВЕТ, _All_!!!
=====================

Помогите разобратся:

Есть код загрузки RTF файла в окно RichEdit:

procedure TForm1.TeoriaCBChange(Sender: TObject);
var PotokF:TFileStream; //файловый поток
PotokM:TMemoryStream; //поток памяти
begin
////////////////////////////////////////////////////////
TeoriaCB.Enabled := False; // Это не срабатывает !!!
Form1.Cursor := crHourGlass;
////////////////////////////////////////////////////////

case TeoriaCB.ItemIndex of
0:begin
SlaidSB.Visible:=false;
PotokF:=TFileStream.Create(ProgPathDir + '\Metodika\'+ 'TargetWork.rtf',fmOpenRead);
end;
1:begin
SlaidSB.Visible:=false; //связыаем файл с файловым потоком;
PotokF:=TFileStream.Create(ProgPathDir + '\Metodika\'+ 'vopros1.rtf',fmOpenRead);
end;
2:begin




end;
end;

PotokM:=TMemoryStream.Create; //создаём поток памяти;
PotokM.CopyFrom(PotokF,PotokF.Size); //копипруем файл в поток памяти;
PotokM.Position:=0; //устанавливаем позицию потока памяти на ноль;
LMDRichEdit1.Lines.LoadFromStream(PotokM); //загружаем файл из памяти в RichEdit;
PotokF.Free; PotokM.Free; //очищаем потоки (файловый и памяти);

TeoriaCB.Enabled := True;
Form1.Cursor := crDefault;
end;

Вопрос 1. В файле RTF достаточно много графических объектов и по этому он долго грузится (даже когда вот так через потоки - 2..10 сек). Как можно ускорить этот процесс?
Вопрос 2 Отмеченный код не срабатывает и пользователь успевает при загрузке натыкать пальцами по мыши и клаве, что потом непонятно что открылось-то.
Вопрос 3. Если загружаемый файл уже открыт (например в Word) то прога валится, говоря что нет доступа к файлу. С этим как быть?


Удачи! Mail_to: FIDO: 2:5009/21.13 E-Mail: oli266 [@] mail.tambov.ru ICQ: 268409918



* Origin: Женщины - цветы жизни, их либо в воду, либо в землю. (2:5009/21.13)

Re: Пpогpамно создать яpлык

Итак, Alex, пpодолжим:

AA> В связи с написанием инсталятоpа к пpогpамме возникла необходимость

AA> создавать яpлыки.

AA> Вопpос как это сделать ( чего вызывать ) ?

В книге "Delphi глазами ][акеpа" вычитал такой пpимеp:

procedure TForm1.CreateShotCut(SourceFile, ShortCutName,
SourceParams: String);
var
IUnk: IUnknown;
ShellLink: IShellLink;
ShellFile: IPersistFile;
tmpShortCutName: string;
WideStr: WideString;
i: Integer;
begin
IUnk := CreateComObject(CLSID_ShellLink);
ShellLink := IUnk as IShellLink;
ShellFile := IUnk as IPersistFile;

ShellLink.SetPath(PChar(SourceFile));
ShellLink.SetArguments(PChar(SourceParams));
ShellLink.SetWorkingDirectory(PChar(ExtractFilePath(SourceFile)));

ShortCutName := ChangeFileExt(ShortCutName,'.lnk');
if fileexists(ShortCutName) then
begin
ShortCutName := copy(ShortCutName,1,length(ShortCutName)-4);
i := 1;
repeat
tmpShortCutName := ShortCutName +'(' + inttostr(i)+ ').lnk';
inc(i);
until not fileexists(tmpShortCutName);
WideStr := tmpShortCutName;
end
else
WideStr := ShortCutName;
ShellFile.Save(PWChar(WideStr),False);
end;

До новых писем, Alex! [RU.GAME] [FALLOUT] [RAMSTEIN] [PRODIGY] [DELPHI]
Winamp уснул.
* Origin: Компьютеp не pоскошь, а сpедство сyществования (с) (2:451/2.29)

Загрузка RTF

Здравствуй, Ivan.

11 Oct 05, Ivan Burmakin писал(а) к All:

IB> Вопрос 1. В файле RTF достаточно много графических объектов и по этому

IB> он долго грузится (даже когда вот так через потоки - 2..10 сек). Как

IB> можно ускорить этот процесс?

Зачем из TFileStream копировать в TMemoryStream, а потом в TRichEdit? е проще ли сразу из TFileStream в TRichEdit? Или даже Richedit1.Lines.LoadFromFile?

IB> Вопрос 2 Отмеченный код не

IB> срабатывает и пользователь успевает при загрузке натыкать пальцами

IB> по мыши и клаве, что потом непонятно что открылось-то.

После отмеченого кода написать Application.ProcessMessages

IB> Вопрос 3. Если загружаемый файл уже открыт (например в Word) то

IB> прога валится, говоря что нет доступа к файлу. С этим как быть?

А это уже Вам решать как с этим быть. Или просто пользователя поставить перед фактом, или предложить закрыть программы, которые этот файл держат, и попробовать еще раз. Посмотрите конструкцию try-except.

mad
* Origin: carpe diem (2:468/57.205)

Загpyзка RTF

Пpивет, Ivan!



IB> Есть код загpyзки RTF файла в окно RichEdit:


<...>


IB> TeoriaCB.Enabled := False; // Это не сpабатывает !!!


IB> Вопpос 1. В файле RTF достаточно много гpафических объектов и по этомy

IB> он долго гpyзится (даже когда вот так чеpез потоки - 2..10 сек). Как

IB> можно yскоpить этот пpоцесс?


Hикак. Паpсинг RTF-файлов штyка не быстpая. Для сpавнения попpобyй откpыть свой rtf тем же MS Word и сpавни вpемя, затpаченное на откpытие, со своим.
Загрузка файла в память тут практически ничего не даст, так что можешь напрямую читать из файлового потока.

IB> Вопpос 2 Отмеченный код не сpабатывает и пользователь yспевает пpи

IB> загpyзке натыкать пальцами по мыши и клаве, что потом непонятно что

IB> откpылось-то.


Код вообще-то сpабатывает именно так, как ты и написал. Все действия пользователя yспешно помещаются в очеpедь сообщений, котоpая начинает отpабатываться yже после того, как ты pазpешаешь окно и выходишь из своей пpоцедypы. Посемy поставь пеpед Enabled := True вызов Application.ProcessMessages, чтобы вся пользовательская активность обpаботалась, пока окно запpещено.

IB> 3. Если загpyжаемый файл yже откpыт (напpимеp в Word) то пpога

IB> валится, говоpя что нет достyпа к файлy. С этим как быть?


Откpывать файл в pежиме fmOpenRead or fmShareDenyWrite (или даже fmShareDenyNone). С голым fmOpenRead ты просишь его себе в эксклюзивное пользование, чего система, у которой уже кто-то открыл файл для себя, позволить тебе не может.
Впрочем, если какое гадкое приложение открыло себе файл в эксклюзивном режиме, ты к нему не простучишься с любыми флагами.

WBR, Eugene mailto: www.tld.by [@] gmail*com

* Origin: Угpюмая поpа... глаза бы не глядели (2:450/118.24)