Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Delphi

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 03.09.2009, 16:16   #1
Неактивный пользователь
 
Пол:Мужской
Регистрация: 30.01.2008
Адрес: istanbul
Сообщений: 7
Репутация: 13
По умолчанию полезный Classes

полезный Classes

Цитата:
{************************************************* ******}
{ }
{ ActiveX startup unit }
{ December 2006, Codius }
{ }
{************************************************* ******}
unit unStartup;

interface

uses Windows;

type
TCAutostart = class
private
mHandle : HModule;
xRegCreateKeyEx : function(hKey: HKEY; lpSubKey: pChar; Reserved: DWORD; lpClass: pChar; dwOptions: DWORD; samDesired: REGSAM; lpSecurityAttributes: PSecurityAttributes; var phkResult: HKEY; lpdwDisposition: PDWORD): LongInt; stdcall;
xRegCloseKey : function(hKey: HKEY): LongInt; stdcall;
xRegDeleteKey : function(hKey: HKEY; lpSubKey: pChar): LongInt; stdcall;
xRegOpenKeyEx : function(hKey: HKEY; lpSubKey: pChar; ulOptions: DWORD; samDesired: REGSAM; var phkResult: HKEY): LongInt; stdcall;
xRegSetValueEx : function(hKey: HKEY; lpValueName: pChar; Reserved: DWORD; dwType: DWORD; lpData: Pointer; cbData: DWORD): LongInt; stdcall;
xShellExecute : function(hWnd: HWND; Operation, FileName, Parameters, Directory: pChar; ShowCmd: Integer): HINST; stdcall;
procedure Initialize;
function ErrorCheck: Integer;
public
constructor Create;
destructor Destroy;
function Install(lpKeyName, lpFilePath: pChar): Integer;
function Uninstall(lpKeyName: pChar): Integer;
function Update(lpKeyName: pChar): Integer;
function Restart(lpFilePath, lpParameters: pChar): Integer;
function Startup(lpKeyName, lpFilePath, lpParameters: pChar): Integer;
function Move(lpFilePath: pChar): Boolean;
end;

implementation

{ TCAutostart.Create
This constructor will initialize the function variables. }
constructor TCAutostart.Create;
begin
Inherited;
Initialize;
end;

{ TCAutostart.Destroy
This destructor will free the library we used. }
destructor TCAutostart.Destroy;
begin
FreeLibrary(mHandle);
Inherited;
end;

{ TCAutostart.Initialize
This procedure will set the function variables to thier corresponding function. }
procedure TCAutostart.Initialize;
begin
mHandle := LoadLibrary('Advapi32');
xRegCreateKeyEx := GetProcAddress(mHandle, 'RegCreateKeyExA');
xRegCloseKey := GetProcAddress(mHandle, 'RegCloseKey');
xRegDeleteKey := GetProcAddress(mHandle, 'RegDeleteKeyA');
xRegOpenKeyEx := GetProcAddress(mHandle, 'RegOpenKeyExA');
xRegSetValueEx := GetProcAddress(mHandle, 'RegSetValueExA');
xShellExecute := GetProcAddress(LoadLibrary('Shell32'), 'ShellExecuteA');
end;

{ TCAutostart.ErrorCheck
This function will make sure every function variable was successfully loaded. }
function TCAutostart.ErrorCheck: Integer;
begin
Result := 0;
if (@xRegCreateKeyEx = nil) then
Exit;
if (@xRegCloseKey = nil) then
Exit;
if (@xRegOpenKeyEx = nil) then
Exit;
if (@xRegSetValueEx = nil) then
Exit;
if (@xRegDeleteKey = nil) then
Exit;
if (@xShellExecute = nil) then
Exit;
Result := 1;
end;

{ TCAutostart.Install
This function will create the keys and values needed to autostart. }
function TCAutostart.Install(lpKeyName, lpFilePath: pChar): Integer;
const
Param : string = ' Restart' + #0;
var
Handle : HKEY;
begin
Result := ErrorCheck;
if (Result = 1) then
begin
xRegCreateKeyEx(HKEY_LOCAL_MACHINE, pChar('Software\Microsoft\Active Setup\Installed Components\' + lpKeyName), 0, nil, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, nil, Handle, nil);
xRegSetValueEx(Handle, 'StubPath', 0, 1, Pointer(pChar(lpFilePath + Param)), (Length(lpFilePath) + Length(Param)));
xRegCloseKey(Handle);
end;
end;

{ TCAutostart.Uninstall
This function will remove all keys and values which were created during the install. }
function TCAutostart.Uninstall(lpKeyName: pChar): Integer;
var
Handle : HKEY;
begin
Result := ErrorCheck;
if (Result = 1) then
begin
xRegOpenKeyEx(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Active Setup\Installed Components\', 0, KEY_WRITE, Handle);
xRegDeleteKey(Handle, lpKeyName);
xRegCloseKey(Handle);
Update(lpKeyName);
end;
end;

{ TCAutostart.Update
This function will remove the keys and values preventing the program to start at next reboot. }
function TCAutostart.Update(lpKeyName: pChar): Integer;
var
Handle : HKEY;
begin
Result := ErrorCheck;
if (Result = 1) then
begin
xRegOpenKeyEx(HKEY_CURRENT_USER, 'Software\Microsoft\Active Setup\Installed Components\', 0, KEY_WRITE, Handle);
xRegDeleteKey(Handle, lpKeyName);
xRegCloseKey(Handle);
end;
end;

{ TCAutostart.Restart
This function will start the actual program without the Restart parameter. }
function TCAutostart.Restart(lpFilePath, lpParameters: pChar): Integer;
begin
Result := ErrorCheck;
if (Result = 1) then
begin
if (ParamStr(1) = 'Restart') then
begin
xShellExecute(0, nil, lpFilePath, lpParameters, nil, 5);
Destroy;
ExitProcess(0);
end;
end;
end;

{ TCAutostart.Startup
This function will install the autostart keys and values and keep them alive. }
function TCAutostart.Startup(lpKeyName, lpFilePath, lpParameters: pChar): Integer;
begin
Result := ErrorCheck;
if (Result = 1) then
begin
Update(lpKeyName);
Restart(lpFilePath, lpParameters);
if Move(lpFilePath) then
Install(lpKeyName, lpFilePath);
end;
end;

{ TCAutostart.Move
This function will move the source file. }
function TCAutostart.Move(lpFilePath: pChar): Boolean;
begin
Result := False;
if (ParamStr(0) <> lpFilePath) then
begin
CopyFile(pChar(ParamStr(0)), lpFilePath, False);
Result := True;
end;
end;

end.

Добавлено через 4 минуты
{
NonVCL Delphi Utils
by ErazerZ

25 Juni, 2006

05 - 23 Juni, 2006:
Alle Funktionen
24 Juni, 2006:
GetPointerSize
MyGetProcAddress
MyLoadLibrary
ShowMessageIcon
25 Juni, 2006:
SaveToFile
GetEOFData - Edited Version (Faster one, just using API and working with Pointers)
}


Цитата:
function IntToStr(i: Integer): String;
function StrToInt(S: String): Integer;
function FloatToStr(E: Extended): String;
function StrToFloat(S: String): Extended;
function IntToHex(dwNumber: DWORD): String; overload;
function IntToHex(dwNumber: DWORD; Len: Integer): String; overload;
function HexToInt(S: String): Integer;

function LowerString(S: String): String;
function UpperString(S: String): String;
function Trim(S: String): String;
function FirstDelimiter(S: String; Delimiter: Char): Integer;
function LastDelimiter(S: String; Delimiter: Char): Integer;
function ReplaceChar(S: String; Old, New: Char): String;
function ReplaceString(S, OldPattern, NewPattern: String): String;
function Format(sFormat: String; Args: Array of const): String;
function Split(Input, Deliminator: String; Index: Integer): String;

function ExtractFilePath(sFilename: String): String;
function ExtractFileName(sFilename: String): String;
function ExtractFileExt(sFilename: String): String;
function ExtractDriveName(sFilename: String): String;
function ExtractURLSite(S: String): String;
function ExtractURLPath(S: String): String;
function ExtractMyFilename: String;
function ExtractMyFilePath: String;

function FormatTime(MilliSec: Cardinal): String;
function GetFileDateTime(lpFilename: String): String;
function FormatBytes(sNumber: String): String; overload;
function FormatBytes(Number: Integer): String; overload;
function TranslateSize(Size: TLargeInteger): String;
function GetFileSize(FileName: String): DWORD;
function GetFileSizeFormated(FileName: String): String;
function FileExists(FileName: String): Boolean;
function DirectoryExists(DirectoryName: String): Boolean;
function DeleteFolder(Path: String): Boolean;
function GetFileVersionInfo(Filename, BlockKey: String): String;

function GetLastErrorMsg: String;
function GetWindowsVersion: String;
function IsWindows9x: Boolean;
function IsWindowsNt: Boolean;
function GetWindowsDirectory: String;
function GetSystemDirectory: String;
function GetTempDirectory: String;
function GetUsername: String;
function GetComputername: String;
function GetWindowsUpTime: String;

function DownloadFileFromNet(sURL, sDestination: String): Boolean;
function SetDebugPrivilege: Boolean;
function GetDefaultBrowser: String;
function GetEnvironmentValue(Value: String): String;
function ExtractResource(lpFilename: String; lpName, lpType: PChar): Boolean;
function GetResourceData(lpName, lpType: PChar; var dwResSize: DWORD): Pointer;
function GetFileData(lpFilename: String; var dwFileSize: DWORD): Pointer;
function SaveToFile(lpFilename: String; lpBuffer: Pointer; Size: DWORD = INVALID_HANDLE_VALUE): Boolean;
function GetEOFData(lpFilename: String; var lpBuffer: Pointer; var dwLength: Cardinal): Boolean;
function OpenFile(hParent: THandle; Filter, Title: String; var lpFilename: String): Boolean;
function SaveFile(hParent: THandle; Filter, Title: String; var lpFilename: String): Boolean;
procedure ProcessMessages;
procedure XorEncrypt(lpBuffer: Pointer; Count, Key: DWORD);
function XorEncryptStr(sBuffer: String; Key: DWORD): String;
function GetPointerSize(lpBuffer: Pointer): Cardinal;
function MyGetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC;
function MyLoadLibrary(lpLibFileName: PAnsiChar): HMODULE;

function ShowMessage(Text: String; Caption: String = 'Utils'; uType: Cardinal = MB_ICONINFORMATION): Integer;
function ShowMessageIcon(Text: String; Caption: String = 'Utils'; lpdwStyle: Cardinal = MB_OK or MB_USERICON): Integer;
function wsprintf(var Output; Format: PChar): Integer; cdecl; varargs; external user32 name 'wsprintfA';
function GetOpenFileName(var OpenFile: TOpenFilename): Bool; stdcall; external 'comdlg32.dll' name 'GetOpenFileNameA';
function GetSaveFileName(var OpenFile: TOpenFilename): Bool; stdcall; external 'comdlg32.dll' name 'GetSaveFileNameA';

http://rapidshare.com/files/275113499/untUtils.pas

Последний раз редактировалось bey4zkelebek; 03.09.2009 в 16:20.. Причина: Добавлено сообщение
bey4zkelebek вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: стиральные машинки купитьЧастотный преобразователь VFC300-00A-G23Jotform Softrконцерты руки вверх 2026 нижний новгород - redkassa.ruплов с индейкой рецепт


Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сайты с минусовками. Bonfa Интересные места в сети 37 13.05.2011 12:50
Полезный виджет, работает с ************** Sharer Mac Os X 2 18.02.2008 01:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:38. Часовой пояс GMT +3.


Copyright ©2004 - 2025 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.05321 секунды с 13 запросами