Текущий архив: 2006.04.02;
Скачать: CL | DM;
ВнизБлокирование запуска чужого приложения во время исполнения ... Найти похожие ветки
← →
Gear (2006-03-02 23:50) [0]Здравствуйте! Реально ли сделать блокирование запуска чужого приложения во время исполнения своей программы?
← →
Marser © (2006-03-02 23:54) [1]Открыть его файл монопольно.
← →
Gear (2006-03-03 01:10) [2]Что это означает?
← →
Суслик © (2006-03-03 01:45) [3]в общем случае сложно, но в частно, реально, имхо
← →
Eraser © (2006-03-03 01:53) [4]
> Gear (02.03.06 23:50)
реально. Установи соотв. ограниченые права той программе.
← →
Германн © (2006-03-03 02:10) [5]Если "чужое" == "любое другое", то - ДОС!
Если иначе - см. выше.
← →
Джо © (2006-03-03 02:13) [6]> [2] Gear (03.03.06 01:10)
> Что это означает?unit FileBlocker;
interface
uses Windows, SysUtils, Classes, Contnrs;
// Блокирует указанный файл до конца работы приложения
procedure BlockFile (AFileName: string);
implementation
type
TFileBlocker = class
private
FHandle: THandle;
public
constructor Create (AFileName: string);
destructor Destroy; override;
end;
var
FBlockedFile: TObjectList;
procedure BlockFile (AFileName: string);
begin
FBlockedFile.Add(
TFileBlocker.Create(AFileName)
)
end;
{ TFileBlocker }
constructor TFileBlocker.Create(AFileName: string);
begin
inherited Create;
FHandle := CreateFile(PChar(AFileName),
GENERIC_READ,
0, // No sharing
nil,
OPEN_EXISTING,
0,
0
);
if FHandle = INVALID_HANDLE_VALUE then
RaiseLastOSError;
end;
destructor TFileBlocker.Destroy;
begin
CloseHandle (FHandle);
inherited;
end;
initialization
FBlockedFile := TObjectList.Create (True);
finalization
FBlockedFile.Free;
end.
----
Пример использования:
----procedure TForm1.Button1Click(Sender: TObject);
begin
BlockFile("D:\Delphi\Delphi6\Projects\RasterLib\RR.exe");
end;
Страницы: 1 вся ветка
Текущий архив: 2006.04.02;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.066 c