понятно а я думал мож как у isdone есть readme.CHM файлDjinn, в примерах ботвы ,там все расписано,только нужно все правильно понять
function GetDC(HWND: DWord): DWord; external 'GetDC@user32.dll stdcall';
function GetDeviceCaps(DC: DWord; Index: Integer): Integer; external 'GetDeviceCaps@gdi32.dll stdcall';
function ReleaseDC(HWND: DWord;DC: DWord): Integer; external 'ReleaseDC@user32.dll stdcall';
function GetMonitorInfo(MetricType:Byte;Descriptor:THandle): Word;
var
dc: DWord;
begin
Result:= 0;
case MetricType of
1: /// разрешение по ширине
begin
dc:= GetDC(Descriptor);
Result:= GetDeviceCaps(dc,8);
end;
2: /// разрешение по высоте
begin
dc:= GetDC(Descriptor);
Result:= GetDeviceCaps(dc,10);
end;
end;
ReleaseDC(Descriptor,dc);
end;
procedure InitializeWizard();
begin
MsgBox('Разрешение монитора: ' + IntToStr(GetMonitorInfo(1,MainForm.Handle)) + ' x ' + IntToStr(GetMonitorInfo(2,MainForm.Handle)), mbConfirmation, MB_OK);
end;[/SOURCE][/SPOILER] (да простит меня автор, не помню чей) за основу и затем прописывал значения в .ini файле.
function GetDC(HWND: DWord): DWord; external 'GetDC@user32.dll stdcall';
function GetDeviceCaps(DC: DWord; Index: Integer): Integer; external 'GetDeviceCaps@gdi32.dll stdcall';
function ReleaseDC(HWND: DWord;DC: DWord): Integer; external 'ReleaseDC@user32.dll stdcall';
function GetMonitorInfo(MetricType:Byte;Descriptor:THandle) : Word;
var
dc: DWord;
begin
Result:= 0;
case MetricType of
1: ///ðàçðåøåíèå ïî øèðèíå
begin
dc:= GetDC(Descriptor);
Result:= GetDeviceCaps(dc,8);
end;
2: /// ðàçðåøåíèå ïî âûñîòå
begin
dc:= GetDC(Descriptor);
Result:= GetDeviceCaps(dc,10);
end;
end;
ReleaseDC(Descriptor,dc);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
If CurStep = ssPostInstall then begin
SaveStringToFile(ExpandConstant('{localappdata}\Atari\AITD')+'\res.aitd', 'ResolutionWidth = ' + IntToStr(GetMonitorInfo(1,MainForm.Handle)) + #13#10, true);
SaveStringToFile(ExpandConstant('{localappdata}\Atari\AITD')+'\res.aitd', 'ResolutionHeight = ' + IntToStr(GetMonitorInfo(2,MainForm.Handle)) + #13#10, true);
SaveStringToFile(ExpandConstant('{localappdata}\Atari\AITD')+'\res.aitd', 'NewResolution = 0' + #13#10, true);
SaveStringToFile(ExpandConstant('{localappdata}\Atari\AITD')+'\res.aitd', 'PrevResolutionWidth = 0800' + #13#10, true);
SaveStringToFile(ExpandConstant('{localappdata}\Atari\AITD')+'\res.aitd', 'PrevResolutionHeight = 0600', true);
end;
end;
//procedure InitializeWizard();
//begin
// MsgBox('Ðàçðåøåíèå ìîíèòîðà: ' + IntToStr(GetMonitorInfo(1,MainForm.Handle)) + ' x ' + IntToStr(GetMonitorInfo(2,MainForm.Handle)), mbConfirmation, MB_OK);
//end;
[/spoiler]
дак у меня тоже ошибку выдает, пока не закинешь факомпресс и унарк из фриарка, может в этом причина быть??? (пользуюсь последней версией фриарка)ошибку выдаёт
у меня таквот это точно работае у себя проверил
if FileExists(AvRes+'\backup.7z') then
begin
MsgBox('Файл найден, install continues', mbInformation, MB_OK);
#define BackBtnCheck = "False";
end;
if not FileExists(AvRes+'\backup.7z') then
begin
MsgBox('Файл не найден, install stops', mbCriticalError, MB_OK);
#define BackBtnCheck = "True";
end;
и
#if "True" == BackBtnCheck
BtnSetVisibility(Backbtn,True);
#elif "False" == BackBtnCheck
BtnSetVisibility(UnBackbtn,True);
#endif