我正在使用Kaspersky Internet Security2018。但是,当我使用这些代码编译Delphi应用程序时,我的防病毒应用程序将删除已编译的exe:
function BrowseForFolder(var dpFolder: String; dpTitle: String): Boolean;
var
dpBrowseInfo: TBrowseInfo;
dpDisplayName: array[0..255] of Char;
dpItemIDList: PItemIDList;
begin
FillChar(dpBrowseInfo, sizeof(dpBrowseInfo), #0);
with dpBrowseInfo do begin
hwndOwner := Application.Handle;
pszDisplayName := @dpDisplayName[0];
lpszTitle := PChar(dpTitle);
dpItemIDList := SHBrowseForFolder(dpBrowseInfo);
ulFlags := BIF_RETURNONLYFSDIRS and BIF_VALIDATE;
end;
if Assigned(dpItemIDList) then begin
if SHGetPathFromIDList(dpItemIDList, dpDisplayName) then begin
dpFolder := dpDisplayName;
Result := True;
end else begin
Result := False;
end;
end;
end;
除了将我的应用添加到白名单外,我还应该怎么做才能弹出“浏览文件夹”菜单?
答案 0 :(得分:0)
我尝试了每种“浏览文件夹”对话框类型,并且意识到我的防病毒软件仅允许Vcl.FileCtrl.TSelectDirExtOpt(它也讨厌其他FileCtrl对话框)。
所以,我这样解决了自己的问题:
procedure TForm1.gözatDüğmesiClick(Sender: TObject);
begin
if not (menü4CB = '1') then begin
if not (SelectDirectory('Kurulum programının yedekleneceği klasörü seçin',
GetSpecialFolderPathFromCSIDL($0011), adres, [sdNewFolder, sdNewUI], nil) = False) then begin
adresÇubuğu.Text := adres;
end else begin
end;
end;
end;
仍然感谢雷米·勒博(Remy Lebeau)对我的关心。